XS128单片机

2024-09-30

XS128单片机(精选4篇)

XS128单片机 篇1

随着科技的不断发展与进步, 智能控制的应用越来越广泛, 智能车技术依托于智能控制, 有着极为广泛的应用前景。结合传感器技术和自动驾驶技术可以实现汽车的自适应巡航并把车开得又快又稳、安全可靠;汽车夜间行驶时, 如果装有摄像头, 就能实现夜晚汽车的安全辅助驾驶;它也可以工作在仓库、码头、工厂或危险、有毒、有害的工作环境里, 此外, 它还能担当起无人值守的巡逻监视、物料的运输、消防灭火等任务。在普通家庭轿车消费中, 智能车的研发也是很有价值的, 可以解放人的双手, 在不方便开车的情况下也不再需要代驾。在道路图像识别与处理方面对智能车的设计进行了详细的分析。

1 系统总体设计

智能车系统的总体工作模式为:CMOS 图像传感器拍摄道路图像, 经过信号处理模块进行硬件二值化, 采用LM1881进行视频同步分离, 二值化图像信号、奇偶场信号、行同步信号输入到MC9S12XS128微控制器, 进行进一步处理获得主要的道路信息;通过光电编码器来检测车速, 并采用MC9S12XS128的输入捕捉功能进行脉冲计算获得速度和路程;转向舵机采用PD控制;驱动电机采用 PID控制, 通过PWM控制驱动电路调整电机的功率;而车速的目标值由默认值、运行安全方案和基于图像处理的优化策略进行综合控制。系统结构如图1所示。

2 硬件系统设计与实现

2.1 摄像头

选用了OV7620CMOS摄像头采集信息, OV7620CMOS摄像头, 功耗低, 当电机启动和急刹车时, 电压突变对摄像头图像质量影响小, OV7620有效分辨率可达640×480, 完全满足智能车的采集需求, OV7620每秒产生30帧图像, 每帧两场, 1s采集60场图像, 效率高, 这比PAL制的摄像头来说提高了对小车的控制频率, 对小车运行是很有好处的, 对地中心对称, 解决了OV7620中心线不对称的问题, 图像采集处理就成了整个软件的核心内容。在图像处理中主要包括以下几个方面的内容:黑线提取、二值化算法、求重心、算左右偏差、求斜率、判断直道长度、边缘干扰的处理。

2.2 电路设计方案

智能车控制系统电路由3部分组成:MC9S12XS128 为核心的最小系统板、主板。最小系统板可以插在主板上, 组成了信号采集、信号处理、电机控制、舵机控制单元。为了减小电机驱动电路带来的电磁干扰, 把控制单元部分和电机驱动部分分开来, 排布在主板的两端。

主板上集成了本系统的主要电路, 它包括如下部件:电源稳压电路、最小系统板插座、视频同步分离电路、摄像头接口、舵机接口、电机驱动模块、编码器模块、键盘接口、拨码开关、指示灯等。

2.3 单片机最小系统板

Freescale 16位MC9S12X系列是HCS12系列的增强型产品, 基于S12 CPU内核, 可达到25MHz的HCS12的2~5倍的性能。S12X系列增加了172条额外指令, 可以执行32位计算 (共280条指令) , 总线频率最高可达40MHz, 并且具备完全的CAN功能, 改进了中断处理能力。S12X系列的CPU 以复杂指令集CISC 架构, 集成了中断控制器, 有丰富的寻址方式。

2.4 电源稳压电路

电源是一个系统正常工作的保障, 关系着小车是否能正常的运行。本智能小车采用7.2V 2000mAh Ni-Cd电池供电。而单片机和传感器需要5V电源, 舵机需要6V电源, 电机驱动模块则需要7.2V和5V电源, 因此, 我们需要稳压芯片降低电压以提供给各个模块使用。 经过大量选型和测试过后, 选择了LM2940和LM2941。LM2940为低压差线性稳压器件, 最大输出电流1A, 经过LM2940稳压后, 输出5V, 对单片机、传感器和测速模块等供电。LM2941为可调的低压差线性稳压器件, 经过LM2941稳压后, 输出6V对舵机供电。同时为了获得最佳的转向性能, 将转向舵机直接由电池供电。电源模块基本电路如图2所示。

2.5 电机驱动电路

采用BTS7960全桥驱动电路, BTS7960的芯片内部为一个半桥。INH引脚为高电平, 使能BTS7960。IN引脚用于确定哪个MOSFET导通。IN=1且INH=1时, 高边MOSFET导通, OUT引脚输出高电平;IN=0且INH=1时, 低边MOSFET导通, OUT引脚输出低电平。SR引脚外接电阻的大小, 可以调节MOS管导通和关断的时间, 具有防电磁干扰的功能。IS引脚是电流检测输出引脚。BTS7960 应用非常简单, 只需要向芯片第2 引脚输入PWM 波就能控制。驱动电路如图3所示。

3 软件系统设计与实现

3.1 图像二值化处理

图像的二值化的基本原理:图像的二值化处理就是将采到点的灰度质为根据灰度值的大小分为黑线和白色底板, 即将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。首先要把灰度图像二值化, 得到二值化图像, 这样有利于再对图像做进一步处理时, 图像的集合性质只与像素值为0或255点的位置有关, 不再涉及像素的多级值, 使处理变得简单, 而且数据的处理和压缩量小。

3.2 PID控制算法介绍

在工程实际中, 应用最为广泛的调节器控制规律为比例、积分、微分控制, 简称PID控制, 又称PID调节。它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。PID控制器是一种线性控制器, 它根据给定值与实际输出值构成控制偏差。将偏差的比例 (P) 、积分 (I) 和微分 (D) 通过线性组合构成控制量, 对被控对象进行控制, 故称PID控制器, 原理如图4所示。

简单说来, PID控制器各校正环节的作用如下:

比例环节:及时成比例地反映控制系统的偏差信号, 偏差一旦产生, 控制器立即产生控制作用, 以减少偏差;

积分环节:主要用于消除静差, 提高系统的无差度。积分作用的强弱取决于积分时间常数, 越大, 积分作用越弱, 反之则越强;

微分环节:能反映偏差信号的变化趋势 (变化速率) , 并能在该偏差信号变得太大之前, 在系统中引入一个有效的早期修正信号, 从而加快系统的动作速度, 减小调节时间。

undefined

将比例、微分、积分作用结合在一起, 就形成了PID调节规律。在加有PID调节器的系统里, 对输入采样信号首先是施加比例微分调节规律, 产生强烈快速的调节作用, 然后施加积分作用消除输出静差。不论从静态特性还是动态特性看, 使用PID调节规律都能使调节品质得到很好改善。

由于计算机只能识别数字量, 不能对连续的控制直接进行运算, 所以在计算机控制系统中必须对控制规律进行离散化的算法设计。电动控机测控系统为一时间离散控制系统, 可以采用数字式的差分方程来代替连续系统的微分方程, 从而将PID算是离散化。

undefined

位置型PID算法:

undefined

3.3 转向舵机的PD控制

由PD调节器构成的超前校正, 可提高系统的稳定裕度, 并获得足够的快速性, 但稳态精度可能受到影响, 在随动系统中, 快速性是主要要求, 须用PD或PID调节器。为了提高舵机的快速性, 从软件上采用PD控制。舵机控制的目标就是要将实际位置与预期目标点作差进行比较, 将比较的结果转换成控制舵机转向的PWM波。

3.4 驱动电机的PID控制算法

对于速度控制, 采用了PID控制算法, 基本思想是直道加速, 弯道减速。经过反复调试, 将每场图像得到的黑线位置与速度PID参考速度值构成二次曲线关系。在实际测试中, 发现小车直道和弯道相互过渡时加减速比较灵敏, 与舵机转向控制配合得较好。

4 结论

本系统通过模拟道路情况, 基于MC9S12XS128单片机做处理器, 通过对赛道图像处理所设计的智能型小车, 该智能型小车具有初步的无人驾驶功能, 经过测试表明, 该小车在模拟赛道上能够完成全程自动行驶的功能, 具有前瞻性强、灵敏度高、行驶状态稳定等特点。

摘要:本智能车的设计是以Freescale公司的MC9S12XS128单片机作为系统的控制核心, 使用OV7620数字摄像头采集道路信息, 单片机分析图像信息后确定行驶路径, 再通过舵机来掌控小车的行驶方向。软件控制方面, 使用PD算法控制舵机, 位置式PID算法控制电机, 实现对智能车运动方向和运动速度的闭环控制。整个系统涉及车模机械结构调整、传感器电路设计及信号处理、控制算法和策略优化等多个方面。实验结果表明, 设计方案确实可行。

关键词:智能车,MC9S12XS128,图像二值化,图像处理,PID控制

参考文献

[1]卓晴, 黄开胜, 邵贝贝.学做智能车——挑战“飞思卡尔”杯[M].北京航空航天大学出版社, 2007.

[2]高吉祥.全国大学生电子设计竞赛培训系列教程:模拟电子线路设计[M].北京:电子工业出版社, 2007.

[3]吴建平.传感器原理及应用[M].北京:机械工业出版社, 2009.

[4]黄友锐, 曲立国.PID控制器参数整定与实现[M].北京:科学出版社, 2010.

[5]童诗白, 华成英.模拟电子技术基础[M].北京:高等教育出版社, 2001.

XS128单片机 篇2

关键词:飞思卡尔,MC9S12XS128,CAN总线,矩阵键盘

0 引 言

“飞思卡尔”杯全国大学生智能车竞赛是以迅速发展的汽车电子为背景,涵盖控制、模式识别、传感技术、电子、电气、计算机、机械等多个交叉学科的科技创意性比赛,该项目由大赛组委会统一提供车模,利用指定的微控制器作为核心控制单元,各参赛队伍在此基础上自主进行系统设计,完成智能车的制作,使其能够在专门设计的跑道上自动识别道路,并以最高速度行驶。此项赛事旨在加强大学生的创新意识、团队合作精神和培养学生的创新能力[1]。本文设计了基于MC9S12XS128(飞思卡尔指定芯片)的单片机开发系统,为即将参加此项竞赛的同学提供学习平台。实际应用结果表明,此项开发板的应用大大提高了大学生制作智能车的开发效率[2]。

1 系统硬件设计

MC9S12XS128单片机开发板由MC9S12XS128单片机最小系统、电源模块、CAN/LIN总线接口、USB转串口、标准异步串行接口、MAX 485通信接口、4×4矩阵键盘键号的识别与显示电路[3](包括数码管和液晶显示接口)和电机驱动接口组成,系统框图如图1所示[4]。

1.1 电源模块设计

此开发板上提供2种输出电压,分别为5 V和12 V,输出的12 V电压可以通过LIN总线接口外接,同时提供2种电压输入方式,通过公用一个电源插头给此开发板送入5 V或12 V电压,当输入5 V电压时,开关S1需打到5 V档上,板内芯片ST662将5 V的电压转换为12 V电压,给需要12 V电压的模块供电。当选择使用输入12 V电压给开发板供电时,开关S1需打到12 V档上。此供电系统的原理图如图2所示[5]。

1.2 CAN总线与LIN总线设计

TJA1041高速CAN收发器通过接头与MC9S12XS128的CAN总线引脚相连。考虑到CAN总线的不常使用,和功耗比较大,所以系统不但设计了这2种总线接口,为了方便又设计了J-CAN-SELECT接头和J-LIN-Selector接头。当使用CAN总线时,用跳线帽把J-CAN-SELECT接头选通,当使用LIN总线时,用跳线帽把J-LIN-SELECT接头选通。CAN总线原理图(LIN总线原理图略)如图3所示。

1.3 通信接口设计

文中采用单片机与PC机之间的异步通信模式,将单片机看成另外一个PC机,只需3根线:发送线,接收线和固定公地线。由于MC9S12XS128内部集成有2个串口控制器,可以选用其中一个作为RS 232串口使用,另外一个作为485总线的控制器。单片机内部TTL电平与RS 232信号电平之间的电平转换选用MAXIM公司的MAX 232芯片。串口和485接口原理图如图4所示。

其中PS1为对应的单片机上串行控制接口0的发送端,PS0为接口0的接收端。另外为了方便应用,设计了USB转串口电路[6],原理图如图5所示。由于MC9S12XS128内部只集成有2个SCI控制器[7],所以USB转串口,串口,LIN,485四种通信接口需要公用2个SCI控制模块:串口与USB转串口公用SCI0,485与LIN公用SCI1。USB协议转换成串口通信协议选用PL2303芯片。

1.4 直流电机驱动电路

直流电机驱动电路采用组委会推荐的专用电机驱动芯片MC33886,驱动电路如图6所示。其中,V1+接电池正极;VCC接系统+5 V;OUT+和OUT2-接直流电机;IN1和IN2控制MC33886输出不同的值。

1.5 矩阵键盘按键识别[8]

在MC9S12XS128单片机的I/O口设计4×4行列式键盘,采用程序扫描识别键号,当有按键按下时,其键号显示在共阴极LED数码管上。其电路如图7所示。在键盘的按键识别中通常采用“行扫描法”(逐行或列)扫描查询法。判断键盘中有无键按下时,将列线PT0~PT3置为输出,将其中一条线置低电平其余3条线输出高电平,然后检测行线的状态。只要有一行的电平为低,则表示键盘中有键被按下,而且闭合的键为被拉低的低电平行线与4根列线中低电平线相交叉的对应按键。若判断所有行线均为高电平,则键盘中无键按下(具体可用查表的方法)。

但是此种方法单片机需要通过不停的扫描查询,方可准确的检测到按键值。考虑到PP口有中断功能所以可将这4个口设置成中断的模式来获得按键值,本设计中是将拉高的4位通过一个与门接到单片机的带中断的引脚上,这样当任意键按下时就会产生低电平发生中断,这时单片机再进行按键判断,从而无需一直查询,减少了MCU的负荷量。

数码管显示电路采用共阴极使用两个锁存器74HC573分别接到PORTA口和PORTB口来实现。也可应用液晶显示接口:1602和12864接口显示。

2 系统软件设计

系统软件采用C语言[9]编写,由于存在键盘阵列、数码管显示和液晶显示,它可以完成较多的常规实验项目。如LED流水灯实验、基于PWM控制的蜂鸣器实验、数码管驱动、键盘驱动、1602液晶驱动、ATD转换等多个实验;还可以进行目前工业控制所常用的通信试验,如串口,IIC,CAN,LIN,485总线实验,基本具备单片机开发工业控制系统的能力。下面以电子钟为例来介绍其软件设计思想。

在电子钟设计中对于时间的产生,选择PIT0,即对周期中断定时器0做初始化,使其每隔1 ms产生1次中断,定义4个变量分别为:毫秒,秒,分,时,然后在中断服务程序中根据这4个变量在实际中的关系更新这4个变量。在主程序中判断键盘按键值和进行时间显示,这里定义3个键值:1,2,3。软件程序流程图如图8所示[10]。

3 结 语

本套单片机开发板为即将参加“飞思卡尔”竞赛的学生提供了一个灵活高效的学习平台,同时可为大学本科学生学习嵌入式开发系统以及为汽车电子行业工程师提供良好的开发平台,具有较高的实用性和推广价值。

参考文献

[1]王文杰,凌六一.基于摄像头的智能车控制系统的设计[J].科技资讯,2009(16):103-104.

[2]邵贝贝,薛涛.从MC9S12D到MC9S12XS[J].电子技术应用,2009(1):15-17.

[3]安晓莉.AT89S51单片机开发板的设计[J].电子设计工程,2009,17(9):121-123.

[4]王军琴.基于DSP的单总线温度测量系统设计[J].工矿自动化,2010(7):35-37.

[5]姚伟鹏,侯睿,肖军.基于AT89S系列单片机实验板开发[J].西安航空技术高等专科学校学报,2009,27(5):23-27.

[6]邵贝贝.单片机嵌入式应用的在线开发方法[M].北京:清华大学出版社,2004.

[7]邵贝贝,宫辉.嵌入式系统中的双核技术[M].北京:北京航空航天大学出版社,2008.

[8]李杰,曹宇,朱坚,等.基于嵌入式Linux的矩阵键盘设计与实现[J].现代电子技术,2006,29(24):81-83.

[9]孙同景,陈桂友.Freescale 9s12 16位单片机与嵌入式开发系统[M].北京:电子工业出版社,2003.

XS128单片机 篇3

MC9S12DG128是Freescale公司推出的S12系列微控制器中的一款针对汽车电子市场的高性能16位微控制器, 集成度高, 与同类的16位机相比, 具有地址空间大、运算速度快、性价比高、成本低、可靠性好和稳定性高、内部资源丰富等优点。MC9S12DG128微控制器采用增强型16位S12 CPU, 片内总线时钟最高可达25MHz;片内资源包括8K RAM、128K Flash、2K EEPROM;CAN、SCI、SPI、脉宽调制 (PWM) 等模块;包含A/D转换器和增强型捕捉定时器, 支持背景调试模式 (BDM) 。另外它还具有模糊控制指令, 非常适合汽车的智能控制[1,2,3]。

本文以全国大学生“飞思卡尔”杯智能汽车竞赛的专用车模为控制对象, 采用MC9S12DG128作为核心控制单元, 完成测控系统的控制方案选择及系统设计, 包括传感器信号采集处理、控制算法及执行、动力电机驱动、转向舵机控制等。

1.总体设计方案

测控系统总体设计方案:采用CMOS图像传感器, 将传感器采集到的路面图像数据送MC9S12DG128微控制器处理, 微控制器根据图像数据和测速反馈数据, 通过输出PWM信号控制舵机转角和电机转速, 从而实现智能车快速稳定行驶。测控系统总体框架如图1所示。

2.智能车测控电路设计

智能车测控电路包括传感器信号采集电路、舵机控制电路、基于MC33886的电机驱动电路和测速电路组成。传感器电路用于路面信息采集, 为舵机和电机动作提供依据;舵机根据传感器获取的路面信息及时调整智能车的行驶方向;电机为智能车提供前进动力;测速电路则为微控制器提供速度信息, 实现闭环调速。

2.1 图像传感器与微控制器接口电路

本系统采用BF21x440B型图像传感器用于路面信息检测。BF21x440B与MC9S12DG128之间的连接端口选择I/O端口的PORTB0~PORTB6、定时器的PTT2端口和PWM模块的PTP0端口。

2.2 舵机控制电路

舵机由无核心马达所构成, 可根据控制信号转动至定点的位置, 旋转指定角度。采用型号为S3010的舵机, 其工作电压介于4-6V, 电压越高舵机响应速度就越快。由于智能车所用电池电压为7.2V, 采用基于LM1117的稳压电路为舵机供电, LM1117压差小于1V, 输出电压为1.25~13.8V, 最大输出电流800mA。微控制器的PTP1口为舵机提供一个频率为50Hz的PWM信号, 控制舵机的偏转角度。这个周期性脉冲信号的高电平时间在0.5ms~1.2ms之间。

2.3 基于MC33886的电机驱动电路

系统采用H桥功率驱动器MC33886驱动直流电动机。MC33886工作电压为5V~36V, 最大输出电流为6A, 动作频率20KHz。在MC33886应用电路中, 通过控制IN1和IN2端输入的PWM信号占空比, 可调节电机速度和正反转。为了降低MC33886上的压降, 将IN1和IN2同时送同一PWM信号, 将四个输出端短接与电机一端相连。

2.4 测速电路

测速电路采用了槽式光耦和码盘, 槽式光耦是一种对射式红外传感器, 光电编码盘由48等份透明与不透明相间的条纹组成, 即后轮每旋转一周产生24个脉冲。当车轮旋转时, 码盘就会随车轮一起旋转, 透明与不透明的条纹逐个从槽式光耦中间通过。槽式光耦的红外发射端由于透明条纹与不透明条纹的交替隔挡, 导致接收三极管的集电极将产生交替的电平变化, 即形成脉冲信号。脉冲信号经过CD40106BE整形后送MC9S12DG128微控制器的PTT1口, 微控制器根据单位时间内捕捉到的脉冲数计算速度。

3.智能车测控系统软件设计

智能车测控系统软件由图像信息采集及处理程序、舵机控制程序和直流电机调速程序组成, 采用C语言编程, 编译环境为CodeWarrior3.1。

MC9S12DG128微控制器接收到图像传感器采集到的图像数据后, 先将图像数据二值化处理, 根据图像信息可判断出小车当前处于弯道还是直道, 是直道则加速, 是弯道, 根据弯道状况调整舵机偏转角度和电机转速。由于篇幅所限, 没有给出具体程序代码, 仅就程序的编写思路和微控制器的参数设置做出说明。

3.1 图像传感器数据采集及处理程序流程图

MC9S12DG128微控制器内部有脉宽调制模块, 因此BF21x440B型图像传感器X_IN端时钟源由微控制器直接提供, 端口选择PTP2。开通定时/计数器0输入捕捉中断, 捕捉图像传感器FS端口的上升沿。当FS产生上升沿时, 则进入中断, 在中断服务程序中根据/STRB口的电平变化获取每个像素点的数据。将这些图像数据送入液晶显示器中, 可看到路面图像。BF21x440B型图像传感器输出的图像数据是与每个像素点灰度相对应的模拟量值, 为了便于图像信息的处理, 需要对图像数据进行二值化处理。二值化处理的关键是阈值的获取。

在图像传感器采集的一帧数据中, 黑线区域对应的像素点的模拟量值较小, 白色跑道区域对应的像素点的模拟量值较大。经过多次试验, 在一般情况下, 一帧图像数据中模拟量最大值mmax与最小值mmin之差介于8~15, 而且白色区域和黑色区域对应像素点的模拟量值波动都小于3。即当mij>mmin+3时, 该像素点处于白色区域, 或者mij

图像传感器时钟信号由MC9S12DG128微控制器的PTP2口给定, 频率为1.14MHz, 开通定时器/计数器0输入捕捉功能, 捕捉传感器帧同步信号FS的上升沿, 点同步信号端/STRB接于PORTB_BIT6, 数字信号输出端D0~D5接于PORTB_BIT0~PORTB_BIT5。

3.2 舵机控制

舵机的作用是及时调整智能车的前进方向, 其输出转角与PWM信号的占空比呈线性关系。经试验测得车轮从最左端转到最右端所对应的占空比变化范围为6.33%~7.84%;在MC9S12DG128微控制器中, PWM输出占空比值Duty仅与PWMDTY和PWMPER寄存器中的值有关, 如式1。

undefined式1

因为控制前轮的PWM信号占空比变化范围很小, 所以在寄存器配置时, 在输出频率满足预定值的情况下, 寄存器PWMPER中的值应尽量大, 以实现对舵机偏转角度精确控制。MC9S12DG128微控制器具有通道级联功能。在未级联的情况下, PWMPER是一个8位寄存器, 最大值为255, 可计算出占空比一次变化的最小量为0.39%。通道级联之后, PWMPER由一个8位寄存器变为一个16位寄存器, 最大值为65535, 占空比一次变化的最小量为0.0015%。因此舵机控制程序中采用通道级联方式。控制舵机偏转角度的依据是经过处理的图像数据。多次试验得知, 只采集1行图像数据就能够实现对智能车的稳定控制。

3.3 直流电机PD调速

电机转速对整个智能车运行的稳定性有一定的影响。智能车采用干电池供电, 电池电压会随使用时间逐渐下降, 而且跑道中途有坡面路段, 这两种情况都会导致在相同PWM占空比条件下, 电机转速不定, 所以应采用闭环调速方式来消除电池电压变化以及坡面路段对电机转速的影响。

PID控制是一种简单而有效的控制算法, 并且已经十分成熟。用于电机调速是一种可行而有效的方法。经过对PID控制算法以及智能车动力系统特性的分析, 采用PD算法就能实现电机快速而且稳定响应[4]。

PD算法表达式如式2

u (k) =KCe (k) +KD[e (k) -e (k-1) ] (式2)

微控制器以单位时间内得到的测速模块输出的脉冲数表示速度。因此需要开通一个计数器中断和一个定时中断, 分别用来计时和计数。则偏差量e (x) 为相邻两次单位时间内脉冲数的差值。根据测速模块的特性和反复试验, 适当选取定时时间间隔以及系数KC和KD的值。

4.结论

系统的方案选择和程序编写均建立在大量试验的基础上, 通过总结优化确定最终方案, 实现了初步的智能控制, 经测试智能车在比赛用的标准跑道上行驶的平均速度可达1.5m/s, 且系统工作稳定, 具有良好的灵活性和可扩展性。本文对广大从事飞思卡尔微控制器开发的技术人员有一定的参考价值。

参考文献

[1]王威.嵌入式微控制器S08AW60原理与实践[M].北京:北京航空航天大学出版社, 2009.1

[2][美]Todd D.Morton.嵌入式微控制器[M].北京:机械工业出版社, 2005.9

[3][美]Steven F.Barrett, Daniel J.Pack.嵌入式系统[M].北京:电子工业出版社, 2006.3

XS128单片机 篇4

自动导向小车(简称AGV[1,2,3])是移动机器人的一种,是现代制造企业物流系统中的重要设备,主要用来储运各类物料,为系统柔性化、集成化、高效化运行提供重要保证。

资料显示:我国虽然开始研制工业机器人仅比日本晚5~6年,但是由于种种原因,工业机器人技术的发展仍比较慢[4]。AGV从上世纪60年代开始研究,上世纪70年代,北京起重运输机械研究所研制成ZDB-1型自动搬运车,上世纪90年代中期,昆船公司在引进国外先进AGV小车的技术基础上,先后承担数十个AGV小车系统的设计、安装以及维护项目,其水平代表了目前国内的最高水平[5]。

西方发达国家经过近一个世纪的研究,AGV小车已进入高智能化、数字化、网络化、信息化的发展道路。到目前为止,全世界已拥有AGV小车系10 000多个,约十万台AGV小车[6]。

综上所述,为了节约用工成本,不少企业开始考虑引进AGV小车产品,但是国内AGV小车的价格一台就要7万元~8万元,价格太高,如:深圳市佳顺伟业科技有限公司生产的SMT专用AGV,售价8万元;上海竞舸自动化科技有限公司生产的潜入式AGV01,售价8.5万[7]。为了降低AGV小车的价格,降低企业成本,实现高效、安全运输,开发经济型工业用途的AGV小车是必要的。

基于上述原因,本研究提出成本不超过1万元的经济型AGV小车的设计方案。其思路包括:①硬件上采用价格低技术成熟的电动轮椅用电机、减速器,控制系统,传感器利用飞思卡尔智能车大赛中价格适中、技术成熟的有关配件;②控制策略设计上,在现有算法的基础上提出具有简单、实用优点的偏差累计算法[9]。

1 AGV车身结构设计

光电导引式AGV车身上主要包括:车架的上下层钢板、后轮、立柱、控制器箱体、光电传感器、直流电机、万向轮、电池、超声波避障传感器。

1.1 后轮、直流电机和光电码盘

小车的左、右后轮和光电码盘都安装在直流电机轴上,并且光电码盘安装在直流电机和后轮之间。小车的后轮与电机轴通过平键连接,光电码盘则通过粘胶剂粘在后轮中间部位。小车的前进与转弯是通过控制两个直流电机转速的。前面两个万向轮仅起支撑作用。

1.2 上、下层钢板及立柱

小车下层钢板的设计是为了安装与固定后面直流电机和前面的万向轮,下层钢板底部安装有光电传感器和避障传感器,并且下层钢板顶部安装有控制器箱体。下层钢板与上层钢板之间用4个立柱连接固定,立柱与上、下层钢板通过螺纹连接。上层钢板上安装了一个电池安装槽,这个安装槽用来固定电池。上层钢板上除了安装电池安装槽外,不再安装其他装置,以留出空间用来装运货物。

1.3 光电传感器和避障传感器

小车的光电传感器安装在底层架子上,避障传感器安装在AGV前段,两者都采用螺栓和螺母固定。光电传感器与后轮在纵向有段距离,即前瞻距离,使小车后置左电机和右电机有一定的反应时间。如果前瞻不够,则会使小车的转弯出现滞后现象。避障传感器安装在小车前段是为了实现小车避障的功能,当有障碍物阻挡小车前进方向时,利用超声波测距原理可有效避免碰撞。

1.4 电 池

小车的电池安装在电池卡槽中。该结构的优点是:避免电池因安装不牢固而损坏,并有利于电池充电,易于更换新电池。

2 硬件电路设计

硬件电路模块部分包括:MCU主控制器、D/A转换、光电码盘、避障传感器、光电传感器等主要模块。

2.1 MCU主控制器模块

MCU主控制器选用的是飞思卡尔系列的MC9S12XS128MAL芯片。该芯片是增强型的16位MCU,片上资源丰富,功能模块包括SPI、SCI、I2C、CAN、A/D、PWM、Timer等,方便构建实际应用系统;大容量的Flash、RAM和EEPROM(Data Flash)存储器可满足大部分的存储器空间需求,具有低功耗、低电压检测复位与中断、复位控制、看门狗及实时中断等功能;可根据实际工作需要选择时钟频率,最高总线工作频率达40 MHz;该MCU具有方便快捷的在线编程调试能力、丰富的指令系统、较强的数值运算和逻辑运算能力。

2.2 D/A转换模块

在控制电路中,需要给电机控制器输入一组模拟电平以实现控制左右电机转速的目的。为了让MCU输入的数字电压信号转换成精确的模拟电压信号,本研究采用的D/A转换模块如图1所示[10]。

图1中,U6、U10、U11分别是DAC0832芯片、LM358芯片、2 K电位器的原理图。

其中,DAC0832是采样频率为8位的D/A转换芯片,集成电路内有两级输入寄存器,使其具备双缓冲、单缓冲和直通3种输入方式,且精度能达到1/256。

DAC0832芯片转换的工作原理图如图2所示。

图2中,DAC0832由倒T型R-2R电阻网络、模拟开关、运算放大器和参考电压VREF四大部分组成。运算放大器输出的模拟电压V0为:

V0=-VREFRf2nR(Dn-12n-1+Dn-22n-2++D020)

式中:VREF—基本电压值,由芯片管脚VREF给定。

由上式可见,输出的模拟电压与输入的数字电压(Dn-1·2n-1+…+D0·20)成正比,调节飞思卡尔MC9S12XS128MAL芯片端口的高低电平可改变D/A转换模块电平,从而调节输出的模拟电压的大小。

由于DAC0832的D/A转换结果采用电流形式输出,需要相应的模拟电压信号,必须外接一个高输入阻抗的线性运算放大器来实现。

LM358内部包括两个独立的、高增益、内部频率补偿的双运算放大器,将DAC0832与LM358中的一个运算放大器相连,能得到相应的模拟信号。但是,实验所得的模拟信号是负电压,而且电压值偏小,再通过LM358的另一个运算放大器,实现电压值“翻转”,并通过2 K电位器,调节电压大小。

LM358适合于电源电压范围很宽的单电源工作模式,也适用于双电源工作模式。该设计采用的是双电源工作模式,需要为LM358芯片提供±9 V电压。

为了得到LM358工作所需的-9 V电压,本研究采用ICL7600芯片,它是MAXIM公司生产的小功率极性反转电源转换器,输入电压范围是1.5 V~10 V,能把+9 V转换为-9 V,为LM358芯片供电。

2.3 光电传感器模块

光电传感器利用光的漫反射原理进行工作。在电路设计过程中,因为光电传感器反馈的信号电压是0~24 V,而单片机能检测的电压是0~5 V,须增加一个光耦将光电传感器0~24 V的输入电压转换成0~5 V的电压。经测试,该光电传感器工作性能良好。

2.4 超声波避障传感器模块

超声波避障传感器[11]工作时序图如图3所示。

超声波模块的工作原理:采用I/O触发测距,当输入至少10 μs的高电平信号时,该模块会自动发送8个40 kHz的方波,自动检测是否有信号返回,当有信号返回时,通过I/0端口输出一高电平,高电平持续的时间就是超声波从发射到返回的时间。测距公式为:距离=(高电平时间×声速(340 m/s))/2。

3 软件设计

软件设计时,首先结合机械结构、硬件电路,绘制出程序流程图;然后,利用Metrowerks公司为MC9S12系列专门提供的全套开发工具Freescale CodeWarrior IDE V5.1软件编写C语言程序代码,并进行编译与调试。

3.1 CodeWarrior IDE编译环境

本研究利用CodeWarrior IDE V5.1软件提供的C语言集成开发环境实现AGV小车软件开发设计。

CodeWarrior的功能强大,除了一般开发工具所具有的编码、编译、编辑、链接、调试过程外,还具有如下优点:用户可在新建工程时将芯片的类库添加到集成开发环境中,工程文件一旦生成就是一个最小系统,并且用户无需进行繁琐的初始化操作,这一点正是51系列单片机无法比拟的。

3.2 控制程序流程图

除了显示小车实时信息的液晶显示程序、避障程序外,由于小车是采用左、右电机分别驱动,还需要设计小车稳定直线行驶与转弯的控制算法,并编写相应的程序代码。

综合上述因素,本研究绘制的光电导引式AGV控制程序流程图如图4所示。

图4中,光电码盘的作用是保证小车稳定地直线行驶,当左、右光电码盘上测量的栅格数不同时,将会使小车小幅转弯;光电传感器的作用是保证小车顺利转弯,当左、右光电传感器感应到黑胶带后,将会使小车大幅转弯。避障部分采用定时中断,因为规定的避障距离是1 m,通过超声波测距公式,算出测1 m距离所需时间为5.9 ms,所以设定避障传感器每隔8 ms工作一次可达到测试要求;并且8 ms延时不通过“Delay”延时函数实现,而采用多次主循环累计实现,以缩短执行一次主循环所用的时间,提高控制效率。

3.3 程序编写

为使小车稳定直线行驶,需通过控制左右电机速度的增减以抵消左右电机之间的微小速度偏差。为了实现上述目的,本研究设计了一个基于偏差累积的算法。实现该算法的程序代码如下所示:

上述程序中,AB分别代表左、右光电码盘转过的光栅数,如果A=B,左右光电码盘通过的光栅数相等,说明小车左、右后轮的速度相同。当(B-A)>2,则右光电码盘转过的光栅数大于左光电码盘转过的光栅数,说明右轮的速度大于左轮的速度,需通过小幅右转来调节以使小车保持直线行驶;对于(A-B)>2的情况,可依此类推。

4 现场实验和调试

为了验证小车能够稳定地沿着黑胶带行走,本研究通过在实验室地面上粘贴黑胶带的方式进行现场实验测试。

光电导引式小车及实验场地如图5所示。

图5中,小车的上表面除了安装一个电池盒用于存放电池外,其他平整表面部分用于装运货物。经过现场测量,小车上表面与地面的平行度保持良好。

为了控制小车直线行驶或转向,本研究需要向控制器输入两组模拟电压,此处定义为黄线电压和绿线电压。通过实验,分别测得了多组黄、绿线电压值下左、右电机(前进方向为准)的转速值,如图6、图7所示。

如图6所示,从实验测试数据获得的拟合曲线可知,左电机转速大部分稳定在0.5 m/s,并且绿线电压值大部分在3.3 V~3.5 V之间,黄线电压值大部分在2.4 V~2.6 V之间。为了使小车直线行驶,需输入连续数据点代表的电压值,而为了使小车转向,则需输入离散数据点代表的电压值。

图7中的曲线规律与图6相似,通过与图6相同的分析方法可获得右电机稳定工作的控制电压值。

5 结束语

基于飞思卡尔芯片控制技术,本研究开发了光电导引式AGV小车。实地测试结果表明,小车性能总体上达到了预期指标。同时,笔者提出的偏差累积控制算法在小车行驶过程控制中获得了良好的应用,为以后的研究提供了重要参考依据。

在后续研究中,将在工厂车间开展小车测试,检验小车在更为复杂的路面条件下的性能;同时,该小车现阶段尚未安装蓝牙模块,无法实现对小车的远程控制,为了弥补该不足,笔者计划在后续的项目中增设蓝牙模块,以实现对小车的远程控制。

摘要:针对目前国内自动导引运输车(AGV)体积大、价格贵的问题,在技术成熟的“飞思卡尔”智能汽车竞赛和价格低廉的电动轮椅车的基础上,设计了一款基于“飞思卡尔”MC9S12XS128MAL微处理器控制的经济型光电导引式AGV系统。在试验台上对超声波传感器进行了测试,确定了紧急情况下的避障距离;采用光电码盘测速,由液晶模块显示出AGV的实时速度;同时结合无刷直流电机驱动原理,提出了基于偏差累积算法的控制方法,实现了差动方式的无刷直流电机驱动AGV直线行驶和转弯的功能,最后通过实验验证了该控制方法的有效性。研究结果表明,此AGV系统响应迅速、运行稳定,很好地实现了AGV的自动控制。

关键词:自动导引运输车,MC9S12XS128MAL芯片,光电导引,超声波避障

参考文献

[1]HAMZHEEL M,FARAHANI R Z.An ant colony-based al-gorithm for finding the shortest bidirectional path for automa-ted guided vehicles in a block layout[J].InternationalJournal of Advanced Manufacturing Technology,2013,64(1-4):399-409.

[2]SOK Y L,HAI W Y.Navigation of automated guided vehi-cles using magnet spot guidance method[J].Robotics andComputer-Integrated Manufacturing,2012,28(3):425-436.

[3]YING C H,TA W L.Zone design and control for vehiclecollision prevention and load balancing in a zone controlAGV system[J].Computers&Industrial Engineering,2009,56(1):417-432.

[4]陈自立,徐娅萍,顾立彬.基于模糊Q学习算法的AGV路径规划研究[J].制造业自动化,2012,34(11):4-6.

[5]LIANG J H,RAO Z Q.Research and I mplementation of vis-ual control technology with AGV[C]//Proceeding of the 2011IEEE International Conference on Electric Information andControl Engineering.Wuhan:[s.n.],2011:1588-1591.

[6]孙瑜,张倩,姜一丁.AGV控制系统在烟草物流过程中的应用[J].自动化与仪表,2012,27(5):39-45.

[7]梁春苗,黄玉美,王小波.基于PMAC的自动导引运输车智能控制[J].机电工程,2009,26(8):98-99.

[8]李医中,夏田.基于CPAC运动控制卡的AGV控制系统开发[J].机电工程技术,2011,40(2):37-38.

[9]RAJEEVA L M,WEE H G,NG W C,et al.Cyclic dead-lock prediction and avoidance for zone-controlled AGV sys-tem[J].International Journal of Production Econom-ics,2003,83(3):309-324.

[10]CHE F H.A simulation study of a bi-directional load-ex-changeable automated guided vehicle system[J].Comput-ers&Industrial Engineering,2010,58(4):594-601.

上一篇:高清直播下一篇:构造平行四边形解题