180°舵机如何控制?
180° 舵机最常见的是 SG90 舵机,用的也最多,非常便宜,某多多 5.6 块就可以买到一个,大概长这样:
前言
大二刚学单片机,觉得单片机很厉害,然后就想做一个宿舍智能开门装置。然后我就想其中最主要的问题是解决拉锁栓,拉锁栓可以用一个动力装置来完成,只要找到这个装置,那么就可以做出来了,然后我就想尽办法找这个装置。功夫不负有心人,经过几天的寻找,终于在某个视频中找到了他的身影,得知这个装置就叫做舵机。
控制原理探索
知道了它是谁,那么下一步就是要学会控制它,然后我就找了一些帖子来了解如何去控制舵机。大多看到的是这样的解释:
舵机的控制一般需要一个 20ms 左右的时基脉冲,该脉冲的高电平部分一般为 0.5ms~2.5ms 范围内的角度控制脉冲部分。以 180 度角度伺服为例,那么对应的控制关系是这样的:
1 |
|
起初我以为在 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° 的。




