#66#计算机测量与控制.2011.19(1) Computer Measurement &Control控制技术收稿日期:2010-05-14; 修回日期:2010-06-24。
作者简介:周永龙(1986-),男,河南灵宝人,硕士研究生,主要从事电路与系统,数字伺服方向的研究。
文章编号:1671-4598(2011)01-0066-03 中图分类号:T P273文献标识码:A基于STM32的数字舵机控制系统的设计周永龙1,雷金奎2(11西北工业大学电子信息学院,陕西西安 710072;21西北工业大学第365研究所,陕西西安 710065)摘要:针对无人机舵机控制系统对位置伺服的实时性和可靠性的要求,首次提出了以S TM 32为微控制器的新型数字控制系统;硬件部分给出了系统硬件结构图,并简要介绍了主控制芯片和硬件电路结构,为了提高系统数据传输的可靠性,引入CAN 总线传输方式;在软件部分,首先简要介绍了ST M 32的标准外设固件库函数,然后介绍了三闭环数字调节算法的实现和中断任务;另外,搭建了无人机数字舵机数字控制系统的仿真模型,通过仿真研究验证了控制策略的可行性。
关键词:无人机;ST M 32;三闭环伺服调节;舵机Design of STM32-Based Digital Actuator Controlling SystemZho u Yonglong 1,Lei Jinkui2(11No rthw ester n Polytechnical U niver sity ,Xi p an 710072,China;21R esear ch Institute N o 1365,N o rthwester n P olytechnical U niver sity,Xi p an 710065,China)Abstract:In view of th e position -s ervo real-timin g and reliability r equiremen ts to th e u nman ned aerial vehicle actu ator contr olling system ,for th e fir st time a novel digital actuator con tr olling s ystem is pu t forw ard based on S TM 32micr o-controller.In the hardw are part th e structu ral graph of the system hardw are is brough t forw ard,and the micro-controller and the hardw are circuit is br iefly introduced.To im prove the reliab ility of data tran smis sion,C AN bu s is u sed.In th e softw are part,S TM 32standard peripherals firmw are library is b riefly in trodu ced at first.Then the arith metic implement of th e th ree closed loop digital modulation and th e interruption tas k is mainly recommen -ded.In addition the emulation m od el of the unm ann ed aerial vehicle digital actuator controlling s ystem is built,and the s ystem performance is validated.Key words :U AV;ST M 32;thr ee closed-loop control strategy;actuator0 引言舵机控制系统是无人机控制系统的重要部分,其性能好坏直接决定了无人机的性能。
随着国防军事的发展,人们对无人机的性能要求也越来越高。
本文研究的目的就在于设计新型数字舵机控制系统,以满足无人机舵机控制系统的快速性﹑精确性和稳定性等指标。
该数字舵机控制系统是以微控制器ST M 32F 103R 为主控制单元,外围电路包括信号调制电路,信号采集电路和换向控制电路。
该系统接收由上位机发出的位置指令,驱动舵机转动,从而实现了对无人机飞行的准确控制。
1 系统组成框图舵机控制系统是无人机控制系统的重要组成部分。
系统使用ST M 32系列微控制器作为主控制芯片,完成数字舵机控制系统的设计和实现。
系统的飞行控制指令由飞控计算机提供,通过数据接口接入航机控制器。
航机控制器依据最新的位置指令与反馈信息,产生舵机飞行的控制信息。
航机控制器有数据接口模块、中央控制单元模块、电机的逻辑换向模块及隔离与功率驱动模块。
中央控制单元完成数字调节,逻辑单元接收电机位置信息和换向信息,产生新的换向信号,并由隔离与驱动模块完成该信号的隔离与放大。
驱动电机通过减速器带动舵面发生偏转。
电机的速度信息与舵面的位置反馈信息通过传感器输入到航机控制器。
系统组成框图如图1所示。
图1 系统组成框图2 基于微控制器STM32F103R 的硬件描述211 微控制器STM32F 103RST M 32F10X 系列微控制器使用灵活而丰富的电源控制策略,为内部的各个模块提供工作电压。
各个模块时钟频率可以软件配置。
该控制器内嵌了丰富的外设功能模块。
该系列控制器中有4个定时控制器,可以工作在编码模式和PWM 模式,对于电机控制很有用处。
212 硬件设计系统硬件主要包括主控制器﹑接口部分﹑逻辑换向部分﹑信号反馈部分和驱动部分。
(1)接口部分该系统使用CAN 总线接口,接受位置指令。
由于ST M 32系列微控制器内嵌CA N 模块控制器,所以使用CAN 总线传输数据时,非常方便。
外部接口只需要外接一个CA N 总线收第1期周永龙,等:基于ST M32的数字舵机控制系统的设计 #67#发模块。
接口电路可以直接挂接到CA N 总线[1],接收上位机位置指令。
(2)换向部分该系统使用可编程逻辑器件完成电机换向的控制。
输入信号包括电机反馈的三相霍尔信号﹑方向信号和占空比信号,输出为六相PW M 控制信号。
可编程逻辑器件的时钟信号由主控制器的主时钟输出引脚提供。
本系统使用可编程逻辑器件,完成换向策略,从而避免了使用微控制器实现逻辑换向过程的复杂性。
(3)反馈部分由于本设计采用三闭环数字调节,反馈量包括位置反馈,速度反馈和电流反馈。
位置反馈过程对实际舵面偏转量进行反馈和信号调制,然后输入到主控制器的模数转换接口。
电流反馈部分使用流压转换器件将驱动电流转换为电压信号,调制之后输入到主控制器的A D 转换接口。
速度反馈利用光电编码接收器件,将正交编码信号输入到主控制器的定时控制器,使用主控制器编码模式计算速度反馈[2]。
(4)驱动部分系统使用的驱动电压为28V ,远大于控制电路部分的5V 和313V 电压。
因此,必须使用隔离元件进行隔离,将PWM 电压控制信号隔离放大之后输入到驱动芯片的输入端,驱动芯片输出三相交流驱动电流,驱动电机转动。
系统采用三相无刷直流电机星型连接全桥驱动方式,输入为6路PWM 信号,产生A,B,C 三相输出,驱动电机旋转[3]。
驱动电路图如图2所示。
图2 驱动电路3 系统软件描述本系统软件是基于EWA RM 的开发平台,使用了ST M 32F10X 标准外设固件库函数开发。
该系统软件设计包括系统初始化、中断程序设计和主程序设计。
初始化程序设计包括工作时钟设置,CAN 接口初始化,A D 转换接口初始化。
中断程序设计包括由CA N 接口接受数据,和驱动芯片异常情况处理。
主程序是一个无限循环程序,它不断检测是否有新的数据输入,或者有中断信号产生。
然后停止检测,并完成处理。
完成处理后跳回主循环继续检测。
CAN 中断程序包括接受新的位置指令[4]。
主程序包括从AD 转换接口接收反馈信号,并完成三环PID 调节,输出PW M 占空比信号。
311 STM 32F 10X 标准外设固件库函数的应用ST M 32F10X 标准外设固件库函数基于32位AR M 微控制器ST M 32F101xx 与ST M 32F103x x ,包括了微控制器所有外设的性能特征,覆盖了外设所有功能,可以很方便实现各种应用。
软件要做的工作包括以下几个方面:(1)stm32f10x _conf 1h 参数设置文件,起到应用和库之间界面的作用。
在这个文件中,设置使能AD 转换和CA N 控制器模块,并且设置H SI 时钟频率为8000000H z 。
(2)stm32f10x _it 1c 中断设置文件,在硬件异常中断H ardFaultExcept ion ()中添加硬件保护措施,在CAN 接收中断U SB _L P _CAN _RX0_IR QH andler ()中添加接收超时处理。
(3)主程序ma in ()函数。
在这个函数中CA N ﹑DM A 和AD 等模块的时钟配置;配置端口模式;配置A D 模块的工作模式;在主循环中进行数字调节,产生新的电压占空比信号,并且存储最新的反馈信息。
主程序如下:int main(void){**RCC_Configu ration();NVIC_Configuration();GPIO_Configuration ();DM A_DeIn it(DM A_Channel1);**DM A_Init(DM A_Channel1,&DM A_InitStructu re);DM A_Cmd(DM A_Chan nel1,ENABLE);**ADC_In it(ADC1,&ADC_InitS tru cture);ADC_DM ACmd(ADC1,ENABLE);ADC_Cmd(ADC1,ENABLE);w hile (1){*****三环数字调节*****}}312 软件流程该系统的主要功能是接收位置指令,并使用传感器得到位置﹑速度和电流的反馈信息,计算得到新的驱动电压波形。
其流程图如图3所示。
图3 软件流程图4 控制系统仿真与建模本系统采用matlab 作为仿真工具在simulink 环境下搭建舵机模块。
系统建模的指导思想是对该系统的各个部分进行建模,包括无刷电机模块、直流电源模块、M OSF ET 功率开关器件模块、换向逻辑模块、减速器模块和三闭环调节模块。