喻文倩(西南科技大學(xué),四川 綿陽(yáng) 621010)
基于CHTM-02/N的電子溫濕度計(jì)設(shè)計(jì)
喻文倩
(西南科技大學(xué),四川 綿陽(yáng) 621010)
以STM32Fl03ZET6作為控制核心元件,采用CHTM-02NA溫濕度傳感器,利用ADC轉(zhuǎn)換,得到相應(yīng)的溫度、濕度值,并將得到的值通過(guò)液晶屏顯示;當(dāng)濕度值大于70%RH時(shí),蜂鳴器報(bào)警。
ARM;CHTM-02NA溫度傳感器;I/O模擬通信
溫濕度傳感器能將溫度量和濕度量轉(zhuǎn)換成容易被測(cè)量處理的電信號(hào),例如電壓值,對(duì)應(yīng)不同的濕度和溫度,根據(jù)產(chǎn)品的設(shè)計(jì),有不同的電壓輸出值。使得虛擬的感官變得具體化,使人們更直觀的了解溫度和濕度。
總體設(shè)計(jì)如圖1所示,溫濕度儀的設(shè)計(jì)主要是由STM32為主要控制元件,對(duì)數(shù)據(jù)進(jìn)行分析,比較。如果超過(guò)范圍,作為報(bào)警裝置的蜂鳴器將報(bào)警。利用CHTM-02/N溫濕度模塊進(jìn)行測(cè)量,通過(guò)USB接口連接各個(gè)部件,將結(jié)果返回到核心元件中處理。最后通過(guò)液晶顯示器和上位機(jī)將測(cè)量結(jié)果顯示出來(lái)。
3.1STM32Fl03ZET6 微控制器
STM32系列32位閃存微控制器使用的是Cortex-M3內(nèi)核,有高性能、低功耗、實(shí)時(shí)應(yīng)用、具有競(jìng)爭(zhēng)性價(jià)格等優(yōu)點(diǎn)。最高72MHz工作頻率,有從32K到512K字節(jié)的閃存程序存儲(chǔ)器,電源采用2.0-3.6V供電和I/O引腳,4-16MHZ晶振振蕩器,并且低功耗,包含睡眠、停機(jī)和待機(jī)模式。包含12位模數(shù)轉(zhuǎn)換器,僅1us轉(zhuǎn)換時(shí)間,可多達(dá)16個(gè)輸入通道。2個(gè)DMA控制器,支持多種外設(shè),多達(dá)8個(gè)定時(shí)器。廣泛地應(yīng)用于電力電子系統(tǒng),編程控制器,醫(yī)療,報(bào)警系統(tǒng),通風(fēng)系統(tǒng),游戲平臺(tái)等各個(gè)方面,以及多種平臺(tái)。
3.2CHTM-02/N 系列溫濕度傳感器
CHTM-02/N系列溫濕度傳感器模塊在測(cè)量濕度時(shí)所采用的敏感元件是高分子濕敏電阻“CHR-01”,其耗電電流平均2mA,最大5mA。電源電壓供電范圍為4.75~5.25V。測(cè)量溫度的敏感元件可以選NTC,熱敏電阻,LM35或TMP35。其測(cè)量范圍溫度是0~60℃,濕度是10%--95%RH,濕度準(zhǔn)確度為±5%RH,溫度系數(shù)則為0.4%RH/℃。CHTM-02/N溫濕度傳感器模塊的接口如圖2所示。
b=(w-adcw)*100;LCD_ShowNum(60+60,150,b,2,16);//顯示溫度的小數(shù)顯示濕度:
a=temp;
temp-=(u8)temp;//減掉整數(shù)部分
LCD_ShowxNum(100,130,a,2,16,0);//顯示濕度整數(shù)
LCD_ShowNum(120,130,temp*100,2,16); //顯示濕度小數(shù)
4.3判斷是否超出范圍
w=w/0.01;#defineLED0PBout(5)//PB5
adcs=s;#defineLED1PEout(5)//PE5
adcw=w;voidLED_Init(void);//初始化
temp=s/0.03;#endif
利用CHTM-02NA溫濕度傳感器進(jìn)行溫濕度的測(cè)量,在測(cè)量的同時(shí)可以通過(guò)模式的轉(zhuǎn)換,通過(guò)LCD和上位機(jī)來(lái)顯示測(cè)量結(jié)果的數(shù)據(jù),還能隔一段時(shí)間就自動(dòng)監(jiān)測(cè),并及時(shí)傳遞數(shù)據(jù),具有實(shí)時(shí)性。并且設(shè)備簡(jiǎn)單,配置方便。但是,這種小型的測(cè)量還是具有一定的誤差,并且周圍環(huán)境隨時(shí)在變化,兩次測(cè)量數(shù)據(jù)之間的時(shí)間間隔也會(huì)影響測(cè)量的準(zhǔn)確度。
[1]張?jiān)评?北侖電廠2號(hào)機(jī)10號(hào)瓦振動(dòng)原因淺析[J].浙江電力,1996(05).
[2]邱炳正.引風(fēng)機(jī)振動(dòng)原因及其處理[J].江西煤炭科技,2001(01).
[3]張都清,張廣成,曹立春.電廠中汽水管道的振動(dòng)原因及對(duì)策[J].山東電力技術(shù),2006(01).
總體上可大致分為三個(gè)部分:微處理器的配置,CHTM-02/N溫濕度傳感器的測(cè)量以及數(shù)據(jù)處理,數(shù)據(jù)的顯示以及判斷是否超過(guò)規(guī)定值。
4.1微處理器的設(shè)置
初始化ADC:voidAdc_Init(void);
#ifndef__ADC_Hu16Get_Adc(u8ch);
#define__ADC_Hu16Get_Adc_Average(u8ch,u8times);
#include"sys.h"#endif
初始化BEEP以及端口定義:
#ifndef__BEEP_H#defineBEEPPBout(8)//BEEP,蜂鳴器接口#define__BEEP_HvoidBEEP_Init(void);//初始化
#include"sys.h"#endif
初始化KEY:
#defineKEY0GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)//讀取按鍵0
#defineKEY1GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_3)//讀取按鍵1
#defineKEY2GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_2)//讀取按鍵2
#defineKEY3GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)//讀取按鍵3(WK_UP)
#defineKEY_UP 4voidKEY_Init(void);//IO初始化
#defineKEY_LEFT3u8KEY_Scan(u8);//按鍵掃描#defineKEY_DOWN2函數(shù)
#defineKEY_RIGHT1#endif
初始化顯示(LCD,LED)的設(shè)置:
#ifndef__LCD_H
#define__LCD_H #defineLED0PBout(5)//PB5
#include"sys.h"#defineLED1PEout(5)//PE5
#include"stdlib.h"voidLED_Init(void);//初始化
#ifndef__LED_H#endif
#define__LED_H
#include"sys.h"
4.2CHTM-02/N 溫濕度傳感器
測(cè)試溫度,并利用ADC進(jìn)行轉(zhuǎn)化:
adcs=Get_Adc_Average(ADC_Channel_0,10);
adcw=Get_Adc_Average(ADC_Channel_1,10);
s=(float)adcs*(3.3/4096);
w=(float)adcw*(3.3/4096);
將溫度像顯示在LCD上:
t=s;LCD_ShowNum(155,90,t,2,16);t=(s-t)*100;LCD_ ShowNum(172,90,t,2,16);
t=w;LCD_ShowNum(155,110,t,2,16);t=(w-t)*100;LCD_ ShowNum(172,110,t,2,16);
//顯示溫度的整數(shù)
喻文倩(1994-3),女,四川成都人,本科,學(xué)生,研究方向:電氣工程及其自動(dòng)化。