基于单片机的简易智能机器人设计

时间:2022-10-20 05:22:28

基于单片机的简易智能机器人设计

中图分类号:TP242 文献标识:A 文章编号:1009-4202(2010)09-234-02

摘 要 随着微电子技术的不断发展,微处理器的集成程度越来越高,单片机将计算机技术与控制技术融合起来,可研制出一些具有特殊功能的简易智能机器人。本设计提出一种简易机器人的设计,采用51单片机为控制核心,控制电机运行的速度和方向,从而实现寻迹和避障功能,电路结构简单,可靠性能高。

关键词 单片机 机器人 寻迹 避障

机器人技术作为20世纪人类最伟大的发明之一,自60年代初问世以来,经历50年的发展已取得长足的进步。目前全世界机器人的保有量超过100万台,并以每年10万台的速度在增长。机器人以从单一的工业应用发展到许多领域:如军用、探险、医疗、服务等工业机器人已成为制造业中不可少的核心装备,与人们并肩在各条生产线上。特种机器人作为机器人家族的后起之秀,而且正以飞快的速度向实用化迈进。

随着微电子技术和半导体技术的进步,单片机的应用已渗透到各个领域,如各种设备的自动控制、智能机器人、智能家居、智能仪器仪表、医疗器械、交通信号控制、汽车电子控制、导弹导航、智能武器等。据报道:20世纪90年代初期,美国家庭平均拥有64个单片机,到2000年该拥有量已增至226个。可见单片机的应用前景广泛。由单片机组建的简易机器人结构相对简单,价格便宜。一般分为控制与机械两大部分。机械包括机体结构、动力装置、传动机构和执行机构等;控制包括单片机系统及其软件、传感器及其电路、控制驱动电路等。

本设计提出一种简易机器人的设计,主体机械部分设计成小车的模型,控制部分采用51单片机为控制核心,通过外加传感器检测路面信息,利用脉宽调制技术控制电机的转向和转速,实现避障和寻迹功能,电路结构简单,可靠性能高。

P0口用于数码管显示,P1口用于电动机的PWM驱动控制,P2,P3口用于传感器的数据采集与中断控制。这样做的优点是:充分利用了单片机的内部资源,降低了总体设计的成本。该方案总体方案见图1。

一、机械部分设计

本设计的车体有两个轮子,外加一个万向轮,也这样相对好控制一点。车体上附带有电池盒,预备装4个五号电池,这样运行起来方便一些。

二、控制部分设计

(一)单片机系统设计

本该设计采用AT89S52单片机为控制核心,通过控制伺服电机来控制小车转向及速度,利用传感器检测道路上的障碍进行避障处理,此外小车还可以预定的黑线轨迹行走。

单片机工作电路:单片机采用最小系统模式(见图2),通过控制信号线来调节信号的占空比,使得电机的转角不同,从而实现行进方向的调整。直流电机转动力矩大,体积小,重量轻,装配简单,使用方便。

(二)传感器及其电路

寻迹模块电路(见图3):利用红外传感器对路面进行检测,检测信号经过比较、分析处理再由单片机发出相应的指令驱动电机,从而控制整个小车的运动状况。

寻迹原理采用红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,接收管接收不到红外光。单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。红外探测器探测距离有限,一般最大不应超过3cm。ST系列ST168集成红外探头价格便宜、体积小、试用方便、性能可靠、用途广泛、并且其内部结构和外接电路都较为简单。本设计可采用三个ST168,分别装在小车下部的左、中、右,检测三个方向的路面情况,从而较精确的实现寻迹。

避障模块电路(见图4):采用两对红外发光二极管与接收头。本设计选择光电一体接收头芯片型号为 HS0038。

HS0038的引脚接线方法:元件的有凸槽的一面向前,从左往右,依次为引脚1接信号,引脚2接地,引脚3接电源。两个红外接收电路的输出分别接在单片机的I/O引脚上。

(三)控制驱动电路

电机驱动电路:采用直流伺服电机,伺服电机有电源线,信号线和地线三个引脚。信号线与单片机直接相接,通过单片机的输出信号来控制电机转速及转向。利用直流伺服电动机具有良好的线性调节特性及快速的时间响应。

电源模块电路:直接采用一片lm2940,它属于固定稳压电路,内有过流,过热,过载保护,可将电压降至5V,稳压后给单片机系统和其他芯片供电,如图5。

三、软件设计

编译软件利用KEIL C,避障部分的子程序如下:

int obstacle_avoidance(void)

{

bit irDetectLeft,irDetectRight;

do

{

IRLaunch('R');

irDetectRight = RightIR;//右边接收

IRLaunch('L');

irDetectLeft = LeftIR;//左边接收

if((irDetectLeft==0)&&(irDetectRight==0))

{//向后退

pulseLeft=1300;

pulseRight=1700;

}

else

if((irDetectLeft==0)&&(irDetectRight==1))

{//向右转

pulseLeft=1700;

pulseRight=1700;

}

else

if((irDetectLeft==1)&&(irDetectRight==0))

{//向左转

pulseLeft=1300;

pulseLeft=1300;

}

else //前进

{

pulseLeft=1700;

pulseRight=1300;

}

P1_1=1;

delay_nus( pulseLeft);

P1_1=0;

P1_0=1;

delay_nus( pulseRight);

P1_0=0;

delay_nms(20);

}

while(1);

}

四、小结

本文重点介绍了一种轮式简易机器人的设计,利用AT89S52单片机为核心,结合传感器检测轨迹及路面信息,实时控制电机转速和转向从而实现寻迹和避障的功能,电路结构简单,可靠性能高。

参考文献:

[1]李磊.移动机器人技术研究现状与未来.机器人.2002.24(5):7.

[2][美]David Cook.机器人制作基础篇.北京航空航天大学出版社.2005.

[3]何立民.单片机应用系统设计.北京:航天航空大学出版社:102-108.

[4]张洪润,傅瑾新.传感器应用电路200例.北京:北京航空航天大学出版社.2006.

上一篇:妇幼卫生信息质量管理解析 下一篇:研究生全面收费合理性与困境的经济学分析