基于DSP的双足机器人运动控制系统电路设计
选用TPS767D318电源转换芯片将5 V转换成1.8 V和3.3 V。该芯片专门针对DSP设备提供稳压电源,为双电源输出,每路电源的最大输出电流为1 A,此外该芯片的电压漂移非常低,在最大输出电流为1 A的情况下为350 mV,每路输出还有过热保护、复位和监控输出电压等功能,能满足系统对电源性能的要求。
系统特别留有JTAG接口电路,使控制器可以通过TDS510仿真器连接到计算机,其仿真信号采用JTAG标准IEEEll49.1,使用双列14脚的插座,并将DSP上的EMU0和EMU1上拉连接至Vcc。
TMS320F2812自身集成CAN总线的控制模块,所以在外围电路中加入CAN总线收发器SN65HVD251D即可实现DSP与CAN总线的通信功能。为了确保在CAN总线传输信号的完整性,设计时在CAN总线的两根传输线之间加上150 Ω的电阻进行阻抗匹配,可以提高CAN总线传输信号的精度。
利用XINTF的区域O和区域1扩展一块存储容量为(64K×16)b的RAM存储器IS61LV6416-10T。其数据存取时间为10 ns,能满足高速运行的需要,工作电压为3.3 V,与DSP工作电压一致,无需电平转换电路。
此外,DSP控制系统中的I/0端口电压绝大部分为3.3 V,而外部信号一般为5 V,因此需要将外部5 V信号转换为符合DSP芯片要求的3.3 V信号,系统使用总线驱动器74LVX4245进行电平转换。
电机驱动电路采用全桥驱动三相无刷直流电机的控制方式,由于要独立控制5个电机,系统需按照前面的原理由DSP事件管理器生成PWM,并用其波形占空比给出转速信息,该信息结合转向、制动等信号通过控制电路转换后进行电机的调速,这里使用三相无刷直流电机控制器MC33035。驱动电机时,MC33035的输出信号施加到三相桥功率电路MPM3003上,决定功率开关器件开关频度及换流器换相时机,使其产生出供电机正常运行所需的三相方波,根据速度电压MC33035可改变底部半桥输出脉冲宽度,相当于改变供给绕组的平均电压,从而控制转速。
4 软件设计
运动控制系统软件设计的关键是接收到主控计算机传来的运动控制指令后,电机是否能够达到要求的速度和角度,考虑到整个系统运行过程中不可避免的误差,特别引入补偿算法,实现速度和位置双闭环PID控制,其具体的控制流程如图4所示。
主控计算机根据步态规划的数据,发出运动指令,生成下一个运动周期各个电机的转动方向和角度等控制参数,运动控制器接收到新的数据之后,PWM控制根据数据计算出占空比信息并生成相应的PWM波,进而控制电机转动,随后将电机光电编码器传送回的信号转换成关节位置和速度等信息,补偿控制针对速度和位置误差采用PID算法进行调节,计算需要的执行量,调整PWM波形,在每一个运动周期内使电机达到指定的速度,并使运动中的关节电机能够克服机器人重力和外力的影响,保持在设定的角度。图5是CCS仿真调试时,程序运行后在指定的摆动角度下监控到的单关节电机速度跟踪曲线,其响应时间和稳定性基本满足双足步行的要求。
5 结语
介绍了一种基于DSP的无刷直流电机运动控制系统,在控制方案的具体实现过程中,根据机器人腿部系统的自身特点,将控制器围绕DSP处理和电机控制电路来分别设计,这样既方便设计和调试,又增强了系统的灵活性和扩展性。电机驱动采用速度和位置双闭环控制,保证运转精度。经测试,系统基本满足运动控制的要求,为双足步行规划提供了试验平台。
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)