功能介紹放開頭, 使用便捷無需愁
這是全網(wǎng)最詳細(xì)、性價比最高的STM32實戰(zhàn)項目入門教程,通過合理的硬件設(shè)計和詳細(xì)的視頻筆記介紹,硬件使用STM32F103主控資料多方便學(xué)習(xí),通過3萬字筆記、12多個小時視頻、20多章節(jié)代碼手把手教會你如何開發(fā)和調(diào)試。讓你更快掌握嵌入式系統(tǒng)開發(fā)。
V3.3.0-STM32智能小車
視頻: https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click
V3:HAL庫開發(fā)、功能:PID速度控制、PID循跡、PID跟隨、遙控、避障、PID角度控制、視覺控制、電磁循跡、RTOS等功能。
我們的智能小車用到了ADC測量電池電壓的功能,這章節(jié)我們做一下。
我們的一篇在這里
[第一篇]
什么是ADC
百度百科介紹:
我們知道萬用表 電壓表可以測量電池,或者電路電壓。那么我們是否可以通過單片機(jī)獲得電壓,方便我 們監(jiān)控電池狀態(tài)
如何測量我們的鋰電池電壓那?鋰電池電壓12V左右,單片機(jī)ADC最大測量電壓3.3V,這里我們需要分 壓電路分壓。
然后我們通過電阻分壓,顯而易見 ADC點的電壓是VBAT_IN的 五分之一
- 軟件初始化一下ADC 。
- 然后注意調(diào)長一點采樣時間、這樣精度才會更高一點。
在adc.c文件添加ADC相關(guān)函數(shù)
/*******************
* @brief 電池電壓測量計算函數(shù)
* @param 無
* @return 小車電池電壓
*
*******************/
float adcGetBatteryVoltage(void)
{
HAL_ADC_Start(&hadc2);//啟動ADC轉(zhuǎn)化
if(HAL_OK == HAL_ADC_PollForConversion(&hadc2,50))//等待轉(zhuǎn)化完成、超時時間50ms
return (float)HAL_ADC_GetValue(&hadc2)/4096*3.3*5;//計算電池電壓
return -1;
}
在main中調(diào)用顯示函數(shù)顯示電壓
sprintf((char*)OledString, "U:%.2fV", adcGetBatteryVoltage());
OLED_ShowString(0,2,OledString,12);//這個是oled驅(qū)動里面的,是顯示位置的一個函數(shù),
然后后面繼續(xù)做其他功能
審核編輯 黃宇
-
adc
+關(guān)注
關(guān)注
99文章
6537瀏覽量
545871 -
STM32
+關(guān)注
關(guān)注
2273文章
10926瀏覽量
357770 -
電壓采集
+關(guān)注
關(guān)注
2文章
22瀏覽量
14285 -
HAL庫
+關(guān)注
關(guān)注
1文章
121瀏覽量
6385
發(fā)布評論請先 登錄
相關(guān)推薦
使用STM32L031F6在hal庫下進(jìn)行ADC+DMA多通道采集,采集的電壓值始終為0的原因?
【HAL庫每天一例】第021例:ADC-單通道采集(電位器)
【HAL庫每天一例】第023例:ADC-多通道采集(DMA)
ADC—電壓采集
STM32L0之ADC采集
STM32 HAL庫 CUBEMX配置 ADC采集 精選資料分享
STM32 HAL庫 CUBEMX配置 ADC采集
![<b class='flag-5'>STM32</b> <b class='flag-5'>HAL</b><b class='flag-5'>庫</b> CUBEMX配置 <b class='flag-5'>ADC</b><b class='flag-5'>采集</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32F103+ADC采集實時電壓+LCD1602A顯示
![<b class='flag-5'>STM32F103+ADC</b><b class='flag-5'>采集</b>實時<b class='flag-5'>電壓</b>+LCD1602A<b class='flag-5'>顯示</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論