一种可用于教学的CAN总线分布室内环境信息采集系统

2018-01-22 21:10雷建和万斌钱晶刘明
现代电子技术 2018年2期
关键词:信息采集CAN总线通信

雷建和+万斌+钱晶+刘明

摘 要: 设计一种室内环境信息采集系统。系统中单片机STM32F103ZET6和STM32F103RBT6分别作为中央节点控制器和局部节点控制器并通过湿度传感器、光照传感器、PM2.5传感器、烟雾传感器、步进电机、音乐模块、语音模块控制器来完成温湿度、光照度、PM2.5的采集与显示、背景音乐的播放控制、室内灯光的自动调节、室内百叶窗控制。由于需要采集和控制客厅、卧室、厨房等建筑单元的环境参数,故采用分布控制式控制系统,每个建筑单元的采集、控制节点以及中央控制器和局部控制器都挂在CAN总线上,所以其具有模块化、可扩展的特点并能实现各控制器之间的通信。经过实际调试和运行结果表明,该系统可达到设计和教学要求。

关键词: CAN总线; 传感器; 信息采集; STM32; 通信; 控制器

中图分类号: TN431.1?34; TP273 文献标识码: A 文章编号: 1004?373X(2018)02?0026?04

Abstract: An indoor environment information acquisition system is designed in this paper. The STM32F103ZET6 and STM32F103RBT6 microcontrollers are used respectively as the central node controller and the local node controller to accomplish acquisition and display of temperature, humidity, illuminance and PM2.5, and play control of background music, automatic dimming of indoor lamplight and control of indoor shutter by using temperature and humidity sensor, light illumination sensor, PM2.5 sensor, smoke sensor, stepper motor, music module controller and voice module controller. The distributed control system is used due to the need to collect and control the environment parameters of the living room, bedroom, kitchen and other building units. The central node controller, the local node controller, the acquisition node and the control node of each building unit are all collected to the CAN bus to make the system have characteristics of modularization and expansibility, and realize communication between controllers. The actual debugging and operation results show that the system can meet the design and teaching requirements.

Keywords: CAN bus; sensor; information acquisition; STM32; communication; controller

隨着科技水平的不断提高,室内智能建筑环境在人们生活中出现的频率越来越高,人们已经不再满足于传统的建筑模式。因此对家庭环境的要求便成为了智能建筑和环境监测的发展动力。室内环境信息采集系统就是为解决室内环境监测和控制而设计的。我国的室内环境采集如今向着网络化、智能化方向发展。童怀、王朝华等人设计了基于Android的智能家居系统[1],通过单片机建立一个智能家居控制网关并利用基于Android手机的控制系统进行家居信息控制采集;南忠良,孙国新设计了一种基于ZigBee技术的智能家居系统[2],通过利用ZigBee模块、单片机和PC机对家居信息进行控制采集。

本文设计的室内环境信息采集系统,采用CAN总线组网构成分布式控制系统[3],完成室内环境状况的检测、数据处理、数据发送以及环境状况显示,具有高性能、高可靠性的特点[4]。

1 室内环境信息采集系统方案设计

1.1 系统的功能实现

该系统采用STM32作为控制器芯片[5],将各控制器节点挂载在CAN总线上,来完成通信,将卧室、厨房内的CAN节点采集来的数据通过CAN总线发送到客厅内的CAN节点上面[6],并通过ALIENTEK 7寸TFTLCD触摸屏显示和监控。该系统功能框图如图1所示。

该系统主要完成以下功能:

1) 设计实现在公共区域根据光照度自动调光,根据照度有效调节控制百叶窗等;

2) 实现对家居背景音乐的点播和控制;

3) 实现时钟和日历的实时显示;

4) 实现对室内环境如温度、湿度、光照度、PM2.5等实时检测和显示;

5) 实现对室内燃气泄漏或管道压力超限及时预计或报警[7];

6) 实现对室内插座等电源回路的定时控制。

1.2 主控单片机的选择

本设计系统采用单片机STM32F103ZET6,其具有512 kB FLASH,64 kB SRAM,外扩的SPI FLASH,16 MB的W25Q128 为本系统开发提供充足的存储资源[8]。endprint

2 系统硬件选择及模块电路设计

1) CAN总线模块。在本系统设计中STM32自带CAN控制器,因此,只需将芯片的PA11和PA12与CAN收发器的1管脚和4管脚相连即可。另外,多个CAN节点挂载在CAN总线上时,收发器6管脚和7管脚上的电阻需要去掉;双CAN通信时不需要去掉。CAN收发器原理图如图2所示。

2) MP3模块。在该系统中要完成背景音乐的播放和控制,选择ATK?VS1053 MP3。ATK?VS1053通过SPI接口与STM32单元中的SPI1通信,将存储在SD卡的音乐文件取出来,发送到VS1053进行音频解码,实现音乐播放等功能。MP3模块引脚与STM32相连说明见表1。

表1中:RST是复位信号;DREQ是数据请求信号,来通知STM32,VS1053是否做好接收数据的准备;其他管脚则是VS1053的SPI通信管脚。MP3模块与STM32接口图如图3所示。

3) 触摸屏液晶显示电路。本设计系统中,需要完成控制器参数的显示,其显示模块选用ALIENTEK开发的7 寸 TFTLCD 模块。

4) 语音播放模块。WTW?16P语音模块采用WT588D?20SS 作为核心控制电路。外部只需要接上电源、控制端以及扬聲器就能正常工作。

5) 温湿度度检测模块电路设计。DHT21是带有自校准的输出数字信号的温湿度复合传感器[10]。DHT21温湿度传感器模块与STM32单片机的PB13管脚相连接。当其信号线小于20 m时,信号线要加上5 kΩ的上拉电阻。

6) 亮度检测模块电路设计。为了实现室内调光和节约能源,需要检测室内光照环境,选择BH1750FVI光照传感器,其数据传输方式采用是两线式串行总线方式。亮度检测模块BHT1750SCL,SDA与STM32单片机的PB10,PB11相连接,以I2C总线传输数据。光照传感器BHT1750原理图如图4所示。

7) PM2.5模块设计。PM2.5传感器用 GP2Y1010

AU0F 。GP2Y1010AU0传感器3管脚与STM32的PB7相连,点亮该传感器内部的LED;5管脚VO与单片机的PA0相连,是模拟量输出。

8) 声光报警模块电路。本文采用MQ?2烟雾传感器来采集厨房内的可燃气体浓度。当浓度大于设定值时,PB8管脚电平置高,来使蜂鸣器动作,来通知用户燃气泄漏,做好安全措施。

9) 客厅灯光设计。在办公区域或家居内根据不同情景模式需要,选择性打开LED灯。

10) 百叶窗模块设计。根据室内光照强度,单片机会发出相应的控制信号,来控制步进电机旋转相应的角度,从而调节百叶窗的开度。

11) 系统硬件搭建。根据系统硬件选择完成最终搭建,系统硬件搭建如图5所示。

3 软件系统设计

3.1 系统总体程序设计

完成了系统的硬件设计之后,相当于完成了“躯干”部分,要想使系统正常、稳定工作,还得为系统注入软件程序。系统在上电之后,会先对系统的各个模块进行初始化,初始化就是将系统的各个部分设置成默认值。系统程序流程图如图6所示。

3.2 触摸屏界面程序设计

触摸屏界面是该系统人机交互的主要途径,触摸屏在使用前需要进行初始化。LCD显示设计流程图如图7所示。

3.3 CAN总线通信模块的软件设计

CAN节点的功能主要是发送和接收数据,首先应对STM32中关于CAN的控制器进行初始化。CAN控制器初始化配置,需要对中断进行设置,优先级设置为最高;配置CAN用的I/O管脚;设置CAN的通信速度为450 kbit/s。

1) CAN发送数据流程图如图8所示。

2) CAN接收数据流程图如图9所示。

图9表明了CAN接收数据的流程,但是缺少从FIFO中读出报文,FIFO存储3个报文之后,在下个报文到来之前,必须先读出一个报文,否则FIFO将溢出,丢失数据。只要FIFO读出一个报文,挂号就减1,FIFO不为0,就可以读出报文。

3.4 温湿度采集程序设计

本系统选用的温湿度传感器(DHT21)工作方式为单总线。数据通信协议包括起始信号、响应信号、温度数据、湿度数据、校验位。起始信号:数据总线拉低,通知传感器准备数据。响应信号:把总线拉低80 μs,再拉高80 μs以响应主机的起始信号。湿度数据:前16位为湿度信号,高位在前,传感器的值为实际湿度值的10倍。温度数据:中间16位为温度信号,最高位为1,表示负温度信号,最高位为0,表示正温度信号。校验位:校验位为8位数据。

4 结 论

本文主要研究室内环境信息采集系统设计。通过分布式控制系统对客厅、卧室、厨房等建筑单元的环境参数进行采集控制,最终经过实际搭建运行调试,能够达到实际使用和教学要求。

参考文献

[1] 王朝华,陈德艳,黄国宏,等.基于Android的智能家居系统的研究与实现[J].计算机技术与发展,2012,22(6):225?228.

WANG Zhaohua, CHEN Deyan, HUANG Guohong. Research and implementation of smart home based on Android platform [J]. Computer technology and development, 2012, 22(6): 225?228.

[2] 南忠良,孙国新.基于ZigBee技术的智能家居系统设计[J].电子设计工程,2010,18(7):117?119.

NAN Zhongliang, SUN Guoxin. Design of smart home system based on ZigBee [J]. Electronic design engineering, 2010, 18(7): 117?119.endprint

[3] YANG Chunjie, YAO Ji. The design of distributed control system based on CAN bus [C]// Proceedings of international conference on Electronic & Mechanical Engineering and Information Technology. [S.l.: s.n.], 2011, 8: 3956?3958.

[4] 陈益庆.CAN总线原理及应用研究[J].商,2014(49):165.

CHEN Yiqing. Principle and application of CAN bus [J]. Business, 2014(49): 165.

[5] 李琳,王晓东.一种基于单片机的防火防盗报警系统:CN104123819A[P].2014?10?29.

LI Lin, WANG Xiaodong. A fire alarm system based on single chip microcomputer: CN104123819A [P]. 2014?10?29.

[6] 李晓虹,刘克福.基于单片机和CAN总线的智能家居控制系统[J].智能建筑与城市信息,2010(1):56?59.

LI Xiaohong, LIU Kefu. Smart home control system based on single chip microcomputer and CAN bus [J]. Intelligent building & city information, 2010(1): 56?59.

[7] 赵雨斌,苗满香,陈宇.基于CAN总线的楼宇智能监控报警系统研究与设计[J].核电子学与探测技术,2008(5):657?661.ZHAO Yubin, MIAO Manxiang, CHEN Yu. Research and design of building intelligent monitoring alarm system based on CAN bus [J]. Nuclear electronics & detection technology, 2008(5): 657?661.

[8] 马淑华,王凤文,张美金.单片机原理与接口技术[M].2版.北京:北京邮电大学出版社,2011.

MA Shuhua, WANG Fengwen, ZHANG Meijin. Principle and interface technology of single chip microcomputer [M]. 2nd ed. Beijing: Beijing University of Posts and Telecommunications Press, 2011.

[9] Anon. ARM??based 32?bit MCU STM32F103xx firmware library [DB/OL]. [2016?10?12]. http://www.doc88.com/p?6791552

898506.html.

[10] 赵继文.传感器与应用电路设计[M].北京:科学出版社,2002.

ZHAO Jiwen. Sensor and application circuit design [M]. Beijing: Science Press, 2002.endprint

猜你喜欢
信息采集CAN总线通信
论网络通信技术
CAN总线通信技术在电梯监控系统中的应用
如何提高卷烟零售市场信息采集的有效性
简述计算机通信网络安全与防护策略
Android环境下主UI线程与子线程通信机制研究
无线自组网在野战防空通信系统中的应用
基于CANoe的J1939协议在ECU通信中的应用
对数字微波通信技术的研究