



免费预览已结束,剩余16页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文设计课 题:基于单片机的舵机控制装置的设计软件设计部分目 录引言1、 舵机概述2、 舵机的结构和控制3、 单片机控制原理4、 系统软件设计 1、位置环设计 2、速度反馈 3、电流反馈 4 、试验结果5、 结语参考文献引 言 舵机作为无人机制导系统的主要组成部分,是操纵机动飞行的重要执行机构。舵机的作用是根据飞行器制导控制电路输出的一定大小和极性的信号,操纵无人机的舵面或副翼或改变发动机的推力矢量,控制舵面按要求快速、精确的偏转,实现舵机控制的各项指标,以达到对无人机的飞行稳定控制。飞行器经过近半个多世纪的发展,关键技术渐已成熟,但输出力巨大,响应速度快,控制精度高,体积小,重量轻,高可靠性始终是无人机舵机发展的目标。PLC单片机的突出特点是体积小,功耗低,、指令集精简,抗干扰性好,有较强的模拟接口,代码保密性好,其兼容的Flash程序储存器,支持低电压快速擦写,程序修改方便。在一些小型的应用中比传统的51单片机更灵活,外围电路更少,因而得到了广泛应用。在无人机舵机控制系统的设计中,PLC单片机很好的满足了其小体积限制,抗干扰高,功耗低等要求。本文介绍以PLC单片机为控制核心的无人机舵机控制系统的设计与实现,并给出了调试结果。1、 舵机概述 舵机最早出现在航模运动中。在航空模型中,飞行机的飞行姿态是通过调节发动机和各个控制舵面来实现的。举个简单的四通飞机来说,飞机上有以下几个地方需要控制: 1.发动机进气量,来控制发动机的拉力(或推力); 2.副翼舵面(安装在飞机机翼后缘),用来控制飞机的横滚运动; 3.水平尾舵面,用来控制飞机的俯仰角; 4.垂直尾舵面,用来控制飞机的偏航角; 遥控器有四个通道,分别对应四个舵机,而舵机又通过连杆等传动元件带动舵面的转动,从而改变飞机的运动状态。舵机因此得名:控制舵面的伺服电机。 不仅在航模飞机中,在其他的模型运动中都可以看到它的应用:船模上用来控制尾舵,车模中用来转向等等。由此可见,凡是需要操作性动作时都可以用舵机来实现。二、结构和控制 一般来讲,舵机主要由以下几个部分组成, 舵盘、减速齿轮组、位置反馈电位计5k、直流电机、控制电路板等。 工作原理:控制电路板接受来自信号线的控制信号(具体信号待会再讲),控制电机转动,电机带动一系列齿轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机的转动方向和速度,从而达到目标停止。 舵机的基本结构是这样,但实现起来有很多种。例如电机就有有刷和无刷之分,齿轮有塑料和金属之分,输出轴有滑动和滚动之分,壳体有塑料和铝合金之分,速度有快速和慢速之分,体积有大中小三种之分等等,组合不同,价格也千差万别。例如,其中小舵机一般称作微舵,同种材料的条件下是中型的一倍多,金属齿轮是塑料齿轮的一倍多。需要根据需要选用不同类型。 舵机的输入线共有三条,红色中间,是电源线,一边黑色的是地线,这辆根线给舵机提供最基本的能源保证,主要是电机的转动消耗。电源有两种规格,一是4.8V,一是6.0V,分别对应不同的转矩标准,即输出力矩不同,6.0V对应的要大一些,具体看应用条件;另外一根线是控制信号线,Futaba的一般为白色,JR的一般为桔黄色。另外要注意一点,SANWA的某些型号的舵机引线电源线在边上而不是中间,需要辨认。但记住红色为电源,黑色为地线,一般不会搞错。 舵机的控制信号为周期是20ms的脉宽调制(PWM)信号,其中脉冲宽度从0.5ms-2.5ms,相对应舵盘的位置为0180度,呈线性变化。也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。舵机内部有一个基准电路,产生周期20ms,宽度1.5ms的基准信号,有一个比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。由此可见,舵机是一种位置伺服的驱动器,转动范围不能超过180度,适用于那些需要角度不断变化并可以保持的驱动当中。比方说机器人的关节、飞机的舵面等。 常见的舵机厂家有:日本的Futaba、JR、SANWA等,国产的有北京的新幻想、吉林的振华等。现举Futaba S3003来介绍相关参数,以供大家设计时选用。之所以用3003是因为这个型号是市场上最常见的,也是价格相对较便宜的一种(以下数据摘自Futaba产品手册)。 尺 寸(Dimensions): 40.419.836.0 mm 重 量(Weight): 37.2 g 工作速度(Operating speed):0.23 sec/60(4.8V) 0.19 sec/60(6.0V) 输出力矩(Output torque): 3.2 kg.cm (4.8V) 4.1 kg.cm (6.0V)由此可见,舵机具有以下一些特点: 体积紧凑,便于安装; 输出力矩大,稳定性好; 控制简单,便于和数字系统接口; 正是因为舵机有很多优点,所以,现在不仅仅应用在航模运动中,已经扩展到各种机电产品中来,在机器人控制中应用也越来越广泛。三、单片机控制原理 正是舵机的控制信号是一个脉宽调制信号,所以很方便和数字系统进行接口。只要能产生标准的控制信号的数字设备都可以用来控制舵机,比方PLC、单片机等。这里介绍利用51系列单片机产生舵机的控制信号来进行控制的方法,编程语言为C51。之所以介绍这种方法只是因为笔者用2051实现过,本着负责的态度,所以敢在这里写出来。程序用的是我的四足步行机器人,有删改。单片机并不是控制舵机的最好的方法,希望在此能起到抛砖引玉的作用。 2051有两个16位的内部计数器,我们就用它来产生周期20 ms的脉冲信号,根据需要,改变输出脉宽。基本思路如下(请对照下面的程序): 我用的晶振频率为12M,2051一个时钟周期为12个晶振周期,正好是1/1000 ms,计数器每隔1/1000 ms计一次数。以计数器1为例,先设定脉宽的初始值,程序中初始为1.5ms,在for循环中可以随时通过改变a值来改变,然后设定计数器计数初始值为a,并置输出p12为高位。当计数结束时,触发计数器溢出中断函数,就是void timer0(void) interrupt 1 using1 ,在子函数中,改变输出p12为反相(此时跳为低位),在用20000(代表20ms周期)减去高位用的时间a,就是本周期中低位的时间,c=20000-a,并设定此时的计数器初值为c,直到定时器再次产生溢出中断,重复上一过程。# include #define uchar unsigned char #define uint unsigned intuint 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,为一个周期的时间*/ TH0=-(c/256); TL0=-(c%256); /*重新定义计数初值*/ if(c=500&c=500&d=2500)d=b; 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); TH1=-(b/256); TL1=-(b%256); /*设定定时器初始计数值*/ EA=1; ET0=1; 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度。另外要记住一点,舵机的转动需要时间的,因此,程序中a值的变化不能太快,不然舵机跟不上程序。根据需要,选择合适的延时,用一个a递增循环,可以让舵机很流畅的转动,而不会产生像步进电机一样的脉动。这些还需要实践中具体体会。 舵机的速度决定于你给它的信号脉宽的变化速度。举个例子,t0试,脉宽为0.5ms,t1s时,脉宽为1.0ms,那么,舵机就会从0.5ms对应的位置转到1.0ms对应的位置,那么转动速度如何呢?一般来讲,3003的最大转动速度在4.8V时为0.23s/60度,也就是说,如果你要求的速度比这个快的话,舵机就反应不过来了;如果要求速度比这个慢,可以将脉宽变化值线性到你要求的时间内,做一个循环,一点一点的增加脉宽值,就可以控制舵机的速度了。当然,具体这一点一点到底是多少,就需要做试验了,不然的话,不合适的话,舵机就会向步进电机一样一跳一跳的转动了,尝试改变这“一点”,使你的舵机运动更平滑。还有一点很重要,就是舵机在每一次脉宽值改变的时候总会有一个转速由零增加再减速为零的过程,这就是舵机会产生像步进电机一样运动的原因。四、系统软件设计 软件设计是舵机控制器设计的一大难点, 它的好坏直接影响整个系统的控制性能。系统软件部分由三闭环控制算法、数据采集与处理及各保护功能组成。在结构上采用模块化的设计思想, 降低了程序复杂度, 从而提高了控制系统软件的可读性、可靠性和可移植性。其具体涉及到: 解析给定PWM 位置信号, 舵面位置信号的采集与处理, 舵面速度的计算与处理, 电机电流信号的采集与处理, 位置环、速度环和电流环控制算法的实现, 电机变速换向的实现。整个控制系统软件体系结构图如图1所示。 图1软件结构整体框图系统采用三闭环控制策略, 其中电流环的循环时间最短, 而位置环最慢。因此在系统的调试过程中, 先调试最内的电流环, 当性能满足要求后, 再调节速度环与位置环, 最终实现调节目标, 从而减小了三环调节的耦合性, 当电流环和速度环的性能满足要求后, 此时可以专注于位置环参数的调整, 而不改变其它两环的调节参数。三环具体算法实现介绍如下。1、 位置环设计 位置环作为最外环, 直接决定舵机伺服控制系统的动、静态性能指标。经典PID 算法虽然结构简单且鲁棒性较强, 但三个参数固定, 很难保证系统有较快的响应速度, 同时具有较好的静态性能和小超调量, 所以必须对传统PID 算法进行改进, 尽可能兼顾各项性能指标。 系统的位置环调节选用PID 参数模糊自整定算法, 由模糊推理机和经典PID 控制器组成。通过计算当前的位置偏差和变化率, 找出与PID三个参数之间的模糊关系, 并不断检测, 根据模糊法则对PID三个参数进行在线调整。系统采用此算法计算量较小, 易于用单片机来实现, 提高了位置环的整体调节效果和实时性, 具有良好的动静态性能。将位置偏差统一到一定范围内, 规范后为S,及PID 三个参数的规范公式如下:S是设置的一个阈值模糊法则可由控制经验加以总结, 也可从所期望的阶跃特性中进行抽取。从系统的稳定性、响应速度、超调量和稳态精度各方面考虑, 三个参数的调整需考虑其相互之间的作用与关系。程序流程图如图2所示。图2 位置环流程图2、 速度反馈 速度环与系统硬件没有直接的关联, 反馈速度由舵面位置的微分得到, 这对反馈的位置信号有较高的要求。获得较平滑、具有良好实时性的反馈速度信号是较关键的一步, 但由于外部干扰的存在, 并且相邻两个数据的采样时间间隔很短, 若采用直接微分法求速度, 则与实际速度会存在较大的差别, 所以对位置信号采用不完全微分法求速度, 以减小高频干扰。设舵面速度为v, 位置为S, 则有:引入不完全微分得:式中: p为微分算子, k 为比例系数, 为惯性环节时间常数。离散化后得:式中: T 为广义采样时间; 不完全微分法是采用一阶低通数字滤波器对位置信号滤波后微分, 因此具有一定的延迟。 速度环算法由bangbang控制与积分分离PI算法相结合。选取bangbang 控制点应与刚切入的P控制时的输出量相等, 以改善输出的连续性与减小跳跃性。程序流程图如图3a所示。3、 电流反馈 当电流发生变化时, 系统须做出迅速响应, 使输出电流快速跟踪给定信号的变化。由于电流响应速度很快, 电流环算法采用积分分离PI算法, 以避免微分因子造成电流环震荡。电流环产生PWM 调制信号, 控制功率驱动来实现电流调节的目的。PI控制公式如下:式中: |E |为积分分离阈值, Iref为电流给定值, 为电流反馈值,为给定电流与反馈电流之差。当即电流误差较小时, 采用PI算法以保证电流环精度。当 |时, 采用P控制来保证电流环的快速性并减小超调。程序流程图如图3b所示。 图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的局部放大, 说明了速度环调节的响应速度, 对于无负载3 200 r /m in的给定阶跃能在100m s内达到稳态。图5d为电流环0. 1 0. 3 A 的方波跟踪响应,可看出动态性能良好。图5 三闭环调试结果五、结语本系统电路简单、成本低、控制精度高、小型化的特点可满足小型无人机的要求, 现已通过某型无人机的现场联调, 试验证明本系统可节约
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环性心境障碍的临床护理
- 预防传染传染病
- 美业新质生产力
- 2025建筑公司流动资金借款合同范本下载
- 江西省宜春市丰城市第九中学2024-2025学年八年级下学期质量检测一语文试卷(A卷)(含答案)
- 2025液化石油气槽车租赁合同
- 2025财产信托合同样本参考
- 环艺研究生复试面试问题总结模版
- 家校合作工作总结模版
- 《通过掌纹了解身体健康》课件
- 求职线上测试题及答案
- 湖南炎德·英才大联考长郡中学2025届模拟试卷(一)语文+答案
- 2025存量房买卖合同电子版
- 击剑考试题目及答案
- Unit 5 Animal friends Integration(D) 课件 2024-2025学年译林版(2024)七年级英语下册
- 基于机器学习的秘鲁外海茎柔鱼时空分布及渔场预测分析
- 2025年陕西高中学业水平合格性考试物理模拟试卷(含答案详解)
- 教研项目合同协议
- 图书馆笔试题及答案
- 贵州省贵阳市重点中学2024-2025学年高一年级下册开学考试语文试卷(含答案)
- 2025年山东省淄博市高新区中考一模历史试题(原卷版+解析版)
评论
0/150
提交评论