略有點兒坎坷的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
-
電阻
+關注
關注
87文章
5607瀏覽量
174357 -
adc
+關注
關注
99文章
6640瀏覽量
548301
原文標題:算好ADC阻抗,好精確測量電阻——Funpack第三期分享之一
文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論