【轉自】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.1 Ω
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的市場分析和佈局果然牛逼!!!。