【转自】http://blog.csdn.net/ling3ye/article/details/47001251
用Arduino驱A4988驱动电机对于DIY3D打印机:
材料清单BOM:
Arduino uno *1
A4988 *1
42步进电机 *1
面包板 *1
9V外接电源 *1
导线 若干
MS1 , MS2 , MS3 跳线说明:(例子里是低电平,悬空或接地线,使用全步进模式)
分别是全步进,1/2步进,1/4步进,1/8步进,1/16步进模式。
步进电机走一步是1.8度,一圈就是200步。例如使用1/16步进,则需要走3200步才等于一圈。
控制要领:
*脚6(-en) 低电平为启动电机(enable),貌似也可以不接,试过一样能运行.但如果要控制电机的启动关闭还是要用上
*脚4(-dir) 用高低电平控制方向.
*脚5(-step) 用高低电平驱动电机转动.注意中间间隔等待的微秒值,如果太快会导致电机有声响不转动.
int x;
void setup()
{
pinMode(6,OUTPUT); // Enable
pinMode(5,OUTPUT); // Step
pinMode(4,OUTPUT); // Dir
digitalWrite(6,LOW); // Set Enable low
}
void loop()
{
digitalWrite(4,HIGH); // Set Dir high
for(x = 0; x < 200; x++) // Loop 200 times
{
digitalWrite(5,HIGH); // Output high
delayMicroseconds(800); // Wait 1/2 a ms
digitalWrite(5,LOW); // Output low
delayMicroseconds(800); // Wait 1/2 a ms
}
delay(1000); // pause one second
digitalWrite(4,LOW); // Set Dir low
for(x = 0; x < 200; x++) // Loop 2000 times
{
digitalWrite(5,HIGH); // Output high
delayMicroseconds(800); // Wait 1/2 a ms
digitalWrite(5,LOW); // Output low
delayMicroseconds(800); // Wait 1/2 a ms
}
delay(1000); // pause one second
}
附A4988驱动板典型电路:
4988步进电机驱动板是3d打印机最常用的板子了。大部分打印机都是采用此方案来驱动步进电机的。
1、4988驱动板可以驱动57电机吗?
4988可以驱动的电机跟尺寸关系不大,主要与工作电流有关,理论上电流小于2A的步进电机都是可以驱动的,不论是42还是57电机。
2、可以驱动多大的电流?
如果4988芯片上没有加散热片,电流最好在1.2A以下。如果加散热片,电流可以达到2A。
3、步进电机的连接方式是什么?
正如4988板子背面所标识的,连接方式是依次连接步进电机的1B-1A-2A-2B,或者反向为2B-2A-1A-1B,或者1A-1B-2B-2A,其它的方式一次类推。如果你的电机线是标准的红蓝绿黑的颜色,可以按照颜色连接为:红-蓝-绿-黑,或相反:黑-绿-蓝-红。
4、如何调节相电流?
相电流的大小跟步进电机的扭力有直接关系,如果感觉你的步进电机扭力不足,可以加大4988板子的电流配置。驱动板是通过一个小的电位器来实现对输出电流的配置的。可以通过用万用表测量电位器中间管脚的电位。电位和电流的关系满足下面的公式:Vref = A*0.8.也就是如果你想配置电机工作电流为1A,则电位应该配置在0.8V。默认的元件配置可以将电流调节到1.5A,如果需要更大电流需要修改电路中的R1,将30K的阻值改为20K(左右),就可以将电流调节到2A左右。
5、4988板子的细分如何配置?
4988板子细分配置需要ramps或其它相似板子的短路块来配置。ramps上对应每个4988驱动都有ms1,ms2,ms3三个短路块来调节细分(需要取下4988板子才可以看到),
ms1 | ms2 | ms3
no | no | no |全细分
yes | no | no |1/2(2细分)
no | yes | no | 1/4 (4细分)
yes | yes | no |1/8(8细分)
yes | yes | yes | 1/16(16细分)
6、接上电机后,电机不能正常运行,在左右抖动,是什么原因?
电机出现抖动一般有两个原因,
一是缺相:可能是4988板子没有焊接好或因为外力导致4988的输出端某一相断开,造成电机缺相从而抖动。也有可能是步进电机接线只用一相没有连接好;
而是两相接错:如果步进电机没有按照正确的顺序进行连接,电机也会出现抖动的情况,请按照问题3进行正确的连接。
7、4988可以驱动两相六线或两相无线的电机吗?
可以,两相连线按照问题3连接,将中间抽头悬空即可。
8、电机停止转动时会有滋滋的电流声。
首先说明的是这是正常现象。步进电机的特点是走特定的角度而不是一直转,所以步进电机都有一个参数,步距角。如果通过细分,可以最小走 步距角/细分数的角度,比如步距角为1.8度的步进电机,采用16细分,最小可以走的角度是1.8/16=0.1125度。但由于这个角度非常小,并且不一定在电机物理所在的位置(1.8度为一个物理位置),所以步进电机停止时也需要通电,从而保证电机不会自动跳到物理步距角上。因为这个特性使得步进电机在静止时会有电流声,这属于正常现象,不用担心。
调整4988步进马达驱动板电流上限特别注意:测量电压的时候千万要小心,不要短路到不该碰到的接点,很可能会造成4988烧毁!!!
特别注意:4988的输出电流,超过1安培的话,必须加装散热片。超过1.5安培,需要再加风扇。就算有安装散热片、风扇,输出电流也不应超过2安培。否则有烧毁的危险。
ATOM 的 Mark 录了一段影片介绍如何调整4988输出电流,大家可以参考一下!
根据Pololu产品网页上的说明,一般步进马达使用4988驱动时,步进马达实际测量到的电流,大约是4988输出电流上限的0.7倍。所以需要设定的电流输出上限,会是马达标定的额定电流除以0.7。
4988输出电流上限的计算公式:
Vref是参考电压,利用可变电阻设计出可以调整Vref的电路,让使用者能够自行调整输出电流上限。
Rs是参考电阻。目前市面上买的到的4988模组,参考电组有三种,要自己看一下。Pololu厂商设计的电路,Rs是0.05欧姆;StepStick(Open Source Project)所公布的电路,有0.2及0.1欧姆两种规格。 使用的是SMD 电阻,"R050"代表0.05欧姆;"R200",代表0.2欧姆;"R10",代表0.1欧姆。(SMD 晶片电阻阻值标示方法)位置如图:
可变电阻的金属螺丝头,就是Vref的测量点,用三用点表的正极做测量。接地点在图中最右下角的pin针,旁边的丝印记号有标注"GND"。
举例说明如果你买到的步进马达,额订电流是1.5安培,那4988输出电流上限会是 1.5/0.7 = 2.14 安培。然后再查看4988模组上的Rs,如果是0.2欧姆,那你需要把Vref调整成 (1.5/0.7)*8*0.2 = 3.43 伏特。参考电压速查表编按:Vref 受到控制板上分压电路的限制,不一定能调整出表列的电压。
Rs = 0.2 Ω
Rs = 0.05 Ω
SMD 晶片电阻阻值标示方法
笔者在"TB"买到的步进马达驱动板,是StepStic的1A版本,Rs是0.2欧姆,Vref被限制在1.6伏特左右。这样的驱动板,设定在1.6福特,配上额订电流1.5A的步进马达,在 i3上仍然能够顺利运作。有安装散热片。以上经验提供大家参考。
----
好了,最后我们来对比一下datasheet账面参数:
Rdson compare:
A4988 标称2.0A: 320 430mR max @1.5A Iout, 35V Vm max. 价格RMB8
A3977 标称2.5A: 220-280mR, 35V Vm max. 价格RMB15 已停产
DRV8825 标称2.5A: 250 320mR max @1.0A Iout, 45V Vm max. 价格RMB9
看来还是DRV8825略有优势啊,TI的市场分析和布局果然牛逼!!!。