打印

基于DSP的运动姿态控制系统设计

[复制链接]
691|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FCCdsp|  楼主 | 2016-5-17 12:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
随着现代社会的发展和科学技术的进步,各种各样的监控摄像装置被广泛应用于社会的诸多方面,为了实现全方位准确监控摄像,很多摄像头都配备了运动姿态控制系统(简称云台)。某实时图像采集系统是通过二自由度云台来控制与模拟摄像头在空中运动姿态(偏航、俯仰)的。云台是一种安装、固定摄像装置的支撑设备,用于摄像装置与支撑物的联结,是一种可实现摄像头在水平方向(偏航 )上360°、垂直方向(俯仰 )上90°旋转和精确定位的机械依托装置。


            目前大多数的云台采用单片机加步进电机的控制方案。随着时代发展和技术更新,云台的运动控制器朝着高精度、高性能、网络化、系统芯片化的方向发展,这就要求系统具有可扩展性、软件和硬件都是开放的,硬件开放以满足新装置同控制器通信,软件开放则确保功能所需要的控制策略和控制方法得以实现。因此,将用于控制系统的外设、大容量的片上存储器集成在单一的芯片上,可以实时地执行一些高精度的复杂控制算法,减少传感器采样信号到控制命令输出之间的延时,改善控制中的动态行为,片上具有的通讯机制可以更容易地实现与其他模块的信息交互等。

               基于上述因素以及出于对系统成本方面的考虑,本文采用DSP作为云台控制部分的主芯片,选用两相混合式步进电机作为云台的执行机构,硬件采用控制驱动一体化的设计。加载摄像头的云台如图1所示。
图1 云台示意图

系统硬件设计
          云台的运动控制核心部分采用数字信号处理器芯片DSP,该芯片主要负责偏航和俯仰两个自由度上的电机的运动控制以及与上位机的通信。
           上位机通过串行通信将运动控制指令发送至DSP,在DSP中会校验上位机发送的控制指令数据的完整性,当确认信息无误时响应上位机的指令,通过光耦进行电平转换后,把运动控制信号传送给电机驱动芯片,当驱动芯片接收到脉冲信号后,驱动步进电机按设定的方向转动一个固定的角度,它的旋转是按照固定的角度一步步运行的。
为了达到精确定位的目的,我们可以通过控制脉冲个数来控制角位移量;同时,还可以通过控制脉冲频率来控制电机转动的速度和加速度以达到调速的目的,从而保证了伺服电机能够准确地按照上位机的指令运动。另外,在偏航和俯仰两个自由度方向上均安装了限位开关,不仅可以防止云台失控后的随意运动,而且在开机复位时可以保证云台复位的精准度。二自由度云台运动控制部分结构设计如图2所示。
图2 云台运动控制部分结构设计图
DSP的选型
              DSP是二自由度云台的核心部件。它在软件的配合下实现对键盘所输入信息的识别;根据输入的信息向云台的步进电机发出指令,使其实现偏航和俯仰姿态、运动速度以及程序控制等功能。在该系统中,我们选用的DSP芯片是TI公司C240X系列专用的电机控制芯片TMS320LF2407型DSP,它具有如下特征:

①采用高性能静态CMOS技术,使得供电电压降为3.3V,减小了控制器的功耗;40MIPS的执行速度使得指令周期缩短到25ns,从而提高了控制器的实时控制功能。

②片内有高达32K字的FLASH程序存储器,高达1.5K字的数据程序RAM,544字双口(DARAM)和2K字的单口RAM(SARAM)。可扩展外部存储器总共192K字空间:64K字程序存储空间,64K字数据存储空间,64K字I/O寻址空间。
③看门狗定时器模块(WDT):可用来监控系统软件和硬件的操作,它可以按照用户设定的时间间隔产生中断,如果软件执行进入一个不正确的循环或者CPU运行出现异常时,该模块可以实现系统复位,使系统进入预定状态。
④串行通信接口(SCI)模块:用于实现DSP与其他异步外设之间的串行通信,其接收器和发送器都是双缓冲的。
⑤1149.1-1990 IEEE标准的JTAG仿真接口,能够实时在线仿真。
⑥两个事件管理器模块EVA(偏航 )和EVB(俯仰 ),每个包括:两个16位通用定时器;8个16位的脉宽调制(PWM)通道。
该芯片专用于电机的运动控制,优点突出,价格相对低廉,非常适用于该云台系统。

步进电机的选型

       步进电机主要是负责实现云台上面的摄像头在 (偏航)和 (俯仰)二自由度运动姿态的模拟,是云台系统的重要执行部件。系统是通过控制脉冲个数来控制角位移量,每输入一个脉冲时,电机转轴就步进一个步距角增量;而且,系统还通过控制发送脉冲的频率来控制电机转动的速度和加速度。步进电机在没有通电时,定子锁住转子的力矩比较小,为防止云台在俯仰方向上滑落,需要增大力矩,本设计选用自带减速箱的步进电机。在设计过程中,我们增加了一个脱机控制键,是为了在系统出现故障或调试时将两台电机置于脱机状态,并且便于进行手动调节步进电机。
云台驱动电路设计
          步进电机在该二自由度云台中具有控制方便、无累计误差和可以精确控制等优点,但是由于步进电机步距角较大,且易于产生较大的跳动,尤其在低速情况下,系统的平稳性差,很难满足精确定位的要求。因此,本设计采用对步进电机进行步距角细分的方法,减小步进电机的步距角,提高步进分辨率,增强电机运行的平稳性,从而提高摄像机云台定位的准确度。
所谓细分控制又称为微步进控制,是通过改变驱动电路的控制方式将原来步进电机的一步进行细化,分为N细步走完,即当有脉冲输入时,绕组中的电流不是一次升到幅值,而是分为N个阶级,逐个阶级地升到幅值。这样,每输入一个脉冲,步进电机运行原步距的1/N,提高了旋转的精度;细分的步数越多,则控制的精度越高,绕组内的电流波形越近似于正弦波,且步进电机的转子运行越平稳。
        本系统采用ALLEGRO公司的两相步进电机专用细分驱动芯片A3977。A3977外围电路如图3所示。该芯片内部特殊的译码电路简化了电机的控制。只需要“DIR”,“STEP”,“ENABLE”三路信号就能够完成最简单的步进,通过改变“MS1”,“MS2”引脚的高低电平组合就可以工作在不同的细分状态,最多可细分到1/8微步,完全满足云台高精度的要求。
图3 A3977外围电路图

电源及串口通讯设计
       该二自由度云台采用数字供电系统和模拟供电系统分开的方式供电,避免模、数混合电路,数字地和模拟地的相互干扰性,使系统能够平稳运行。为了在稳压过程中减小能量功耗,该系统采用两级转化。首先,用DC/DC稳压模块将各个系统的工作电压进行转化以及把数字地和模拟地完全分离来减小模拟地的干扰;其次,利用稳压芯片来转化电压并供给模拟器件。
由于该二自由度云台对实时性要求非常高,因此云台采用RS-232的标准串口通讯模式。DSP的串口是CMOS电平,因此需设计电平转换电路将CMOS电平转换成为RS-232电平。本设计选用TI公司的MAX232芯片来实现电平转换,其优点是接口电路简单方便,只需“发送”、“接收”和地三路信号即可实现与上位机通信。串口通讯电路如图4所示。光隔6N137适宜用来做逻辑电平转换,其上升下降时间约为50ns,另外,连接在DB9接口上的电缆可将数据发送到上位机的主控制单元。

图4 RS232通讯电路图

系统抗干扰设计
        在运动姿态控制系统(云台)设计过程中,我们还必须注重系统抗干扰的设计。该系统所用的抗干扰技术主要有:①光电隔离。在输入输出通道上通过光耦合器件传输信息可以将DSP系统与各种传感器、开关、执行机构从电气上隔离开来。②双绞线传输和终端阻抗匹配。利用双绞线进行长线传输数字信号。在发送和接收信号端必须有末端电阻,双绞线应该阻抗匹配。③硬件滤波。利用低通滤波器来削弱各类高频干扰信号。④良好的接地。接地系统要设计合理,并且系统的数字地和模拟地必须分开。⑤屏蔽。系统中的高频电源、交流电源和超声传感器都能产生电磁波,因此,需用金属外壳将器件包围起来,再将金属外壳接地。
系统软件设计
          运动姿态控制系统(云台)采用C语言和汇编语言混合编程的方式来实现系统软件开发,开发环境采用TL公司提供的CCS集成开发环境。系统软件主程序流程如图5所示。

图5 系统软件主程序流程图

           二自由度云台的功能包括开机自检复位功能、定位功能、自动扫描功能和调速功能。云台各项功能实现过程与机理表述如下:
①开机自检复位功能。开机自检复位功能(以偏航方向为例)的实现流程如图6所示。云台上电,内部DSP芯片初始化完成后,首先运行复位程序。复位程序单独编写成一个复位函数,当两个极限限位开关的位置固定后,云台从一个极限限位开关处旋转到另一个极限限位开关处所需输入的脉冲数N是固定的,根据系统设计的实际情况发送N/2个脉冲,云台就会停止在两个极限限位开关的中间位置。由于步进电机没有累积误差,低速运行时不会产生失步,因此每次二自由度云台完成自检复位后,云台都会停止在同样的位置。在该系统中,我们采用查询I/O口电平的变化来检测云台是否碰撞到限位开关。将限位开关的触点连接到DSP的I/O口,此时DSP接收到I/O口的输入为低电平,当云台碰撞到限位开关时,该I/O口的输入变为高电平,这表示云台已经旋转到某一方向的最大位置。在复位函数中,通过循环查询DSP的不同I/O口高低电平的变化,判断云台碰撞到的是偏航左侧还是偏航右侧的限位开关。

图6 开机自检复位功能流程图

②云台定位功能。在定位模式状态下,将云台预设的旋转角度和速度经过系统计算之后折算为步进电机运行的步数和脉冲发送的频率,再通过串口发送至DSP中,则云台就可按照既定的速度运行,当电机运行实际步数等于预先设定的运行步数时,停止系统脉冲的发送,即可实现云台的精确定位功能。若系统将A3977调整为1/8微步工作模式,则每输入一个脉冲,步进电机仅旋转步距角1.8度的八分之一,云台定位精度可达到0.225°。

       为了验证二自由度云台定位的精确性,我们设计了论证实验:将光电编码器与步进电机同轴相连,把编码器的信号反馈至DSP中,将其与云台预先设定的旋转角度作比较,通过预先设定的旋转角度与系统实际旋转的角度的误差来判断云台定位的精确性。实验选用两相输出的绝对式光电编码器,精度为360线,即编码器旋转一圈输出360个脉冲。该系统的DSP中有专门的编码器脉冲接收电路,并且在其内部将接收的脉冲四倍频,即绝对式光电编码器发送一个脉冲,定时器计数四次。在0~180度的区间内,云台运行速度为45度/秒时的实验结果见表1。
表1 预先设定条件下云台定位实验结果

由表1的数据可知:该云台定位精度高,云台在其速度范围内运行时,实际旋转的角度与预先设定的旋转角度的误差在-0.25°~0.25°范围内。
③自动扫描功能。在自动扫描功能模式下,云台每次旋转碰撞到限位开关时,不会断掉使能信号,仅仅改变运动方向,因此,云台能在最大运动范围内以任意可达到的速度来实现自动扫描功能。
④云台调速功能。二自由度云台的脉冲频率由DSP的定时器控制,每产生一次定时中断,就将发送脉冲的I/O口的电平翻转一次,步进电机接收到由低到高的脉冲信号时会产生一次步进,故脉冲的发送周期就是定时器中断周期的两倍;系统在设计时采用了延时的方式来改变发送脉冲的频率,改变定时器延时常数就可以调整云台系统的运行速度。
结束语
          随着计算机技术、网络技术、图像处理和传输技术以及运动控制技术日新月异的发展和进步,运动姿态控制系统(云台)应用领域逐渐扩大,其作用显得越来越重要。本文基于DSP设计了一种运动姿态控制系统,该系统具有体积小、结构简单、定位准确和价格低廉等特点,应用前景广阔。

相关帖子

沙发
Sode| | 2016-5-17 13:52 | 只看该作者
采用DSP作为云台控制部分的主芯片,来控制步进电动机,应用前景还是很美好的。

使用特权

评论回复
板凳
smilingangel| | 2016-5-17 23:06 | 只看该作者
云台采用单片机加步进电机的控制,这个是最常见的方案的。

使用特权

评论回复
地板
threetigher| | 2016-6-26 11:31 | 只看该作者
smilingangel 发表于 2016-5-17 23:06
云台采用单片机加步进电机的控制,这个是最常见的方案的。

既然上了dsp,完全可以用dsp来控制步进电机,为了降低成本,没必要使用专用步进驱动芯片吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

967

主题

1447

帖子

9

粉丝