舵机的工作原理.doc

上传人:小** 文档编号:89154553 上传时间:2019-05-19 格式:DOC 页数:5 大小:34.50KB
返回 下载 相关 举报
舵机的工作原理.doc_第1页
第1页 / 共5页
舵机的工作原理.doc_第2页
第2页 / 共5页
舵机的工作原理.doc_第3页
第3页 / 共5页
舵机的工作原理.doc_第4页
第4页 / 共5页
舵机的工作原理.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《舵机的工作原理.doc》由会员分享,可在线阅读,更多相关《舵机的工作原理.doc(5页珍藏版)》请在金锄头文库上搜索。

1、本文档由 碱性玫瑰精 整理提供 代专利下载 1元/篇 QQ 1410007848精品文档 碱性玫瑰精 整理2011年10月2号 如需购买 碱性玫瑰精 ,请留下以下联系方式备用 电话:0317-7896222 0317-7896333 传真:0317-7727900 河北省东光宏浩染料 网址: 联系人:刘雨桐基于AT89C2051单片机的多路舵机控制器设计摘要 舵机是机器人、机电系统和航模的重要执行机构。舵机控制器为舵机提供必要的能源和控制信号。本文提出一种以外部中断计数为基础的PWM波形实现方法。该方法具有简单方便-;成本低-;可实现多路独立PWM输出的优点。关键词 AT89(:205l 舵机

2、控制器 外部中断PWM 舵机是一种位置伺服的驱动器。它接收一定的控制信号-;输出一定的角度-;适用于那些需要角度不断变化并可以保持的控制系统。在微机电系统和航模中-;它是一个基本的输出执行机构。1 舵机的工作原理 以日本FUTABA-S3003型舵机为例-;图1是FUFABA-S3003型舵机的内部电路。舵机的工作原理是:PWM信号由接收通道进入信号解调电路BA66881。的12脚进行解调-;获得一个直流偏置电压。该直流偏置电压与电位器的电压比较-;获得电压差由BA6688的3脚输出。该输出送人电机驱动集成电路BA6686-;以驱动电机正反转。当电机转速一定时-;通过级联减速齿轮带动电位器R。

3、-;旋转-;直到电压差为O-;电机停止转动。舵机的控制信号是PWM信号-;利用占空比的变化改变舵机的位置。2 舵机的控制方法标准的舵机有3条导线-;分别是:电源线、地线、控制线-;如图2所示。电源线和地线用于提供舵机内部的直流电机和控制线路所需的能源电压通常介于46V-;一般取5V。注意-;给舵机供电电源应能提供足够的功率。控制线的输入是一个宽度可调的周期性方波脉冲信号-;方波脉冲信号的周期为20 ms(即频率为50 Hz)。当方波的脉冲宽度改变时-;舵机转轴的角度发生改变-;角度变化与脉冲宽度的变化成正比。某型舵机的输出轴转角与输入信号的脉冲宽度之间的关系可用围3来表示。3 舵机控制器的设计

4、(1)舵机控制器硬件电路设计从上述舵机转角的控制方法可看出-;舵机的控制信号实质是一个可嗣宽度的方波信号(PWM)。该方波信号可由FPGA、模拟电路或单片机来产生。采用FPGA成本较高-;用模拟电路来实现则电路较复杂-;不适合作多路输出。一般采用单片机作舵机的控制器。目前采用单片机做舵机控制器的方案比较多-;可以利用单片机的定时器中断实现PWM。该方案将20ms的周期信号分为两次定时中断来完成:一次定时实现高电平定时Th;一次定时实现低电平定时T1。Th、T1的时间值随脉冲宽度的变换而变化-;但-;Th+T1=20ms。该方法的优点是-;PWM信号完全由单片机内部定时器的中断来实现-;不需要添

5、加外围硬件。缺点是一个周期中的PWM信号要分两次中断来完成-;两次中断的定时值计算较麻烦;为了满足20ms的周期-;单片机晶振的频率要降低;不能实现多路输出。也可以采用单片机+8253计数器的实现方案。该方案由单片机产生计数脉冲(或外部电路产生计数脉冲)提供给8253进行计数-;由单片机给出8253的计数比较值来改变输出脉宽。该方案的优点是可以实现多路输出-;软件设计较简单;缺点是要添加l片8253计数器-;增加了硬件成本。本文在综合上述两个单片机舵机控制方案基础上-;提出了一个新的设计方案-;如图4所示。该方案的舵机控制器以AT89C2051单片机为核心-;555构成的振荡器作为定时基准-;

6、单片机通过对555振荡器产生的脉冲信号进行计数来产生PWM信号。该控制器中单片机可以产生8个通道的PWM信号-;分别由AT89C2051的P10Pl.7(1219引脚)端口输出。输出的8路PWM信号通过光耦隔离传送到下一级电路中。因为信号通过光耦传送过程中进行了反相-;因此从光耦出来的信号必须再经过反相器进行反相。方波信号经过光耦传输后-;前沿和后沿会发生畸变-;因此反相器采用CD40106施密特反相器对光耦传输过来的信号进行整形-;产生标准的PWM方波信号。笔者在实验过程中发现-;舵机在运行过程中要从电源吸纳较大的电流-;若舵机与单片机控制器共用一个电源-;则舵机会对单片机产生较大的干扰。因

7、此-;舵机与单片机控制器采用两个电源供电-;两者不共地-;通过光耦来隔离-;并且给舵机供电的电源最好采用输出功率较大的开关电源。该舵机控制器占用单片机的个SCI串口。串口用于接收上位机传送过来的控制命令-;以调节每一个通道输出信号的脉冲宽度。MAX232为电平转换器-;将上位机的RS232电平转换成TTL电平。(2)实现多路PWM信号的原理在模拟电路中-;PWM脉冲信号可以通过直流电平与锯齿波信号比较来得到。在单片机中-;锯齿波可以通过对整型变量加1操作来实现-;如图5所示。假定单片机程序中设置一整型变量SawVal-;其值变化范围为ON。555振荡电路产生的外部计数时钟信号输入到AT89C2

8、051的INTO脚。每当在外部计数时钟脉冲的下降沿-;单片机产生外部中断-;执行外部中断INT0的中断服务程序。每产生一次外部中断-;对SawVal执行一次加1操作-;若SawVal已达到最大值N-;则对SawVal清O。SawVal值的变化规律相当于锯齿波-;如图5所示。若在单片机程序中设置另一整型变量DutyVal-;其值的变化范围为ON。每当在SawVal清0时-;DulyVal从上位机发送的控制命令中读入脉冲宽度系数值-;例如为H(0HN)。若DutyValSawVal-;则对应端口输出高电平;若DutyValSawval-;则对应端口输出低电平。从图5中可看出-;若改变DutyVal

9、的值-;则对应端口输出脉冲的宽度发生变化-;但输出脉冲的频率不变-;此即为PWM波形。 设外部计数时钟周期为TINT0-;锯齿波周期(PWM脉冲周期)为TPWM-;PWM脉冲宽度占空比为D-;由图5可得出如下关系:由式(3)可知-;PWM波形的周期TPWM一旦确定下来-;只须选定计数最大值N-;就可以确定外部时钟脉冲所需周期(频率)。外部时钟脉冲周期TINT0显然是PWM脉冲宽度变换的最小步距-;即调节精度。由式(4)可知-;N越大-;步距所占PWM周期的百分比越小-;精度越高。例如-;若采用8位整型变量-;最大值N=28-1=255-;则精度为1(255+1)=1255;若采用16位整型变量

10、-;最大值N=216-1=65535-;则精度为165536。文中计数变量SawVal采用8位整型变量-;因此N=255。对于一般应用-;其精度已足够。就舵机而言-;要求TPWM=20ms-;则可算得外部时钟周期为: 因此-;设计555振荡电路时-;其输出脉冲的频率应为:当有多个变量与SawVal比较-;将比较结果输出到多个端口时。就形成了多路PWM波形。各个变量的值可以独立变化-;因此各路PWM波形的占空比也可以独立调节-;互不相干。多路PWM波形的产生如图6所示。图中以3路PWM波形为例。4 舵机控制器软件的设计舵机控制器的控制核心为单片机AT89C2051。文中-;程序用C5l编写-;工

11、作方式为前后台工作方式。单片机程序包括系统初始化程序、串口通信程序、上位机命令解释与PWM脉宽生成程序和多路PWM波形输出程序。串行通信程序和多路PWM波形输出程序采用中断方式。串口通信格式为渡特率9600bps、8位数据位、1位停止位、无校验、ASCII码字符通信。串口通信程序用于接收上位机发送过来的控制命令。控制命令采用自定义文本协议-;即协议内容全部为ASCII码字符。通信协议格式如图7所示。例如-;要控制通道1的PWM脉宽-;脉宽系数为25-;则通信协议内容为“#”“1”“0”“2”“5”“!”这6个字符。这时通道l的PWM占空比为25256=O098。一个通道号对应一个PWM脉冲输出

12、端口。本设计为8个通道-;号码为l8-;对应单片机的P1oP17。起始符和终止符起到帧同步的作用。串口通信程序流程如图8所示。图8中-;CHNo存放的是PWM通道号ASCII码-;Dutyl00、DutylO、Duoyl分别存放的是脉宽系数的百位数、十位数和个位数的ASCII码(注意-;若高位数为O-;则该位的字符应为“0”-;不能省略。如25-;完整字符应为“O”“2”“5”。CharNo为信号量-;用于对串口接收的字符顺序以及串口中断与上位机命令解释程序之间进行同步。5 舵机控制器实验图9为舵机控制板输出的其中一路PWM波形(带舵机负载)。从图9中可看出-;舵机控制器输出的PWM波形稳定、

13、干净-;符合设计要求。6 结论本文提出的多路舵机控制器设计方法-;以单片机AT89C2051为核心-;由外部振荡电路提供PWM脉冲的定时基准-;控制部分与舵机驱动部分由两个电源供电-;两者电气隔离。这种设计方案的优点是:PWM波形由外部振荡电路提供定时基准-;与单片机内部振荡器的频率无关-;不影响串口通信、定时器等参数的配置。PWM波形的调整精度可任意确定。本没计思路可应用于任意多路的PWM输出-;只要单片机能提供足够多的输出端口-;例如将AT89C2051换成AT89S5l-;就可以提供至少24路的PWM输出(P0、Pl、P2)。控制参数由SCI串口输入-;适应面广-;上位机可以是PC机、单

14、片机或是PLC。本方法具有一般性-;任何单片机只要能提供SCI中断、外部中断就可以应用本方法。专家进!怎样用单片机控制舵机 (满意+100分)悬赏分:200 - 解决时间:2009-8-23 14:59 求控制MG995舵机的脉冲宽度 如何用波来控制舵机的转动角度 程序我们可以自己搞定 问题补充:可以留个QQ 日后好联系提问者: linrui19900105 - 四级最佳答案请看图 -;图上标注了角度和脉冲两个参数-;你仔细看-;每个脉冲宽度对应一个角度-;你只要写程序-;用单片机给舵机发送图上任意一个有效的固定宽度的脉冲-;那么舵机就转到这个脉冲对应的角度上了。 3回答者: 西蜀买 染料 及包装机械 请致电:0317-7723188 刘雨桐

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号