课程表

Arduino 基础

Arduino 函数库

Arduino 进阶

Arduino 项目

Arduino 传感器

Arduino 电机控制

Arduino 声音

工具箱
速查手册

Arduino 伺服电机

当前位置:免费教程 » 程序设计 » Arduino

伺服电机是一种具有输出轴的小型设备。 通过向伺服器发送编码信号,该轴可以定位在特定的角位置。 只要编码信号存在于输入线上,伺服将保持轴的角位置。 如果编码信号改变,则轴的角位置改变。 实际上,伺服系统用于无线电控制的飞机中,以定位诸如电梯和方向舵的控制表面。 它们还用于无线电控制的汽车,木偶,当然还有机器人。

 

伺服电机
 

伺服在机器人中非常有用。 电机体积小,内置控制电路,尺寸非常大。 标准伺服系统如Futaba S-148具有42盎司/英寸的扭矩,这对于其尺寸是坚固的。 它还汲取与机械负载成比例的功率。 因此,轻负载伺服不消耗很多能量。

伺服电机的内胆如下图所示。 您可以看到控制电路,电机,一组齿轮和外壳。 您还可以看到连接到外部世界的3根电线。一个是电源(+ 5伏),接地,白线是控制线。

伺服电机的内胆

伺服电机的工作

伺服电机具有一些控制电路和连接到输出轴的电位计(可变电阻器,也称为罐)。 在上图中,锅可以在电路板的右侧看到。该电位器允许控制电路监视伺服电动机的当前角度。

如果轴处于正确的角度,则电机关闭。 如果电路发现角度不正确,它会转动电机,直到它处于所需的角度。 伺服的输出轴能够在大约180度的地方移动。 通常,它在210度范围内的某个地方,然而,它取决于制造商而变化。 正常伺服用于控制0至180度的角运动。 由于设置在主输出齿轮上的机械停止,它不能进一步转动。

施加到电机的功率与其需要行进的距离成比例。 因此,如果轴需要转动较大的距离,电机将以全速运行。 如果需要转动很小的量,电机将以较慢的速度运行。 这称为比例控制。

如何沟通伺服应该转动的角度?

控制线用于传达角度。 该角度由施加到控制线的脉冲的持续时间确定。 这称为脉冲编码调制。 伺服期望每20毫秒(0.02秒)看到一个脉冲。 脉冲的长度将决定电机转动的距离。 例如,1.5毫秒脉冲将使电机转到90度位置(通常称为中性位置)。 如果脉冲短于1.5毫秒,则电机将轴转到更接近0度。 如果脉冲长于1.5毫秒,则轴接近180度。

 

转动角度

 

必需的组件

您将需要以下组件 -

  • 1 × Arduino UNO 板
  • 1 × 伺服电机
  • 1 × ULN2003驱动IC
  • 1 × 10KΩ电阻
 

程序

按照电路图进行连接,如下图所示。

 

电路图

 

草图

在计算机上打开Arduino IDE软件。 在Arduino语言编码将控制你的电路。 通过单击新建打开一个新的草图文件。

Sketch

 

Arduino代码

  1. /* Controlling a servo position using a potentiometer (variable resistor) */
  2.  
  3. #include <Servo.h>
  4. Servo myservo; // create servo object to control a servo
  5. int potpin = 0; // analog pin used to connect the potentiometer
  6. int val; // variable to read the value from the analog pin
  7.  
  8. void setup() {
  9. myservo.attach(9); // attaches the servo on pin 9 to the servo object
  10. }
  11.  
  12. void loop() {
  13. val = analogRead(potpin);
  14. // reads the value of the potentiometer (value between 0 and 1023)
  15. val = map(val, 0, 1023, 0, 180);
  16. // scale it to use it with the servo (value between 0 and 180)
  17. myservo.write(val); // sets the servo position according to the scaled value
  18. delay(15);
  19. }

 

代码说明

伺服电机有三个端子 - 电源,接地和信号。 电源线通常为红色,应连接到Arduino上的5V引脚。 接地线通常为黑色或棕色,应连接到ULN2003 IC(10 -16)的一个端子。 为了保护您的Arduino板不受损坏,你将需要一些驱动IC。 这里我们使用ULN2003 IC来驱动伺服电机。 信号引脚通常为黄色或橙色,应连接到Arduino引脚号9。

 

连接电位计

分压器/分压器是串联电路中的电阻器,其将输出电压缩放到施加的输入电压的特定比率。 下面是电路图 -

 

连接电位计

 

公式

Vout 是输出电位,其取决于施加的输入电压(Vin)和电阻器(R1和R2) )。 这意味着流过R1的电流也将流过R 2而不被分流。 在上述等式中,随着R的值改变,Vout相对于输入电压Vin而相应地缩放。

通常,电位计是分压器,其可以基于使用旋钮缩放的可变电阻器的值来缩放电路的输出电压。 它有三个引脚:GND,信号和+ 5V如下图所示 -

 

分压器

结果

通过更改锅的NOP位置,伺服电机将改变其角度。

转载本站内容时,请务必注明来自W3xue,违者必究。
 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号