基于单频电磁制导方式的AGV小车
该读卡器的接口协议和电气特性与PS/2键盘是一致的,所以完全可以将该读卡器当作一个PS/2键盘来处理。
![](http://m.amcfsurvey.com/editerupload/fetch/20140414/241027_2_0.jpg)
具有5脚连接器的键盘称为AT键盘,而具有6脚mini-DIN连接器的键盘则称为PS/2键盘。但实际上这两种连接器都只有4个脚有意义,分别是时钟脚(Clock)、数据脚(Data)、电源脚(+5 V)和电源地(Ground)。在PS/2键盘与PC机的物理连接上只要保证这4根线一一对应就可以了。PS/2键盘由PC机的PS/2端口提供+5 V电源,时钟脚Clock和数据脚Data都是集电极开路的,所以必须接大阻值的上拉电阻,平时这两个脚均保持高电平,有输出时才被拉到低电平,之后自动上浮到高电平。图6的单片机是带有上接电阻的,所以PS/2可以与MCU直接连接。
2.4 小车控制核心MCU
MCU用一片AT89S51单片机来实现,51系列单片机其价格便宜、功能强大、且易学易用,唯一不足的是容易受到外界脉冲信号的干扰。但可以采用如下方式来消除脉冲信号的干扰:(1) 硬件处理。首先要注重电源设计,电源要稳定可靠;其次是在单片机的电源引脚与地引脚之间加去耦电容,两个不同的电源电路连接用光电耦合隔开等。(2)软件处理。可采用指令冗余技术、拦截技术、软件看门狗等处理技术,使程序能够自动回到正常位置执行程序。
MCU引脚链接如图7所示,因为计算定时器初始值比较容易,MCU的时钟信号是用一只12 MHz晶振提供。C_MOTOR1、C_MOTOR2是电机控制信号输出端,single1~single3是电磁信号经过处理后的输入端,P0中即D0~D7是LED数码管显示的数据端,K0、K1是键盘接口。IO口可用作以后系统扩展时用。这样MCU既满足了当前系统的要求,也为以后的扩展升级留有空间。
![](http://m.amcfsurvey.com/editerupload/fetch/20140414/241027_2_1.jpg)
3 软件设计
软件设计分为初始化模块、读卡器读卡模块、位置计算模块、小车行走模块(内含故障处理机制)。其程序流程如图8所示。
![](http://m.amcfsurvey.com/editerupload/fetch/20140414/241027_2_2.jpg)
各模块基于结构化程序设计的思想,为了保证得到结构化的程序,可采用以下方法:自顶向下、逐步细化、模块化设计、结构化编程。在软件设计中选用了通用性比较强的C语言作为系统驱动程序的编写语言。
当从设备(PS/2)向主设备(MCU)发送数据时,首先检查时钟线,以确认时钟线是否为高电平,如果是高电平,从设备就可以开始传输数据;反之,从设备要等待获得总线的控制权,才能开始传输数据。传输的每一帧由11 bit组成,发送时序及每一位的含义如图9所示。
![](http://m.amcfsurvey.com/editerupload/fetch/20140414/241027_2_3.jpg)
在PS/2通信过程中,MCU在时钟信号为低时发送和接收数据信号。因为MCU向键盘发送的是指令,需要键盘回应,所以这部分程序采用查询方式I。而MCU接收键盘数据时,数据线上的信号在时钟为低时已经稳定,所以这部分程序采用中断方式,且不需要在程序中加入延时程序。
4 测试结果
虽然电磁信号接收处理部分能够接收并处理信号发生器所产生的磁场信号,但是频率调节的效果并不理想。因此将信号发生器做成频率可调的,以便于信号发生器与电磁信号接收处理部分握手,以及达到在演示时能体现出电路的选频特性。
用示波器观察信号发生器的其输出波形发现,输出波形并不是很完好,有很多谐波在里面,如图10所示。由于这些谐波存在,使得该波形的带宽BW比较宽,不能很好地体现出电路的选频作用。这是因为三极管开关速度及电路焊接的问题。
![](http://m.amcfsurvey.com/editerupload/fetch/20140414/241027_2_4.jpg)
电磁信号接收转换电路存在的问题:(1)不能很好地转过所有弯道。其主要原因是探头安装不能完全避免所有死角。实验时发现,小于等于90°的角很难转过去,而大于90°的角特别是圆弧却很容易转过去。而在实际应用时,可以人为地将引导线布成锐角来解决这一问题。(2)BW比较宽,
![](http://m.amcfsurvey.com/editerupload/fetch/20140414/241027_2_5.jpg)
本文设计的系统软硬件都已通过各种测试,与同类产品相比,该系统的突出优点是安装方便、使用成本低、引导路径的更改比较随意,这也是使用成本低的关键因素。
评论