舵机简介及通过Arduino控制舵机180度/360度

舵机简介

常见的舵机有很多种分类,我以一种不成文的分类方式有,180°舵机,360°舵机,总线舵机。这些舵机在真正使用的时候也是存在区别的。180度舵机能控制角度,360度舵机只能控制速度和方向,总线舵机为可以进行逐级串联的(当前舵机输出端为下一舵机输入端),所以串级连接中,当前舵机的供电来源于串级系统中上一个的舵机的输出端。有的数字舵机只带了通信功能在价格上也比较昂贵,达到单个数千元。二淘宝上普通的舵机价格一般在几元,十几元不等(如下图)。

图1 常见舵机

(1)180度舵机控制方式

180度是在普通场合时最常用的,一半包含三根线(VCC --> 电源正,GND --> 电源负,SINGAL --> PWM输出引脚),控制原理如下。简单地说,舵机的控制需要通过周期为20ms的PWM波来实现。对于180度舵机的20ms周期的PWM波,在0.5ms时对应左极限位置,2.5ms时对应右极限位置。1.5ms对应中间位置。

图2 不同角度PWM波下的舵机角度

(2)360度舵机控制方式

360度舵机控制方式与180度舵机不同在于,360舵机只能控制方向和速度,如上图,把角度理解成方向,如20msPWM方波中0.5ms时刻为左转(反转)最大速度,1.5ms为停止转动,2.5ms时刻为右转(正转)最大速度。

(3)总线舵机

总线舵机通常支持通信控制,如485,232等。某些昂贵的舵机自带位置反馈,但并不回给控制带来难度。所以,简单说这种舵机的内部实现逻辑我们并不需要知道,直接通过通信来完成就行了。

通过Arduino实现舵机控制

(1) Arduino Nano控制两路180舵机 - 使用Servo库

图3 控制180度舵机

(2) Arduino Nano控制两路360舵机 - 使用Servo库

图4 控制180度舵机


另,

Arduino Servo库还提供了一个比例放大的函数。servo.writeMicroseconds(PWM),这个函数中,PWM对应的范围是(1000,2000)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容