新聞中心

        EEPW首頁 > 醫療電子 > 設計應用 > 基于EFM32TG840F16室內甲醛檢測儀設計方案

        基于EFM32TG840F16室內甲醛檢測儀設計方案

        作者: 時間:2018-07-31 來源:網絡 收藏

        甲醛是一種重要的化工原料和有機溶劑,廣泛使用于家庭裝修的材料中。過量甲醛氣體,將誘發疾病甚至致癌,直接危害著人們的身體健康和生命安全。本檢測儀采用32 位超低功耗 微處理器和高靈敏度甲醛傳感器CH20/S-10,實現甲醛濃度的信號處理和采樣,系統外接通訊接口及必要的擴展功能模塊,構建智能化、多功能的檢測系統。

        本文引用地址:http://www.104case.com/article/201807/384666.htm

        1. 系統硬件設計

        硬件主要由單片機主控系統、甲醛傳感器接口、液晶顯示(LCD)、功能鍵盤、數據存儲、打印和報警輸出等功能模塊構成。系統硬件結構框圖(見圖1)。

        圖1 系統功能框圖

        該系統采用32 位 單片機作為主控核心,內嵌16KB Flash 程序存儲器和4KB RAM、多達160 段LCD 驅動器(最大8COM驅動、支持動畫、閃爍等各種特效)、8 通道/12 位 ADC(支持硬件過采樣)、2個USART(支持SPIUARTI2S)、1個LEUART、1個LESENSE(支持阻、感、容性信號檢測)、3個運放、硬件加解密AES、2個12位DAC 及大量的I/O 端口等,完全滿足本的各項功能需求。該芯片主要特點是:低電壓(1.85 ~ 3.8V)、低功耗( EM2模式下僅有0.9uA)、 32 位指令、高性能(基于Cortex-M3內核),具有極低的運行功耗、快速的喚醒時間、功能強大、高抗擾(未用引腳都是和MCU內部斷開的)、外設可以自主工作(主要得益于DMA和PRS外設反射系統)以及超節能(ADC:12bit,1Msps,僅需350uA;Analog Comparator:僅需100nA;LCD:本位功耗0.55uA;LEUART:9600波特率下僅需150nA;AES:128/256bit 加/解密僅需54/75個周期)、便于智能化和便攜式等優點。而且齊全的配套開發工具比如開發板具有電流實時監控功能,可以定位代碼位置,便于工程師及時優化代碼以節能![member]

        1.1 甲醛傳感器接口模塊

        傳感器接口模塊由CH20/S-10 甲醛傳感器、I/ V 轉換器RCV420 等組成。甲醛傳感器由甲醛探

        頭和CH20 傳感器構成。當室內甲醛氣體被內部采樣系統吸收后,產生與甲醛濃度成正比的電流值,由于單片機A/D 采樣的是電壓值,而被檢測的是微量的電流值;因而需要將電流值放大并轉換為相應的電壓值。采用集成I/V 轉換器RCV420,將電流值轉換為對應的0 ~ 3.6V 電壓, 送至 的A/D 轉換接口ADC,實現對濃度信號的檢測。單片機進行運算和處理,將處理結果及范圍進行查表和分段線性化,完成傳感器信號與濃度高低對應。系統中RCV420 具有精密運放和電阻網絡功能,能將4 ~ 20mA 環路電流轉換為 0 ~ 3.6V 電壓, 在無外部調整的情況下,可用獲得 86dB 的共模抑制比, 具有高性能及抗干擾能力。

        1.2 數據存儲與打印模塊

        在EFM32TG840F16 外擴展2KB 的E2PROM(也可用片內flash模擬EEPROM),通過I2C 總線與EFM32TG840F16數據口相連,用于存儲采樣來的甲醛濃度數據,以備打印機打印。打印機接口電路通過RS-232 串行口直接和微處理器相連,通過采用軟件設定的方式打印出甲醛濃度值。

        1.3 鍵盤與顯示模塊

        系統外接鍵盤和LCD 顯示設備,實現人機對話功能。鍵盤設置為3×3 陣列鍵盤,設有功能選擇鍵、OK 鍵、報警確認及打印鍵,完成濃度顯示、數據查詢、打印及開關機功能。微處理器EFM32TG840F16 內含LCD 驅動電路,可驅動160 段的LCD,且超低功耗,特別適合便攜式儀器儀表中使用。用戶通過LCD 顯示,讀取檢測濃度值、打印和設置相關功能等信息。

        1.4 其它模塊

        本系統的供電電壓為3V,采用兩節電池供電,也可外接3V 直流電源。系統的時鐘是外置晶振提供。為滿足個性化需要,還增加蜂鳴器報警電路。

        2. 系統軟件設計

        在軟件設計中采用模塊化設計方法,使用嵌入式C 語言編寫,在IAR 編譯環境中進行。這不僅給程序的調試、修改提供很大方便,而且為今后功能的進一步擴展創造有利條件。

        2.1 主程序設計

        主程序是系統軟件的核心,它通過調用各子程序便可實現系統功能。系統主程序結構框圖(見圖 2)。

        系統上電后,進行初始化和中斷處理操作,主要完成系統自檢和復位。初始化完成后,開始采樣濃度值,并判斷是否有按鍵按下。如果有按鍵按下,則進行相應數據處理,并執行功能指令,然后在液晶顯示屏上顯示相應信息。如果沒有按鍵按下,則顯示當前實測濃度值,等待用戶進行下一步操作,系統轉入定時計時階段。

        2.2 低功耗中斷子程序

        為減小系統功耗,延長電池的使用時間,設計時考慮設備在較長時間段內處于待機狀態時,應盡量降低功耗。系統設計低功耗中斷子程序(見圖3)

        這里采用一個定時器。當定時器大于0 時,系統處于開機狀態;當定時器倒數到0 時,系統自動進入低功耗模式,并關閉LCD 模塊和A/D 模塊。其中定時器是通過軟件對控制寄存器進行設置實現的。具體操作是這樣:開機時,對定時器初始化一個大于0 的值,比如60,并且在每按一次有效鍵時,系統重新初始化這個值。因此,當沒有按任何有效鍵時,60s 后就會自動進入休眠狀態,從而實現降耗目的。在休眠期間,若有按鍵按下,微處理器響應中斷,系統退出休眠狀態,返回到正常工作狀態。

        2.3 采樣數據處理子程序

        為提高檢測精度,采樣數據處理軟件設計是關鍵。系統采用采樣數據排隊與中值濾波法。數據排隊就是在給定的數據暫存區內不斷地用最新數據取代最早數據的過程;利用軟件進行數據排隊具有通用性和靈活性。原理(見圖4)。

        由圖4 可見, 將暫存區的空間擴大為需要保存數據空間的2 倍, 并將暫存區等分為前后相連的2 個區, 每個區的長度與需保存數據長度相等。當前采樣得到的一組新數據同時存入2 個區的對應位置,這樣2 組相同采樣數據之間剛好間隔1 個區的長度, 間隔內的全部數據連同最后1 個最新數據即為當前排隊結果。以后每組新采樣數據依次向后存入暫存區, 存滿后再從頭開始。每次采樣周期中完成相應的排隊更新任務后記下當前隊列的首(或末)地址作為指針并保存, 供處理程序取數時使用,這樣一來就滿足實時排序的要求。

        對排隊后的數據采取中位值濾波算法。算法的具體實現過程:取N 個連續采樣數據,并按照遞增或遞減順序排列,取中間值作為本次采樣值。中位值濾波算法能有效地克服因偶然因素引起的干擾或波動而產生的誤差。即提高系統的檢測精度。

        3. 結束語

        采用EFM32TG840F16 單片機作為核心控制單元,電路結構簡單、外設功能模塊豐富,功耗低,待機時間長,支持IAP功能,軟件升級方便,另外該MCU性能強勁,可升級空間極大。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 集贤县| 灵石县| 鲁甸县| 江陵县| 漳州市| 博乐市| 天等县| 都兰县| 常山县| 聊城市| 新和县| 敖汉旗| 栾川县| 阳江市| 始兴县| 樟树市| 道孚县| 阿坝县| 勐海县| 察雅县| 井研县| 青川县| 嘉祥县| 星座| 赤水市| 长葛市| 淮北市| 澎湖县| 黄陵县| 镇平县| 西吉县| 崇义县| 天峻县| 泗水县| 边坝县| 朔州市| 萝北县| 荆州市| 古丈县| 永平县| 宕昌县|