MQ-2 氣體傳感器所使用的氣敏材料是在清潔空氣中電導率較低的二氧化錫(SnO2) 。當傳感器所處環境中存在可燃氣體時,傳感器的電導率隨空氣中可燃氣體濃度的增加而增大。 使用簡單的電路即可將電導率的變化轉換為與該氣體濃度相對應的輸出信號。將模擬量轉換為數字量的技術我們稱之為ADC。
本示例采用開發板硬件ADC功能進行煙霧數據采集,STM32F103 擁有 1~3 個 ADC(STM32F101/102 系列只有 1 個 ADC),這些 ADC 可以獨立使用,也可以使用雙重模式(提高采樣率)。 STM32 的 ADC 是 12 位逐次逼近型的模擬數字轉換器。它有 18 個通道,可測量 16 個外部和 2 個內部信號源。各通道的 A/D 轉換可以單次、連續、掃描或間斷模式執行。 ADC 的結果可以左對齊或右對齊方式存儲在 16 位數據寄存器中。
1.硬件設計
采用PA0(ADC1_CH0)接口完成煙霧濃度采集。
軟件設計
ADC工作頻率配置
??根據STM32中文參考手冊ADC章節(第155頁),ADC的工作時鐘不能超過14MHZ。
ADC模式
??STM32F103開發板有兩種轉換方式:規則轉換和注入轉換。規則轉換有可同時轉換16路通道,但只有一個數據寄存器,所以想完成16路通道同時轉換就需要DMA配合使用;注入通道有4個數據寄存器,可同時轉換4路通道。
ADC模式配置
代碼生成
PA0引腳配置和ADC校準
完成一次規則通道轉換
u16 Get_Regular_Channelx(u16 ch)
{
ADC_ChannelConfTypeDef sConfig = {0};
sConfig.Channel=ch;//通道號
sConfig.SamplingTime=ADC_SAMPLETIME_239CYCLES_5;//采樣周期
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)//ADC通道初始化
{
Error_Handler();
}
HAL_ADC_Start(&hadc1);//開啟ADC
HAL_ADC_PollForConversion(&hadc1,20);//等待規則通道轉換完成
return HAL_ADC_GetValue(&hadc1);
}
500ms采集一次數據
Delay_Ms(1);
time++;
if(time>=500)
{
time=0;
temp_ad =Get_Regular_Channelx(0);
printf("AD:%d\r\n",temp_ad);
}
ADC常用函數介紹
/**********************在stm32f1xx_hal_adc.c中*********************************************/
HAL_ADC_Start(ADC_HandleTypeDef* hadc); //開啟ADC
HAL_ADC_Start_IT(ADC_HandleTypeDef* hadc); //中斷方式開啟ADC
HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length); //DMA方式開啟
//等待轉換完成
HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout);
uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef* hadc);//獲取數據
//ADC通道配置
HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef* hadc,ADC_ChannelConfTypeDef* sConfig);
uint32_t HAL_ADC_GetState(ADC_HandleTypeDef* hadc);//獲取狀態
/***************************************在stm32f1xx_hal_adc_ex.h中*****************************/
HAL_StatusTypeDef HAL_ADCEx_Calibration_Start(ADC_HandleTypeDef* hadc);//ADC校準
HAL_StatusTypeDef HAL_ADCEx_InjectedStart(ADC_HandleTypeDef* hadc);//使能ADC,開始注入轉換
-
adc
+關注
關注
98文章
6438瀏覽量
544123 -
開發板
+關注
關注
25文章
4951瀏覽量
97208 -
STM32F103
+關注
關注
33文章
476瀏覽量
63488
發布評論請先 登錄
相關推薦
評論