这篇文章来源于DevicePlus.com英语网站的翻译稿。
• 第一部分
什么是伺服电机?
伺服电机的类型
所需电压和电源• 第二部分
基于Arduino程序的伺服控制
伺服电机可以做什么?• 第三部分
伺服控制电灯开关
电灯开关的远程控制
4. 基于Arduino程序的伺服控制
Arduino对伺服电机控制的方式大致有两种。
PWM(脉冲宽度调制)是一种通过打开和关闭脉冲信号来控制电机的方法。通过直接使用PWM来控制伺服电机可以实现步进式转动。但是对于更复杂的项目,您可以使用Arduino IDE中包含的伺服电机库。
Arduino IDE → [File] → [Examples] → [10.StarterKit BasicKit] → [p05_ServoMoodindicator]
该程序可以根据模拟引脚0(A0)的输入值来更改伺服电机的角度。在模拟引脚上使用电位计或光学传感器等可变电阻,通过电阻值的变化来实现电机的转动。
伺服电机库函数
伺服电机库基于两种类型的指令:1)指定要发送到伺服电机的控制信号的引脚编号。2)指定伺服电机转动时的角度。
代码—示例
myServo.attach(9); //Specify the servo motor's signal pin
代码—示例
myServo.write(angle); //Move the servomotor to a specific angle
以下电路是使用FEETECH FS90微伺服电机的示例。该伺服电机的工作电压是6V。由于工作时的电流是200 mA,因此伺服电机由四节AA电池串联供电(6V)。
图6:示例电路图
图7:伺服电机控制电路
图8: p05_ServoMoodIndicator
代码—示例
/* Arduino Starter Kit example Project 5 - Servo Mood Indicator This sketch is written to accompany Project 5 in the Arduino Starter Kit Parts required: servo motor 10 kilohm potentiometer 2 100 uF electrolytic capacitors Created 13 September 2012 by Scott Fitzgerald https://www.arduino.cc/starterKit This example code is part of the public domain */ // include the servo library #include <Servo.h> Servo myServo; // create a servo object int const potPin = A0; // analog pin used to connect the potentiometer int potVal; // variable to read the value from the analog pin int angle; // variable to hold the angle for the servo motor void setup() { myServo.attach(9); // attaches the servo on pin 9 to the servo object Serial.begin(9600); // open a serial connection to your computer } void loop() { potVal = analogRead(potPin); // read the value of the potentiometer // print out the value to the serial monitor Serial.print("potVal: "); Serial.print(potVal); // scale the numbers from the pot angle = map(potVal, 0, 1023, 0, 179); // print out the angle for the servo motor Serial.print(", angle: "); Serial.println(angle); // set the servo position myServo.write(angle); // wait for the servo to get there delay(15); }
5. 伺服电机可以做什么?
让我们简要回顾一下使用伺服电机可以完成的工作。以下是两种典型工作方式:
I. 按下按钮伺服电机可以控制转动的角度。这就是为什么伺服电机最适于开发按钮控制的机械系统。您可以像下面的视频中那样制作一些有趣的设备,并且也可以开发出仅通过一个按钮来实现控制的多种设备,如房间里的开关等等。
II. 移动物体
在使用Arduino控制电机的第三部分——制造一辆通过伺服电机控制转向的RC车中,我们使用LEGO制造了一台RC车。我们安装了通过伺服电机进行控制的转向部件。伺服电机可以用于多种器件,但是它通常用于“移动”部件/物体,例如移动机器人汽车或机器人手臂等。