APP下载

环境实时监测车组与全息投影的设计与研究

2016-06-17付琛枫陈锦儒

电脑知识与技术 2016年11期
关键词:实时监测无线通信小车

付琛枫++陈锦儒

摘要:基于stm32单片机的环境实时监测与全息投影系统分为上位机跟下位机两部分,下位机利用各种传感器对环境信息进行采集,并通过无线模块将数据传输到上位机,并且通过ISD1810对即将碰壁情况进行提示。上位机利用无线模块nrf24l01接收下位机数据后通过TFT_LCD彩色液晶屏进行显示,接着通过对按键事件进行编码将事件传递到下位机,下位机识别后对L298N进行控制,从而实现小车的行动。论文研究了各类环境监测传感器与单片机的通信、无线通信、电机的驱动和视频传输等技术,最终实现了环境信息采集、投影技术和车组的控制等功能。

关键词:实时监测;环境监测;小车;全息投影;无线通信

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)11-0161-03

Abstract: Based on STM32 microcontroller real-time monitoring of the environment and the holographic projection system is divided into into two parts: host computer and slave computer, lower computer using various sensor to collect environmental information, and transfer the data to the host computer through the wireless module, and through the isd1810 to be rebuffed situation hints. Host computer using wireless module nRF24L01 receive lower position machine data through the LCD TFT color LCD screen to display, followed by the key event for encoding events will be transmitted to the lower computer and lower computer recognition of L298N control, in order to achieve the car's action. All kinds of environment monitoring sensor and MCU communication, wireless communication, motor driver and video transmission technology is studied in this paper, the ultimate realization of the control environment information collection, projection technology and crew.

Key words: real-time monitoring, environmental monitoring; the car; holographic projection;wireless communication

随着社会的前进步伐的加快、经济的发展和科学技术的进步,关于环境监测和远程控制技术的研究越来越成为人们的焦点。监测和远程控制为我们的生活带来了很大的方便,尤其是远程控制在工业、科研和国防等领域的应用也是越来越广。这些技术或多或少地已经融入到我们的生活中,给我们的生活带来了诸多的便利,然而也有些技术也不是很成熟。所以对监测和远程控制的研究,符合电子的发展趋势。

近些年来,随着多媒体技术的飞速发展,环境的监测已经从大屏幕显示环境质量情况转变成通过微机处理器进行声音、图像、文字等多媒体的方式进行演示了。并且越来越多的信息采集和远程控制系统都采用了无线传输数据,与有线数据传输相比主要比其成本低、安装简易并且方便携带。无线技术的应用已经被各行各业所接受,融入到各个领域,无线图像传输也尤其被看好。

1 系统的整体方案

采用stm32芯片作为上下位机,由于核心片的引脚足够多,解决了引脚不足的问题。并且它的一些功能引脚也能当普通引脚使用。有IIC引脚采集HMC5843数据,也能通过硬件实现SPI时序驱动无线模块;同时也有AD采集功能驱动MQ135,也拥有定时器能够实现PWM输出驱动电机和对超声波测距的过程进行计时。不仅引脚多,而且功能也丰富,对设计的进行和扩展提供了很大的方便,成本也比较客观,并且stm32的处理速度非常快,可达72M。因此该系统设计总框图如上所示。

2 系统的硬件设计

整个系统主要分成两大部分—上位机与下位机。其中上位机的功能要求:接收无线模块的数据,然后进行译码显示,在显示屏上面显示温湿度、空气中有毒气体的含量、前方障碍物的距离、陀螺仪反馈回来的方位数据。并且通过按键,对按键进行编码,从而控制发送的数据。下位机的功能要求:实现检测环境的参数,温度、湿度、有毒气体成分、方位等参数的检测,并对通过超声波对前方距离障碍物的距离进行检测,并通过语音播放的功能进行提示,只要距离过短就进行提示。最后通过无线模块发送这些数据,并且通过接收无线模块的数据,对数据进行分析,从而控制电机的转动。

根据功能要求,系统电路模块主要分成四大部分:主控芯片、检测电路、驱动电路以及数据传输电路。分析了各个主要单元电路所需要的模块,并根据读取它们数据的方式确定了与主控芯片相连接的引脚,从而确定了系统各硬件电路的原理图。

2.1 系统控制的核心电路

为了缩短开发周期,上位机跟下位机的主控制器都采用stm32F103RBT6为核心控制器;上位机直接用原子开发板的mini板当上位机,自带TFT_LCD彩色液晶屏当显示屏。下位机无需接复杂的电路,则采用stm32最小系统板直接充当控制器。其电路图如图3所示。

2.2 数据传输电路设计

本次设计中主要用到NRF24L01无线模块进行数据传输,是一种单片式收发芯片;内置硬件链路层;具备自动应答和自动重发功能,这在程序里面可以大大地方便我们编程,以及加快双机的通讯速度。工作原理主要是通过上位机、下位机进行有序的模式转换,按照预定的规律进行切换,达到避免干扰的目的,从而实现数据的双向传输。其电路连接图如下所示:

3 系统的软件设计

整个软件系统分成两大部分:上位机部分以及下位机部分,其软件设计流程图如下所示。

上位机部分又分成三小部分,其分别为:1)是无线通信协议——通过SPI通信的协议对nrf24l01这个模块进行驱动,从而达到与下位机双工通讯的目的;2)是数据更新所需要的液晶屏驱动程序——读取从下位机传输回来的数据,然后更新对应的数据库,然后重新显示对应的参数;3)是按键扫描模块驱动——判断按键是否按下这一事件,然后利用程序对按键键值进行对应的编码与下位机达成一致,接着通过通信的方式,从而实现通过按键发射信号,从而控制小车的运动。

下位机部分也主要分为三小部分,气分别为:1)双机通信的无线协议——通过SPI协议进行驱动和使用无线模块,实现上位机对下位机的控制;2)检测环境情况的传感器控制——利用定时器进行定时操作,从而实现超声波测距;使用ADC数据采集,实现对气体中某些有害物质的浓度进行检测;通过固定的时序对温湿度进行采集、 通过IIC协议进行读取电子罗盘的数据;通过IO口模式的转换实现语音播报功能;3)电机运动系统的程序设计转化改变电机转动方向,从而实现小车的运动。

3.1 图像采集系统的设计

环境图像采集采用wifi这种无线通信方式利用手机连接小车上边的wifi模块,摄像头的数据进行采集通过芯片对摄像头的数据进行采集和编码,再通过wifi模块发送到手机上。手机上采用的是自己编写好的android程序,生成对应的apk文件,只需要安装到手机上,打开手机的wifi扫描热电,并连接对应的wifi,再打开对应的软件就能观察到从下位机发送回来的图像信号,由于图像信号更新比较快就形成了对应的视频。

3.2运动控制系统设计

在硬件上,运动控制系统采用的是L298N。根据该芯片的资料里面的逻辑功能图,我们只要通过定时器的功能复用,是定时器的功能引脚输出一定占空比的PWM到使能引脚EN上,再通过普通IO口设置为推挽输出,输出对应的电平变化,就能驱动电机的转动。然而小车的方向变化则需要控制转速跟电机的正反转,这个也只需要改变PWM的占空比跟输出对应电平变化到L298N的输入引脚上。

3.3数据传输软件设计

上下位机的数据传输我们采用的nrf24l01模块,它与主控芯片的通信方式为SPI,首先在程序里面,我们对所连接的引脚进行初始化,将对应的引脚的输入输出方式设置成与之功能对应的模式。通过硬件SPI对对应的数据寄存器和状态寄存器写入和读出数据,从而实现无线数据传输。主要的功能是读取接收状态寄存器、读取数据寄存器,写发送数据寄存器和写数据寄存器。

无线模块发送数据函数如下:

u8 NRF24L01_TxPacket(u8 *txbuf);

NRF24L01_Write_Reg(NRF_WRITE_REG+STATUS,sta);

该函数主要要实现数据的一次发送,通过传递进去的指针*txbuf找打对应的数组的首地址,在将数组里面的数据发送出去。当然数据的长度由TX_PLOAD_WIDTH的宏定义进行控制,再将数据写进数据寄存器后就拉高对应的CE引脚进行启动发送,接着进行读取状态寄存器的状态值,查询是否发送成功。然后再让函数返回对应的成功或者失败值。这样让程序一直处于发送状态直到发送成功。

无线模块接收数据函数如下:

u8 NRF24L01_RxPacket(u8 *rxbuf)

NRF24L01_Write_Reg(NRF_WRITE_REG+STATUS,s数据,接着执行读取数据,将数据存储到rxbuf数组中、清除状态并且返回0。如果未接收到数据就直接返回1。我们直接通过判断该函数的返回值从而判断是否接收到数据来实现对数据的刷新。

4 系统的调试

在硬件调试方面,由于系统的电路比较复杂,在电路连接时也比较麻烦,在整个电路中可能出现一处错误,就会给整个系统带来很多错误,并且对检测也有很大的影响。其中容易出问题的就是通信问题,因此检测通信模块是整个硬件系统的重中之重。其检测方法如下:首先检查主控板引脚的好坏,其次通过设置对应的IO口为输出模式,输出对应的电平,然后使用电表进行测试,检测引脚是否有输出;同时通过引脚设定更换无线通信模块所接的引脚,检查能否实现双机正常通信。

在软件系统调试方面,由于经常用到全局变量,不仅要在主程序里面调用,我们也有可能在其他函数,甚至其他文件里面对变量进行重新赋值的操作,因此经常出现变量的冲突。同时通过在线调试系统对数据的变化进行观察,有些数的值的变化不如我们所期望的,进而发现系统中的漏洞。为了放在主控芯片在运行程序出现乱跑现象,在程序内部加入了看门狗程序,保证软件系统运行的可靠性与稳定性。

通过硬件系统测试和软件系统测试,再到最后的整机测试,基本上实现了预期的目标,达到我们想要的结果,实现了无线数据传输、检测环境参数、控制电机驱动等功能。

5 结束语

本文主要论述了环境实时监测车组与全息投影系统的硬件结构与软件设计的算法,在整个制作过程中,遇到各种各样的问题,通过上网查阅、图书馆寻找和查阅相关材料。目前笔者已经完成该产品的制作,并已经进入实验测试阶段。在测试的过程中,本次设计的产品不仅工作稳定、响应速率快,并且控制精准等优点。相信不久将来就会投入生产,该产品的市场价值大。

参考文献:

[1] 李群芳.单片微型计算机与接口技术[M].4版.北京:电子工业出版社,2012:188-190.

[2] 陈正振.电子电路设计与制作[M].河南:科学出版社,2007:160-165.

[3] 王益权.电动机原理与使用技术[J].北京科学出版社,2001(9):13-16.

猜你喜欢

实时监测无线通信小车
大车拉小车
自制小车来比赛
两轮自平衡小车的设计与实现
无线通信技术在测绘工程中的应用分析