1 系统硬件设计
    AGV系统结构框如图1所示,上位机首先通过遥控的方式给小车指定运行路径;小车上的电磁传感器将采集到的电磁信号经过放大检波变成直流电压信号,单片机再对该信号进行模/数转换,利用PID算法,获取小车距离中心位置的偏差,再把差值赋给舵机,从而实现小车沿着导线的中心自动运行;最后,小车采集的数据实时传回电脑显示,与此同时,上位机可给小车发出指令,让小车执行相关任务。


1.1 中央控制器
    中央处理器采用Freescale公司推出的S12系列单片机中的一款增强型16位单片机MC9S12DG128(以下简称DG128),片内资源及I/O接口丰富,接口模块包括SPI,SCI,IIC,A/D,PWM等,在汽车电子应用领域具有广泛的用途。
    MC9S12G128的单片运行方式是最常用的应用方式。因片内已经有较大的RAM,FLASH空间,一般无需扩展外部RAM或外部FLASH。本设计应用DG128来实现对系统的总体控制。
1.2 速度采集模块
    速度检测利用霍尔效应来实现。当一块通有电流的金属或半导体薄片垂直地放在磁场中时,薄片的两端就会产生电位差,两端具有的电位差值称为霍尔电势U,其表达式为:
    U=K·I·B/d            (1)
    式中:K为霍尔系数;I为薄片中通过的电流;B为外加磁场(洛伦兹力Lorrentz)的磁感应强度;d是薄片的厚度。
    霍尔片的输入端是以磁感应强度B来表征的,当B值达到一定的程度时,霍尔开关内部的触发器翻转,霍尔开关的输出电平状态也随之翻转。输出端一般采用晶体管输出,和接近开关类似。当有磁钢接近霍尔片的时候时(在一定的距离范围内才有反应),设置单片机定时器的时间为t,计数器计数为n,一个转盘上的磁钢数量为s,则转速(单位:r/s)的计数公式为:
    speed=(n/s)/t         (2)1.3 无线传输模块
    本设计采用DTD462无线传输模块,西安达泰公司生产的DTD462无线传输模块,广泛地运用于无线数据传输领域。它能提供高稳定,高可靠,低成本的数据传输,还提供了丰富的外围接口,并具有安装维护方便,绕射能力强,组网结构灵活,范围覆盖宽等特点。采集数据的实时传送,满足客户对于数据实时性,准确性的要求。此类无线传输方式有高可靠性、体积小、重量轻,传输距离30~300 m等特点。系统摄像头采集到的视频信息通过DTD462嵌入式无线数据传输方式,传输到接收端在上位机软件中显示监视图像。
1.4 电机控制模块
    在电机控制模块的设计中,使用IRFZ44N和IRF9540N搭建了H桥电路,能够实现电机的正转和反转。用光耦对单片机的输出调制信号进行隔离输出,能有效地消除电机转动对单片机的工作干扰。电机的控制模块电路如图2所示。调试过程:当PWM2的输出为高电平,PWM1为低电平时,U5输出低电平,U6输出高电平;U1的d,s导通,d接地,U2的d端接地,而U3的d,s截止,U4的d,s导通,输出高电平,因此电机正转;反之,若PWM2的输出为低电平,PWM1为高电平时,电机反转。小车的转向和摄像头的转动是用2个舵机来分别驱动的。通过编程用软件输出标准PWM信号来驱动舵机,一般PWM控制信号的周期为20 ms。当给舵机输入脉宽为0.5 ms,即占空比为0.5/20=2.5%的调制波时,舵机右转90°;当给舵机输入脉宽为1.5 ms,即占空比为1.5/20=7.5%的调制波时,舵机静止不动;当给舵机输入脉宽为2.5 ms,即占空比为
2.5/20=12.5%的调制波时,舵机左转90°。可以推导出舵机转动角度与脉冲宽度的关系计算公式为:
    t=1.5±θ/90°     (3)
    式中:t为正脉冲宽度(单位:ms);θ为转动角度。注意当左转时取加法计算,右转时取减法计算结果。

 

2 系统软件设计
2.1 控制算法
    该设计重点是研究以下的控制算法,即平均值滤波算法,位置加权和PID算法。
    平均值算法是对电感获取的信号进行放大检波之后,累加多次,在取平均值,可以有效去掉干扰的影响。
   
    式中:get_ad[i]表示第i次取得的ad值;n表示取ad的次数位置加权就是对电磁传感器的ad平均值进行位置加权,获得小车的位置。小车的位置在[10,110]范围内变化,具体计算如式(5)所示:
    position=(110*ad_result[0]+10*ad_result[1])/(ad_result[0]+ad_result[1])         (5)
    式中:ad_result[0]表示其中一路输入信号的平均值;ad_result[1]表示另一路输入信号的平均值;position即加权后的位置值。
    PID算法是根据position算出某一时刻的位置偏差,再对偏差进行PID的运算,从而得到舵机的转角。
    duoji=1155+KP*error[1]+KI*(error[1]+error[0])+KD*(error[1]-erroe[0])        (6)
    式中:error[1]是此时刻的偏差;error[0]是上一时刻的偏差;KP,KI,KD分别是比例系数、积分系数和微分系数。2.2 传输数据的编码和解码
    由于单片机所传输的数据只能以字符的ASCII传输,所以需要对传输的数字信号进行编码传输。比如传输数据是1,而a的ASCII值是65,故可将1+64=65,即1的值等于a(65),接收端接到字符a的ASCII值65,将65-64=1,即进行了译码。以此类推,2当作b(66),3当作c(99)。对0~9十个数分别等价于@,A,B,C,D,E,F,G,H,I。
    设计中由于ASCII在传输时,是作为二进制码串行输出,每一位的持续时间是100μs,传输一个ASCII值至少需要800μs,因此为了不让接收端乱码,经过测试得到发送两个ASCII值之间时间必须大于1 200μs。与此同时,在发送一组数据时,必须先发送一个起始位。在编程时,为了不使接收数据发送错误,对接收数据的首位进行校验,如果首位与发送数据首位一致,这就说明该组数据有效,首位字符是是先设置好了的,二者保持一致。
2.3 上位机及通信
    在上位机端以VB为开发工具,利用其丰富的图形界面,能够实现转速等信息的实时显示,并且可以很方便地利用设置的按钮通过无线方式发出指令。


    通过电脑实现了一对多的通信方式,既可以实现对道路选择端的控制,又可以实现对小车上面舵机的控制。上位机软件流程如图3所示。

3 结语
    对于AGV来说,保证运动的可靠性、精确性是非常重要的,它涉及到机构设计、传感器技术、自动控制及软件科学等很多方面,是一项比较复杂的系统性研究工作。该设计中重点研究了小车的各种控制算法,将其运用到小车的控制中,小车贴着铺设的轨道运行平稳,取得了较好的效果。小车进行自主导航的时候,外界环境对它的干扰很小。除此外,AGV还能在夜间独立的运行,摄像头还能较清晰地拍摄夜间图像。实验表明,该AGV能广泛应用于无人搬运、无人环境监控、危险环境监控等场合。系统实用、经济、可靠,因此该AGV具有很大的市场推广价值。


 

Powered by PageAdmin CMS