- Arduino - 教程
- Arduino - 概述
- Arduino - Board Description
- Arduino - 安装
- Arduino - 程序结构
- Arduino - 数据类型
- Arduino - Variables & 常量
- Arduino - 运算符
- Arduino - 控制声明( Control Statements)
- Arduino - 循环
- Arduino - 功能( Functions)
- Arduino - 字符串( Strings)
- Arduino - String对象( String Object)
- Arduino - Time
- Arduino - 阵列( Arrays)
- Arduino - I/O Functions
- Arduino - Advanced I/O Function
- Arduino - 字符函数( Character Functions)
- Arduino - 数学图书馆( Math Library)
- Arduino - 三角函数( Trigonometric Functions)
- Arduino - Due & Zero
- Arduino - 脉冲宽度调制( Pulse Width Modulation)
- Arduino - 随机数( Random Numbers)
- Arduino - 中断( Interrupts)
- Arduino - 沟通( Communication)
- Arduino - 内部集成电路( Inter Integrated Circuit)
- Arduino - 串行外设接口( Serial Peripheral Interface)
- Arduino - 闪烁LED( Blinking LED)
- Arduino - 褪色LED( Fading LED)
- Arduino - 读取模拟电压( Reading Analog Voltage)
- Arduino - LED条形图( LED Bar Graph)
- Arduino - 键盘注销( Keyboard Logout)
- Arduino - 键盘消息( Keyboard Message)
- Arduino - 鼠标按钮控制( Mouse Button Control)
- Arduino - 键盘串口( Keyboard Serial)
- Arduino - 湿度传感器( Humidity Sensor)
- Arduino - 温度传感器( Temperature Sensor)
- Arduino - Water Detector / Sensor
- Arduino - PIR传感器( PIR Sensor)
- Arduino - 超声波传感器( Ultrasonic Sensor)
- Arduino - 连接开关( Connecting Switch)
- Arduino - 直流电机( DC Motor)
- Arduino - 伺服电机( Servo Motor)
- Arduino - 步进电机( Stepper Motor)
- Arduino - 音调库( Tone Library)
- Arduino - 无线通信( Wireless Communication)
- Arduino - 网络通信( Network Communication)
- Arduino - 有用的资源
- Arduino - 讨论
- Show Example 1
- Show Example 2
- Show Example 3
- Show Example 4
- Show Example 5
- If statement
- If …else statement
- If…else if …else statement
- switch case statement
- Conditional Operator ? :
- while循环
- do…while循环
- for循环
- Nested循环
- Infinite循环
- delay () function
- delayMicroseconds () function
- millis () function
- micros () function
- 将数组传递给函数(Passing Arrays to Functions)
- 多维数组(Multi-Dimensional Arrays)
Arduino - 伺服电机( Servo Motor)
伺服电机是一种带有输出轴的小型设备。 通过向伺服机构发送编码信号,可以将该轴定位到特定的角度位置。 只要编码信号存在于输入线上,伺服就会保持轴的角位置。 如果编码信号改变,则轴的角位置改变。 在实践中,伺服系统用于无线电控制的飞机中以定位控制表面,如电梯和方向舵。 它们还用于无线电遥控车,Puppet,当然还有机器人。
伺服系统在机器人技术中非常有用。 电机体积小,内置控制电路,尺寸极其强大。 诸如Futaba S-148之类的标准伺服系统具有42盎司/英寸的扭矩,其尺寸很大。 它还消耗与机械负载成比例的功率。 因此,轻载伺服系统不会消耗太多能量。
伺服电机的内径如下图所示。 您可以看到控制电路,电机,一组齿轮和外壳。 您还可以看到连接外部世界的3根电线。 一个用于电源(+5伏),接地,白色线是控制线。
伺服电机的工作
伺服电机有一些控制电路和一个连接到输出轴的电位计(一个可变电阻,又称锅)。 在上图中,可以在电路板的右侧看到电位器。 该电位器允许控制电路监控伺服电机的当前角度。
如果轴处于正确角度,则电机关闭。 如果电路发现角度不正确,它将转动电动机直到它达到所需的角度。 伺服的输出轴能够在大约180度的范围内行进。 通常,它在210度范围内,但是,它取决于制造商。 普通伺服用于控制0到180度的角运动。 由于主输出齿轮上的机械挡块,它在机械上不能再转动。
施加到电机的功率与其需要行进的距离成比例。 因此,如果轴需要转动很长的距离,电机将全速运转。 如果只需要少量转动,电机将以较慢的速度运转。 这称为proportional control 。
你如何沟通伺服转动的角度?
控制线用于传达角度。 该角度由施加到控制线的脉冲的持续时间确定。 这称为Pulse Coded Modulation 。 伺服器希望每20毫秒(0.02秒)看到一个脉冲。 脉冲长度将决定电机转动的距离。 例如,1.5毫秒的脉冲将使电机转到90度位置(通常称为中性位置)。 如果脉冲短于1.5毫秒,则电机将使轴更接近0度。 如果脉冲长于1.5毫秒,则轴转动接近180度。
组件的要求 (Components Required)
您将需要以下组件 -
- 1×Arduino UNO板
- 1×伺服电机
- 1×ULN2003驱动IC
- 1×10KΩ电阻器
过程 (Procedure)
按照电路图进行连接,如下图所示。
草图 (Sketch)
在您的计算机上打开Arduino IDE软件。 用Arduino语言编码将控制你的电路。 单击“新建”打开新的草图文件。
Arduino代码 (Arduino Code)
/* Controlling a servo position using a potentiometer (variable resistor) */
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int potpin = 0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
val = analogRead(potpin);
// reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 180);
// scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15);
}
Code to Note
伺服电机有三个端子 - 电源,接地和信号。 电源线通常为红色,应连接到Arduino上的5V引脚。 接地线通常为黑色或棕色,应连接到ULN2003 IC(10-16)的一个端子。 为了保护您的Arduino电路板免受损坏,您需要一些驱动器IC才能做到这一点。 在这里,我们使用ULN2003 IC来驱动伺服电机。 信号引脚通常为黄色或橙色,应连接到Arduino引脚编号9。
连接电位计
分压器/分压器是串联电路中的电阻器,其将输出电压缩放到所施加的输入电压的特定比率。 以下是电路图 -
$$V_{out} = (V_{in} \times R_{2})/ (R_{1} + R_{2})$$
V out是输出电位,取决于串联的输入电压(V in )和电阻(R 1和R 2 )。 这意味着流过R 1的电流也将流过R 2而不被分开。 在上面的等式中,随着R 2的值改变,V out相对于输入电压V in相应地缩放。
通常,电位计是分压器,它可以根据可变电阻器的值来缩放电路的输出电压,可变电阻器的值使用旋钮进行缩放。 它有三个引脚:GND,信号和+ 5V,如下图所示 -
结果 (Result)
通过改变锅的NOP位置,伺服电机将改变其角度。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论