摘要:本文介紹了利用A3955對步進電機實現(xiàn)控制的方法及其電路設計。
關鍵詞:步進電機;PIC16C621A;A3955;脈寬調制
引言
步進電機廣泛應用于對精度要求比較高的運動控制系統(tǒng)中,如機器人、打印機、軟盤驅動器、繪圖儀、機械閥門控制器等。目前,對步進電機的控制主要有由分散器件組成的環(huán)形脈沖分配器、軟件環(huán)形脈沖分配器、專用集成芯片環(huán)形脈沖分配器等。分散器件組成的環(huán)形脈沖分配器體積比較大,同時由于分散器件的延時,其可靠性大大降低;軟件環(huán)形分配器要占用主機的運行時間,降低了速度;專用集成芯片環(huán)形脈沖分配器集成度高、可靠性好,但其適應性受到限制,同時開發(fā)周期長、需求費用較高。
步進電機控制
步進電機是數(shù)字控制電機,它將脈沖信號轉變成角位移,即給一個脈沖信號,步進電機就轉動一個角度,因此非常適合于單片機控制。步進電機可分為反應式步進電機(VR)、永磁式步進電機(PM)和混合式步進電機(HB)。步進電機區(qū)別于其他控制電機的最大特點是,它是通過輸入脈沖信號來進行控制的,即電機的總轉動角度由輸入脈沖數(shù)決定,而電機的轉速由脈沖信號頻率決定。步進電機的驅動電路根據控制信號工作,控制信號由單片機產生。其基本控制如下:
*控制換相順序—通電換相這一過程稱為脈沖分配。例如:混合式步進電機的工作方式,其各相通電順序為A-B-C-D,通電控制脈沖必須嚴格按照這一順序分別控制A,B,C,D相的通斷,這就是所謂脈沖環(huán)形分配器。
*控制步進電機的轉向—如果給定工作方式正序換相通電,步進電機正轉,如果按反序通電換相,則電機就反轉。
*控制步進電機的速度—如果給步進電機發(fā)一個控制脈沖,它就轉一步,再發(fā)一個脈沖,它會再轉一步。兩個脈沖的間隔越短,步進電機就轉得越快。
PIC16C621A和A3955
PIC16C621A是美國Microchip公司推出的一種性價比很高的8位單片機。它價格低、封裝小、采用CMOS工藝,具有OTP型,開發(fā)起來很方便。它內含4路8位高速ADC,將它擴展到11位后,可以大大提高單片機應用系統(tǒng)的性價比。主要特性為:高性能的RISC結構CPU,精簡的指定集。指令周期時間為200nS。八級硬件堆棧,直接,間接,相對三種尋址方式。雙向可編程設置I/O,2路比較輸出/PWM輸出,16位定時器/計數(shù)器,內置上電復位電路,程序保密位,可防程序代碼的非法拷貝。A3955是美國Allegro公司推出的一款性價比很高的脈寬調制電流輸出的電機驅動芯片。主要特性為:最大1。5A的最大驅動電流,最高50V的供電電壓,帶有過熱自動關斷保護電路,欠電壓鎖定(UVLO)保護,輸出抗浪涌的瞬間保護功能,自帶PWM電流控制,3位的線性DAC,帶細分控制,不同組合不同的細分數(shù),最多8細分。
硬件設計
通常步進電機的脈沖控制是由邏輯電路或專用芯片實現(xiàn)的脈沖環(huán)形分配的,因A3955不自帶環(huán)形分配功能,本設計采用兩片A3955驅動步進電機的兩個線圈,來實現(xiàn)脈沖環(huán)形分配的實現(xiàn)。
本設計采用脈沖加方向的步進電機控制方式,應用于驅動二相或四相混合式步進電機。電機的出線方式不同,與驅動器的連接也不同,一般有以下幾種方式:
*對于二相四根線電機,可以直接和驅動器相連(見圖1);
*對于四相六根線電機,中間抽頭的二根線懸空不接,其它四根線和驅動器相連(見圖1)。
圖1二相四根線電機與驅動器連接
具體硬件如圖2,CLK為外部脈沖輸入端,DIR為外部方向輸入端,步進脈沖信號CLK用于控制步進電機的位置和速度,本驅動器的設計為CLK信號為上升沿有效,要求CLK信號的驅動電流為8-15mA,對CLK的脈沖寬度也有一定的要求,一般不小于5mS。方向電平信號DIR用于控制步進電機的旋轉方向。此端為高電平時,電機逆時針方向轉,此端為低電平時,電機為順時針方向轉。CLK和DIR信號默認幅值為5V,如果不是5V則須外部另加限流電阻R,如信號幅度為12V時,加680W的電阻。MS0,MS1,MS2為細分輸入端,最多為8細分(見表1)。
圖2具體硬件電路圖
軟件設計
為了防止程序進入到非程序區(qū),在非程序區(qū)設置攔截措施,使程序進入陷阱,然后強迫程序回到初始狀態(tài),從而保護程序的正常運行。程序設計首先判斷細分數(shù),其次判斷方向信號DIR,最后判斷脈沖信號CLK,當沒有脈沖信號時,程序進入休眠狀態(tài),隨時準備接收中斷來的信號,進入程序區(qū),根據判斷的細分數(shù)和方向信號進行電機的驅動。代碼如下:
MAINCLRFPORTA
BSFSTATUS,5
MOVLW0x07;整步
MOVWFADCON1
MOVLW0X06;半步
MOVWFOPTIONREG
MOVLW0x04;四細分
MOVWFTRISA
CLRFPORTB
BSFSTATUS,5
MOVLW0X00;八細分
MOVWFTRISB
BCFSTATUS,5
MOVWFTMR0
TESTBTFSSPORTA,0
GOTOCW;正轉
BTFSCPORTA,0
GOTOCCW;反轉
INTMOVLW0XFF;中斷接收脈沖
MOVWFTMR0
BCFINTCON,2
RETFIE
結語
采用此設計的八細分步進電機驅動器,在驅動二相或四相混合式步進電機時運動平穩(wěn),速度快,噪音低,控制精高,而且專用芯片細分數(shù)可選。在外觀采用鋁鎂合金,散熱性好,價格低廉,可廣泛應用于需要驅動電流小于1。5A的混合式兩相或四相步進電機的系統(tǒng)中。