首頁(yè) > 評(píng)測(cè) > Sensortile評(píng)測(cè)----平坦度測(cè)量之42步進(jìn)電機(jī)調(diào)試
Sensortile評(píng)測(cè)----平坦度測(cè)量之42步進(jìn)電機(jī)調(diào)試
- [導(dǎo)讀]
- 項(xiàng)目需求,動(dòng)作部分需要步進(jìn)電機(jī)參與,去年論壇送的3D打印機(jī)還在,那就用A4988驅(qū)動(dòng)模塊和42步進(jìn)電機(jī)了。 一、模塊介紹: 1、步進(jìn)電機(jī): 1>步進(jìn)電機(jī):在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)
項(xiàng)目需求,動(dòng)作部分需要步進(jìn)電機(jī)參與,去年論壇送的3D打印機(jī)還在,那就用A4988驅(qū)動(dòng)模塊和42步進(jìn)電機(jī)了。
一、模塊介紹:
1、步進(jìn)電機(jī):
1>步進(jìn)電機(jī):在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,稱為“步距角”,它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的?梢酝ㄟ^(guò)控制脈沖個(gè)數(shù)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過(guò)控制脈沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度。
2〉42步進(jìn)電機(jī)
42意思是說(shuō)安裝機(jī)座寬42mm,如下圖
其額定轉(zhuǎn)矩為0.5Nm。
2、A4988步進(jìn)電機(jī)驅(qū)動(dòng)模塊
下面是A4988在3D打印機(jī)應(yīng)用中的經(jīng)典模塊電路
復(fù)制代碼
一、模塊介紹:
1、步進(jìn)電機(jī):
1>步進(jìn)電機(jī):在非超載的情況下,電機(jī)的轉(zhuǎn)速、停止的位置只取決于脈沖信號(hào)的頻率和脈沖數(shù),而不受負(fù)載變化的影響,當(dāng)步進(jìn)驅(qū)動(dòng)器接收到一個(gè)脈沖信號(hào),它就驅(qū)動(dòng)步進(jìn)電機(jī)按設(shè)定的方向轉(zhuǎn)動(dòng)一個(gè)固定的角度,稱為“步距角”,它的旋轉(zhuǎn)是以固定的角度一步一步運(yùn)行的?梢酝ㄟ^(guò)控制脈沖個(gè)數(shù)來(lái)控制角位移量,從而達(dá)到準(zhǔn)確定位的目的;同時(shí)可以通過(guò)控制脈沖頻率來(lái)控制電機(jī)轉(zhuǎn)動(dòng)的速度。
圖1 四線兩相步進(jìn)電機(jī)原理圖
2〉42步進(jìn)電機(jī)
42意思是說(shuō)安裝機(jī)座寬42mm,如下圖
圖2 42步進(jìn)電機(jī)機(jī)械圖
其額定轉(zhuǎn)矩為0.5Nm。
2、A4988步進(jìn)電機(jī)驅(qū)動(dòng)模塊
圖3 A4988IC功能框圖
A4988一個(gè)帶轉(zhuǎn)換器和過(guò)流保護(hù)功能的DMOS(vertical double-diffused MOSFET)微步驅(qū)動(dòng)芯片。
其MS1/2/3是模式選擇邏輯引腳,共有五種不同的步進(jìn)模式(全、半、1/4、1/8、1/16),模式根據(jù)應(yīng)用精度選擇,其具體介紹見官方datasheet。
圖4 模式邏輯表
圖5 時(shí)序圖
下面是A4988在3D打印機(jī)應(yīng)用中的經(jīng)典模塊電路
圖6 3D打印RAMPS1.4電路中的驅(qū)動(dòng)模塊
RAMPS1.4電路板中,MS1/2/3、reset和sleep引腳被上拉,step、enable和dir,以及OUT1A、OUT1B、OUT2A、OUT2B引腳外留。
二、用Arduino開發(fā)板調(diào)試驅(qū)動(dòng)塊:
開發(fā)板用的是ATmega2560 R3,驅(qū)動(dòng)模塊的dir、step、enable分別接于開發(fā)板的28、26、24接口,前面說(shuō)過(guò)A4988的模式,網(wǎng)上查來(lái)說(shuō),在全模式下,轉(zhuǎn)一圈要200個(gè)步進(jìn)值或一個(gè)步進(jìn)1.8°,而我們的板子是在1/16的模式下,即轉(zhuǎn)一圈需要16*200個(gè)步,這里的1步指的是step引腳的一個(gè)周期方波,方波的周期決定了旋轉(zhuǎn)的速度,而總的步進(jìn)數(shù)決定了旋轉(zhuǎn)的角位移,兩者其實(shí)耦合,不糾結(jié)了,經(jīng)測(cè)試方波的周期在300us至1600us之間電機(jī)運(yùn)行穩(wěn)定。
下面是這次調(diào)試的代碼:
- char Dir=28;
- char Step=26;
- char Enable=24;
- //MS1/2/3 5V
- void setup() {
- // put your setup code here, to run once:
- pinMode(Enable,OUTPUT); // Enable
- pinMode(Step,OUTPUT); // Step
- pinMode(Dir,OUTPUT); // Dir
- digitalWrite(Enable,LOW); // Set Enable low
- //digitalWrite(Dir,HIGH); // Set Dir high
- }
- void loop() {
- // put your main code here, to run repeatedly:
- digitalWrite(Dir,HIGH); // Set Dir high 正轉(zhuǎn)
- for(int x = 0; x < 3200; x++)
- {
- digitalWrite(Step,HIGH); // Output high
- delayMicroseconds(800); //
- digitalWrite(Step,LOW); // Output low
- delayMicroseconds(800); //
- }
- delay(5000);
- digitalWrite(Dir,LOW); // Set Dir low 反轉(zhuǎn)
- for(int x = 0; x <3200; x++)
- {
- digitalWrite(Step,HIGH); // Output high
- delayMicroseconds(800); //
- digitalWrite(Step,LOW); // Output low
- delayMicroseconds(800); //
- }
- delay(5000); // pause five second
- }
復(fù)制代碼
三、總結(jié):
此次調(diào)試唯一經(jīng)驗(yàn)就是,一定不忘以前養(yǎng)成的程序編寫習(xí)慣,切記,下面來(lái)說(shuō)說(shuō)這次遇到的坑,
首先、是第二次玩Arduino,對(duì)其編輯、編譯器和代碼書寫要求沒(méi)有任何好感,個(gè)人感覺(jué)。
其次、犯了一個(gè)很沒(méi)程序素養(yǎng)的問(wèn)題,程序是先讓電機(jī)正轉(zhuǎn)一圈,延遲5s后再反轉(zhuǎn)一圈,如此輪回,結(jié)果一直在正轉(zhuǎn),怪了,什么鬼?于是拿著表測(cè)了一下方向控制腳,發(fā)現(xiàn)的確沒(méi)有執(zhí)行到這一步,看了半天沒(méi)看出來(lái),于是就回頭去測(cè)電路板,排除硬件的影響,任然無(wú)效,于是從程序for循環(huán)開始排查,是不是步數(shù)轉(zhuǎn)多了,電機(jī)剩磁太大,老死機(jī)的經(jīng)驗(yàn),就慢慢改步數(shù),從3200改到了100,發(fā)現(xiàn)改到150時(shí)還是一樣,但改到100時(shí)可以反轉(zhuǎn)了,聰明的你知道是什么原因了吧,差不多找著你了,于是改到了126發(fā)現(xiàn)可以反轉(zhuǎn),又改到了130不反轉(zhuǎn),好家伙,x溢出了。。,???恩,無(wú)緣無(wú)故你溢出個(gè)球,x怎么是char類型的,我明明定義的是int啊,于是想了想,當(dāng)初定義了一個(gè)全局變量x,char類型的,寫for的時(shí)候?yàn)榱耸∈拢陀昧怂,這回是哭笑不得,好吧,老了,記性太差,改回來(lái)后,ok了,覺(jué)得好笑,寫這麼多,大家一起笑笑undefined。
-
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開放投稿
行業(yè)新聞
論壇活動(dòng)
more+
公開課
more+
項(xiàng)目外包
more+
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開發(fā)
預(yù)算:¥1100001天前















