您现在的位置:首页 > >

舵机控制详解

发布时间:

。 本人学习了一段时间的舵机,将自己所遇到的问题与解决方案和大家分享一 下,希望对初学者有所帮助!!!! 一、 舵机介绍 1、舵机结构 舵机简单的说就是集成了直流电机、电机控制器和减速器等,并封装在 一个便于安装的 外壳里的伺服单元。 舵机安装了一个电位器(或其它角度传感器)检测输出轴转动角度,控 制板根据电位器 的信息能比较精确的控制和保持输出轴的角度。这样的直流电 机控制方式叫闭环控制,所以舵机更准确的说是伺服马达,英文 servo。 舵机组成:舵盘、减速齿轮、位置反馈电位计、直流电机、控制电路板等。 舵盘 上壳 齿轮组 中壳 电机 控制电路 控制线 下壳 工作原理:控制信号 控制电路板 电机转动 齿轮组减速 舵 盘转动 位置反馈电位器 控制电路板反馈 简单的工作原理是控制电路接收信号源的控制信号,并驱动电机转动; 齿轮组将电 机的速度成大倍数缩小,并将电机的输出扭矩放大响应倍 数,然后输出;电位器和齿轮组的 末级一起转动,测量舵机轴转动角度; 电路板检测并根据电位器判断舵机转动角度,然后控 制舵机转动到目标 角度或保持在目标角度。 舵机接线方法:三线接线法:(1)黑线(地线) 红线(电源线)两个标准:4.8V 和 6V 蓝线/黄线(信号线) (2)棕线(地线) 红线(电源线)两个标准:4.8V 和 精选资料,欢迎下载 。 6V 黄线(信号线) 二、舵机 PWM 信号介绍 1、PWM 信号的定义 PWM 信号为脉宽调制信号,其特点在于他的上升沿与下降沿之间的时间宽度。 具体的时间宽窄协议参考下列讲述。我们目前使用的舵机主要依赖于模型行业的 标准协议,随着机器人行业的渐渐独立,有些厂商已经推出全新的舵机协议,这 些舵机只能应用于机器人行业,已经不能够应用于传统的模型上面了。 关于舵机 PWM 信号的基本样式如下图 其 PWM 格式注意的几个要点: (1) 上升沿最少为 0.5mS,为 0.5mS---2.5mS 之间; (2) 控制舵机的 PWM 信号周期为 20ms; 2.PWM 信号控制精度制定 8 位 AT89C52CPU,其数据 分辨率为 256,那么经过舵机极 限参数实验,得到应该将其划分 为 250 份。 那么 0.5mS---2.5Ms 的宽度 为 2mS = 2000uS。 2000uS÷250=8uS 则:PWM 的控制精度为 8us 我们可以以 8uS 为单位递增 控制舵机转动与定位。 舵机可以转动 185 度,那么 185 度÷250=0.74 度, 则:舵机的控制精度为 0.74 度 1 DIV = 8uS ; 250DIV=2mS PWM 上升沿函数: 0.5mS + N×DIV 0uS ≤ N×DIV ≤ 2mS 0.5mS ≤ 0.5Ms+N×DIV ≤ 2.5mS 3、舵机位置控制方法 舵机的转角达到 185 度,由于采用 8 为 CPU 控制,所以控制精度最大为 256 份。目 精选资料,欢迎下载 。 前经过实际测试和规划,分了 250 份。 将 0—185 分为 250 份,每份 0.74 度。 控制所需的 PWM 宽度为 0.5ms—2.5ms,宽度 2ms。 2ms÷250=8us; 所以得出:PWM 信号 = 1 度/8us; 0.5ms-2.5ms 17.5ms-20ms 舵机角度= 0.74×N PWM = 0.5 + N×DIV;(DIV=8us) 角度 0 45 90 135 180 N 0 3E 7D BB FA PWM 0.5ms 1ms 1.5ms 2ms 2.5ms 以上是舵机基本知识的介绍,下面对单片机控制舵机给 大家做一介绍。 问题一:单片机可以直接驱动舵机吗?? 首先告诉大家的是经过我的尝试不能驱动,就是给舵机单独供电也 不能驱动。原因是单片机 I/O 输出电流比较小。 下面是我做的驱动电路原理图希望给你带来方便。 ? P CCV 65 43 21 D DDD 1TUOCCV CCVCCVCCV4TUO3TUO2TUO N NNN G GGG ? K R1 321 321321321 ? ??? P PPP ? 0DELD 2 CFu1.0 CCV F D u kkkk 0 N 8765 0000 1 7 R1R1R1R1 G C4 4TUO 3TUO 1TUO 2TUO T DDD D U NNN N O GGG G D N G N I ? VCA5087LU ??? ? 1rotalosiotpOU1rotalosiotpOU1rotalosiotpOU 1rotalosiotpOU 321 4 V21-7NI DDD D 3NI2NI1NI 4NI 65 RR R 00 0 R 43 43 2 33 3 0 R3R3 1 R3 3 21 R3 4NI3NI1NI 2NI ? P V 5 机 2 4321 片 1 单 ? P 精选资料,欢迎下载 。 注意:舵机的正反转问题 舵机的转动是点对点的,也就是说,你提供给舵机的 PWM 如果是高电平时间为 2.5ms,则舵 机转到 180 度方向,接下来如果提供给舵机的 PWM 如果是高电平时间为 1ms,则舵机反向转 到 45 度方向(针对转角 180 度的舵机)。即实现正反转。 提供给大家三个程序 (1) #include<reg52.h> typedef unsigned int uint; typedef unsigned char uchar; sbit pwm=P1^0;//输出 PWM 信号 uchar count=0; uint pwm_value=1500;//初值为 1.5ms sbit key1=P0^0; sbit key2=P0^1; uint value[]={2500,2000}; void delay_ms(uint x) { uint i; while(x--) for(i=0;i<125;i++); } v


热文推荐
猜你喜欢
友情链接: 医学资料大全 农林牧渔 幼儿教育心得 小学教育 中学 高中 职业教育 成人教育 大学资料 求职职场 职场文档 总结汇报