專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力
提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)
十年單片機開發(fā)方案公司深圳英銳恩分享基于PIC16C621A和A3955的步進電機驅(qū)動器設(shè)計,利用A3955對步進電機實現(xiàn)控制的方法及其電路設(shè)計。
關(guān)鍵詞: 步進電機;PIC16C621A; A3955;脈寬調(diào)制
引言
步進電機廣泛應(yīng)用于對精度要求比較高的運動控制系統(tǒng)中,如機器人、打印機、軟盤驅(qū)動器、繪圖儀、機械閥門控制器等。目前,對步進電機的控制主要有由分散器件組成的環(huán)形脈沖分配器、軟件環(huán)形脈沖分配器、專用集成芯片環(huán)形脈沖分配器等。分散器件組成的環(huán)形脈沖分配器體積比較大,同時由于分散器件的延時,其可靠性大大降低;軟件環(huán)形分配器要占用主機的運行時間,降低了速度;專用集成芯片環(huán)形脈沖分配器集成度高、可靠性好,但其適應(yīng)性受到限制,同時開發(fā)周期長、需求費用較高。
步進電機控制
步進電機是數(shù)字控制電機,它將脈沖信號轉(zhuǎn)變成角位移,即給一個脈沖信號,步進電機就轉(zhuǎn)動一個角度,因此非常適合于單片機控制。步進電機可分為反應(yīng)式步進電機(VR)、永磁式步進電機(PM)和混合式步進電機(HB)。 步進電機區(qū)別于其他控制電機的最大特點是,它是通過輸入脈沖信號來進行控制的,即電機的總轉(zhuǎn)動角度由輸入脈沖數(shù)決定,而電機的轉(zhuǎn)速由脈沖信號頻率決定。步進電機的驅(qū)動電路根據(jù)控制信號工作,控制信號由單片機產(chǎn)生。其基本控制如下:
*控制換相順序—通電換相這一過程稱為脈沖分配。例如:混合式步進電機的工作方式,其各相通電順序為A-B-C-D,通電控制脈沖必須嚴(yán)格按照這一順序分別
控制A,B,C,D相的通斷,這就是所謂脈沖環(huán)形分配器。
*控制步進電機的轉(zhuǎn)向—如果給定工作方式正序換相通電,步進電機正轉(zhuǎn),如果按反序通電換相,則電機就反轉(zhuǎn)。
*控制步進電機的速度—如果給步進電機發(fā)一個控制脈沖,它就轉(zhuǎn)一步,再發(fā)一個脈沖,它會再轉(zhuǎn)一步。兩個脈沖的間隔越短,步進電機就轉(zhuǎn)得越快。
PIC16C621A和A3955
PIC16C621A是美國Microchip公司推出的一種性價比很高的8位單片機。它價格低、封裝小、采用CMOS工藝,具有OTP型,開發(fā)起來很方便。它內(nèi)含4路8位高速ADC,將它擴展到11位后,可以大大提高單片機應(yīng)用系統(tǒng)的性價比。主要特性為:高性能的RISC結(jié)構(gòu)CPU,精簡的指定集。指令周期時間為200nS。八級硬件堆棧,直接,間接,相對三種尋址方式。雙向可編程設(shè)置I/O,2路比較輸出/PWM輸出,16位定時器/計數(shù)器,內(nèi)置上電復(fù)位電路,程序保密位,可防程序代碼的非法拷貝。A3955是美國Allegro公司推出的一款性價比很高的脈寬調(diào)制電流輸出的電機驅(qū)動芯片。主要特性為:最大1.5A的最大驅(qū)動電流,最高50V的供電電壓,帶有過熱自動關(guān)斷保護電路,欠電壓鎖定(UVLO)保護,輸出抗浪涌的瞬間保護功能,自帶PWM 電流控制,3位的線性DAC,帶細(xì)分控制,不同組合不同的細(xì)分?jǐn)?shù),最多8細(xì)分。
硬件設(shè)計
通常步進電機的脈沖控制是由邏輯電路或?qū)S眯酒瑢崿F(xiàn)的脈沖環(huán)形分配的,因A3955不自帶環(huán)形分配功能,本設(shè)計采用兩片A3955驅(qū)動步進電機的兩個線圈,來實現(xiàn)脈沖環(huán)形分配的實現(xiàn)。
本設(shè)計采用脈沖加方向的步進電機控制方式,應(yīng)用于驅(qū)動二相或四相混合式步進電機。電機的出線方式不同,與驅(qū)動器的連接也不同,一般有以下幾種方式:
*對于二相四根線電機,可以直接和驅(qū)動器相連(見圖1);
*對于四相六根線電機,中間抽頭的二根線懸空不接,其它四根線和驅(qū)動器相連(見圖1)。
具體硬件如圖2,CLK 為外部脈沖輸入端,DIR為外部方向輸入端,步進脈沖信號CLK用于控制步進電機的位置和速度,本驅(qū)動器的設(shè)計為CLK信號為上升沿有效,要求CLK信號的驅(qū)動電流為8-15mA,對CLK的脈沖寬度也有一定的要求,一般不小于5mS。方向電平信號DIR用于控制步進電機的旋轉(zhuǎn)方向。此端為高電
平時,電機逆時針方向轉(zhuǎn),此端為低電平時,電機為順時針方向轉(zhuǎn)。CLK和DIR信號默認(rèn)幅值為5V,如果不是5V則須外部另加限流電阻R,如信號幅度為12V時,加680W的電阻。MS0,MS1,MS2 為細(xì)分輸入端,最多為8細(xì)分(見表1)。
軟件設(shè)計
為了防止程序進入到非程序區(qū),在非程序區(qū)設(shè)置攔截措施,使程序進入陷阱,然后強迫程序回到初始狀態(tài),從而保護程序的正常運行。程序設(shè)計首先判斷細(xì)分?jǐn)?shù),其次判斷方向信號DIR,最后判斷脈沖信號CLK,當(dāng)沒有脈沖信號時,程序進入休眠狀態(tài),隨時準(zhǔn)備接收中斷來的信號,進入程序區(qū),根據(jù)判斷的細(xì)分?jǐn)?shù)和方向信號進行電機的驅(qū)動。代碼如下:
MAIN CLRF PORTA
BSF STATUS,5
MOVLW 0x07 ;整步
MOVWF ADCON1
MOVLW 0X06 ;半步
MOVWF OPTIONREG
MOVLW 0x04 ;四細(xì)分
MOVWF TRISA
CLRF PORTB
BSF STATUS,5
MOVLW 0X00 ;八細(xì)分
MOVWF TRISB
BCF STATUS,5
MOVWF TMR0
TEST BTFSS PORTA,0
GOTO CW ;正轉(zhuǎn)
BTFSC PORTA,0
GOTO CCW ;反轉(zhuǎn)
INT MOVLW 0XFF ;中斷接收脈沖
MOVWF TMR0
BCF INTCON,2
RETFIE
結(jié)語
采用此設(shè)計的八細(xì)分步進電機驅(qū)動器,在驅(qū)動二相或四相混合式步進電機時運動平穩(wěn),速度快,噪音低,控制精高,而且專用芯片細(xì)分?jǐn)?shù)可選。在外觀采用鋁鎂合金,散熱性好,價格低廉,可廣泛應(yīng)用于需要驅(qū)動電流小于1.5A的混合式兩相或四相步進電機的系統(tǒng)中。
(文源網(wǎng)絡(luò),侵刪)