蚁哥和你一起玩ARDUINO(53了解步进电机)
作为一个ARDUINO玩家,做小车要用到直流电机,做机械臂要用到舵机,那么雕刻机和3D打印机呢就要用到步进电机了。步进电机的特点就是能够实现精确控制步长,实现每一步转动固定的角度,再根据机械设计的齿轮比等参数,能够让执行机构达到精准的位置。
步进电机和3D打印机
步进电机根据定子绕线相数分为两相、三相、四相、无相等,最常用的是两相步进电机,这类电机一般都有四根电缆,分别是电机的A+、A-、B+、B-四个端子。
两相步进电机示意图
两相步进电机的节拍一般分为4拍和8拍,所谓4拍,就是4个基础周期完成一步,8拍也就是8个基础周期完成一步,比4拍更加精细。下图表示驱动步进电机时四个端子的状态:
四拍工作方式
八拍工作方式
如果要电机反方向转动,只要反过来给端子信号就可以了。
由于步进电机工作电流比较大,一般的单片机IO没有那么大的驱动能力,因此,需要两外增加驱动电路来让步进电机工作,有专用驱动芯片和驱动器可供我们选择,下一次我会和大家分享一下常见的驱动芯片和驱动器的用法。
蚁哥和你一起玩ARDUINO(54常见的两种步进电机驱动方式)
ARDUINO驱动步进电机有两种方式,一种是使用4路IO分别控制步进电机的4个端子;另一种是通过驱动器,只要两根IO控制方向和速度就可以了。
第一种 四路IO驱动
先来看第一种,最常见的就是使用ULN2003A芯片来控制,下面是用UN2003A做的驱动板:
ULN2003A 模块
ULN2003A相当于一个多路晶体管阵列,耐压以及允许导通电流值都要远大于单片机的IO口,很适合用来驱动电流较大的负载,比如继电器、灯珠或者小型电机。下面是ARDUINO和ULN2003A驱动板的接线图
ULN2003A模块接线图
第二种 通过专用驱动芯片或模块
第二种控制方式比较常见的是步进电机专用驱动芯片A4988,网上很容易买到它的模块,很多创客用它来驱动步进电机,制作3D打印机。下面是A4988模块管脚定义及典型应用电路。
A4988模块
其中,DIR脚用来控制方向,STEP脚用PWM来控制速度,MS3、MS2、MS1三根脚通过不同电平组合设置工作模式:
模式设置表
接线实物图如下图所示:
A4988模块接线图
这种连线方式下,步进电机将工作在全拍模式下。
如果要制作更大功率的传动设备,建议大家使用专门的电机驱动器和运动控制器。
相关问答
伺服驱动器控制伺服电机和plc或者单片机控制伺服电机有何区...
[回答]介绍各种常用的单片机测控应用设计案例,通过案例使读者了解单片机系统的的各种常见的应用设计。本文档的主要内容详细介绍的是Arduino的步进电机实...
arduino如何分别控制多个步进电机运动,XYZ轴运动。?
[回答]步进电机相比伺服电机经济实惠,控制简单实用,但控制精度低,可靠性差点。
arduino连接usb系统正常,usb一拔掉步进电机就丢步?
电源板的供电,比usb供电,电压高,带载能力也强,这个区别也是有可能导致步进丢步和震动。步进高频和低频段,都会丢步,这是步进的特性,你可以看看步进相关的...
cnc扩展板使用?
ArduinoCNC电机扩展板常用于驱动3D打印机、机械臂或机器人系统中的NEMA17电机(俗称42步进电机)。假如您想要用Arduino扩展板来驱动直流电机或28BYJ-48步进电...
arduino的5v电压口不够?
如果Arduino的5V电压口不够,可以考虑增加外部电源模块或使用扩展板,从而获得更多的5V电源输出。这里提供两种可行的解决方案:1.外部电源模块:可以使用外部...
机器人编程怎么入门?
机器人编程入门方法1、先学习C语言,这是基础,然后学习单片机,然后就是实验步进电机的控制,译码器的工作原理和编程等等,这些是入门,有基础之后可以学点Ard...
猿编程机器人怎么行驶?
猿编程机器人通常是基于Arduino等单片机系统进行设计和开发的,其行驶方式主要取决于所使用的驱动部件和控制程序。一般来说,猿编程机器人的行驶可以通过以下几...
鸟笼自动关鸟怎么做的?
1.鸟笼:首先需要一个鸟笼,可以是金属丝网或木质材料制成。鸟笼的大小应该适合鸟类的大小,同时要确保鸟类可以在里面自由地飞行和活动。2.电机:鸟笼自动关...
工业机器人编程难学吗?
机器人的开发语言一般为C、C++、C++Builder、VB、VC等语言,主要取决于执行机构(伺服系统)的开发语言;而机器人编程分为示教、动作级机器人编程语言、任务级...
电机的选择类型求推荐?
关键是看负荷类型、功率以及控制要求等几个方面,功率大小、转速是否需要调节以及转矩是否变化等,一般性负荷选用交流异步电动机,需要调速的选用直流电动机,控...