我写本教程的目的是向您展示如何使用Arduino UNO板控制SG90 9G微型伺服电机的方向,位置和速度。我知道,如果您是一位具有机器人经验的业余爱好者,则很容易控制此伺服电机,但像往常一样,您在该领域不会错过任何东西。即使这样,如果本教程对您来说无聊,这里还是Arduino UNO廉价项目的列表。

教程:如何使用Arduino UNO控制Tower Pro SG90伺服
教程的组织方式:
- 我将首先简要介绍控制伺服电机所需的零件。
- 然后,我对Tower Pro SG90伺服器进行了概述。
- 我将伺服电机分解为零件,向您展示零件;
- 最后,我去了练习部分,向您展示了如何连接TowerPro SG90,编写Arduino草图以及一些有关伺服电机的技巧。
伺服电机可以精确控制角位置,速度和加速度。它’s like you’在您的汽车方向盘上。您可以精确控制汽车的速度和方向。
可以非常严格地控制角位置,速度和加速度’必须在没有用于位置反馈的传感器的情况下进行。电机旋转时,此传感器会发出警报。但是即使如此,还是有一些更复杂的东西可以控制伺服电机的所有阶段。它’是一个专用控制器,可使伺服器内的微小物体以军事精度移动。
反馈传感器,控制器和电动机。一世’m just asking –为什么需要伺服电机?如果需要控制对象的位置,旋转传感器,移动手臂和腿部,驱动轮和轨道等,这些伺服器必不可少。
1.所需硬件
这不是一个复杂的项目,但是我们仍然需要一些部分。幸运的是,所有组件都很便宜,并且可以在全球范围内使用。
要控制TowerPro SG90伺服器,您将需要以下部件:
2. Tower Pro SG90伺服
Tower Pro SG90伺服是市场上最便宜的伺服电机之一。即使’便宜,不到5美元,唐’尝试用手旋转伺服电机,因为这可能会损坏电机。
让’简要概述SG90规格。
例如,您需要扭矩来控制物体的位置,这个重量为0.32盎司(9.0克)的小盒子可以在4.8V电压下提供25.0盎司(1.80千克-厘米)的扭矩。在4.8V时,伺服速度为0.12秒/ 60°。所有这些规格对于这个小塑料盒来说确实令人印象深刻。好吧,还有其他高端伺服器比SG90伺服器有更多的肌肉,但是这些高端伺服器可以’击败了SG90伺服器的价格。 SG90便宜到足以在它们破裂时扔掉。
3.看一下SG90微型伺服器的内部

内部SG90伺服
在微型伺服器内部,您可以从上图中找到零件。顶盖装有塑料齿轮,而中盖装有直流电动机,控制器和电位计。
4.如何连接TowerPro SG90,Arduino草图和一些技巧
考虑到您已经有一个Arduino UNO,SG90伺服器和六根线,您的电路应如下所示(加上方案):

Arduino SG伺服电机控制架构

Arduino SG伺服电机控制电路
这是要注意的事情。伺服电机有三根引线,比直流电机多一根。每根引线都有颜色代码。因此,您必须将棕色线从微型伺服器连接到Arduino的GND引脚。将红色导线从伺服器连接到Arduino上的+ 5V。最后,将橙色线从SG90伺服器连接到Arduino上的数字引脚(引脚9)。
Arduino使事情变得简单。在本教程中,我将使用直接通过Arduino通过USB供电的SG90伺服器。您也可以这样做。
Arduino素描
在下面您可以找到控制伺服的Arduino草图’s方向,电机位置和SG90伺服器的速度。在到达Arduino代码之前,我想写一些关于 文件。该库使我们的生活更轻松。它包含控制SG90伺服器所需的所有功能。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | / * 进入机器人 * / #包括伺服.h //add '<' and '>'伺服前后 整型 伺服针 = 9; 伺服 伺服系统; 整型 伺服角度 = 0; //伺服位置(以度为单位) 虚空 建立() { 序列号.开始(9600); 伺服系统.连接(伺服针); } 虚空 循环 () { //控制伺服方向和电机位置 伺服系统.写(45); //将SG90伺服器向左旋转45度 延迟(1000); //等待1秒 伺服系统.写(90); //将SG90伺服器旋转回90度(中心位置) 延迟(1000); //等待1秒 伺服系统.写(135); //将SG90伺服右转135度 延迟(1000); //等待1秒 伺服系统.写(90); //将SG90伺服器旋转回90度(中心位置) 延迟(1000); //结束控制伺服方向和电机位置 //控制伺服速度 //如果您更改延迟值(从示例更改为50到10),则伺服速度会更改 对于 (伺服角度 = 0; 伺服角度 < 180; 伺服角度 ++ ) //将微伺服从0度移到180度 { 伺服系统.写(伺服角度); 延迟(50); } 对于 (伺服角度 = 180; 伺服角度 > 0; 伺服角度 - ) //现在将微伺服从0度移回180度 { 伺服系统.写(伺服角度); 延迟(10); } //结束控制伺服速度 } |
您也可以破解SG 90微型伺服器
SG90微型伺服器可以转动您的机械手。这非常好,因为伺服箱的形状可帮助您将其连接到机器人机箱。但是SG90伺服器的旋转存在问题。它’s关于最大旋转180度的旋转。
在这种情况下,您需要对其进行破解以使其连续旋转。这是一个微妙的操作,需要时间和注意。在进行任何操作之前,请确保您有多余的钱或其他微型伺服器。’re doing this wrong.
这个 本教程逐步向您展示如何破解Tower Pro SG 90微型伺服器以实现连续旋转。
最后,我希望本教程能帮助您学习如何使用Arduino UNO控制Tower Pro SG 90微型伺服器。另外,不要’别忘了在社交网络上分享该教程,以帮助其他人学习控制他们的微型伺服器。
免责声明:此帖子包含会员链接。