arduino舵机转动程序(arduino控制舵机代码)
-
-
类目:知识大全
-
联系人:
-
微信号:
-
Q Q 号:
-
手机号:
-
浏览量:
334
【商户信息】
【货源详情】
今天,做标记设计留学的程老师继续给大家带来Arduino的相关知识,以前发表了很多相关的文章。 你还记得复习啊。
舵机是很多同学喜欢使用的传感器。 适用于需要角度不断变化并能维持的控制系统的“角度”伺服位置的驱动器。 目前,在高级遥控玩具、航空模型、机器人中已经普遍使用。 舵机其实是一种低端的伺服电机系统,它也是最常见的伺服电机系统,故英文称为Servo,是Servomotor的简称。 它通过比较PWM信号和滑动压敏电阻的电压,用硬件电路实现恒定控制增益的位置控制。 也就是说,它包含电动机、传感器和控制器,是完整的伺服电动机(系统)。 价廉小巧,但精度低,位置稳定性差,能满足低端的许多需求。
外部接线方面,舵机一般外接在3根线上,分别用棕、红、橙3种颜色来区分。 不同品牌的颜色不同,茶色是接地线,红色是电源正极线,橙色是信号线。 由于Arduino的驱动能力有限,需要控制多台舵机时,需要使用外置电源和专用舵机控制板。
舵机的旋转角度是通过调节PWM (脉宽调制)信号的占空比来实现的,标准PWM )信号的周期固定为20ms(50Hz ),理论上脉宽分布必须在1ms到2ms之间,但实际上脉宽为0.5ms 有值得注意的地方。 由于舵机品牌不同,对于同一信号,不同品牌的舵机旋转角度也不同。
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。
今天的内容到此结束。 希望通过今天的分享能掌握舵机的基本使用方法。