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

STM32F103+ADC采集實(shí)時(shí)電壓+LCD1602A顯示

評(píng)論