美文网首页
FRC | RRF004 控制舵机

FRC | RRF004 控制舵机

作者: T_K_233 | 来源:发表于2019-06-06 09:43 被阅读0次

什么是 PWM

PWM,全称脉冲宽度调制(Pulse Width Modulation),是一种将数字信号模拟成模拟信号的方法。【是的我知道这句话比较绕口】

数字信号与模拟信号

数字信号为只有两种状态的信号,比如0 或 1,开或关,True 或 False。模拟信号指的是能够在一个区间内随意变化的信号。

通过操作输出端口在短时间内的开或关,能够将输出端口的电压(比如5V)在这段时间内平均为 0V 到 5V 之间的任意电压值。

占空比

占空比是高电压信号的时间与总周期时间的比值,比如周期 5ms,信号 1ms 则占空比为 20%。

信号的波形如下图所示:

pwm.png

舵机与 PWM

常见的舵机都使用 50Hz 的控制信号,也就是周期为 20ms 的信号。

其中,5% ~ 10% 的占空比对应了舵机的 0° ~ 180° 的动作范围。

sg90pwm.png

程序

使用 WPILib 控制舵机非常简单。

首先我们需要 import 舵机的库

...
import edu.wpi.first.wpilibj.Servo;
...

之后在机器人类下面定义舵机变量

...
public class Robot extends TimedRobot {
  private Servo example_servo;
  ...
}
...

在机器人初始化方法中创建servo对象,括号中的数字是舵机在电路中连接的 PWM 端口,0~9 在 RoboRIO 上,10~19 在扩展板上

  ...
  @Override
  public void robotInit() {
    // the PWM port number is needed to create the servo object.
    example_servo = new Servo(9);
    ...
  }
  ...

之后就可以在程序中引用。下面给出了一个通过 XboxController 的按钮控制舵机的例子

  ...
  @Override
  public void teleopPeriodic() {
    if (joystick.getAButton()) {
      // set the servo to CCW maximum.
      example_servo.set(0.0);
    }
    if (joystick.getBButton()) {
      // set the servo to CW maximum.
      example_servo.set(1.0);
    }
   ...
  }
  ...

example_servo.setAngle(degree) 同样可以被用来控制舵机,degree 为角度值,0.0 ~ 180.0

作业

  1. 写出一个使用 XboxController 0号摇杆控制 PWM 2号端口的舵机角度的程序(20分)

  2. 写出一个使用 XboxController LeftBumper 按钮控制 PWM 12号端口的舵机角度的程序,要求按钮按下抬起一次舵机转动到 100°,再次按下抬起舵机转动到 30°(20分)

要求:

  • 请将题目抄写在程序注释中。

  • 行数在 100-200 之间。

  • 不要出现所在学校的校名或师生姓名。

  • 遵守格式和注释要求。

相关文章

  • FRC | RRF004 控制舵机

    什么是 PWM PWM,全称脉冲宽度调制(Pulse Width Modulation),是一种将数字信号模拟成模...

  • 简单说一说舵机

    什么是舵机: 在机器人机电控制系统中,舵机控制效果是性能的重要影响因素。舵机可以在微机电系统和航模中作为基本的输出...

  • 多路舵机控制,定时器的分时复用

    多路舵机控制,多个定时器中断法

  • 编程课

    今天,我们又要上编程课了, 我们今天要学的是:舵机,你们知道舵机是什么吗?舵机是一个控制方向的机器,比如说...

  • Arduino控制舵机

    一、使用工具 1、Arduino UNO 2、RB-15PG舵机 二、参数(数据来自奥松机器人官网) 1.重量:9...

  • Arduino 舵机控制

    SG90舵机: SG90 9克舵机是目前市面上最便宜也是最常见的舵机,最大角度为180度。9克指的是舵机重量为9克...

  • Arduino 控制舵机

    实验一 2s后旋转到90°位置、2s后旋转到180°位置 接线图 棕色红色黄GNDVCC(5V)D2 代码 实验二...

  • 1 控制舵机

    一 接线图 二 代码 三 仿真https://wokwi.com/projects/342325524668875...

  • 11.01每日总结

    今天我们学习了舵机,舵机其实一种形式的电机,只不过他可以控制旋转的角度,对于控制电机来说,我们所用到的软件有所不同...

  • 舵机

    航模中的舵机所用的控制信号,更一般的说来就是,在比例遥控中所用的舵机以及调速器等等执行机的控制信号都是数字脉冲信号...

网友评论

      本文标题:FRC | RRF004 控制舵机

      本文链接:https://www.haomeiwen.com/subject/timitctx.html