基于STC12C5A60S2的智能循迹小车

2014-02-09 03:00余炽业雷瑞庭
实验室研究与探索 2014年11期
关键词:循迹小车单片机

余炽业, 宋 跃, 雷瑞庭

(东莞理工学院 电子工程学院,广东 东莞 523808)

0 引 言

自动循迹小车控制系统,也就是最简单的轮式机器人,适合在一些特殊环境中工作,因其成本低廉,目前已在许多工业场合获得广泛应用[1-2]。例如在高温高压环境、有毒有害气体环境以及外星探测等都有机器人的应用,所有这些应用正逐步渗入到工业生产和我们日常生活的各个层面。智能小车是一个集环境感知、规划决策、自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感、信息、通讯及自动控制等技术,是典型的高新技术综合体[3-4]。本文采用红外传感器TCRT5000,单片机STC12C5A60S2为控制核心,设计了一种具有自动循迹功能的小车系统,该智能循迹小车能沿黑色引导轨迹前进。通过构建由单片机最小系统、电源电路、电机驱动电路、循迹电路等组成的智能小车系统,实现小车智能循迹的功能。

1 系统结构设计

1.1 智能循迹小车系统整体结构

智能循迹小车系统以模块化的设计思想为主导,主要包括供电电池、稳压电源模块、电机驱动模块、STC12C5A60S2单片机最小系统模块、循迹传感器模块等。智能循迹小车的工作过程是:8个光电传感器探测路径信息,并将这些信息输入到单片机控制系统,单片机进行分析处理,通过控制算法对驱动系统发出控制命令[5],驱动小车左、右轮的电机使小车沿着指定的黑线轨迹前进[6]。系统结构如图1所示。

1.2 智能循迹小车系统原理

本设计中,智能小车采用后轮驱动,后轮左右两边各用一个电机驱动,由单片机输出PWM调制信号控制后面两个轮子的转速从而达到控制转向的目的,前轮是万向轮,起支撑的作用。循迹的路径是用黑色胶带在白色地板上黏出一条首尾相连的跑道,黑色胶带的宽度为2 cm左右。循迹传感器采用TRCT5000红外对管反射式光电传感器,呈“一字型”安装在车的前端。循迹是指小车在白色的地板上循黑线行走,由于黑线和白色地板对光线的反射系数不一样,控制芯片根据循迹传感器模块返回的信号来判断“道路”的情况[7]。小车在行驶过程中,红外对管传感器地发射管不断的发射红外光,当红外光遇到白色地板产生漫反射,反射光被红外对管的接收管接收;如果遇到黑线则红外光被吸收,红外对管的接收管接收不到红外光,该信号的变化通过电路转化为高低电平的变化,单片机检测传感器信号的变化,进行分析再做出相对应的响应[8]。本设计中采用了8对红外对管传感器,采用“一字型”分布,当中间的传感器检测到黑线时,小车直线前进;当靠左边的传感器检测到黑线时,小车向左拐;当靠右边的传感器检测到黑线的时候,小车向右拐。采用多个红外对管传感器可以使小车的行驶更加灵活,拐弯时更加顺畅。另外,红外对管传感器离地面垂直距离为4 cm左右,能在没有强光的干扰下,完全满足自动循迹的要求,具有很好的可靠性与抗干扰能力。

2 硬件电路设计

2.1 STC12C5A60S2单片机最小系统模块

单片机是整个智能循迹小车的核心, 控制系统的所有模块工作。本系统中,考虑到小车的控制系统需要用到两路的PWM脉冲调制、较大的Flash存储空间和较快的数据处理能力,所以采用的是STC12C5A60S2单片机。STC12C5A60S2使用宏晶科技高密度非易失性存储器技术制造,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8~12倍。片上具有8 kbyte在系统可编程Flash存储器,Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash ,使得STC12C5A60S2为众多嵌入式控制应用系统提供高灵活超有效的解决方案[9]。

STC12C5A60S2具有以下标准功能:8 kbyte Flash,256 byte RAM,32个I/O口线,看门狗定时器,8路10位精度的AD转换,2路PWM,2个数据指针,4个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC12C5A60S2可降至0 Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。所以本设计采用该芯片作为控制处理器。

2.2 稳压电源模块

在本设计中,因为考虑到小车电机的灵活工作需要较大的驱动能力,系统供电需要较高的电压和较大的驱动电流,所以系统的供电采用的是7.2 V的镍镉充电电池。

在该智能小车系统中,除了电机的工作电源使用7.2 V镍镉电池直接供电外,系统各模块的工作电压都是5 V。稳压模块的原理图如图3所示,采用的是LM2940低压差三端稳压器,LM2940具有大电流、低功耗、电路简单可靠等优点。该稳压芯片输出电压5 V,最大电流可达1 A,最小输入输出电压差小于0.8 V,最大输入电压26 V,内含有电流限制、过热保护、电池反接保护电路[10]。

2.3 电机驱动模块

本设计小车使用的是两个直流电机,直流电机采用PWM信号加上电机驱动电路的方式驱动[11]。在驱动电路的选择上,可以使用MOS管搭建驱动电路,但电路比较复杂,可靠性不高;另外,也可以使用集成的半桥驱动芯片搭建驱动电路,不过考虑到小车要实现双电机的速度控制和前后转,如果使用半桥驱动芯片搭建,则驱动电路使用的驱动芯片较多,电路过于复杂庞大。综合考虑,本设计采用ST公司的专用驱动芯片L298N作为电机驱动芯片,L298N 是一个具有高电压大电流的全桥驱动芯片,它响应频率高,一片L298N可以分别控制两个直流电机,而且还带有控制使能端。用该芯片作为电机驱动,驱动能力大,操作方便,稳定性好,性能优良。采用电机专用驱动芯片L298N 进行电机驱动控制,它的使能端可以外接高低电平,也可以利用单片机进行软件控制,极大地满足各种复杂电路需要。

另外,L298N的驱动功率较大,能够根据输入电压的大小输出不同的电压和功率,解决了负载能力不够的问题[12]。电机驱动模块的原理图见图4。L298N的逻辑控制见表1,其中:L为低电平;H为高电平;※为电平。

ENA(ENB)IN1(IN3)IN2(IN4)电机运转情况HHL正转HLH反转HHH制动HLL制动L※※电机不工作

2.4 循迹传感器模块

循迹检测采用了TCRT5000 红外反射式光电传感器,该传感器采用高发射功率红外光电二极管和高灵敏度光电晶体管。在小车的前部呈“一字型”安装8对TCRT5000红外对管,与路面的垂直距离控制在4 cm左右。TCRT5000 测试电路如图5所示。黑线检测原理是红外发射管发射光线到路面, 红外光遇到白底则被反射, 接收管接收到反射光, 经施密特触发器整形后输出低电平;当红外光遇到黑线时则被吸收, 接收管没有接收到反射光, 经施密特触发器整形后输出高电平[13]。单片机就是否收到反射回来的红外光信号为依据来确定黑线的位置和小车的行走路线。循迹传感器模块的部分电路原理图如图6所示。

3 软件设计

3.1 系统软件

系统软件主要采用C语言编写,其流程图如图7所示,本系统采用PWM信号来控制直流电机的速度及正反转,主程序先进行系统初始化,配置好相关的寄存器,然后进入循迹模式运行,不断地扫描与红外探测器连接的单片机IO口,将路径信息进行判断处理,单片机再将相应的信号发给电机驱动模块纠正小车的运行状态,从而达到自动循迹的功能[14-15]。

3.2 系统初始化函数程序

系统初始化函数于程序如下:

void init()

{

CCON=0X00;

CH=0;

CL=0;

CMOD=0X02;

CCAP0H=0X80; //初始化PWM0的占空比为50%

CCAP0L=0X80;

CCAPM0=0X42; //允许比较器功能、PWM脉宽输出

CCAP1H=0X80; //初始化PWM1的占空比为50%

CCAP1L=0X80;

CCAPM1=0X42;

CR=1; //启动PCA计数器阵列

}

4 结 语

本设计中的智能循迹小车,采用TRCT5000红外传感器为循迹模块,单片机STC12C5A60S2为控制模块,L298N为电机驱动模块,LM2940为电源模块。小车使用单元化的电路设计,使得系统简洁,响应快,性能稳定。经测试表明,小车顺畅的实现了预期设定的循迹功能。为了使小车更加智能化,还可以为小车扩展壁障、自动识别、自动报警、自动保持安全距离、车速检测和远程控制等功能。

[1] 王 晶.智能小车运动控制技术的研究[D].武汉: 武汉理工大学,2009.

[2] 尹 杰,杨宗帅,聂 海,等.基于红外反射式智能循迹遥控小车系统设计[J].电子设计工程,2013(23):178-184.

YIN Jie,YANG Zong-shuai,NIE Hai,etal.Intelligent tracking based on infrared reflection type telecontrol car system design[J].Electronic Design Engineering,2013(23):178-184.

[3] 李 波,杨 卫,张文栋,等.一种智能小车自主寻/循迹系统设计[J]. 计算机测量与控制,2012(10):2798-2801.

LI Bo,YANG Wei,ZHANG Wen-dong,etal. Design of Independently Find/follow Trace System Based on Intelligent Car[J].Computer Measurement & Control, 2012(10):2798-2801.

[4] 陈凤东, 洪炳熔. 基于特征地图的移动机器人全局定位与自主泊位方法[J].电子学报,2010, 38(6) : 1256-1261.

CHEN Fengdong, HONG Bingrong. A global localization and self-docking method for mobile robot based on feature map[J]. Acta Electronica Sinica, 2010,38(6): 1256-1261.

[5] 陆晓琳.基于PIC16F648的智能寻迹小车设计与实现[J]. 电测与仪表,2011(7):65-68.

LU Xiao-lin.Design and Implementation of Auto-tracking Car Based on PIC16F648[J]. Electrical Measurement & Instrumentation,2011(7):65-68.

[6] 陈华伟,熊 慧.智能循迹小车硬件设计及路径识别算法[J].单片机与嵌入式系统应用,2010(12):26-31.

CHEN Huawei,XIONG Hui.Hardware Design and Path Identification Algorithm for Smart Track-keeping Car[J].Microcontrollers & Embedded Systems, 2010(12):26-31.

[7] 宫纪波. 基于红外反射循迹小车的传感器布局研究[J].工业控制计算机,2009(8):97.

GANG Ji-bo. Based on the infrared reflection tracking car sensor layout research[J]. Industrial Control Computer,2009(8):97.

[8] 单以才,陈 丹,李奇林.基于红外传感器的自主循迹小车控制算法设计与实现[J].伺服控制,2010(4):60-63.

SHAN Yi-cai,CHEN Dan,LI Qi-lin. Autonomous trackingcar control algorithm based on infrared sensor design and implementation[J]. Journal of Servo Control,2010(4):60-63.

[9] 黄春平,万其明,叶 林.基于51单片机的智能循迹小车的设计[J].仪表技术,2011(2):54-56.

HUANG Chun-ping,WANG Qi-ming,YE Lin. Based on 51 single chip microcomputer intelligent tracking the car's design[J]. Instrument Technique,2011(2):54-56.

[10] 余炽业,何志辉,宋 跃. DC-DC开关电源模块并联供电系统[J].电源技术,2012(6):851-854.

YU Chi-ye, HE Zhi-hui,SONG Yue. A DC-DC parallel switches power system[J]. Chinese Journal of Power Sources,2012(6):851-854.

[11] 吴建平,殷战国.光红外反射式传感器在自主式寻迹小车导航中的应用[J].中国测试技术,2004,30(6): 21-23.

WU Jian-ping,YIN Zhan-guo.Usage of Reflected Infrared Sensor in Automatic Guiding car[J].China Measurement Technology,2004,30(6): 21-23.

[12] 左 敏,曾广平,涂序彦.无人变电站智能机器人的视觉导航研究[J].电子学报,2011(10):2464-2468.

ZUO Min,ZENG Guang-ping, TU Xu-yan.Research on Visual Navigation of Untended Substation Patrol Robot[J]. Acta Electronica Sinica,2011(10):2464-2468.

[13] 弋英民.刘 丁.有色过程噪声下的轮式机器人同步定位与地图构建[J].电子学报,2010,38(6):1339-1343.

YI Yingmin, LIU Ding. Colored-State-Noise simultaneo us localization and map building for wheel robots[ J]. Acta Electronica Sinica, 2010, 38(6):1339-1343.

[14] 师树恒,孙 明,师素娟.基于MC9S12XS128的智能循迹小车设计[J]. 自动化与仪表,2012(4):50-60.

SHI Shu-heng,SUN Ming,SHI Su-juan. Design of Intelligent Tracking Car Based on MC9S12XS128[J]. Automation & Instrumentation,2012(4):50-60.

[15] 林 康,肖 建,成谢锋.基于特征提取的分离循迹智能车系统[J].微型机与应用,2013,32(10):84-86.

Lin Kang,Xiao Jian,Cheng Xiefeng. Separation-tracking intelligent car system based on feature extraction[J]. Microcomputer & Its Applications, 2013,32(10):84-86.

猜你喜欢
循迹小车单片机
基于DFT算法的电力巡检无人机循迹检测系统设计
大车拉小车
自制小车来比赛
基于单片机的SPWM控制逆变器的设计与实现
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
刘老师想开小车
两轮自平衡小车的设计与实现
智能差分循迹小车设计
基于MC9S12XS128处理器的智能循迹小车分析研究