微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于MSP430的舵机控制系统设计

基于MSP430的舵机控制系统设计

时间:11-11 来源:互联网 点击:
嵌入式开发环境中实现,主要包括系统初始化模块、定时处理模块和串口中断处理模块。其中,初始化模块主要包括系统时钟、端口、定时器等的初始化;定时处理模块主要是利用定时器A的计数定时功能来实现看门狗清零、PWM输出及系统检测等功能,采用类似于嵌入式实时操作系统的时间片轮转任务调度方式;串口中断处理模块用来接收飞控计算机发送的协议帧,并进行相应的处理。
3.3串口通信
串口通信模块采用中断方式接收控计算机按照协议格式发来的控制信号,然后将数据存人预先定义好的16字节的数组,由解锁封锁模块提取出各舵机通道的指令控制量。数据格式为8位数据位,1位停止位,无校验位,波特率要求为19200 bps。需要注意的是,由于利用32. 768 kHz的低频晶振无法达到飞控计算机要求的19200 bps波特率,故串口初始化程序中采用3 579 MHz的高频晶振,通过设置UOBRO、UOBRI、UMCTLO三个寄存器的值分别为OxBA、Ox00、Ox90来实现19200 bps的波特率。一旦串口接收到数据时,就会进入串口中断服务程序,中断接收流程如图7所示。

需要说明的是,传统的舵机控制系统在接收到指令后仅进行PWM信号的解算,而未考虑到实际调试过程中可能出现的问题。出于全面性考虑,本系统采用“帧封装”设计。所谓“封帧”就是串口每接收到一帧数据就按照通信帧协议将数据打包,返送回飞控计算机或调试用的上位机,主要是为方便系统调试以判断串口通信正常与否;所谓“解帧”就是在保证接收到的通信帧数据完整的前提下,完成协议帧到PWM信号的解算。
4实验
4.1通信测试
为方便调试,采用PC机上的“串口调试助手V2. 2”模拟无人机飞控计算机通过RS422串口遵照帧协议每隔1秒定时向舵机控制系统发送指令,根据前面所述的封帧模块,舵机控制系统会将接收
基于MSP430的舵机控制系统设计张建鹏,等到的数据按照帧协议打包发送给飞控计算机,作为响应。测试界面如图8所示,图中反馈信息显示在接收字符区,而控制命令显示在发送字符区,系统响应及时,实时性强,而且不存在数据丢失或误码现象。

4.2波形稳定性测试
图9未利用波器测得一路PWM输出波形可以看出世纪输出地PWM波形稳定,杂波极少,复合系统预设要求。

4.3波形跟踪精度测试
利用自制的舵机测试软件对某一通道进行正弦跟踪拟合后的曲线如图10所示,其中横坐标代表时间(测试频率取0.1 Hz),纵坐标代表角度,绿色曲线代表舵机的理论偏转角,黄色曲线代表舵机的实际偏转角,红色曲线代表误差,经实际测算,误差熊有效控制在百分之零点一之内,跟踪性能良好。

5结语
本系统的优点有:1)基于分布式策略思想设计舵机控制系统,有利于飞控系统的扩展与升级。2)串口通信采用“帧封装”设计,增加了嵌入式系统“黑匣子”的透明度,极其方便调试。3)克服了传统通信协议每帧指令控制一路舵机的缺陷,本系统每帧数据同时控制六路舵机,极大的提高了通信效率。4)软件设计基于时间片轮转调度思想,提高了代码执行效率,使得系统的实时性显著增强。5)产生的PWM信号稳定,精度高,电机的抖动和互扰现象明显减弱,非常有利于无人机在高空执行任努。
经过调试,该硬件平台各项功能均达到设计目的,经多次试飞,稳定可靠,完全满足要求,同时表明该方案是一种适用于小型无人机的经济可靠的方案。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top