略有点儿坎坷的Funpack第三期在上周日截止,我们依然收到了众多同学提交的材料。这几天一直在审核材料,陆陆续续跟提交材料不是太规范的同学沟通,有同学提交的是720p分辨率的视频,也有同学视频里突然没有了声音,或者忘了在说明材料里贴上代码片段。
这期活动的结果是:等余下的最后一位同学把视频声音补上,我们这次就是全员通过审核了。大家请一边看着这几天挑选出来的优秀材料,一边静待我们的邮件和京东E卡吧。
说起来,本期带队的圈圈老师出了一个用开发板上的ADC测量电阻阻值的题目。看着简单,其实也有一些坑要小心避开,不然就真的会带来接近30%的测量误差。
今天我们先请来中国计量大学自动化大二的叶同学,给大家讲讲他怎么迈过他遇到的坑。早几个星期非常善用工具的叶同学还给大家做了一份录制视频的小教程,相信有不少同学都有收益。这里要再次谢谢他。
对了,Funpack第四期在火热进行中,群里今天有老同学发出了这样的感慨。
编辑老人家我也有同感。所以,如果还要上第四期的车(来拿纽扣电池供电的蓝牙BLE开发板),这几天抓紧咯。
以下,叶同学的介绍,enjoy。
1、自我介绍:
我叫YK。现在是一名中国计量大学自动化专业的大二生。
2、介绍用本板卡最终实现了什么功能及各功能对应的主要代码片段:
这是较为准确地测量10-1MOhm的电阻的代码。
uint32_t R_REF = 9950;uint32_t R_ADC = 332520;uint32_t measure(){uint32_t Rx;adc_status_t status;uint32_t ADCMiddleSum = 0;uint16_t ADCMiddle;for (int i =0;i<32;i++){ R_ADC_ScanStart(&g_adc0_ctrl); status.state = ADC_STATE_SCAN_IN_PROGRESS;while (ADC_STATE_SCAN_IN_PROGRESS == status.state) R_ADC_StatusGet(&g_adc0_ctrl, &status); R_ADC_Read(&g_adc0_ctrl, ADC_CHANNEL_0, &ADCMiddle);if (ADCMiddle>=32767) ADCMiddle = 0; ADCMiddleSum += ADCMiddle; } ADCMiddle = (uint16_t) (ADCMiddleSum / 32);//APP_PRINT("Vol:%dmV ",ADCMiddle*3300/32767); Rx = (uint32_t) 1 / ((32767/(double)ADCMiddle-1)/R_REF - 1/(double)R_ADC);return Rx;}
3、对本活动的心得体会(包括意见或建议)
这次活动,让我了解到了以前从未接触过的瑞萨半导体的单片机。作为在汽车电子中出名的单片机厂商,瑞萨的单片机不仅仅有通用计算能力,面向工控的高级外设也有很多,如24位的sigma-delta高精度ADC。尽管网上资源不多,但官方的资料还是较为完善的,群中的小伙伴也给了我很多的帮助,让我少走了很多弯路。
这块MCU的ADC和我日常使用的STM32的12或16位ADC相比,即使是相对精度较低的16位的那个ADC,也比STM32的稳定好多,这也为稳定完成此次任务定下了基底。
唯一我觉得稍微不足的一点是瑞萨没有将ADC的等效电路给出,在这我尝试地将ADC等效并联一个电阻接地,加入计算后电阻的准确度有了很大的提升。(如果写了但是我没找到,那我向瑞萨说声抱歉)
最后,感谢硬禾学堂和得捷电子,让我接触到了瑞萨的单片机,也感谢在一路上一起折腾,互相帮助的小伙伴们。
原文标题:算好ADC阻抗,好精确测量电阻——Funpack第三期分享之一
文章出处:【微信公众号:FPGA入门到精通】欢迎添加关注!文章转载请注明出处。
责任编辑:haq
-
电阻
+关注
关注
86文章
5528浏览量
172304 -
adc
+关注
关注
98文章
6514浏览量
545050
原文标题:算好ADC阻抗,好精确测量电阻——Funpack第三期分享之一
文章出处:【微信号:xiaojiaoyafpga,微信公众号:电子森林】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论