基于51单片机的红外遥控小车设计和制作
王
艳
(汕尾职业技术学院电子信息系,广东汕尾516600)
摘
要:介绍一款红外线遥控小车,以AT89S51单片机为核心控制器,用L289驱动直流电机工作,控制小车的运行。此款小车具有红外线
遥控手动驾驶、自动驾驶、寻迹前进等功能。本系统采用模块化设计,软件采用C语言编写。
关键词:AT89S51;直流电机;红外线遥控;循迹
1设计任务和要求
以AT89S51单片机为核心,制作一款红外线遥控小车,小车
具有自动驾驶、手动驾驶和循迹前进等功能。自动驾驶时,小车在前进过程中可以自动躲避障碍物。手动驾驶时,可以手动遥控小车
后退、左转、右转、加速等操作。寻迹时小车可以按轨迹前进。前进、
2系统组成及工作原理
本系统由硬件和软件两部分组成。硬件部分由红外线发射电
障碍路和控制电路两部分组成,完成红外编码信号的发射和接受、
轨迹检测、直流电机的驱动等功能。软件部分主要完成信物检测、
号的检测和处理、直流电机的控制等功能。AT89S51单片机主要完成对红外信号解码,判断是否遇到障碍物,判断小车是否出轨,控
启动、停止等工作。控制电路的系统结构框制直流电机的正反转、
图如图1所示。
轨迹检测
电机驱动
电机1
片激活,如果这个按键按下且延迟大约108ms,这108ms发射代
),一个结果码(4.5ms),低8位地址码(9~码由一个起始码(9ms
18ms),高8位地址码(9~18ms),8位数据码(9~18ms)和这8位数据码的反码(9~18ms)组成,如果按键按下超过108ms仍未松开,接下来发射的代码将仅由起始码(9ms)和结束码(2.5ms)组成。按照上图的接法,K1~K8的数据码分别为:0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07。3.2控制电路
3.2.1红外线接收模块
其电路如图3所示。瓷片该模块使用一体化红外接收头1838,
电容104为去耦电容,DOUT即是解调信号的输出端,直接与单片机的P3.2口相连。有红外编码信号发射时,输出为检波整形后的方波信号,并直接提供给单片机。
VCC
U4
VCCGND
电机2
1838
DOUT
321
C5104
P3.2
红外信号接收
AT89S51单片机
左边障碍
物检测右边障碍物检测
图3红外线接收原理图
图1控制电路的系统结构框图
3
3.1
主要硬件电路
红外线发射电路
该电路的主要控制器件为遥控器芯片HT6221,如图2所示。HT6221将红外码调制成38kHz的脉冲信号通过红外发射二极管发出红外编码。图2中D1是红外线发射二极管,D2是按键指示灯,当有按键按下时D2点亮。
VCC
停止K1:
R1
47D1
12345678910
R1R2R3R4DOUTVDDD7X2X1VSS
AINC1C2C3C4C5C6C7C8LED
20191817161514131211
K2:右转K6:循迹
K3:左转K7:自动
K4:启动K8:后退
K5:加速
3.2.2直流电机驱动模块
该模块主要由芯片L298控制两个直流电机的正反转和转速,
大电流双全桥式驱动其电路如图4所示。L298芯片是一种高压、
器。其中SENSEA、SENSEB分别为两个H桥的电流反馈脚,不用时可直接接地。VCC、VS是电源引脚,电压范围分别是4.5~7V、2.5~46V,设计中VCC端与单片机电源端连接共用5V电源,VS端独立接9V电源。ENA、ENB为使能端,低电平禁止数据输出。IN1、IN2、IN3、IN4为数据输入端,OUT1、OUT2、OUT3、OUT4为数据输出端。D1~D8是保护二极管(IN5819),作用是释放电机停止时产生的反响尖峰电势。
VCC
VSD1
D2
D3
D4
MMG1
MOTOR
K1K2K3K4
P2.5P2.4P2.3P2.2P2.1P2.0Q19014
R21KY1455
VCC
K5K6K7K8
VCC
D2
R3330
VCC
1359111314
U5
1A2A3A4A5A6A1Y2Y3Y4Y5Y6Y1
VCCGND74LS04
246810127
U6571012611115
IN1IN2IN3IN4ENAENBSENSEASENSEBL298
VCCVSOUT1OUT2OUT3OUT4GND
942313148
D5D6D7D8
M
MG2MOTOR
2
C3100P
C2100P
HT6221
二级管为IN5819
图4
红外线发射电路原理图
电机驱动原理图
图2
HT6221的编码规则是:当一个键按下超过36ms,振荡器使芯
3.2.3障碍物检测和寻迹模块
障碍物检测和轨迹检测原理是一样的,其电路如图5所示。从经济的角度考虑,该模块选用了反射式光耦,反射式光耦由一个红
4HangyeQianyan◆行业前沿
外发射管和一个光敏三极管组成。LM324是电压比较器,当3脚的
输出端1脚输出高电平,反之输出低电平。电压大于2脚电压时,
高低电平的电压值取决于2脚的电压,调整电位器R23使2脚电压为3V。
避障电路安装在小车头部的左右两边,用于检测左右障碍物。工作过程是:当无障碍物时,不反射红外线,光敏三极管截止,3脚
(5V),大于2脚电压(3V),1脚输在R16的上拉作用下为高电平
出高电平;反之,当遇到障碍物时,1脚输出低电平。左边遇到障碍物时小车右转,右边遇到障碍物时小车左转。
循迹电路安装在小车底部的左右两边,通过辨别黑白色来控制小车行走。工作过程是:红外发射管发射红外线,当遇到黑色时,
当遇到白色时,红外线被不反射红外线,比较器1脚输出高电平;
反射,比较器1脚输出低电平。左边检测到白色时小车右转,右边检测到白色时小车左转,两边检测都检测到黑色时小车前进,两边都检测到白色时小车停止。
U11ST188
C
E
K
A
R13100
VCC
进入中断
N
引导码?
Y
等待第一个高电平延时0.9ms
高电平?
Y为1
N
为0
N
32位?
VCC
32
A
1
R2010K
P1.4
退出
R1610K
R23
10K
VCC
图7解码子程序流程图
45
U10ALM324AN
结语
VCC
图5障碍物检测、轨迹检测原理图
经实践表明,本文所设计制作的红外线遥控小车运行稳定、遥
控灵敏、占用系统硬件资源少。且在不改变硬件电路,仅通过软件编程小车就可以实现多处障碍物检测、报警等功能。
[参考文献]
[1]陈权昌,李兴富.单片机原理及应用[M].广州:华南理工大学出版社,2007[2]吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用[M].北京:清华
大学出版社,2002
[3]侯玉宝,陈忠平,李成群,等.基于Proteus的51系列单片机设计
与仿真.北京:电子工业出版社,2008[4]郝建国,郑燕.单片机在电子电路设计中的应用[M].北京:清华大
学出版社,2006
4软件设计
本系统的软件用C语言编写,分为主程序、外部中断解码子程
序、自动驾驶子程序、手动驾驶子程序、障碍物检测子程序、轨迹检测子程序、定时器1中断调速子程序等。主程序完成系统硬件的初始化、子程序调用等功能。主程序、解码子程序流程图如图6、图7所示。
开始
定时器、外部中断初始化红外解码Ircodel=6?
Ircodel=5?flag_1=1?
flag_2=1?循迹运行
手动驾驶自动驾驶
2010-03-08收稿日期:
作者简介:王艳(1981-),女,陕西人,初级,研究方向:单片机的应
图6
主程序流程图
用与开发。
机电信息2010年第12期总第258期5
因篇幅问题不能全部显示,请点此查看更多更全内容