艾崴科技

IWILDT双DSP的防爆机器人控制器设备的设计

2020-07-04 09:47:25

IWILDT双DSP的防爆机器人控制器设备的设计

作者: / / 阅读人数:0

随着现代科学技术的发展,机器人技术也不断提高,机器人的应用领域不断扩展,人们希望机器人能够灵活地适应各种工作环境,完成更多复杂任务。移动机器人具有优越的机动性和灵活性,在实际中得到了广泛的应用,如交通、医疗、军事等领域。武汉艾崴涉及到的移动机器人是应用于防爆系统中的,考虑到防爆机器人运动过程中需要进行大量的计算,并保证控制的实时性,所以采用双数字信号处理器(DSP)作为防爆机器人的控制CPU。

1 机器人控制器的硬件设计
防爆机器人通常工作在室外或野外环境,环境比较复杂,考虑其运动灵活的特点,在设计控制器时,要求其体积小、操作方便、工作可靠、抗干扰能力强等。TI公司生产的专用于电机数字化控制的DSP:TMS320LF2406(以下简称 LF2406),除了具有一般 DSP的改进的哈佛结构、多总线结构和流水线结构等优点外,还采用高性能静态 CMOS 技术,电压从 5V 降为 3.3V,减少了功耗。并且指令执行速度提高到 40MIPS,几乎所有指令都可以在 25ns 的单周期内完成。而且它具有电机控制应用所必需的外设如:32K 片内 FLASH、2K 单口 RAM、544 字双口 RAM、串行外设接口 SPI、串行通信接口 SCI、两个事件管理模块、16 通道 A/D 转换器和CAN 控制器模块。它集DSP的信号高速处理能力和适用于电机控制的外围电路于一体,大大减少了控制系统的体积,提高了系统的性价比。
防爆机器人控制器采用主从 CPU 控制方式,主 从 CPU 均采用 LF2406。主 DSP 接收并处理各功能模块的信息,它与各功能模块之间采用标准串口通讯,从 DSP 控制各电机运行,主从 DSP 之间用串行通信外设接口 SPI 通讯。控制器结构如图 1所示。

截图20200704092042.jpg

1.1 无线通信模块
该防爆机器人由 TC35 无线通信模块控制,TC35 是 Siemens 最新推出的新一代 GSM 模块,它 与 GSM phase 2/2+兼容、双频(GSM900/GsMl800)、RS232 数据口、符合 ETSI标准 GSM07.07 和 GSM07.05,且易于升级为GPRS模块。TC35的数据输入输出接口实际上是一个串行异步收发器,它通过标准RS232 串口与主 DSP 连接,通过这一接口可以用 AT命令集切换操作模式,可以使它处于语音、数据、短消息或传真模式。本系统采用手机短消息方式遥控。通过手机发送出机器人控制模式的指令。

1.2 全局定位模块
当主 DSP 接收到命令时,各定位传感器进入工作状态,利用 GPS 接收机通过 GPS 天线接收卫星信号,解算出机器人的位置信息。但当车辆行驶在城市高楼区、林荫道、隧道和立交桥下等区域时,常出现 GPS卫星信号被遮挡或多径效应问题,当卫星少于 4颗,GPS 接收机就无法正确定位,或者受多径效应的影响导致定位精度很差[3]。将 GPS定位技术和电子罗盘技术结合起来,能很好地解决车辆短时间内丢失GPS卫星信号的问题,获得更高的定位精度及可靠性。

1.3 超声波传感器信息采集模块
在防爆机器人的车体上安装有10个超声波传感器,前方6个、左方和右方各2个,分别用于探测各自方向上障碍物的信息。该系统选用了美国Acroname公司的6500Series超声测距模块及相应的超声换能器。这种传感器的特点是,不像一般的超声传感器那样上电就开始工作,而是在给定一个工作信号以后才向外界发射超声波,进行一次测距,而后又进入休眠状态,直到给出下一个工作信号。

这种工作方式的突出优点是,在用超声波传感器阵列且各传感器相互距离较近的情况下,可以使不同的传感器分时工作,从而最大限度地减小相互之间的干扰。6500 Series超声测距模块检测到主机发出的工作信号,进入测距状态,在探测到障碍物以后,并不能直接给出测量距离,而只是返回主机一个高电平。这样,主机就需要根据自己发送工作命令与收到返回信号之间的时间差解算出待测距离。另外,传感器系统采用了超声波阵列的形式,即同时使用了多个超声波传感器,如果每个传感器都由系统主DSP直接控制,将会占用相当的CPU 时间,浪费了 CPU 资源。因此,单独做一块超声波传感器信息采集卡,由MCS-51 单片机作为CPU,处理每个传感器的数据,再通过标准串口与系统主DSP通讯,接收主 DSP 命令,并向主 DSP 返回各路传感器的测量距离信息。

1.4 电源转换电路和电源监控电路
控制器电路板采用 +5V 供电,由于 LF2406 芯片是+3.3V供电,所以需要电源转换(+5V转+3.3V)电路。本系统采用 T I 公司生产的电源转芯片TPS77533PWP,其供电功率为 2.9W。该电源转换芯片为主从两个 LF2406 和串口扩展芯片 SP2539 提供电压,经过计算,满足该系统的+3.3V供电需求。TPS77533PWP 在控制系统改变负载时仍能保持正常工作,并且当输出电压降至正常值的 92%~98% 时,可以输出复位信号给LF2406 进行复位。如图 2 所示。

222.jpg

DSP 芯片对工作电压的要求非常高,一般都要求电压偏差不超过 5%,即电压偏差不能
超过0.165V,否则,一旦工作电压偏差超出这个范围,长时间工作容易缩短寿命甚至于烧毁。因此,在电路中需要通过电压监控电路来实现对电压的实时监控,以期电源能够为芯片提供合格而稳定的电压,并保证整机的可靠运转。本系统采用TI公司生产的TPS3305-33电压监控芯片,可同时监控两路电压 +3.3V 和 +5V。

2 控制器工作原理
该防爆机器人的控制器以 LF2406 数字信号处理器为 CPU 核心,采用主从双处理器分工控制。机器人通过 GSM 无线通信网络接受任务信息,在主DSP 中进行任务规划;利用 GPS、电子罗盘等信息进行全局定位;通过超声波阵列驱动卡获得障碍信息,进行局部路径规划;在得到规划好的路径后,通过串行通信接口SPI向从DSP传输运动控制命令,从DSP 的 PWM 通道和 I/O 口输出脉冲和方向来驱动电机运转。如图 3 所示。该防爆机器人的执行机构由8个直流伺服电机驱动,分别为:车体左轮电机、车体右轮电机、避障手臂电机、操作臂底座电机、操作臂肩关节电机、操作臂肘关节电机、操作臂腕关节电机和手指开合电机。8 个电机均采用步进模式控制(stepper motor mode),因此控制系统须输出各个电机相应的脉冲和方向信号。LF2406有4个定时器:Time1、Time2、Time3、Time4,每个定时器包括 16 位周期寄存器、16 位比较寄存器、16 位计数器和16位控制寄存器。Time1的周期寄存器定义了 PWM1/2、3/4、5/6T1PWM 的脉冲周期,Time1的比较寄存器定义了 PWM1/2、3/4、5/6、T1PWM的脉冲宽度;Time3 的周期寄存器定义了 PWM7/8、9/10、11/12、T3PWM 的脉冲周期,Time3的比较寄存器定义了 PWM7/8、9/10、11/12、T3PWM的脉冲宽度;Time2 的周期寄存器定义了 T2PWM 的脉冲周期,Time2 的比较寄存器定义了 T2PWM 的脉冲宽度;Time4 的周期寄存器定义了T4PWM 的脉冲周期,Time4 的比较寄存器定义了 T4PWM 的脉冲宽度。由于所有电机均是步进模式控制,所以脉冲比均为 50%。该防爆机器人的车体左右轮电机的脉冲分别由 T2PWM 和 T4PWM 输出,避障手臂电机和手指开合电机的脉冲分别由 PWM7 和 PWM9 输出,操作臂各关节电机的脉冲分别由 PWM1 、PWM3 、PWM5 和 T1PWM 输出。改变写入周期寄存器的值,便可改变脉冲频率,从而方便的实现电机的加减速控制。从 DSP 的通用 I/O 口输出的高低电平可控制各电机的转动方向。

截图3.jpg

3 主从处理器通信
该防爆机器人控制器采用主从 DSP 处理器控制,主从DSP通过串口外设接口(SPI)通信。如图4 所示。SPI是一个高速、同步串行I/O口,它允许长度可编程的串行位流(1~16位)以可编程的位传输速度移入或移出器件。SPI 支持主从操作多处理器通信。

主从 DSP 之间的 SPI串行通信,硬件连接只需4根引脚线就可以实现数据传送,SPISOMI(从动输出 / 主动输入引脚)、SPISIMO(从动输入 / 主动输出引脚)、/SPISTE(从动发送使能引脚)、SPICLK(串行时钟引脚)。SPI实际上是一种串行总线标准,与 SCI串行异步通信有相似的地方也有不同之处。相同之处在于它们都是串行的信息交换,不同的是 SCI是一种异步方式,两台设备有各自的串行通信时钟,在相同的波特率和数据格式下达到同步,而 SPI是一种真正的同步方式,两台设备在同一个时钟下工作,它的传输速率远远高于SCI。

主 DSP 将时钟信号传送到从 DSP 的 SPICLK 管脚上,这就保证了两个 DSP真正在同一个时钟下工作,因此它的串行数据交换不需要增加起始位、停止位等用于同步的格式位。/SPISTE引脚作为SPI从DSP的片选引脚,在接收主 DSP的数据前把/SPISTE引脚置低,接受完数据后引脚置高。主 DSP通过输出 SPICLK 信号来启动数据传送,直接将要传送的信息(1~16 位的可编程串行位流)写入到主 DSP的 SPI 发送数据寄存器 SPITXBUF,然后在同步时钟 SPICLK 的节拍下把SPITXBUF 的内容一位一位地从引脚 SPISOMI 移到从 DSP 的移位寄存器SPIDAT,当 SPIDAT 的内容移位完毕,将置一个中断标志 SPI INT FLAG,通知主 DSP 这个信息块已发送完毕。对于从DSP,同样在同步时钟 SPICLK的节拍下将出现在引脚 SPISIMO上的数据一位一位地移到从DSP 的移位寄存器SPIDAT,当一个完整的信息块接收完成后,将置一个中断标志,通知从DSP这个信息块已接受完毕。

SPI 波特率设置寄存器 SPIBRR 定义了 SPI的波特率,SPI 的时钟信号频率不能大于系统 CPU 时钟(SYSCLK)的四分之一,SPI 波特率 =SYSCLK/(SPIBRR+1),该系统时钟频率SYSCLK=40MHz,要求 SPI 波特率为 8MHz,,经过计算,SPIBRR=4H。

4 结束语
本控制器采用武汉艾崴双DSP主从方式控制防爆机器人,通过SPI总线方式交换主CPU和从 CPU的数据,传输速度高,可靠性好,而且控制器具有其体积小、操作方便、工作可靠、抗干扰能力强等优点。同时控制器采用模块化设计方案,使其开放性得到进一步增强,可根据系统需求增加或减少功能模块,方便的实现对机器人的控制。
 

我们对世界的认知,始于睁开眼睛的那一刻

武汉艾崴科技有限公司