舵机控制原理

               在机器人和各种自动化装置中,舵机起着非常重要的作用,我把关于舵机的资料整理出来,方便以后的使用。

 

                                                                      

                                                                   ( 像这种是比较常见的舵机)

     舵机与一般的直流减速电机不同,除去电机和减速机构还有一套控制电路,是一种典型的机电一体化产品,通过控制电路的精确控制,舵机可以锁定在某个角度或者以某个速度连续旋转。也正是因为这种特性,舵机才被广泛应用到机器人关节,转向机构等工作场景。

    分别Vcc(正极),Gnd(负极),Signal (信号线),不同的舵机这三根线的顺序有些不同 

         如果遇到三根黑线,还是找舵机的说明书吧,可以根据图示颜色连接舵机。我们发现,与直流电机不同的是,舵机多了一根信号线,给这根线提供pwm信号,就可以实现对舵机的控制,如果有同学不明白可以查找什么是pwm信号。

       控制信号进入舵机信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生整个周期长度为20ms,

宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出

到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0时,电

止转动

       

 
        STM32或51系列主要是产生pwm信号
 
  	arduino有舵机的库函数,非常方便
 
       有以下成员函数
	attach()//连接舵机
	write()//角度控制
	writeMicroseconds()//
	read()//读上一次舵机转动角度
	attached()//
	detach()//断开舵机连接
#include <servo h="">

Servo myservo;
   
void setup() {
  myservo.attach(9); 
}

void loop() {

    myservo.write(50);             
    delay(15);                   

}
</servo>

 

    舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围内的角度控制脉冲部分,总间隔为2ms。以180度角度伺服为例,那么对应的控制关系:

                                  0.5ms--------------0度;50

                                 1.0ms------------45度;100

                                 1.5ms------------90度;150

                                 2.0ms-----------135度;200

                                 2.5ms-----------180度;250

20ms周期的获得

stm32系列单片机主频为72MHZ时,分频系数设置为 720,那么得到100khz,时间10us = 0.01ms,时间自己计算即可。

 

舵机的电压一般4.8-6,电流2a

一些舵机使用要注意的地方

  1. 舵机延时,否则抖动
  2. 舵机的电流必须满足要求。
  3. 舵机信号一般要大于3.3v,和信号源共地,否则一般加上拉电阻,否则会出现一些奇怪的问题。
  4. sg90舵机扭矩比较小,要分析下能否满足要求。
  5. 舵机设置到死区位置很可能会卡死,要尽量留出一定的区间。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值