Arduino实验三:伺服马达

目录

    • 前言
    • 1.伺服马达
      • 1.1 相关参数
      • 1.2实物图
      • 1.3连接线路图
      • 1.4程序代码
      • 1.5运行结果

前言

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

1.伺服马达

1.1 相关参数

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

Arduino实验三:伺服马达_第1张图片

1.2实物图

Arduino实验三:伺服马达_第2张图片

1.3连接线路图

图一:
Arduino实验三:伺服马达_第3张图片

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

1.4程序代码

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

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运行结果

Arduino实验三:伺服马达_第5张图片

  • 调试:通过旋转可变电阻的旋钮,可以看到伺服马达转动,最大转角始终不超过180度 。

你可能感兴趣的:(arduino编程,arduino)