精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

采用開發板硬件ADC功能進行煙霧數據采集

嵌入式技術 ? 來源:嵌入式技術 ? 作者:嵌入式技術 ? 2022-05-31 11:19 ? 次閱讀

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.硬件設計

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

采用PA0(ADC1_CH0)接口完成煙霧濃度采集。

軟件設計

ADC工作頻率配置
??根據STM32中文參考手冊ADC章節(第155頁),ADC的工作時鐘不能超過14MHZ。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

ADC模式
??STM32F103開發板有兩種轉換方式:規則轉換和注入轉換。規則轉換有可同時轉換16路通道,但只有一個數據寄存器,所以想完成16路通道同時轉換就需要DMA配合使用;注入通道有4個數據寄存器,可同時轉換4路通道。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

ADC模式配置

在這里插入圖片描述watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

代碼生成

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

PA0引腳配置和ADC校準

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ1MzY5NA==,size_16,color_FFFFFF,t_70#pic_center

完成一次規則通道轉換

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
    adc
    +關注

    關注

    98

    文章

    6438

    瀏覽量

    544123
  • 開發板
    +關注

    關注

    25

    文章

    4951

    瀏覽量

    97208
  • STM32F103
    +關注

    關注

    33

    文章

    476

    瀏覽量

    63488
收藏 人收藏

    評論

    相關推薦

    【Aworks申請】高速數據采集系統

    高速的硬件支持,以及高效的嵌入式軟件支持,實現數據的高速采集與傳輸。步驟:基于高速CPU的ARM開發板,嵌入Linux,并且加入AD采集模塊
    發表于 07-17 14:43

    請問ADC12D1800RFRB開發板上的FPGA是負責AD數據采集嗎?

    ADC12D1800RFRB開發板上有一塊V4的FPGA,請問此FPGA是負責AD數據采集嗎?AD數據采集后,此FPGA負責將數據從FMC送
    發表于 03-05 06:25

    采用LabVIEW和聲卡的數據采集系統實現

    數據采集、分析與顯示功能集中在了同一個開放式的開發環境中。LabVIEW的交互式測量助手 (assistant) 、自動代碼生成以及與多種設備的簡易連接功能,使它能夠較好地完成
    發表于 05-13 09:40

    【DFRobot TinkerNode NB-IoT 物聯網開發板試用連載】基于DFRobot TinkerNode NB-IoT 物聯網開發板的微型冰箱數據采集

    。在電子發燒友論壇中也多次參與開發板使用,并多次獲得好評。2018年本人曾參與試用項目,自制微型冰箱。本次基于微型冰箱硬件進行數據采集。項目計劃①根據文檔,對DFRobot TinkerNode
    發表于 07-13 10:48

    【大聯大詮鼎 Semtech (AcSip) S76G試用申請】基于大聯大詮鼎 Semtech (AcSip) S76G開發板的微型冰箱數據采集

    發燒友論壇中也多次參與開發板使用,并多次獲得好評。2018年本人曾參與試用項目,自制微型冰箱。本次基于微型冰箱硬件進行數據采集。項目計劃①根據文檔,對大聯大詮鼎 Semtech (AcSip
    發表于 08-10 18:01

    基于STM32開發板實現傳感數據采集-DHT11溫濕度采集

    STM32F407ZGT6開發板進行項目開發,選用的傳感器為常見通用的DHT11溫濕度傳感器。傳感器將采集到的數據傳輸到STM32(MCU)
    發表于 08-10 07:41

    請問STM32開發板如何實現傳感數據采集

    請問STM32開發板如何實現傳感數據采集
    發表于 10-28 06:53

    【HaaS 610 Kit 4G 開發板試用體驗】A/D數據采集及使用

    HaaS 610 Kit 4G開發板是具有 A/D數據采集功能的,并可由Arduino接口來接入外部的模擬信號,對應的Arduino接口如圖1所示。圖1Arduino接口 另外,在例程中還配有供用戶
    發表于 11-13 00:47

    【HaaS 610 Kit 4G 開發板試用體驗】A/D數據采集及使用

    HaaS 610 Kit 4G開發板是具有 A/D數據采集功能的,并可由Arduino接口來接入外部的模擬信號,對應的Arduino接口如圖1所示。圖1Arduino接口 另外,在例程中還配有供用戶
    發表于 11-16 14:48

    ADC數據采集的應用

    摘要本文章基于國信長天M4開發板,講述了ADC數據采集的應用,祝各位學生藍橋杯比賽取得好成績!M4開發板 ADC部分原理圖又上圖可以看出,
    發表于 01-06 06:12

    實現一個基于小熊派開發板的廚房煙霧監測系統

    重新拿了起來,并想借此寫博客的機會,整理一下自己的代碼。開發板功能區分布圖開發板俯視圖我們前面實現了一個廚房煙霧監測系統,還有一點點的欠缺,就是不能通過按鍵
    發表于 01-11 07:05

    如何利用FET5718核心控制超高速雙通道ADC進行數據采集

    再利用FET5718核心控制超高速雙通道ADC進行數據采集,并實現動態波形繪制顯示,硬件設計需要如何進行資源分配,可以達到顯示不丟失
    發表于 11-21 12:10

    【小眼睛科技紫光盤古50K開發板試用體驗】+高速ADC數據采集視頻

    用了盤古50K開發板和自制的一塊ADC采集模塊,使用了一塊4.3寸的RGB TFT顯示屏,屏幕上有一塊MCU作為顯示驅動,通過SPI接口接收FPGA輸出的波形數據。 視頻中使用發射源輸
    發表于 05-27 11:13

    搭載JESD204B編碼的高速數據采集開發板

    這款高速數據采集含有兩個14位、250 MSPS雙通道ADC AD9250,支持高速串行JESD204B編碼輸出,可以顯著改善FPGA連接性能。在本例中,我們將其連接到一塊Xilinx KC706
    的頭像 發表于 06-20 06:10 ?3657次閱讀

    采用STM32F103硬件ADC功能進行光照強度采集

    光照強度采集ADC方式采集,STM32F103本身自帶有硬件ADC功能。將
    的頭像 發表于 05-31 11:32 ?7566次閱讀
    <b class='flag-5'>采用</b>STM32F103<b class='flag-5'>硬件</b><b class='flag-5'>ADC</b><b class='flag-5'>功能進行</b>光照強度<b class='flag-5'>采集</b>