无线遥控小车控制系统软件设计
2017-02-14盐城工业职业技术学院机电工程学院王丽丽黄春香
盐城工业职业技术学院机电工程学院 王丽丽 黄春香
无线遥控小车控制系统软件设计
盐城工业职业技术学院机电工程学院 王丽丽 黄春香
本控制系统基于STC89C51单片机,将单片机作为系统控制核心,系统由主机和从机组成,通过无线传输,主机发送控制指令,从机接收指令并控制小车运行,实现无线遥控小车控制系统。主机软件设计分为无线数据传输程序、控制程序和显示程序,从机软件设计分为小车车速数据采集(中断处理程序)、无线传输程序、车体控制程序、数码显示程序。通过调试,控制系统较好地实现了无线遥控小车的前进、后退、左转、右转、显示运动状态和行驶路程的功能。
无线遥控;STC89C51;RF1100无线模块;软件设计
1 引言
无线电遥控技术发展历史仅有几十年,20世纪20年代,才刚刚出现无线电遥控的雏形。二次世界大战以后,无线电遥控技术得到迅速发展,并逐渐应用于建设、军事、国防、工农业生产以及科学技术领域。无线电波是由发射点向周围传播,可穿透阻挡物,而且传播距离也相当遥远,因此它能完成在很大区域和空间内的控制,成为遥控的主导形式,在国防、军事、生产、建设和日常生活中有极广泛的应用。
依据无线小车控制系统的总体结构,整个小车系统由移动平台、车载控制系统、遥控系统和传感器检测四大部分组成。结合无线通信技术与单片机控制技术,实现控制无线小车的前进、后退、左转、右转,并显示相应的数据。
2 主机软件设计
主机软件设计分为无线数据传输程序,控制程序和显示程序。当系统上电复位后,首先对系统初始化,包括无线模块和液晶模块初始化,再根据系统功能实现要求扫描按键,然后根据按键的不同功能发送对应的控制信号,本系统设置4个控制按键为key1、key2、key3、key4,分别接到单片机的 P1.1、P1.2、P1.4、P1.7口,控制按键发送的控制信号分别是1、2、3、4,其功能分别是前进、后退、左转、右转,再判断从机是否发送小车运动的转数信号,等待接收数据,将接收到数据进行处理,用转数乘以小车的车轮周长,并将处理好的数据传给接收标志位buff,再送到lcd1602液晶模块显示。软件流程图如图1所示。
图1 软件主机流程图
3 从机流程图
3.1 从机主流程图
系统上电复位时,首先是系统初始化,包括单片机寄存器初始化和无线模块初始化,再设置功能标志位buff和计数器标志位geshu,然后等待并判断无线模块是否接收到主机发送的控制信号,如果判定是,则接收此数据并赋予功能标志位buff,根据不同的功能标志执行相应的控制程序,实现对小车的运动状态的控制,本系统设置的功能标志buff有4种状态,分别为1、2、3、4,其功能分别是前进、后退、左转、右转,再根据霍尔传感器的测量脉冲信号进入相应的中断服务程序,并进行数据处理,处理完后再通过无线发送给主机,中断服务程序执行后返回主程序,计数器清零,为接收下一次数据作准备。软件流程图如图2所示。
3.2 从机中断流程图
系统要求测量小车行驶的路程,其测量方法是通过计数小车在行驶过程中车轮转动的圈数,其圈数通过霍尔传感器检测,霍尔传感器测量电路和磁钢共同完成其测量装置,将霍尔传感器检测的脉冲由T0引脚(P3.2引脚)输入,来一个脉冲计数器值加1(程序中为geshu++)。
图2 软件从机主流程图
图3 外部中断0服务子程序
图4 定时器T0中断服务子程序
要测量小车的速度,先测量其车轮转速,将T0工作在定时方式,设置初值为0,测量车轮一圈所用的时间,如果定时时间溢出(超过定时最大值)则进入内部中断即中断1,计数值加1(程序中为NUM++),然后再进行数据处理,转化为转速(单位rad/s),可再进行处理表示成速度(单位m/s)。软件流程图如图3、图4所示。
4 总结
本系统采用STC89C51单片机作为控制核心,利用无线传输,通过完整的设计并优化小车的硬件系统、软件系统和机械系统,最终实现了无线遥控小车的控制功能,能够通过无线灵活地控制小车的前进、后退、左转、右转,能够完成在lcd1602液晶上显示运动状态和小车行驶路程。
[1]谭浩强.C程序设计[M].北京:清华大学出版社, 1991.
[2]郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,2008.
[3]王晖.基于MCS-51单片机的设计调试与原理[J].现代电子技术,2006,29(8):113-114.
[4]孙维明,石江宏,陈岳林.可编程RF收发器CC1100的原理及开发[J].国外电子元器件,2007(09).
[5]潘旭兵,林中.基于CC1100的无线手持终端的设计[J].电子技术应用,2007(10).