今天马克笔设计留学的程老师继续给大家带来Arduino的相关知识,之前发布了很多相关文章,记得复习啊!
舵机是很多同学喜欢使用的一种传感器 。它是一种位置「角度」伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统 。目前在高档遥控玩具、航模、机器人中已经得到普遍使用 。舵机,其实就是个低端的伺服电机系统,它也是最常见的伺服电机系统,因此英文叫做Servo,就是Servomotor的简称 。它将PWM信号与滑动变阻器的电压相比对,通过硬件电路实现固定控制增益的位置控制 。也就是说,它包含了电机、传感器和控制器,是一个完整的伺服电机(系统) 。价格低廉、结构紧凑,但精度很低,位置镇定能力较差,能够满足很多低端需求 。
外部接线,舵机一般都外接三根线,分别用棕、红、橙三种颜色进行区分,由于品牌不同,颜色也会有所差异,棕色为接地线,红色为电源正极线,橙色为信号线 。由于Arduino的驱动能力有限,当需要控制多个舵机时,需要外接电源以及使用专用的舵机控制板 。
舵机的转动的角度是通过调节PWM(脉冲宽度调制)信号的占空比来实现的,标准PWM(脉冲宽度调制)信号的周期固定为20ms(50Hz),理论上脉宽分布应在1ms到2ms 之间,但是,事实上脉宽可由0.5ms 到2.5ms 之间,脉宽和舵机的转角0°~180°相对应 。有一点值得注意的地方,由于舵机牌子不同,对于同一信号,不同牌子的舵机旋转的角度也会有所不同 。
servo类下有以下成员函数:attach()//连接舵机;write()//角度控制;writeMicroseconds();read()//读上一次舵机转动角度;detach()//断开舵机连接 。当然,用于舵机的第三方库要去github上下载 。经常有学生喜欢用舵机去控制机械臂,那我们在新手包里使用到的是180度的舵机,舵机也有可以转动90度,270度和360度的 。但是要明确一点,360度舵机无法像180度舵机一样控制角度,它只能控制方向和速度 。
关于函数——《Arduino常见函数讲解 》
360度舵机与一般舵机的区别是:给一般舵机一个PWM信号,舵机会转到一个特定角度,而给360度舵机一个PWM信号,舵机会以一个特定的速度转动,类似于电机 。但与电机不同的是,360舵机是闭环控制,速度控制稳定 。很多学生喜欢用舵机去带动一些东西旋转,从而实现某些效果,在这里我要提醒大家,单个舵机本身的力量有限,它是否能带动你需要经过实验,不要想当然,凭空去假设,测试环节是我们在做Arduino项目时最重要的阶段 。
以180度舵机为例:
0.5ms—————-0度;
1ms —————–45度;
1.5ms—————-90度;
2ms —————–135度;
2.5ms —————180度;
PWM 信号与360舵机转速的关系:
0.5ms—————-正向最大转速;
1.5ms—————-速度为0;
2.5ms—————-反向最大转速;
还有个步进电机,也是大家经常提到的 。那我来简单说一下步进电机和舵机的区别,步进电机英文是stepper/step/stepping motor 。主要是依靠定子线圈序列通电,顺次在不同的角度形成磁场,推拉定子旋转 。步进电机的好处是,你可以省掉用于测量电机转角的传感器 。因此在结构上和价格上有一定的优势 。而且它的位置和速度控制相对简单 。其缺点是,第一,与同等功率的电机相比载荷比较小,没有角度传感器的情况下不能输出大力矩 。第二,功耗相对较大,要么全开,要么全关 。所以要么接近满功耗,要么就不能出力 。ULN2003驱动板上IN1、IN2、IN3、IN4分别连接UNO开发板的数字引脚2,3,4,5;驱动板电源输入+、-引脚分别连接UNO开发板的5V、GND 。
推荐阅读
- arduino模拟器软件 arduino编程语言入门知识
- 帝国时代3决定版怎么转动建筑 帝国时代3决定版转动建筑方法
- 猫头鹰的眼睛能随意转动吗 蚂蚁庄园今日答题1.18
- 地平线4怎么自由转动视角 地平线4自由转动视角介绍
- 电子风扇转动水温还过高 电子扇一直转水温不高
- 《模拟人生4》让家具转动方向的方法 家具怎么样转动方向
- 汽车方向盘转动时吱吱响是怎么回事
- 梦幻模拟战转动的哲学怎么玩 转动的哲学玩法攻略
- 刺客信条起源1.03新版本更新后转动视角延迟解决教程
- 太阳是怎样转动的 太阳是如何转动的