基于单片机的舵机控制装置—软件设计部分.doc

上传人:滴答 文档编号:4209212 上传时间:2019-10-04 格式:DOC 页数:20 大小:951.50KB
下载 相关 举报
基于单片机的舵机控制装置—软件设计部分.doc_第1页
第1页 / 共20页
基于单片机的舵机控制装置—软件设计部分.doc_第2页
第2页 / 共20页
基于单片机的舵机控制装置—软件设计部分.doc_第3页
第3页 / 共20页
基于单片机的舵机控制装置—软件设计部分.doc_第4页
第4页 / 共20页
基于单片机的舵机控制装置—软件设计部分.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、课 题:基于单片机的舵机控制装置 的设计软件设计部分 毕业论文设计 2 目 录 引言 1、舵机概述 2、舵机的结构和控制 3、单片机控制原理 4、系统软件设计 1、位置环设计 2、速度反馈 3、电流反馈 4 、试验结果 5、结语 参考文献 毕业论文设计 3 引 言 舵机作为无人机制导系统的主要组成部分,是操纵机 动飞行的重要执行机构。舵机的作用是根据飞行器制导控 制电路输出的一定大小和极性的信号,操纵无人机的舵面 或副翼或改变发动机的推力矢量,控制舵面按要求快速、 精确的偏转,实现舵机控制的各项指标,以达到对无人机 的飞行稳定控制。飞行器经过近半个多世纪的发展,关键 技术渐已成熟,但输出力巨大

2、,响应速度快,控制精度高, 体积小,重量轻,高可靠性始终是无人机舵机发展的目标。 PLC 单片机的突出特点是体积小,功耗低, 、指令集精 简,抗干扰性好,有较强的模拟接口,代码保密性好,其 兼容的 Flash 程序储存器,支持低电压快速擦写,程序修改 方便。在一些小型的应用中比传统的 51 单片机更灵活,外 围电路更少,因而得到了广泛应用。在无人机舵机控制系 统的设计中,PLC 单片机很好的满足了其小体积限制,抗 干扰高,功耗低等要求。 本文介绍以 PLC 单片机为控制核心的无人机舵机控制 系统的设计与实现,并给出了调试结果。 毕业论文设计 4 1、舵机概述 舵机最早出现在航模运动中。在航空模

3、型中,飞行机的飞行姿 态是通过调节发动机和各个控制舵面来实现的。举个简单的四通飞 机来说,飞机上有以下几个地方需要控制: 1.发动机进气量,来控制发动机的拉力(或推力) ; 2.副翼舵面(安装在飞机机翼后缘) ,用来控制飞机的横滚运动; 3.水平尾舵面,用来控制飞机的俯仰角; 4.垂直尾舵面,用来控制飞机的偏航角; 遥控器有四个通道,分别对应四个舵机,而舵机又通过连杆等传动 元件带动舵面的转动,从而改变飞机的运动状态。舵机因此得名: 控制舵面的伺服电机。 不仅在航模飞机中,在其他的模型运动中都可以看到它的应用:船 模上用来控制尾舵,车模中用来转向等等。由此可见,凡是需要操 作性动作时都可以用舵

4、机来实现。 二、结构和控制 一般来讲,舵机主要由以下几个部分组成, 舵盘、减速齿轮组、 位置反馈电位计 5k、直流电机、控制电路板等。 工作原理:控制电路板接受来自信号线的控制信号(具体信号 待会再讲) ,控制电机转动,电机带动一系列齿轮组,减速后传动至 毕业论文设计 5 输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘转动的 同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电 路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方 向和速度,从而达到目标停止。 舵机的基本结构是这样,但实现起来有很多种。例如电机就有 有刷和无刷之分,齿轮有塑料和金属之分,输出轴有滑动和滚动之

5、分,壳体有塑料和铝合金之分,速度有快速和慢速之分,体积有大 中小三种之分等等,组合不同,价格也千差万别。例如,其中小舵 机一般称作微舵,同种材料的条件下是中型的一倍多,金属齿轮是 塑料齿轮的一倍多。需要根据需要选用不同类型。 舵机的输入线共有三条,红色中间,是电源线,一边黑色的 是地线,这辆根线给舵机提供最基本的能源保证,主要是电机的转 动消耗。电源有两种规格,一是 4.8V,一是 6.0V,分别对应不同的 转矩标准,即输出力矩不同,6.0V 对应的要大一些,具体看应用条 件;另外一根线是控制信号线,Futaba 的一般为白色,JR 的一般为 桔黄色。另外要注意一点,SANWA 的某些型号的舵

6、机引线电源线 在边上而不是中间,需要辨认。但记住红色为电源,黑色为地线, 一般不会搞错。 舵机的控制信号为周期是 20ms 的脉宽调制(PWM)信号,其 中脉冲宽度从 0.5ms-2.5ms,相对应舵盘的位置为 0180 度,呈线 性变化。也就是说,给它提供一定的脉宽,它的输出轴就会保持在 一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个 毕业论文设计 6 另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。 舵机内部有一个基准电路,产生周期 20ms,宽度 1.5ms 的基准信号, 有一个比较器,将外加信号与基准信号相比较,判断出方向和大小, 从而产生电机的转动信号。由此可见

7、,舵机是一种位置伺服的驱动 器,转动范围不能超过 180 度,适用于那些需要角度不断变化并可 以保持的驱动当中。比方说机器人的关节、飞机的舵面等。 常见的舵机厂家有:日本的 Futaba、JR、SANWA 等,国产的 有北京的新幻想、吉林的振华等。现举 Futaba S3003 来介绍相关参 数,以供大家设计时选用。之所以用 3003 是因为这个型号是市场上 最常见的,也是价格相对较便宜的一种(以下数据摘自 Futaba 产品 手册) 。 尺 寸(Dimensions): 40.419.836.0 mm 重 量(Weight): 37.2 g 工作速度(Operating speed):0.2

8、3 sec/60(4.8V) 0.19 sec/60 (6.0V) 输出力矩(Output torque) : 3.2 kg.cm (4.8V) 4.1 kg.cm (6.0V) 由此可见,舵机具有以下一些特点: 体积紧凑,便于安装; 输出力矩大,稳定性好; 控制简单,便于和数字系统接口; 正是因为舵机有很多优点,所以,现在不仅仅应用在航模运动中, 已经扩展到各种机电产品中来,在机器人控制中应用也越来越广泛。 毕业论文设计 7 三、单片机控制原理 正是舵机的控制信号是一个脉宽调制信号,所以很方便和数字 系统进行接口。只要能产生标准的控制信号的数字设备都可以用来 控制舵机,比方 PLC、单片机等

9、。这里介绍利用 51 系列单片机产生 舵机的控制信号来进行控制的方法,编程语言为 C51。之所以介绍 这种方法只是因为笔者用 2051 实现过,本着负责的态度,所以敢在 这里写出来。程序用的是我的四足步行机器人,有删改。单片机并 不是控制舵机的最好的方法,希望在此能起到抛砖引玉的作用。 2051 有两个 16 位的内部计数器,我们就用它来产生周期 20 ms 的脉冲信号,根据需要,改变输出脉宽。基本思路如下(请对照下 面的程序): 我用的晶振频率为 12M,2051 一个时钟周期为 12 个晶振周期,正 好是 1/1000 ms,计数器每隔 1/1000 ms 计一次数。以计数器 1 为例,

10、先设定脉宽的初始值,程序中初始为 1.5ms,在 for 循环中可以随时 通过改变 a 值来改变,然后设定计数器计数初始值为 a,并置输出 p12 为高位。当计数结束时,触发计数器溢出中断函数,就是 void timer0(void) interrupt 1 using1 ,在子函数中,改变输出 p12 为反相 (此时跳为低位) ,在用 20000(代表 20ms 周期)减去高位用的时 毕业论文设计 8 间 a,就是本周期中低位的时间,c=20000-a,并设定此时的计数器 初值为 c,直到定时器再次产生溢出中断,重复上一过程。 # include #define uchar unsigned

11、 char #define uint unsigned int uint a,b,c,d; /*a 为舵机 1 的脉冲宽度,b 为舵机 2 的脉冲宽度,单位 1/1000 ms */ /*c、d 为中间变量 */ /*以下定义输出管脚*/ sbit p12=P12; sbit p13=p13; sbit p37=P37; /*以下两个函数为定时器中断函数*/ /*定时器 1,控制舵机 1,输出引脚为 P12,可自定义*/ void timer0(void) interrupt 1 using 1 p12=!p12; /*输出取反*/ c=20000-c; /*20000 代表 20 ms,为一

12、个周期的时间*/ TH0=-(c/256); TL0=-(c%256); /*重新定义计数初值 */ 毕业论文设计 9 if(c=500 else d=“20000-b“; /*主程序*/ void main(void) TMOD=0x11; /*设初值*/ p12=1; p13=1; a=1500; b=1500; /*数值 1500 即对应 1.5ms,为舵机的中间 90 度的位置*/ c=a;d=b; TH0=-(a/256); TL0=-(a%256); 毕业论文设计 10 TH1=-(b/256); TL1=-(b%256); /*设定定时器初始计数值*/ EA=1; ET0=1;

13、TR0=1;EX0=1;EX1=1; ET1=1; TR1=1; PX0=0;PX1=0;PT1=1;PT0=1;/*设定中断优先级*/ for(;) /*在这个 for 循环中,可以根据程序需要 在任何时间改变 a、b 值来改变脉宽的输 出时间,从而控制舵机*/ 因为在脉冲信号的输出是靠定时器的溢出中断函数来处理,时 间很短,因此在精度要求不高的场合可以忽略。因此如果忽略中断 时间,从另一个角度来讲就是主程序和脉冲输出是并行的,因此, 只需要在主程序中按你的要求改变 a 值,例如让 a 从 500 变化到 2500,就可以让舵机从 0 度变化到 180 度。另外要记住一点,舵机 的转动需要时

14、间的,因此,程序中 a 值的变化不能太快,不然舵机 跟不上程序。根据需要,选择合适的延时,用一个 a 递增循环,可 以让舵机很流畅的转动,而不会产生像步进电机一样的脉动。这些 还需要实践中具体体会。 毕业论文设计 11 舵机的速度决定于你给它的信号脉宽的变化速度。举个例子, t0 试,脉宽为 0.5ms,t1s 时,脉宽为 1.0ms,那么,舵机就会 从 0.5ms 对应的位置转到 1.0ms 对应的位置,那么转动速度如何呢? 一般来讲,3003 的最大转动速度在 4.8V 时为 0.23s/60 度,也就是说, 如果你要求的速度比这个快的话,舵机就反应不过来了;如果要求 速度比这个慢,可以将

15、脉宽变化值线性到你要求的时间内,做一个 循环,一点一点的增加脉宽值,就可以控制舵机的速度了。当然, 具体这一点一点到底是多少,就需要做试验了,不然的话,不合适 的话,舵机就会向步进电机一样一跳一跳的转动了,尝试改变这 “一点” ,使你的舵机运动更平滑。还有一点很重要,就是舵机在每 一次脉宽值改变的时候总会有一个转速由零增加再减速为零的过程, 这就是舵机会产生像步进电机一样运动的原因。 四、系统软件设计 软件设计是舵机控制器设计的一大难点, 它的好坏直接影响整 个系统的控制性能。系统软件部分由三闭环控制算法、数据采集与 处理及各保护功能组成。在结构上采用模块化的设计思想, 降低了 程 序复杂度,

16、 从而提高了控制系统软件的可读性、可靠性和可移植性。 其具体涉及到: 解析给定PWM 位置信号, 舵面位置信号的采集与处 理, 舵面速度的计算与处理, 电机电流信号的采集与处理, 位置环、 速度环和电流环控制算法的实现, 电机变速换向的实现。整个控制 系统软件体系结构图如图1所示。 毕业论文设计 12 图 1 软件结构整体框图 系统采用三闭环控制策略, 其中电流环的循环时间最短, 而位置环 最慢。因此在系统的调试过程中, 先调试最内的电流环, 当性能满 足要求后, 再调节速度环与位置环, 最终实现调节目标, 从而减小 了 三环调节的耦合性, 当电流环和速度环的性能满足要求后, 此时可 以专注于

17、位置环参数的调整, 而不改变其它两环的调节参数。三环 具体算法实现介绍如下。 1、 位置环设计 位置环作为最外环, 直接决定舵机伺服控制系统的动、静态性 能指标。经典PID 算法虽然结构简单且鲁棒性较强, 但三个参数固 定, 很难保证系统有较快的响应速度, 同时具有较好的静态性能和 小超调量, 所以必须对传统PID 算法进行改进, 尽可能兼顾各项性 能指标。 系统的位置环调节选用PID 参数模糊自整定算法, 由模糊推理 机和经典PID 控制器组成。通过计算当前的位置偏差和变化率, 找 出与PID三个参数之间的模糊关系, 并不断检测, 根据模糊法则对 PID三个参数进行在线调整。系统采用此算法计

18、算量较小, 易于用单 片机来实现, 提高了位置环的整体调节效果和实时性, 具有良好的 毕业论文设计 13 动静态性能。将位置偏差统一到一定范围内, 规范后为S, 及PID 三个参数的规范公式如下: S是设置的一个阈值 模糊法则可由控制经验加以总结, 也可从所期望的阶跃特性中进行 抽取。从系统的稳定性、响应速度、超调量和稳态精度各方面考虑, 三个参数的调整需考虑其相互之间的作用与关系。程序流程图如图2 所示。 毕业论文设计 14 图2 位置环流程图 2、 速度反馈 速度环与系统硬件没有直接的关联, 反馈速度由舵面位置的微 分得到, 这对反馈的位置信号有较高的要求。获得较平滑、具有良 好实时性的反

19、馈速度信号是较关键的一步, 但由于外部干扰的存在, 并且相邻两个数据的采样时间间隔很短, 若采用直接微分法求速度, 则与实际速度会存在较大的差别, 所以对位置信号采用不完全微分 法求速度, 以减小高频干扰。设舵面速度为v, 位置为S, 则有: 引入不完全微分得: 毕业论文设计 15 式中: p 为微分算子, k 为比例系数, 为惯性环节时间常数。 离散化后得: 式中: T 为广义采样时间; 不完全微分法是采用一阶低通数字滤波器对位置信号滤波后微 分, 因此具有一定的延迟。 速度环算法由bangbang控制与积分分离PI算法相结合。选取 bangbang 控制点应与刚切入的P控制时的输出量相等,

20、 以改善输出 的连续性与减小跳跃性。程序流程图如图3a所示。 3、 电流反馈 当电流发生变化时, 系统须做出迅速响应, 使输出电流快速跟 踪给定信号的变化。由于电流响应速度很快, 电流环算法采用积分 分离PI算法, 以避免微分因子造成电流环震荡。电流环产生PWM 调 制信号, 控制功率驱动来实现电流调节的目的。 PI 控制公式如下: 毕业论文设计 16 式中: |E |为积分分离阈值 , Iref 为电流给定值, 为电流反馈值, 为 给定电流与反馈电流之差。当 即电流误差较小时, 采用 PI 算法以保证电流环精度。当 |时, 采用 P 控制来保证电流环的 快速性并减小超调。程序流程图如图 3b

21、 所示。 毕业论文设计 17 图 3 速度环与电流环流程图 4 、试验结果 系统接收飞控计算机发送周期 7 20 ms, 有效占空比 0. 9 2. 1m s 的 PWM 控制信号, 输出最高堵转力矩 350 N m, 无载荷速度 180 ( .) / s, 标准设置最大偏转角为+ /- 65.,堵转电流 750mA。 系统工作速度- 扭矩、工作电流- 扭矩曲线如图 4 所示。 图 4 速度、电流与扭矩图 位置环调试结果如图8a所示的方波跟踪响应,表明系统有良好的 跟踪效果, 但仍需改善硬件结构与进一步优化算法。图5b、图5c反 应了速度环的跟踪效果。图5b为图5c的局部放大, 说明了速度环调

22、 节的响应速度, 对于无负载3 200 r /m in的给定阶跃能在100m s内 达到稳态。 图 5d 为电流环 0. 1 0. 3 A 的方波跟踪响应,可看出动态性能良 好。 毕业论文设计 18 图 5 三闭环调试结果 五、结语 本系统电路简单、成本低、控制精度高、小型化的特点可满足 小型无人机的要求, 现已通过某型无人机的现场联调, 试验证明本 系统可节约大量联调时间, 加速了无人机的研发速度。同时, 本系 统对深入了解PIC单片机及直流伺服电机等控制系统也有很好的借鉴 作用。 毕业论文设计 19 参考文献 1 李月中. 电动舵机的集成设计与控制 J . 北京: 北京 交通大学. 200

23、6 ( 12) : 5- 30. 2 M yk e Predko 著. PIC 微控制器基础与实践M . 科 学出版社.2007. 3 吴春英. 某型无人机飞控系统控制律设计与实现 D . 西北工业大学硕士学位论文, 2005. 4 李学海. PIC 单片机实用教程基础篇 M . 北京: 航空 航天大学出版社, 2007. 5 李学海. PIC 单片机高级实用教程 M . 北京: 航空航 天大学出 版社, 2007. 毕业论文设计 20 6 刘仁. PIC 软硬件系统设计M . 北京: 电子工业出版社, 2005. 7 付丽, 刘卫国. 单片机控制的多路舵机用 PWM 波产生方法 J . 微特电机, 2006, ( 2 ) : 28- 30. 8 贺灿花, 杨向宇. 无刷直流电动机模糊神经网络 PI 控制方法。 J微特电机, 2005, ( 8 ) : 24- 27. 9 岑汉彬, 杨宜民. 足球机器人中电动机控制系统的研究 J. 微特电机. 2005, ( 1) : 11 - 13. 10 K im JH, Oh S J. A Fu zzy PID Con trol ler for n on linear and uncerta in system s. Soft Com put ing, 2000( 4 ) :

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。