在本教程中,我们将通过ARDUINO UNO控制伺服电机。伺服电机用于需要精确的轴运动或位置的场合。不建议将这些用于高速应用。这些建议用于低速,中等扭矩和精确的位置应用。这些马达用于机械手臂,飞行控制和控制系统。
伺服电机有不同的形状和尺寸。伺服电机主要有电线,一个用于正电压,另一个用于接地,最后一个用于位置设置。红线连接到电源,黑线连接到地,黄线连接到信号。
伺服电机是直流电机,位置控制系统和齿轮的组合。直流电机轴的位置由伺服中的控制电子设备根据SIGNAL引脚的PWM信号的占空比进行调整。
简单地说,控制电子设备通过控制直流电动机来调节轴的位置。有关轴位置的数据通过SIGNAL引脚发送。通过伺服电机的信号引脚以PWM信号的形式发送到控制器的位置数据。
PWM(脉冲宽度调制)信号的频率可以根据伺服电机的类型而变化。这里重要的是PWM信号的占空比。根据该占空比,控制电子装置可调节轴。
如下图所示,要使轴移动到9o钟,“打开比例”必须为1 / 18.ie。18ms信号中1ms的开启时间和17ms的关闭时间。
要将轴移动到12o时钟,信号的接通时间必须为1.5ms,断开时间应为16.5ms。该比率由伺服系统中的控制系统解码,并根据该比率调整位置。这里的PWM是使用ARDUINO UNO生成的。
电路元件
硬件: ARDUINO UNO,电源(5v),100uF电容器,按钮(两片),1KΩ电阻器(两片),伺服电机(需要测试)。
软体: arduino IDE(Arduino nightly)。
Arduino伺服电机电路图和说明
在正常情况下,我们需要去控制器的寄存器来调整频率并获得所需的占空比以精确地控制伺服器,在ARDUINO中,我们不必做这些事情。
在ARDUINO中,我们有预定义的库,一旦调用或包含头文件,该库将相应地设置频率和占空比。在ARDUINO中,我们只需声明所需的伺服器位置,然后由UNO自动调整PWM。
为了获得准确的伺服器位置,我们需要做的事情是:
|
首先,我们需要设置PWM信号的频率,为此,我们应称“ #include
现在,我们需要为伺服“ sg90servo”定义一个名称,这里是“ sg90servo”的名称,因此在编写药水时,我们将使用该名称,当我们需要控制多个伺服器时,此功能非常有用,这样我们就可以控制多达八个伺服。
现在,我们告诉UNO伺服的信号引脚连接在哪里或需要在哪里生成PWM信号。为此,我们有“ Sg90.attach(3);”,在这里告诉UNO我们将伺服的信号引脚连接到了PIN3。
剩下的就是设置位置,我们将使用“ Sg90.write(30);”来设置伺服器的位置,通过此命令,伺服手将移动30度,就这样。之后,每当需要更改伺服器的位置时,都需要调用命令“ Sg90.write(needed_position_ angle);”。在该电路中,我们将有两个按钮,一个按钮增加伺服位置,另一个按钮减少伺服位置。
的Arduino的伺服电机控制教程 在步骤通过下面给出的C代码步骤进行说明。