基于STC89C52单片机智能避障小车设计

2011-10-28 08:36黑龙江姬红旭
职业技术 2011年8期
关键词:电路设计遥控小车

黑龙江 姬红旭

基于STC89C52单片机智能避障小车设计

黑龙江 姬红旭

本文设计智能避障小车基于STC89C52单片机作为小车的避障、遥控、显示的核心,通过四对红外发射和接收模块对前方的障碍物距离进行检测,从而把反馈的信号送给单片机,由单片机进行分析处理对小车进行自动控制躲避障碍物行走。显示部分分为液晶显示和LED点阵显示,是由一块8x8LED点阵屏进行显示,汉字采用专门的取模软件进行汉字编码,然后通过软件经动态扫描显示出来,使小车有一种动态的活力感。液晶主要显示当前所处环境的温度和当时的时间,时间可以由按键进行设置,遥控部分主要是为了人为的对小车进行干预,使小车能根据个人喜好设置行走路线,获得人机沟通的乐趣。

单片机;8x8点阵屏;遥控;智能

一、智能避障小车实现功能

(一)小车能够实现自动躲避在车前方的障碍物,达到智能的效果。

(二)时间和温度显示功能:液晶显示的前六位显示时分秒,后两位显示当前的温度,时间具有可调功能。

(三)遥控功能:遥控器可以遥控小车,人为干预小车的行走路线,实现人性化的设计。

(四)小车还有自动走舞步的功能,增加了很多的乐趣。

(五)点阵的显示功能,可以显示欢迎词,8x8 LED点阵显示屏显示欢迎词,其属于高亮度的显示屏。

二、硬件电路设计

(一)主控电路设计

硬件电路设计:小车的主要控制核心是一块STC89C52单片机,该单片机中有一个8位的微处理器,与通用的微处理器基本相同,同样包括了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可处理数据,还可以进行位变量的处理。数据存储器片内为256个字节,片外最多可外扩至64k字节。中断系统具有5个中断源,2级中断优先权。定时器/计数器片内有2个16位的定时器/计数器,具有四种工作方式串行口,1个全双工的串行口。可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。特殊功能寄存器共有21个,用于对片内的各功能部件进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。

下图是单片机的最小系统也是单片机能够正常运行并完成各种性能要求的经典电路。

图1 单片机最小系统

(二)电动机驱动电路设计

小车本身采用的是市面上销售的遥控玩具小车,主要有两个电动机。一个是动力驱动部分,主要有电动机和减齿轮,方向舵也是由电动机驱动齿轮带动前轮进行拐弯。为了让单片机能够更好更安全更方便驱动和控制小车底盘中的两个电动机,我采用专门的驱动芯片L298N输出的两路驱动OUT,1OUT2J接动力部分的电动机MG1,OUT3OUT4接转向电动机MG2,驱动芯片和单片机的接口也采用了抗干扰光电隔离技术,极大地减少了因为外部电磁波对小车运行的干扰,这使小车更好的按照程序来运行整体电路图。如图所示:

图2 电动机驱动电路

(三)避障电路设计

本避障电路的设计是采用红外对管元件对小车前的障碍物进行检测,红外线对管传感器分别放置在小车前方,水平互成600角,这样就可以把发射的红外线排布在小车的前方任何范围,提高小车反应及增强避障的能力。当四个中的一个或多个(障碍物较大)接收部分的传感器,就能根据反射回来的红外线进行自动的调整,从而使小车的运行轨迹达到自动避障的目的。下图是传感器的驱动及接受电路,其中侦测前方障碍的距离,可以通过调节滑动变阻器的阻值,经比较处理后,将对应的电压输出给红外发射管,达到调节距离的目的。

图3 避障电路设计

(四)LED点阵电路设计

点阵电路的设计是本小车的一个创新之一,点阵屏为小车增添了不少的新奇和乐趣。同时此屏可以通过电脑随时编写各种欢迎词语下载到小车上,让小车有自己独特的个性。LED点阵显示屏采用市面上销售的8x8点阵模块,要想显示字符或者汉字,那么就要点阵屏进行动态的扫描,而扫描的过程就是让单片机在一定的时间里通过74HC595扩展的I/O口输出低电平来驱动8x8点阵显示屏,并根据程序的要求进行点亮,根据人眼的视觉暂留现象形成一个静态的字符或者是文字,使我要想表的思想通过显示屏展现出来。点阵屏是由发光的二极管以矩阵的形式接在一起的,互相独立,互不干扰。于是,要想点亮屏幕,驱动的电流要远远超过单片机的驱动能力。这就对单片机的I/O提出了更高的要求。因此,对于阴极的驱动,我用了一个串转并的芯片74hc595,阳极用的是74ls373芯片,是以总线形式来驱动的,下面是显示屏电路的设计及芯片资料:

图4 点阵显示电路设计

(五)温度电路设计

由于本设计测量的温度与常温相像,对于传感器的测量范围没有太多的要求。所以考虑用总线的温度传感器DS18B20,它体积小,总线少,接口方便。为此我采用了如下的设计方法,在数据线上加了一个上拉电阻,常用的是4K7,电路如下:

图5 温度接口

(六)遥控电路设计

遥控电路设计是采用专门的解码和编码芯片,电路元件少,连接方便,稳定性能好。发射电路采用的是PT2262芯片,设计成四个按键,分别是A、B、C、D,单独按A是前进,单独按B是后退,单独按C是左拐,单独按D是右拐,同时按下ABC小车能够自动走舞,接受电路用的PT2272经过解码读出键值变成低电平送给单片机,由单片机处理,让小车的驱动电机执行相应的功能。

PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗、低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空、接高电平、接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚。通常在使用中,我们一般采用8位地址码和4位数据码,这时编码电路PT2262和解码PT2272的第1~8脚为地址设定脚,有三种状态可供选择:悬空、接电源正极、接地三种状态,3的8次方为6561,所以地址编码不重复度为6561组,只有发射端PT2262和接收端PT2272的地址编码完全相同,才能配对使用。遥控模块的生产厂家为了便于生产管理,出厂时遥控模块的PT2262和PT2272的八位地址编码端要全部悬空,这样用户可以很方便选择各种编码状态,用户如果想改变地址编码,只要将PT2262和PT2272的1~8脚设置相同即可。例如,将发射机的PT2262的第1脚接地,第5脚接正电源,其它引脚悬空,那么接收机的PT2272只要也第1脚接地,第5脚接正电源,其它引脚悬空就能实现配对接收。当两者地址编码完全一致时,接收机对应的D1~D4端输出约4V互锁高电平控制信号,同时VT端也输出解码有效高电平信号。用户可将这些信号加一级放大,便可驱动继电器、功率三极管等进行负载遥控开关操纵。

在具体的应用中,外接振荡电阻可根据需要进行适当的调节,阻值越大振荡频率越慢,编码的宽度越大,发送一帧的时间越长。一般用2262/1.2M/2272/200K组合的,少量产品用2262/4.7M/2272/820K。

PT2272解码芯片有不同的后缀,表示不同的功能,有L4/M4/L6/M6之分,其中L表示锁存输出,数据只要成功接收就能一直保持对应的电平状态,直到下次遥控数据发生变化时改变。M表示非锁存输出,数据脚输出的电平是瞬时的,而且和发射端是否发射相对应,可以用于类似点动的控制。为了方便程序的下载和小车的调试,特意设计了串口下载电路。此电路和电脑连接非常方便,不需要总是插拔芯片,避免了因为多次的插拔导致芯片的引脚变形,另外,也为做二次开发做了准备,一举多得。

三、主程序设计及流程

(一)程序流程图

(二)主驱动程序设计

软件设计中最难也是最重要的是通过程序把字符液晶和温度传感器驱动起来,为了减少单片机的I/O端口,液晶屏的驱动是串口。虽然元件少了,方便了焊接,但是软件上却增加了很多的程序。笔者设计小车实现的各种功能是通过把各部分的程序分块来处理,经过编写调试运行通过后,再把各块程序再融合到一个主要程序。

(编辑 刘丽娜)

(作者单位:齐齐哈尔工程学院)

猜你喜欢
电路设计遥控小车
“遥控”老师
大车拉小车
自制小车来比赛
基于Multisim的单管共射放大电路设计与仿真分析
一种车用醉驾检测电路设计
Altium Designer在电路设计中的应用
他是如何遥控引爆的
负反馈放大电路设计
刘老师想开小车
两轮自平衡小车的设计与实现