STM32
直播中

贾虎世

7年用户 1677经验值
私信 关注
[问答]

怎样通过Arduino为SG90伺服电机供电呢

怎样通过Arduino为SG90伺服电机供电呢?
基于Arduino开发板是如何控制SG90伺服电机的?

回帖(1)

成贯征

2021-11-10 09:27:49
  本文非常适合初学者,因为它很容易上手,并且为他们建立有趣的项目(例如通常使用伺服器的机器人)奠定了基础。伺服电机(Servo Motor)是高转矩电机,由于其在机器人和其他一些应用中的通用性,轻松控制其旋转。伺服电机也称为舵机,它带有齿轮输出轴,该齿轮输出轴可以通过电气控制,每次旋转一度。为了控制起见,与普通的直流电动机不同,伺服电机通常在两个电源引脚(VCC和GND)的旁边有一个引脚,即信号引脚。信号引脚用于控制伺服电机,将其轴旋转至任何所需角度。
  在本篇文章中,我们将使用非常流行的SG90伺服电机,我们的目标是将伺服电机从一个角度旋转到另一个角度。伺服电机的电流要求很高,因此当在Arduino上使用多个伺服电机时,需要将其电源连接到外部电源,因为Arduino可能无法提供伺服电机所需的电流,这一点很重要。由于在本文中我们将仅使用一个伺服电机,因此可以通过Arduino为它供电。
  所需的组件
  ● SG90伺服电机
  ● Arduino Uno开发板
  ● 连接导线
  ● 面包板
  原理图
  该项目的原理图非常简单,因为我们只需将伺服电机连接到Arduino,伺服电机通常具有三个引脚,其中包括VCC、GND和Signal引脚。Signal引脚是用于将控制信号从微控制器馈送到伺服电机,以使伺服电机旋转到特定角度。如下图所示,将伺服器连接至Arduino。
  Signal引脚连接到Arduino的数字引脚8,因为它是PWM引脚。伺服方向以PWM脉冲方式从微控制器发送到伺服电机。完成所有连接后,我们现在就可以编写项目代码了。
  代码
  本篇文章的代码非常容易,这要归功于Arduino团队开发的非常全面而简洁的库,该库便于在Arduino项目中使用伺服电机。该库使使用单个命令轻松地将伺服电机旋转到不同的角度。
  该库是预先安装在Arduino IDE中的,无需我们下载和安装。首先,我们在代码中包含将要使用的库(在本例中为库)。
  #include
  接下来,我们创建该库的一个对象,以在整个代码中用作控制伺服电机的参考。
  Servo servo;
  完成此操作后,我们开始void setup()函数。首先,将创建的伺服对象附加到微控制器的引脚D8,然后将伺服电机旋转至零度。
  void setup() {
  (8);
  servo.write(angle);
  }
  完成此操作后,我们就可以按照所需的任何方向移动伺服电机了,我们将在void loop()函数中执行此操作。通过使用库,要将伺服电机旋转到所需的角度,我们要做的只是将所需角度作为参数传递给()函数。为了证明这一点,使用了一个for循环将伺服电机沿一个方向旋转几个角度,并使用另一个循环将伺服器旋转回其起点。
  void loop()
  {
  // scan from 0 to 180 degrees
  for(angle = 10; angle 《 180; angle++)
  {
  (angle);
  delay(15);
  }
  // now scan back from 180 to 0 degrees
  for(angle = 180; angle 》 10; angle--)
  {
  (angle);
  delay(15);
  }
  }
  以下是本文的完整代码:
  #include
  Servo servo;
  int angle = 10;
  void setup() {
  (8);
  (angle);
  }
  void loop()
  {
  // scan from 0 to 180 degrees
  for(angle = 10; angle 《 180; angle++)
  {
  (angle);
  delay(15);
  }
  // now scan back from 180 to 0 degrees
  for(angle = 180; angle 》 10; angle--)
  {
  (angle);
  delay(15);
  }
  }
  效果演示
  复制上面的代码,然后上传到Arduino开发板,对伺服电机进行设置,一段时间后,您应该看到伺服电机开始转动。
  以上就是本文的所有内容,上面的代码可以通过多种方式扩展,以用于涉及伺服电机的不同项目中,您将使用伺服电机制造出什么很棒的东西?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分