Arduino实验三:伺服马达

前言

  • 伺服马达和直流马达的区别
  • 伺服马达有3条接入线,在输入信号的控制下,能够转动特定角度,其中三条线中,红色线接正极,棕色线接地(GND),橙色线接讯号线
  • 直流马达有2条接入线(正负极),纯电动

1.伺服马达

1.1 相关参数

  • 伺服电机是指在伺服系统中控制机械元件运转的发动机,是一种补助马达间接变速装置。可使控制速度,位置精度非常准确,可以将电压信号转化为转矩和转速以驱动控制对象。
  • 转子转速受输入信号控制,并能快速反应,在自动控制系统中作执行元件,且具有机电时间常数小、线性度高。产生电磁干扰,对环境有要求。因此它可以用于对成本敏感的普通工业和民用场合。
  • 伺服系统是使物体的位置、方位、状态等输出被控量能够跟随输入目标(或给定值)的任意变化的自动控制系统。
  • 内部电路图:

伺服马达

1.2实物图

在这里插入图片描述

1.3连接线路图

图一:
在这里插入图片描述

  • 伺服马达红色线连接到Arduino主板的5V插孔,棕色线接地,故与GND相连,其他线(橙色线)与9号插孔连接,作为伺服马达的讯号输入。
    图二:
    在这里插入图片描述
  • 此外,连接一个可变电阻(三个引脚)作为控制伺服马达讯号输入,当电阻值变化时,作为模拟输入信号,改变伺服马达的讯号输入,从而让伺服马达转动一定角度。
  • 可变电阻的使用方法可参见我的其他博客或者其他,这里不做详细讨论,

1.4程序代码

  • 这里使用示例代码:文件–>示例–>servo–>knob,然后删除掉不用的注释。
#include <Servo.h>//导入伺服马达函数库

Servo myservo;  //定义你的使用马达

int val;    

void setup() {
  myservo.attach(9);  //马达讯号输入接口
}

void loop() {
  val = analogRead(A0);            
  val = map(val, 0, 1023, 0, 180); //将得到的数(0~1023)转换为范围(0~100)   
  myservo.write(val); //马达转角                
  delay(15);                           
}

1.5运行结果

在这里插入图片描述

  • 调试:通过旋转可变电阻的旋钮,可以看到伺服马达转动,最大转角始终不超过180度 。
发布了25 篇原创文章 · 获赞 4 · 访问量 759

猜你喜欢

转载自blog.csdn.net/qq_45416295/article/details/104232333