新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 基于单片机的多功能智能小车机器人

基于单片机的多功能智能小车机器人

作者:时间:2016-10-22来源:网络收藏

随着科学技术的日新月异及技术的不断发展,各国对移动的研制和开发力度也不断加大,各式各样的进入社会生活的方方面面。可以代替人力进行许多具有一定危险性的活动,进入一些人类难以涉足的空间,比如不久前成功在月球登陆的“玉兔”号月球车。本文设计的小车可以应用于无人驾驶机动车、无人工厂、仓库等领域,有实际应用推广价值。

本文引用地址:http://www.eepw.com.cn/article/201610/309874.htm

1 系统总体设计

本文设计的小车采用51作为控制核心,使用光电检测小车的运动状态,进行循迹和避障,并由LCD实时显示小车的运动状态。金属检测到铁片后小车由循迹状态进入到避障状态,按下遥控器可使小车进入遥控状态,每次状态转换都有报警指示。小车实物照片及功能示意图如图1所示。

基于单片机的多功能智能小车机器人

2 系统硬件设计

2.1 硬件总体设计

根据设计任务要求及功能实现的分析,画出系统的总体电路图,如图2所示。整个系统为模块化设计,实现简单。

基于单片机的多功能智能小车机器人

系统主要以最小控制系统为核心,包括电源模块接口、外围接口、LCD显示器接口、遥控模块接口、电机驱动模块接口、报警模块接口等,各部分共同构成了小车的整体。

2.2 分系统硬件设计

2.2.1 循迹、避障模块

机器人要实现自动循迹功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。自动寻迹是基于自动导引小车(AGV-auto-guidedvehicle)系统,选择正确的路线行进。采用与地面颜色有较大差别的线条作引导,使用感知导引线和障碍判断。为了简单起见,系统中使用了五个红外反射式光电传感器进行循迹和避障,其中三个ST178H型红外传感器用于寻迹,两个E18型用于障碍判断,传感器实物如图3所示。

基于单片机的多功能智能小车机器人

2.2.2 金属检测模块

当小车行进到黑线的尽头时,需要检测终点,由控制器发出指令,进入相应的程序。只要在运行轨迹的终点放置一块铁片,再用金属传感器检测金属片就可以实现,电路简单,不会占用很多CPU资源。本文选用了LJ12A3-Z-4/BX型电感式金属接近开关传感器,该传感器体积小,功耗低,工作电流只有0.5~3 mA,应用方便,输出信号可直接接

2.2.3 遥控模块

无线数据传输被广泛应用在车辆监控、遥控、遥测、小型无线网络、无线数据通信、机器人控制、数字音频、数字图像的传输等领域中。为了实现对小车的遥控,需要一个无线遥控模块。本文采用DF无线数据收发模块,其工作频率为315MHz,为全球通用的ISM频段,发射频率500mW。DF无线收发模块结合编解码芯片PT2262/2272可以将单片机发出的数据经过编解码之后发射出去。DF无线收发模块具有发射距离远,抗干扰性强的特点。无线发射/接收模块的实物图如图4所示。

基于单片机的多功能智能小车机器人

2.2.4 显示模块

在小车行进时,需要显示当前的工作状态,显示装置就必不可少了。考虑到需要显示大量的字母,系统选择使用1602型LCD显示。1602的意思是每行显示16个字符,可以显示两行,为字符型液晶,即只能显示ASCII码字符,如数字、大小写字母、各种符号等。系统采用的1602为5 V电压驱动,16针接口,带背光,内置含128个字符的ASCII码字符集字库,只有并行接口,没有串行接口。

2.2.5 测速模块

系统中使用两个TCR5000型红外反射传感器对车轮转速进行测量,车轮上有黑白间隔的码盘,单片机对传感器输出的脉冲进行计数,通过计算一定时间内的脉冲数计算出小车的速度。TCR5000型红外反射传感器及码盘如图5所示。

基于单片机的多功能智能小车机器人

3 软件设计

系统软件设计采用C语言编程,并采用模块化设计,将各功能软件编写为一个个子函数,各个函数模块之间独立性强,需要时只要进行调用即可,具有很好的可移植性。系统软件设计主要包括外部中断0的初始化,小车传感器初始化,LCD初始化及实时显示工作状态,小车启动,循迹程序,金属检测程序,声音报警程序,中断服务函数,避障程序,检测遥控指令,声音报警,遥控程序等。主程序流程图如图6所示。

基于单片机的多功能智能小车机器人

将电源打开后,单片机上电复位,对外部中断0进行初始化,然后调用传感器初始化函数,LCD初始化函数,启动小车,LCD显示小车当前状态,开始调用循迹函数,对黑线进行检测,根据传感器信号判断小车与黑线的位置关系,由单片机输出相应的驱动信号,控制左右两轮的转速,使小车时刻保持沿黑线行走。当小车行驶到黑线的终点时,金属传感器检测到铁片,小车发出声音报警,同时进入中断服务函数,调用避障子函数,开始避障,并更新LCD显示内容。当遇到障碍时,小车会改变方向,绕过障碍物行驶。当按下遥控按键时,小车收到指令,发出声音报警,跳出避障程序,进入遥控程序,并更新LCD显示内容。此时,可以对小车进行遥控回收,完成整个测试任务。C51语言主程序如下所示:

基于单片机的多功能智能小车机器人

4 结束语


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭