飞思卡尔单片机控制基础上光电导引式AGV研制
1 绪 论 本文研究的主要内容
首先声明的是,本文采用的导引方式是光电导引方式,与上面所讲
的常用导引/导航方式里所说的光学导引有些区别,光学导引是通过摄像
头采集色带图像信息来导引小车前进,此光电导引是通过红外线传感器来
采集是否感应到自己发出的光束信息来导引小车前进的。本文在借鉴飞思
卡尔杯全国大学生智能车竞赛车模的结构、硬件电路、软件设计、程序编
写的基础上[7-10],设计了用一款飞思卡尔芯片控制的 AGV
小车。具体研究内容如下:①
小车技术方案概述。包括:小车的导引方式、小车的大小、小车载重的确
定,小车控制系统模块的划分等。②
小车的机械结构设计及组装。前面万向轮的设计,后面驱动轮的设计,电
机设计等。 ③
小车的硬件电路设计。包括电源管理模块、单片机供电电源模块、D/A
转换模块、驱动电机供电电源模块、MCU
最小系统核心模块、红外线传感器发射接收等模块设计。 ④
小车的软件设计。包括:小车控制算法设计,画控制程序流程图,用Code
Warrior IDE 编写程序、调试、用 BDM 下载器把程序下载到 MCU
控制器,在程序中用到了中断、延时、定时等多个功能。所用的 MCU
控制芯片是MC9S12XS128MAL 芯片。 ⑤
小车的现场调试。现场调试来检测小车是否按照程序所设计的行走,如有
问题再修改程序或是硬件部分,以让小车按实验预期要求行驶,这是一个
反复调整的过程。 本课题研究的可行性分析
本课题的研究是在研读了大量AGV研制的资料和参考了飞思卡尔智能
车大赛的机械结构、硬件电路与软件设计等内容的基础上提出来的,针对
这个项目,研究团队申请了
万元的创新训练基金;有机械和硬件电路方面经验丰富的指导老师;有较
充分的时间;有明确的团队分工;有实验室这个即用的实验场地;有重庆
大学里包括机械学院、电气学院、光电信院、通信工程学院里很多不同专
业的老师和同学可以咨询;有实验要求所具备的实验器材;综上所述,本
课题的研究通过分析是可行的,是能够实现的。 ...... 2
小车技术方案概述 导引方案的确定 ............
选定主控制芯片 为了满足 AGV
多功能的需求,本研究选定了比 51
系列单片机[16]性能更优异的飞思卡尔系列单片机。飞思卡尔系列单片机
在编程时程序初始化比 51
系列更简捷,快速,并且飞思卡尔系列单片机的中断口、定时器口、串行
口、以及 I/O 端口比 51
系列的都要多,飞思卡尔系列单片机的晶振频率更高,能满足更苛刻的实
际工作需求,并且可以根据晶振频率能很方便地调整芯片的工作频率,由
上综述,最终选定飞思卡尔系列的单片机。
把手动控制转换为自动控制 为了实现 AGV
的自动控制,先购买了一个自动控制器,然后把它的外壳打开,观察和检
查里面的线路,通过实验找到相应的控制接线,然后来模拟控制器上部分
按钮的功能,来实现AGV的自动控制。 实验场地
小车的实验场地设定于 502 实验室,502
实验室白色干净的瓷砖地面完全满足AGV
的工作要求,在地上粘贴黑胶带容易,并且 AGV
有足够的空间进行直线行驶的检测和转弯的测试。 ........ 3
机械结构设计............... 10 车身总体结设计
................. 10
后部驱动轮、直流驱动电机和光电码盘的结构与安装 ......... 10
上下层钢板及立柱 ............. 12
光电循迹传感器和超声波避障传感器 ....................... 13
电池的安装 ....................... 13
小车四轮同时着地的调节 ........................ 14
本章小结 ............................ 14 4
硬件电路设计................ 15 MCU
主控制器模块............ 15 集成稳压器件的选择及稳压电路
........................ 17 D/A 转换模块
....................... 18 OP07—
超低失调电压双路运算放大器................ 20
光电传感器模块 ........................ 21
控制电路模块整合 .................. 23 超声波避障传感器模块
.................................. 24 把手动转换为自动
....................... 26 液晶显示模块
..................... 28 本章小结 .........................
32 6 实地调试 测试让小车稳定行走的电压值
按键开关的处理
在把手动控制转为自动控制时,电机先要获得一个抱闸电压,把抱
闸打开,然后再给电机一个工作电压,让电机转动。在给电机抱闸电压与
工作电压之间,需要一个延时,这个延时经分析是为了让电机在转动之前
,给电机充分的准备时间。这个延时通过延时最后设计为
500ms,由于只是初始化中的延时,所以对整个程序的执行效益没什么影
响。在这个处理过程中,用软件处理上用过两种处理法,第一种是通过
if
语句来读取开关线的电平值,第二种方法是通过中断来读取开关线的电平
(即按键动作)。通过实验发现,用 if
语句来读取开关线的电平值这种方式,电机有时不能抱开,控制器上的灯
经常会闪烁(不闪烁代表电机能够正常工作),并且用此种方式要在 MCU
下载程序进去后,马上按开关键,电机才可能抱闸。而用第二种方式:通
过中断方式来读取开关线的按键动作后,接着延时
500ms,则成功率很高,抱闸打开的成功率接近百分之百,并且在 MCU
下载程序进去后,可以隔很久后按下开关键,电机一样能抱闸。由上比较
后,最终确定用中断读取开关线的电平值来把电机的抱闸并让其转动。
........ 7 总结与展望 总结
本文研究的基于飞思卡尔芯片控制的光电导引式 AGV
经过构想、机械设计、硬件电路设计、软件设计
、实地调试等一系列过程,最终实现了小车沿着黑胶带直线行驶和转弯、
前方遇到障碍物停车、液晶显示等功能。在此次研究中,遇到了不小心烧
坏主控制芯片和手动控制器致使项目进展一度延缓、在调试小车时出现实
验室白色瓷砖之间的黑缝隙和实验室办公桌产生的阴影对实验的不利影响
等一系列困难和挫折,但最终这些问题还是得到了解决,并且使 AGV
下地测试后实现了其基本的行走功能。本文主要进行了以下几个方面的研
究工作: ① 查阅与研究国内外大量有关 AGV
的参考文献,阅读了大量飞思卡尔智能车大赛的资料,以及申请了项目基
金后,提出了用飞思卡尔这款功能强大的芯片来做为 AGV 的
MCU,并且结合成本及实验场地,选择了用光电导引方式来循迹。 ②
对 AGV
上各个部件选型及购买,购买了直流驱动电机、手动控制器,MC9S12XS12
8MAL 主控制芯片、BDM 下载器、光电循迹传感器等。 ③ 对 AGV
的整体结构进行设计,用 PRO/ENGINEER 软件对 AGV
进行三维设计,并加工出实体产品。 ④ 通过 Altium Designer
软件设计了以 D/A 模块和电源管理模块等模块的PCB
板,送去加工,最后自主焊接上面的器件。D/A 模块用于把 MCU
输入的数字电压量转化为模拟量,电源管理模块用于把 24V
电源分配成不同的电源来使 AGV上不同的部件工作。 ⑤ 通过
CodeWarrior IDE 软件向 MCU
下载程序分别调试了光电传感器模块的循迹功能、超声波避障传感器的避
障功能、液晶显示模块的显示功能。 ⑥ 把手动控制器上控制 AGV
前进、小左偏、小右偏、小左转、小右转、大左转、大右转的功能转化为
自动控制。 ⑦ 对 AGV
进行控制算法的设计,提出了偏差累积的算法,画出控制 AGV
工作的程序流程图。 ⑧ 向 MCU 写入相应的控制电压,下地测试大量
AGV
左电机与右电机的速度,根据合适的左右电机速度来选取需要的工作电压
。 ⑨ 向 MCU 下载总程序,进行 AGV
的下地总测试,不断地调试与更改程序,使 AGV
的工作满足实验的要求。 ......... 参考文献(略)