📜  使用电位计的Arduino伺服电机

📅  最后修改于: 2020-12-27 10:06:56             🧑  作者: Mango

使用电位计的Arduino伺服电机

电位计将用于控制伺服电机的位置。除了增加的电位计外,该连接与上一个伺服电机项目相似。

让我们从Arduino项目开始。

所需硬件

该项目所需的组件如下:

  • 1 x迷你伺服马达
  • Arduino UNO R3开发板(我们可以使用任何Arduino开发板)。
  • 跳线
  • 1 x 10K欧姆电位器

小型伺服马达:定义为微型马达,可以旋转大约180度。它的工作原理与通常的伺服电机类似,但尺寸更小。

原理

该项目使我们能够将轴控制在0到180度之间的角度。我们还可以将轴的旋转速度设置为不同的速度。

伺服电动机具有信号,电源和接地的三个端子。

伺服电动机的电源引脚连接到Arduino UNO R3板的引脚9。

项目结构

连接或项目的结构如下所示:

草图

考虑下面的代码:

#include 

Servo myservo;
// It creates a servo object, which is used to control the servo

int potentioPIN = A0;  // specified analog pin used to connect the potentiometer
int value;    // value initialized to the variable to read the value from the analog pin

void setup() 
{
  myservo.attach(9);  // servo connected to pin 9 of the Arduino board to the servo object
}

void loop() 
{
  value = analogRead(potentioPIN);            
  // reads the value of the potentiometer (value between 0 and 1023)
  value = map(value, 0, 1023, 0, 180);     
  // scale it to use it with the servo (value between 0 and 180)
  myservo.write(value); 
  delay(1000); // it will wait for 1 second for the 
  // It will set the position of the motor according to the scaled value
  value = map(value, 1023, 0, 180, 0);
  // reads the value of the potentiometer (value between 1023 and 0)
   myservo.write(value);
  // scale it to use it with the servo (value between 180 and 0)
  // the motor will rotate in reverse direction
  delay(1000);                           
  // delay time in milliseconds
  //after 1500 millisecond it will again rotate from 0 to 180 degree
}

将代码上传到板上的步骤

步骤如下:

  • 打开Arduino IDE。
  • 从工具->板-> Arduino UNO中选择板的类型。
  • 从工具->端口-> COM中选择端口。
  • 将以上草图上传到连接图。

我们还可以修改代码以相应地更改伺服电机的性能。

连接

下面列出了建立连接的步骤:

  • 将伺服电机的信号端子连接到Arduino板的5V引脚。
  • 将伺服电机的电源端子连接到Arduino板的引脚9。我们可以将电动机的电源端子连接到Arduino板上的任何数字PWM引脚。
  • 将伺服电机的接地端子连接到Arduino板的GND引脚。
  • 电位器的一个外部引脚连接到地面( GND ),而另一个外部引脚连接到Arduino板的5V。
  • 电位器的中间端子连接到电路板的模拟输入引脚A0。

连接图

我们将使用模拟器来显示连接,以便使连接更清晰,更精确。

我们可以使用硬件设备进行相同的连接。

输出量

轴将旋转0到180度之间的角度,然后再次反向旋转。

我们还可以通过仅在0到180度的一个方向上指定代码来修改代码。因此,我们可以根据要求进行更改。