基于STC89C52RC的智能小车设计

2013-09-26 03:26陶玉贵芜湖职业技术学院电子信息系安徽芜湖241003
长江大学学报(自科版) 2013年25期
关键词:小车单片机无线

陶玉贵,章 杰 (芜湖职业技术学院电子信息系,安徽 芜湖 241003)

汪金宝 (安徽师范大学数学与计算机科学学院,安徽 芜湖 241003)

智能小车既可以进行无线控制执行命令,也可以在设定的环境中自动循迹和避障,是一种综合了控制策略和障碍物探测于一体的智能系统[1]。下面,笔者设计了一种基于STC89C52RC的智能小车。

1 系统总体设计

智能小车分为车体和遥控器2个部分 (见图1)。主控制器主要由单片机STC89C52RC、振荡器和复位电路组成。车体部分以STC89C52RC单片机为主控,其工作流程如下:无线收发模块接收遥控器发出的信号,送入单片机,单片机对信号解码后,控制相应的模块电路;遥控器部分也是以STC89C52RC为主控,其工作流程如下:单片机通过查询方式检测各个按键是否按下,若按下,则单片机在按键的上升沿或下降沿控制无线收发模块发出相应的遥控数据。

2 系统硬件设计

图1 无线遥控智能小车原理框图

2.1 单片机STC89C52RC

单片机选用超低功耗、抗干扰能力强、低电磁辐射和超低价的8位单片机STC89C52RC[2]。该单片机与8051单片机兼容,正常工作模式下典型功耗为4~7mA,内置8K的Flash程序存储器、512B的RAM和2K的E2PROM,内部有3个定时器/计数器,可进行8、13、16位的定时/计数。宽工作电压 (3.4~6V),内部看门狗电路打开后无法关闭,可省去外部看门狗,支持汇编语言和C语言编程。

将单片机片选引脚 (31脚)接高电平,使单片机只访问片内程序存储器。单片机的时钟电路由1个12MHz的晶振和2个30pF的小电容组成,它们决定了单片机的工作时间精度为1ms。复位电路用10μF的电容、10kΩ的电阻和1个复位开关组成,能够实现上电复位以及通过复位按钮实现手动复位。单片机控制模块最小系统如图2所示。

图2 单片机最小系统电路图

2.2 无线收发模块

无线收发模块采用Nordic公司的微功率nRF24L01芯片,最高工作速率达2Mbps,高效GFSK调制,抗干扰能力强,125频道满足多点通信和跳频通信需要,内置硬件CRC检错和点对多点通信地址控制,低功耗1.9~3.6V工作,待机模式下状态为22μA;掉电模式下为900nA,体积小巧 (31mm×17mm),具有可选的内置包应答机制,极大地降低了丢包率。

2.3 电机驱动电路

采用L293D模块控制电机驱动,L293D内部集成2个了双极型H-桥电路,可以同时控制2个电机[3]。这种双极型脉冲调宽方式具有电流连续、电机可四角限运行等优点。L293D通过内部逻辑生成使能信号。H-桥电路的输入量可以用来设置马达转动方向,使能信号可以用于脉宽调整 (PWM)。每个电机需要3个控制信号EN12、IN1和IN2,其中EN12是使能信号,IN1、IN2为电机转动方向控制信号。IN1、IN2分别为1、0时,电机正转;反之,电机反转。选用一路PWM连接EN12引脚,通过调整PWM的占空比可以调整电机的转速。电机驱动控制电路如图3所示。

L293D工作电压5V,驱动电压输入可达36V,输出电流正负600mA。2块L293D可同时驱动四路直流电机。动力部分采用TT直流减速电机,其扭矩大,电磁干扰小。

图3 电机驱动控制电路图

2.4 避障模块

避障电路采用光电传感器,利用被检测物体对红外光束的遮光或反射检测有无障碍物[4]。采用型号为E18-D80NK的NPN常开型反射式光电传感器,其主要技术参数如下:工作电压5V,工作电流10~25mA,响应时间小于2ms,指向角小于等于15°,有效距离为3~80cm可调,工作环境温度为-25~70℃。该传感器为开关量传感器,输出为1、0开关量信号。红线接5V电源,绿线接地,黄线为信号输出端,外接4.7kΩ上拉电阻接至单片机的INTl端。当无障碍物时输出为高电平,遇障碍物时输出低电平而触发中断,单片机发送指令驱动电机做出相应避障动作。

2.5 循迹模块

循迹模块采用型号为HLSD-2010B的3个激光传感器[5],分别置于小车底部的左、中、右方,通过P2.5、P2.6、P2.7控制。HLSD-2010B激光传感器的工作电压为5V,最大工作电流30mA,最远距离达50cm,信号输出方式为直接电平输出。单片机通过3个传感器的输出来确定小车的运行状态,从而执行不同的动作。HLSD-2010B传感器检测状态表如表1所示。

表1 激光传感器检测状态表

3 系统软件设计

采用模块化设计方法,在Keil uVersion3环境下采用C语言编写程序[6]。相关程序主要包括主程序、键盘扫描程序、遥控控制程序、电机驱动程序、避障控制程序等。

在主程序运行时,首先要对STC单片机定时器进行初始化,初始化程序如下:

系统软件总流程图如图4所示。

4 结 语

利用8位单片机STC89C52RC STC单片机高速、高可靠性、低功耗等特性,设计了集成化的遥控电路、电机驱动电路、避障电路和灯光控制电路等模块,智能小车选用2组7.2V Ni-Mh充电电池组,采用2个由LM2596芯片构成的DC-DC稳压模块分别给各模块电路和直流电机供电。在无障碍情况下遥控距离大于1000m,在前进、后退、转向、变速等控制动作时电机运行平稳,前照灯、转向灯、双闪、刹车灯、警示灯、喇叭、倒车雷达等功能非常灵敏。整体设计思想新颖,操作简便,功能齐全,具有一定实用价值。

图4 智能小车软件流程图

[1]陈晖,张军国,李默涵,等 .基于STC89C52和nRF24L01的智能小车设计 [J].现代电子技术,2013,35(17):12-15.

[2]王凯,胡杰 .无线射频在智能公交系统中的应用 [J].长江大学学报 (自科版),2010,7 (3):616-618.

[3]周君芝 .基于NFR905的智能小车控制教学案例浅析 [J].长江大学学报 (自科版),2010,7 (3):402-403.

[4]雯雯 .基于多种传感器的自动导航小车避障的研究 [D].西安:西安科技大学,2008.

[5]董涛,刘进英,蒋苏 .基于单片机的智能小车的设计与制作 [J].计算机测量与控制,2009,17(2):380-382.

[6]马忠梅 .单片机的C语言应用程序设计 [M].北京:北京航天航空大学出版社,2007.

猜你喜欢
小车单片机无线
《无线互联科技》征稿词(2021)
大车拉小车
自制小车来比赛
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
无线追踪3
基于ARM的无线WiFi插排的设计
刘老师想开小车
两轮自平衡小车的设计与实现