基于STC单片机的水上清道夫

2016-03-12 18:00西北民族大学电气工程学院
电子世界 2016年11期
关键词:串口通信数据处理

西北民族大学电气工程学院 黄 冰

基于STC单片机的水上清道夫

西北民族大学电气工程学院 黄 冰

【摘要】本文介绍了基于STC89C52单片机的水上垃圾清理船。利用定时器中断模拟PWM输出以及串口蓝牙发送接收数据等,设计出一套水上清理垃圾装置。本装置环保、节能、高效、设计简单、成本低及适应性广。仅需对现有船进行简单改装即可实现自动清理。与现有的人工清理方法相比,节约人力资源,减低成本,节约能源,结构简单,易于大规模推广。

【关键词】串口通信;模拟PWM;数据处理

1 引言

近几年随着经济的快速发展,人们生活质量不断提高,然而忽视了对环境的保护,这就使得环境日益恶劣,带来了各种各样的环境问题,如湖泊、河流中随处可见的垃圾等。各种污染物会通过不同的渠道进入江河,导致河面的漂浮物越来越多。潮起潮落时,河面的弃置物或水草等也会流入其它的水面、港湾,污染物的集结造成水面污染,影响市容卫生,甚至阻碍航道。但是我国现在打捞力量与垃圾数量的矛盾十分突出,大部分湖泊河流仅靠人工打捞漂浮物,但这种作业方式劳动强度较大,工作环境恶劣,安全性很差,效率低下,无法及时达到保洁的要求。经济效益预测着随我国城市化的加快,垃圾的产量会迅速增长。因此本设计是为水上漂浮垃圾清理而设计,可有效利用现有船舶资源,结构简单。若大规模推广,不仅对我国废弃垃圾回收清理有很大益处,还可产生较大的社会经济效益。

2 系统方案

2.1 系统硬件总体设计

基于STC单片机的智能船,以STC89C52单片机为核心,实现对串口单元模块、蓝牙模块、电机驱动模块、舵机和机械臂的控制,使用蓝牙模块进行界面化操作和串口通信的编程,初步形成硬件和软件结合为一体的综合水上垃圾清理装置。

2.2 系统硬件模块的设计

2.2.1 主控单元

本设计采用STC89C52单片机,它是STC公司生产的一种功耗较低、具有高性能的CMOS8位微控制器。他还有8K可编程Flash存储器,8K字节Flash,512字节RAM,4组8位I/O口总线(P0、P1、P2和P3),另外还有看门狗定时器、MAX810复位电路、2个16 位定时器/计数器、4个外部中断和全双工串行口。

2.2.2 动力系统

动力系统由蓄电池和推进装置。鉴于该作品设计的目的是研制一种具有环保、高效、技术先进的环保型水面垃圾打捞船,故选用蓄电池作动力源。蓄电池在这次设计中有两方面的作用,一方面是带动便携式船用推进器(电机),以实现船在水中的行驶和转向;另一方面是驱动电机,进而带动垃圾输送装置,以实现垃圾的输送。推进装置是船舶上提供推力的工具(桨),它的作用是将电机动力装置提供的动力转换成流体推力,推进船舶。

2.2.3 垃圾清理系统

垃圾收集系统主要由垃圾抓取爪和垃圾仓组成,垃圾仓材料选用硬塑料,以减轻重量并达到防腐蚀的效果。同时,当垃圾仓收集满时,工作人员可将仓体拎出,而不用将整个船体搬上岸,达到方便的效果。抓取爪由爪和舵机组成,当垃圾进入传送系统工作范围时,由舵机控制爪部,将垃圾抓入爪中,再将其送至船末的垃圾仓内,完成垃圾清理。

2.2.4 供电系统

整个硬件系统采用模块式供电方案,分为3.3V、5V和6V。其中3.3V和5V给系统板和各种传感器供电,6V给舵机供电。本次系统采用三端稳压芯片LM1117、LM2940和7806作为稳压芯片,其中LM2940稳压输出接到LM1117输入引脚以稳3.3V电压。注意,本次设计的舵机较多,如果稳压发烫,可添加多个7806稳压电路分别给舵机供电,各个稳压模块均要共地。

3 模块设计方案

3.1 系统的软件设计

首先分别对蓝牙、串口、定时器和舵机进行初始化,然后通过操控者在远处观察到水面有垃圾后,通过遥控器控制船桨使小船移动,遥控器按下1号按键时,小船前进;按下2时左转;按下3时右转;按下4时停止;按下5时,进入舵机工作模式,舵机带动机械臂自动将垃圾捡起放入指定的垃圾筐内。舵机带动机械臂有两个工作模式,一是待命模式,二是工作状态模式。当接收到控制指令时,进入工作状态模式一次后待命,开机默认为待命状态。

3.2 部分软件设计说明

3.2.1 PWM输出控制舵机

由于没有硬件PWM通道,故而本次设计采用软件模拟PWM输出,即利用定时器中断控制引脚电平模拟输出。舵机的周期和占空比设置为:周期20ms,高电平持续时间为0.5ms到2.5ms。由于此精度较高,因此设置定时器初始值要大,这样定时时间才会变小。利用定时器中断计数进行周期控制和PWM占空比控制。

程序烧写成功后将模拟输出引脚接入到示波器中,观察示波器中的幅值。起初,PWM波形非常完整,但是将舵机的数据线接到该引脚时,幅值为零。这说明,该引脚的驱动能力不强,需要加上拉电阻增强驱动能力。再次测试,PWM波形恢复,舵机成功被控制。

3.2.2 按键控制方式

控制端共有6个按键,除了前文出现的5个控制按键外,另设一个复位按键。按键共有两个状态,按下和释放。分别对每个按键进行模块化编程,产生连个函数,Keypress()和keyrelease()函数。当按键按下时,进入第一个函数内,串口发送控制指令,一旦按键松开时,进入另一个函数中,停止当前动作。例如,当按下1号按键时,船体前进,松开按键时船体停止当前运动状态。这里为每个按键设置两个状态标志位,即按下状态标志位和释放状态标志,利用它们可以方便调用函数以控制小船的运动状态。

3.2.3 数据发送接受处理

由于本设计使用蓝牙串口发送和接受数据,因此,数据量不能太大,故而把六个控制数据存放在一个字节当中,即每次控制端发送8位数据,低五位存放小车运动状态控制位和机械臂的工作模式控制位,最高位存放复位控制指令。指令识别方法有两种,第一种是先将接收到的指令进行编码,当船体接收到控制数据时,与提前设置的编码进行匹配校对,根据匹配结果执行相应的动作,如果控制数据在编码范围外,则保持当前状态;第二种是将接收到的数据的每一位提取出来,将每一位的数值赋到控制函数的形参当中。但由于处理时间有限,而且要及时对控制端做出反应,因此本设计采用第一种识别指令方法。

4 功能实现

进行船体各个部分的整体研究设计,通过控制舵机的转动,可以使机械臂做出抓取、移动等动作。通过遥控器发射信号使接收器接收信号,然后由主控控制机械臂做相应的动作。通过遥控器控制船体的前进、后退和垃圾收集系统,通过按下遥控器上的“前进”、“停止”、“左转”、“右转”键,打捞船相应作出前进、停止前进、左转弯、右转弯的动作。当操作者发现前方有垃圾时,将打捞船移动至垃圾正前方,然后按下“清理”键,机械臂自动抓取垃圾,并移动到船体后方,将垃圾放入垃圾筐中,完成打捞。

5 总结

本设计提出了一种基于STC9C52单片机的水上清理船的研究,该设计采用了模块化的设计理念,将整个系统分为四个大模块,具有节能环保、远程控制、控制方便、安全实用、应用前景广泛等优势,区别于传统的人工打捞。在一定程度上能提高打捞效率,达到及时保洁的效果。

参考文献

[1]刘彦飞,王成,余成波等.基于 ATMEGA32U4的数据透明传输系统的设计[J].计算机科学,2009,36(4A)∶76-77.

[2]高守伟,吴灿阳.ATMEGA32U4技术实践教程[M].北京航空航天大学,2009∶354-369.

[3]张俊谟.单片机中级教程原理与应用[M].北京∶北京航空航天大学出版社,2006.

猜你喜欢
串口通信数据处理
认知诊断缺失数据处理方法的比较:零替换、多重插补与极大似然估计法*
基于低频功率数据处理的负荷分解方法
ILWT-EEMD数据处理的ELM滚动轴承故障诊断
无人机测绘数据处理关键技术及运用
基于Qt和Flash的嵌入式Linux软件架构设计
串口通信在智能家居监控系统中的应用
基于OpenCV的室内照明智能控制系统设计与实现
基于希尔伯特- 黄变换的去噪法在外测数据处理中的应用
基于MSP430单片机的窄带无线数据传输模块的设计
便携式数传电台测试系统的设计与实现