180°舵机如何控制?

180°舵机最常见的是SG90舵机,用的也最多,非常便宜,某多多5.6块就可以买到一个,大概长这样:

前言

大二刚学单片机,觉得单片机很厉害,然后就想做一个宿舍智能开门装置。然后我就想其中最主要的问题是解决拉锁栓,拉锁栓可以用一个动力装置来完成,只要找到这个装置,那么就可以做出来了,然后我就想尽办法找这个装置。功夫不负有心人,经过几天的寻找,终于在某个视频中找到了他的身影,得知这个装置就叫做舵机。

控制原理探索

知道了它是谁,那么下一步就是要学会控制它,然后我就找了一些帖子来了解如何去控制舵机。大多看到的是这样的解释:

舵机的控制一般需要一个20ms 左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms 范围内的角度控制脉冲部分。以180 度角度伺服为例,那么对应的控制关系是这样的:

0.5ms ---------- 0 度;

1.0ms ---------- 45 度;

1.5ms ---------- 90 度;

2.0ms ---------- 135 度;

2.5ms ---------- 180 度;

起初我以为在20ms的时基脉冲中,当高电平有1.0ms时,它就会在当前位置正向转动45°,如果再给它一个这样的pwm,它还会再正向转45°。然后我就在想,用舵机把锁栓拉过去后,总不能一直拉着吧,然后我就想如何控制舵机反向旋转再把锁栓拉回去。但我发现搜不到舵机倒转的教程,我就很疑惑。经过一番研究,我终于知道怎么控制了。原来舵机会根据pwm的高电平时长来转动一定角度,如果目前正处于这个角度,那它就不会转动了,比如:现在舵机臂在90°位置,如果你的pwm高电平时间为1.0ms,那么舵机就会逆时针转45°,然后停在45°位置,如果高电平时间为2.0ms,那么舵机就会顺时针转45°,然后停在135°位置。哈哈,原来如此,终于弄明白了,在此纪录一下,也顺便引领一下和我一样的小朋友回到正轨。

后记

捎带说一下,舵机有三根线,红色接电源,棕色接地橙色接pwm信号 。一般买回来的舵机三根线都是连接在一起的,建议把他们分开,不然不好和单片机连接,可以直接把头剪掉,然后每一根线都接一根杜邦线母头就可以了。还有,360°舵机的控制原理可不跟180°一样,360°舵机是根据pwm高电平时长来改变转速和方向的,在高电平时长为0.5ms~1.5ms时:舵机正转,高电平时间越短,转速越快(尽量不接近1.5ms,否则有可能不转);在1.5ms(1.6ms、1.4ms等):停止转动,即速度为0;在1.5ms~2.5ms时:舵机反转,时间越长,转速越快;360°舵机pwm高电平时间尽量接近0.5ms与2.5ms,否则有可能不转,而且他会一直转,不好控制,所以还是180°好用些,建议买180°的。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
控制Arduino上的舵机实现正转和反转,你需要使用一个舵机驱动模块,因为Arduino的输出电压和电流无法直接驱动舵机。 以下是控制舵机正转和反转的基本步骤: 1. 连接舵机驱动模块:将Arduino的PWM输出引脚连接到舵机驱动模块的控制信号输入端口。 2. 设置舵机范围:根据舵机的规格,在Arduino代码中设置舵机的角范围。通常情况下,舵机的角范围为0到180。 3. 控制舵机正转:通过改变PWM信号的占空比来控制舵机正转。你可以使用Arduino的analogWrite函数将PWM信号输出到舵机驱动模块的控制信号输入端口。增加PWM信号的占空比会使舵机正转,减小PWM信号的占空比会使舵机停止或反转。 4. 控制舵机反转:类似地,通过改变PWM信号的占空比来控制舵机反转。减小PWM信号的占空比会使舵机反转。 下面是一个简单的示例代码,用于控制舵机正转和反转: ```cpp #include <Servo.h> Servo myservo; int pos = 0; void setup() { myservo.attach(9); // 将舵机连接到Arduino的9号引脚 } void loop() { // 控制舵机正转 for (pos = 0; pos <= 180; pos += 1) { myservo.write(pos); delay(15); } delay(1000); // 停顿一秒钟 // 控制舵机反转 for (pos = 180; pos >= 0; pos -= 1) { myservo.write(pos); delay(15); } delay(1000); // 停顿一秒钟 } ``` 请注意,具体的引脚和舵机驱动模块的连接方式可能会有所不同,所以请根据自己使用的硬件进行相应的调整。此外,舵机的角范围和舵机驱动模块的工作电压也需要根据实际情况进行设置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IoT Egr

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值