西京學(xué)院控制工程學(xué)院 代嚴(yán)滿 陳 恒 竇洋洋 胡宗華
一種多傳感器的無線環(huán)境監(jiān)控系統(tǒng)
西京學(xué)院控制工程學(xué)院代嚴(yán)滿陳恒竇洋洋胡宗華
本環(huán)境監(jiān)控系統(tǒng)低層部分主要使用了STM32F103系列單片機(jī)作為開發(fā)基礎(chǔ),利用模塊化設(shè)計(jì)的思想,加入了PM2.5、甲醛濃度、數(shù)字光照等多種高精度傳感器并配有一塊3.2寸的USART HMI觸摸屏來進(jìn)行下位機(jī)的數(shù)據(jù)顯示。另外,利用C#語言進(jìn)行了上位機(jī)的程序設(shè)計(jì)和開發(fā),上下位機(jī)之間將通過WIFI無線網(wǎng)絡(luò)進(jìn)行通信。實(shí)驗(yàn)證明,本設(shè)計(jì)符合時(shí)代發(fā)展的需求,且經(jīng)濟(jì)實(shí)用操作簡便。
STM32F103;WIFI無線;C#語言;環(huán)境監(jiān)控
隨著計(jì)算機(jī)技術(shù)、信息通信技術(shù)、互聯(lián)網(wǎng)控制技術(shù)的迅猛發(fā)展以及智能傳感器的普遍應(yīng)用,人們的生活質(zhì)量得到了不斷的提高,現(xiàn)今人們更加注重個(gè)性、人性化和智能化的生活方式,因此對家庭居住環(huán)境的要求也不斷的在提高,由此帶動(dòng)了智能家居系統(tǒng)產(chǎn)業(yè)的不斷更新和快速發(fā)展,當(dāng)今智能家居已成為未來家居環(huán)境的發(fā)展潮流。本文正是在此潮流的影響下,設(shè)計(jì)并開發(fā)了一款經(jīng)濟(jì)實(shí)用的多傳感器自適應(yīng)環(huán)境監(jiān)控系統(tǒng),旨在為人們帶來更健康、更安全的生活環(huán)境。
根據(jù)系統(tǒng)的擴(kuò)展和擴(kuò)充性的要求,本系統(tǒng)低層控制芯片選型了ST公司LQFP-64封裝的STM32F103RCT6型高性能芯片,芯片工作電壓2.0V到3.6V,工作溫度-40度到85度間。該芯片內(nèi)部集成有32位Cortex-M3內(nèi)核,最大時(shí)鐘頻率達(dá)到72MHz,程序存儲(chǔ)器大小具有256kB,數(shù)據(jù)RAM大小為48kB,以及SPI、I2C等多種總線形式以供綜合開發(fā)使用。系統(tǒng)總體框圖如圖1所示。
圖1 系統(tǒng)總體框圖
圖2 PCB原理圖
(1)系統(tǒng)低層設(shè)計(jì)主要包括STM32F103單片機(jī)最小系統(tǒng)電路、各傳感器數(shù)據(jù)傳輸電路、USART HMI觸摸屏顯示傳輸電、外圍控制電路以及WIFI模塊數(shù)據(jù)傳輸電路,此外,我們根據(jù)實(shí)際使用的情況和器件的尺寸大小對PCB電路進(jìn)行了合理的布局和設(shè)計(jì),達(dá)到了即美觀又實(shí)用的效果。PCB原理圖如圖2所示。
(2)WIFI無線模塊使用了原子公司的ATK-RM04模塊。該模塊是ALIENTEK推出的一款高性能UART-ETH-WIFI(串口-以太網(wǎng)-無線網(wǎng))模塊,其中板載了Hi-Link公司的HLK-RM04模塊,并且該模塊已經(jīng)通過了FCC,CE認(rèn)證。ATK-RM04模塊采用串口(RS232/ LVTTL)與MCU(或其他串口設(shè)備)通信,內(nèi)置有TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)用戶的串口、以太網(wǎng)、無線網(wǎng)(WIFI)3個(gè)接口之間的轉(zhuǎn)換。如圖3所示模塊功能結(jié)構(gòu)圖。
圖3 模塊功能結(jié)構(gòu)圖
圖4 程序應(yīng)用界面
(3)低層程序設(shè)計(jì)主要包括對STM32單片機(jī)、各型號(hào)傳感器、液晶顯示屏和無線模塊的初始化設(shè)置,以及對所用串口(1、2、3、4)、定時(shí)器(T3、T4)、中斷優(yōu)先級、I/O口等的初始化配置和對數(shù)據(jù)的獲取、顯示和上傳處理。
主程序代碼如下:
void main()
{
SystemInit();//系統(tǒng)初始化
char DispTemp[50];//定義顯示數(shù)組
NVIC_PriorityGroupConfig();//中斷優(yōu)先級設(shè)置
delay_init(); //延時(shí)函數(shù)初始化
JTAG_Set(1);//調(diào)試函數(shù)初始化
Uart1_UserInit();//串行口初始化
Uart2_UserInit();
Uart3_UserInit();
Usart4_Init(9600);
HMISendstart();//HMI顯示器初始化
SensorInit(); //傳感器初始化
while(1)
{
Getdata(); //獲取數(shù)據(jù)
if(ValueShow_Flag)//顯示數(shù)據(jù)
{
HMISendComands(DispTemp);
}
if((Uart_SendFlag)&&(ValueShow_Flag))//數(shù)據(jù)傳輸
{
Uart_SendFlag = 0;
Uart_SendBuf[0] = 0xff;
...
Uart_SendBuf[11] = 0xaa;
}}}
在上位機(jī)系統(tǒng)設(shè)計(jì)中主要使用了C#語言在Visual Studio 2010集成開發(fā)環(huán)境下進(jìn)行了開發(fā)和調(diào)試。該部分程序通過解析通信協(xié)議來成功獲取下位機(jī)監(jiān)測數(shù)據(jù)并對數(shù)據(jù)進(jìn)行分析處理和顯示,同時(shí)該開發(fā)環(huán)境同時(shí)還帶來了NET Framework 4.0、Microsoft Visual Studio 2010 CTP( Community Technology Preview--CTP),并且支持開發(fā)面向Windows 7的應(yīng)用程序。如圖4所示為上位機(jī)程序應(yīng)用界面。
為檢驗(yàn)本系統(tǒng)的實(shí)際性能,特在不同地點(diǎn)和環(huán)境下進(jìn)行了功能測試,如圖5下位機(jī)屏幕所示為某時(shí)刻的各項(xiàng)環(huán)境參數(shù),其中可以較清楚直觀的反應(yīng)出當(dāng)時(shí)的環(huán)境質(zhì)量狀況。此外,利用無線技術(shù)可以在另一處上位機(jī)界面上同樣觀察到同時(shí)刻的環(huán)境狀況,并且我
們運(yùn)用了大數(shù)據(jù)分析和數(shù)學(xué)模型計(jì)算,可以給出一定的環(huán)境安全系數(shù),結(jié)合安全系數(shù)系統(tǒng)將給出提示報(bào)警,如圖6所示。
圖5 下位機(jī)界面顯示
圖6 上位機(jī)界面顯示
本系統(tǒng)將嵌入式系統(tǒng)和無線技術(shù)做了合理的融合,搭配有多種高精度傳感器和一些控制外設(shè),設(shè)計(jì)并開發(fā)了一款簡單實(shí)用的環(huán)境監(jiān)控系統(tǒng),實(shí)驗(yàn)表明本系統(tǒng)具有一定的實(shí)用價(jià)值。
[1]譚浩強(qiáng),林小茶,等.C語言程序設(shè)計(jì)[M].中國鐵道出版社,2004.[2]恰汗.合孜爾,等.C語言程序設(shè)計(jì)[M].中國鐵道出版社,2010,3.
[3]Altium Designer 10電路設(shè)計(jì)標(biāo)準(zhǔn)教程[M].北京:科學(xué)出版社,2015,8.
[4]王小科,徐薇,等.C#從入門到精通[M].北京:清華大學(xué)出版社,2010,7.
[5]韓穎.基于無線傳感器網(wǎng)絡(luò)得室內(nèi)環(huán)境監(jiān)控系統(tǒng)[D].沈陽工業(yè)大學(xué)碩士論文,2014,3.
[6]趙越.基于C#語言的新型智能機(jī)房環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)[D].吉林大學(xué)碩士論文,2014,5.
[7]林中.基于STM32的智能家居控制系統(tǒng)的設(shè)計(jì)與開發(fā)[D].北京郵電大學(xué)碩士論文,2015,5.
[8]JosephYiu.TheDefinitiveGuide to the ARM Cortex-M3[M].Elsevier,2009.
代嚴(yán)滿(1992—),陜西渭南人,在讀研究生,主要研究方向:電路設(shè)計(jì)與控制。
陳恒(1965—),陜西西安人,副教授,碩士生導(dǎo)師,主要研究方向:數(shù)據(jù)采集與智能控制。
竇洋洋(1991—),陜西西安人,在讀研究生,主要研究方向:電源設(shè)計(jì)與控制。
胡宗華(1992—),陜西商洛人,在讀研究生,主要研究方向:數(shù)據(jù)采集與控制。