舵机工作原理详解及智能车单片机(飞思卡尔)控制的实现(程序)_第1页
舵机工作原理详解及智能车单片机(飞思卡尔)控制的实现(程序)_第2页
舵机工作原理详解及智能车单片机(飞思卡尔)控制的实现(程序)_第3页
舵机工作原理详解及智能车单片机(飞思卡尔)控制的实现(程序)_第4页
舵机工作原理详解及智能车单片机(飞思卡尔)控制的实现(程序)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

舵机工作原理详解及单片机〔51〕掌握的实现〔程序〕1、概述舵面来实现的。举个简洁的四通飞机来说,飞机上有以下几个地方需要掌握:发动机进气量,来掌握发动机的拉力〔或推力〕;副翼舵面〔安装在飞机机翼后缘〕,用来掌握飞机的横滚运动;水平尾舵面,用来掌握飞机的俯仰角;垂直尾舵面,用来掌握飞机的偏航角;而转变飞机的运动状态。舵机因此得名:掌握舵面的伺服电机。中用来转向等等。由此可见,但凡需要操作性动作时都可以用舵机来实现。2、构造和掌握一般来讲,舵机主要由以下几个局部组成,舵盘、减速齿轮组、位置反响电位5k、直流电机、掌握电路板等。工作原理:掌握电路板承受来自信号线的掌握信号〔具体信号待会再讲〕,掌握电机转连的,舵盘转动的同时,带动位置反响电位计,电位计将输出一个电压信号到掌握电路板,进展反响,然后掌握电路板依据所在位置打算电机的转动方向和速度,从而到达目标停顿。类型。舵机的输入线共有三条,红色中间,是电源线,一边黑色的是地线,这辆根线给舵机供给最根本的能源保证,主要是电机的转动消耗。电源有两种规格,一是4.8V,一是6.0V,分别对应不同的转矩标准,即输出力矩不同,6.0V对应的要大一些,具体看应用条件;另外一根线是掌握信号线,Futaba的一般为白色,JR的一般为桔黄SANWA的某些型号的舵机引线电源线在边上而不是中间但记住红色为电源,黑色为地线,一般不会搞错。舵机的掌握信号为周期是20ms的脉宽调制〔PWM〕信号,其中脉化。也就是说,给它供给肯定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样转变,直到给它供给一个另外宽度的脉冲信号,它才会转变输出角度到的对应的位置上。舵机内部有一个基准电路,产生周期的20ms,宽度1.5ms的基准信号,有一个比较器,将外加信号与基准舵机是一种位置伺服的驱动器,转动范围不能超过180度,适用于那些需要角度不断变化并可以保持的驱动当中。比方说机器人的关节、飞机的舵面等。常见的舵机厂家有:日本的Futaba、JR、SANWA等,国产的有北京的梦想、吉林的振华等。现举FutabaS3003来介绍相关参数,以供大家设计时选用。之所以用3003是由于这个型号是市场上最常见的〔以下数据摘自Futaba产品手册。尺寸(Dimensions)40.4×19.8×36.0mm重量(Weight)37.2g工作速度(Operatingspeed):0.23sec/60°(4.8V)0.19sec/60°(6.0V)输出力矩(Outputtorque):3.2kg(4.8V)4.1kg(6.0V)由此可见,舵机特点:>体积紧凑,便于安装;>输出力矩大,稳定性好;>掌握简洁,便于和数字系统接口;中来,在机器人掌握中应用也越来越广泛。3、用单片机来掌握正是舵机的掌握信号是一个脉宽调制信号,所以很便利和数字系统进,比方PLC51系列单片机产生舵机的掌握信号来进展掌握的方法,编程语言为C51。之所以介绍这种方法只是由于笔者用2051实现过,本着负责的态度,所好的方法,期望在此能起到抛砖引玉的作用。20511620ms的脉冲信号〔请比照下面的程序12M,2051121/1000ms,计数1/1000ms11.5ms,在for循环中可以随时通过转变ap12voidtimer0(void)interrupt1using1,在子函数中,转变输出p12为反相〔此时跳为低位〕,在用20230〔代表20ms周期〕减去高位用的时间a,就是本周期中低位的时间,c=20230-a,并设定此时的计数器初值为c,直到定时器再次产生溢出中断,重复上一过程。#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintuinta,b,c,d;/*a1的脉冲宽度,b21/1000ms*//*c、d为中间变量*//*以下定义输出管脚*/sbitp12=P1^2;sbitp13=p1^3;sbitp37=P3^7;/*以下两个函数为定时器中断函数*//*11,输出引脚为P12,可自定义*/voidtimer0(void)interrupt1using1{p12=!p12;/*输出取反*/c=20230-c;/*2023020ms,为一个周期的时间*/TH0=-(c/256);TL0=-(c%256);/*重定义计数初值*/if(c>=500&&c<=2500)c=a;elsec=“20230-a“;/*推断脉宽是否在正常范围之内*/}/*22,输出引脚为P13,可自定义*/voidtimer1(void)interrupt3using1{p13=!p13;d=20230-d;TH1=-(d/256);TL1=-(d%256);if(d>=500&&d<=2500)d=b;elsed=“20230-b“;}/*主程序*/voidmain(void){TMOD=0x11;/*设初值*/p12=1;p13=1;a=1500;b=1500;/*15001.5ms90度的位置*/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值,例如让a50025000180度。另外要记住一点,a值的变化不能太快,不然舵机跟不上程序。依据需要,a递增而不会产生像步进电机一样的脉动。这些还需要实践中具体体会。t=0试,脉宽为0.5ms为0.23s/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论