1076计算机测量与控制.2010.18(5) Computer Measurement &Control控制技术收稿日期:2009-09-27; 修回日期:2009-11-09。
作者简介:杨百平(1982-),男,陕西人,在读研究生,主要从事电路系统与自动控制方向的研究。
杨金孝(1964-),男,陕西人,副教授,主要从事电子电路的研究与设计、控制理论与控制工程方向的研究。
文章编号:1671-4598(2010)05-1076-03 中图分类号:T P274 5文献标识码:A无人机舵机控制系统的硬件设计与实现杨百平,杨金孝,赵 强(西北工业大学电子信息学院,陕西西安 710129)摘要:给出了一种基于ST M 32F103VB 微控制器的无人机全数字舵机控制系统硬件实现方案,该方案以STM 32F103VB 作为主控芯片,无刷直流电机作为该系统的伺服电机,采用三闭环的控制策略,实现了脉宽调制(PWM )控制信号的采样和输出,通过采样PW M 信号实现舵机的控制,针对无人机对数据传输实时性的要求,利用CAN 总线与上位机通讯,很好地满足了要求;该系统具有成本低廉、安全可靠且实现容易的特点,实现了舵机控制系统的数字化与小型化;经多次试验,证明是安全实用的。
关键词:S TM 32F103VB 微控制器;无人机;伺服;电动舵机Hardware Design and Implementation for a S ervo System of UAV RudderYang Baiping ,Yang Jinxiao,Zhao Qiang(Colleg e of Electr onics and Infor mat ion,No rthw ester n P olytechnical U niver sity,Xi an 710129,China)Abstract:A set of fu lly-digital-signal ser vo system bas ed on S TM 32F103VB for UAV electrom echanical rudder is in tr odu ced in th is paper.It takes S TM 32F103VB as the master control unit and bru shless DC m otor as its drive.T his project uses the digital th ree clos ed-loop control strategy,sampled and gen erated puls e width modulation w ave,through sampling one of th e PW M w aves to realize control tran sfer,in view of U AV to data transmis sion tim elin es s r equest,com municated w ith upper sys tem by CAN bu s.It featu red low cos t,s afe,easy to realize,made it smaller and digital,and w as testified that the sy stem is ap plicable and safety.Key words :S TM 32F103VB M CU;UAV;servo;electr om ech anical rudder0 引言舵机控制系统是飞行控制计算机和舵机之间的接口,它采集接收机多路PW M 信号,与上位机进行通讯,产生控制舵机的PW M 信号,是舵机系统的核心部分。
现有的舵机伺服控制线路大部分还都是模拟的,因其固有的一些缺点而限制了它的使用,相比之下,数字舵机系统具有很多模拟式舵机所没有的优点。
本文给出了一种基于ST M 32F103VB 微控制器的无人飞行器舵机伺服控制系统,具有高性能、低功耗、低成本、安全可靠和实现容易的特点,可在线编程并成功应用于实践。
1 系统综述舵机主要是由无刷电机、舵机控制器、舵机机械结构和传感器4部分组成。
其中舵机控制器又包括:数据接口部分、中央控制单元、逻辑单元、隔离放大部分与功率驱动模块。
一般舵机的工作过程如下:首先由上位机给出一舵偏角指令,舵机控制器接受该指令后与检测得到的实际舵面偏转角送入舵面位置调节单元从而得到参考P WM 占空比A;然后测量实际转速,当速度大于预设值时输出一给定PW M 占空比B;最后检测实际电流,当电流大于电流预设值时,输出另一给定的PWM 占空比C [1]。
无刷直流电机中的H A LL 传感器检测转子位置,产生H A ,H B,H C 三相霍尔信号,H A 、HB、H C 、和ST M 32输出的P WM 波和电机换相信号逻辑综合得到6路电机控制信号驱动电机转动[2]。
电机输出轴连接精密减速器和各种传感器,减速器输出驱动舵面。
系统实现图如图1所示。
图1 系统组成结构图2 舵机控制器的硬件组成舵机控制器的硬件由图2中框线部分组成,该控制器以ST M 32F103V B 为核心。
整个系统的硬件设计主要由ST M 32F103V B 工作电路、可编程逻辑电路、隔离及驱动电路、检测信号处理电路、A D 转换电路、数据接口电路及温度检测电路等部分组成。
在系统中ST M 32F103V B 通过其自身的CA N 总线控制器与上位机进行数据传输,并使用自身集成的A D 转换器和内置通用定时器实时监测舵机位置、转速和电流等参数。
控制器根据内置的控制算法进行位置环、速度环和电流环计算,并产生控制数据,控制数据通过转换算法产生控制量(PW M 信号和DI R 信号),控制量进入逻辑阵列CPL D 与无刷电机位置传感器信号(H A L L 信号)进行逻辑综合后,输出6路电机控制信号。
电机控制信号经隔离电路后控制电机功率驱动模块进行功率放大,驱动无刷电机运行。
2 1 主控芯片STM32F 103VB [3]ST M 32F103VB 是意法半导体(ST )公司推出的基于A RM 32位CORT EX -M 3CPU ,是目前性能比较突出的微处理器之一,其增强型系列特别适合做电机控制。
它的主要特点如下:第3期杨百平,等:无人机舵机控制系统的硬件设计与实现1077图2 舵机控制系统硬件组成图(1)内核。
基于ARM 的32位CO RT EX -M 3的M CU 最高工作频率72M H z,1 25DM I PS/M H z;(2)片上集成了128kB 的Flash 存储器,20kB 的SRA M 存储器,方便自启动,无需外部扩展,从而大大减少了控制系统的尺寸;(3)内带U A RT 、SPI,以及增强型CA N 总线结口,方便与不同上位机协议通信的硬件设计,本系统将采集好的数据通过CAN 上传给上位机;(4)内含丰富的中断源,能够及时处理各种突发事件,提高了系统的可靠性;(5)一个高级控制定时器,带死区产生,用来产生6路PWM 输出;3个通用定时器,可配置为不同的模式,检测电机的速度和位置;(6)双ADC 结构允许双通道采样/保持,以实现12位精度,1 s 的转化。
此双ADC 结构为2个工作在非连续模式的独立的时序控制,具有多个触发源,并且每个通道的采样时间可编程。
ST M 32F103VB 为整个控制系统的核心,它主要担负了电流反馈、位置反馈以及位置给定的采样和控制算法的实现,电机控制信号的产生以及各种监控功能等任务。
在ST M 32F103VB 中,将高级控制定时器配置为P WM 模式,通过改变高级控制定时器的T IM 1_A RR 寄存器和T IM _CCRX 寄存器的值,变换PW M 方波信号的周期和占空比。
当故障发生时ST M 32通过软件及时关闭PW M 的输出直至故障消失。
2 2 无刷电机换向电路设计通过检测无刷电机转子位置信号来决定逆变桥的通断情况,转子的位置信息由安装在定子上的霍尔组件输出的H A 、HB 和H C 三相信号获得,H A 、H B 、H C 和电机运行方向信号按照特定的逻辑组合,决定电机三相绕组的导通顺序。
本课题采用一片可编程逻辑器件A LT ER A 的M A XII 系列的EPM 240,该器件具有功耗低、简单易用及在线可编程等特点,在其中编程实现电子开关和切换控制电路,使得ST M 32只用一路占空比可调的PW M 波就能控制电机的转速,这样大大节省了CPU 的开销,使得ST M 32将更多的时间分配在系统控制算法的开销上,提高了控制的精度[4]。
输入信号为电机定子输出的三相霍尔信号和ST M 32输出的载波信号PWM 及电机运行方向信号DIR 经过逻辑运算产生换向信号P WM 1~PWM 6,从而正确地控制功率场效应管的导通次序。
为了消除输出信号产生的毛刺,在输出到舵机的端口加入一个470 电阻和47pF 电容组成的滤波电路。
2 3 功率驱动电路的设计功率驱动电路是舵机控制器内重要的部分,为了使舵机控制系统小型化,并具有良好的散热功能,选用了M SK 公司的M SK 4401,它内置6个N 沟道的M OSF ET ,100kHz,死区时间可调,最大供电电压75V,最大持续输出电流29A,峰值电流达41A 。
它的优点是可以使驱动电路的设计大为简化,可实现对M OSF ET 的最优驱动,又具有快速完整的保护功能,且模块体积小,封装形式易于散热。
其电路如图3所示。
图3 隔离与功率驱动电路2 4 信号检测电路的设计舵面实际的位置信号、无刷电机的电流、以及电机的转速是舵机三环控制系统中重要的反馈量,这3个信号的值将直接影响控制系统的精度。
如果这些反馈值采集效果不理想,将粗糙的数据引入舵机控制器,然后试图通过复杂的控制算法来提高控制精度,将收不到好的效果。
因此提高这些反馈量的检测精度,成为整个舵机控制器硬件设计的关键部分。
信号检测电路包括舵面位置的检测、电流信号检测以及增量式编码器电路。
[5]光电编码器是一种采用光电技术将轴的机械转角转换成数字信号输出的数字式传感器,利用它可以很方便实现角度和转速测量并且测量的精度高,本系统采用H EDL L 55。
与电机配合使用的光电编码器是差分输出的,所以在电路中需要使用一个差分接收芯片,选用SN65L BC173。
光电编码器格数为500格,4倍频后为2000,即电机每转1圈计数器变化2000。
本系统将ST M 32F103VB 的一个通用定时器配置为编码器接口模式,用以检测电机的转速和舵机的位置。