楊 鑒
(岳陽(yáng)市污水處理監(jiān)督中心,湖南 岳陽(yáng),414000)
步進(jìn)電機(jī)是機(jī)電控制的一種執(zhí)行機(jī)構(gòu),又叫脈沖電機(jī),它可分為旋轉(zhuǎn)式和直線式兩類。其主要用途是將電脈沖信號(hào)轉(zhuǎn)換為直線(角)位移的開環(huán)電磁裝置[1]。當(dāng)步進(jìn)電機(jī)驅(qū)動(dòng)器收到一個(gè)脈沖信號(hào)[2],就能將指令脈沖轉(zhuǎn)換成步進(jìn)電機(jī)的不連續(xù)旋轉(zhuǎn),從而驅(qū)動(dòng)電機(jī)輸出軸沿著預(yù)定的方向轉(zhuǎn)動(dòng)相應(yīng)的角度。
步進(jìn)電機(jī)的轉(zhuǎn)角可通過驅(qū)動(dòng)器的脈沖個(gè)數(shù)來控制,其轉(zhuǎn)速與脈沖頻率成正比[3],電機(jī)能夠快速地起動(dòng)、制動(dòng)和反轉(zhuǎn),在一定頻率范圍內(nèi)各種運(yùn)行方式都能方便地任意改變,且不丟步。這樣,通過控制脈沖個(gè)數(shù)和脈沖頻率,就能使執(zhí)行機(jī)構(gòu)達(dá)到準(zhǔn)確定位和實(shí)時(shí)調(diào)速的目的。步進(jìn)電動(dòng)機(jī)一般可分為分永磁式、反應(yīng)式和混合式三種類型。
通常步進(jìn)電動(dòng)機(jī)的驅(qū)動(dòng)電路是根據(jù)脈沖控制信號(hào)進(jìn)行工作的[4],而脈沖控制信號(hào)又是由單片機(jī)產(chǎn)生的。
(1)換相順序:通常步進(jìn)電機(jī)通電換相的過程也被稱之為“脈沖分配”[5],以步進(jìn)電動(dòng)機(jī)的常用三相六拍工作方式為例,如其各相通電順序?yàn)锳→AB→B→BC→C→CA→A→AB→……,就應(yīng)該按照這一通電順序來分別準(zhǔn)確地控制A、B、C 三相六拍方式的通斷。
(2)步進(jìn)電機(jī)轉(zhuǎn)向確定:規(guī)定給定工作方式是正序通電方式換相,如以四相四拍方式為例,即A→B→C→D→A→B→……,那么步進(jìn)電動(dòng)機(jī)就應(yīng)當(dāng)正轉(zhuǎn)運(yùn)行;假如給定按反序換相通電方式,則步進(jìn)電動(dòng)機(jī)就相應(yīng)反轉(zhuǎn)。
(3)步進(jìn)電機(jī)速度控制:步進(jìn)電機(jī)的步進(jìn)時(shí)間是離散的,步進(jìn)電動(dòng)機(jī)速度控制就是控制步進(jìn)電機(jī)產(chǎn)生步進(jìn)動(dòng)作時(shí)間[6]。步進(jìn)電機(jī)速度控制即是控制進(jìn)給脈沖的頻率,當(dāng)調(diào)整發(fā)出的單片機(jī)脈沖頻率信號(hào),這樣即可對(duì)步進(jìn)電機(jī)進(jìn)行調(diào)速控制[7]。
常見的兩坐標(biāo)步進(jìn)電動(dòng)機(jī)控制系統(tǒng),可通過CNC 裝置配合組成經(jīng)濟(jì)型數(shù)控系統(tǒng)控制,也可采用點(diǎn)動(dòng)方式運(yùn)行,形成自我體系控制系統(tǒng)。典型的XY 兩坐標(biāo)步進(jìn)電動(dòng)機(jī)控制系統(tǒng)的應(yīng)用框圖如下圖1 所示。
圖1 典型XY 兩坐標(biāo)步進(jìn)電機(jī)控制系統(tǒng)應(yīng)用框圖
通常,兩坐標(biāo)步進(jìn)電機(jī)控制常常采用工業(yè)微機(jī)(IPC)或計(jì)算機(jī)數(shù)控裝置(CNC)作為主機(jī)系統(tǒng),用來接受控制指令,以及輸入、存儲(chǔ)數(shù)控程序,并對(duì)數(shù)控程序指令進(jìn)行譯碼、邏輯分析、插補(bǔ)運(yùn)算等操作處理,然后以步進(jìn)脈沖的形式輸出。
依據(jù)上述工作原理及方式選擇,并結(jié)合考慮方式選擇開關(guān)的“點(diǎn)動(dòng)”功能,通過單片機(jī)為核心控制的XY 兩坐標(biāo)步進(jìn)電機(jī)的控制系統(tǒng)原理圖如下圖2 所示。
圖2 XY 兩坐標(biāo)步進(jìn)電機(jī)控制系統(tǒng)原理圖
當(dāng)方式選擇開關(guān)選擇“自動(dòng)”工作方式時(shí),單片機(jī)接收到IPC 或數(shù)控裝置外部發(fā)出的進(jìn)給數(shù)據(jù)脈沖信號(hào),X 軸、Y 軸進(jìn)行軟件環(huán)形脈沖分配后,分別輸出到相應(yīng)X 軸、Y 軸對(duì)應(yīng)的功率放大器,去控制驅(qū)動(dòng)步進(jìn)電機(jī)的實(shí)時(shí)運(yùn)行狀態(tài)[8-9]。而當(dāng)方式選擇開關(guān)選擇“點(diǎn)動(dòng)”工作方式時(shí),此時(shí)的單片機(jī)就會(huì)依據(jù)“點(diǎn)動(dòng)”開關(guān)按鈕狀態(tài),能夠按照一定的周期自行分配脈沖,并輸出到相應(yīng)的功率放大器,去驅(qū)動(dòng)控制步進(jìn)電機(jī)對(duì)應(yīng)的工作運(yùn)行狀態(tài)。
XY 兩坐標(biāo)步進(jìn)電機(jī)單片機(jī)控制系統(tǒng)的硬件電路實(shí)現(xiàn)原理圖如下圖3 所示。
圖3 XY 兩坐標(biāo)步進(jìn)電機(jī)單片機(jī)控制系統(tǒng)硬件原理圖
單片機(jī)選用AT89C52 芯片,該芯片是一個(gè)低電壓、高性能CMOS 8 位單片機(jī),內(nèi)含8KB 的E2PROM,采用工業(yè)標(biāo)準(zhǔn)的C51 內(nèi)核,其中P1 口作為輸入,它與工作方式選擇按鈕以及和點(diǎn)動(dòng)開關(guān)相聯(lián),P1 接收低8 位地址;P2 口作為輸出節(jié)拍脈沖,P2 口送出高8 位地址數(shù)據(jù),分別用以控制X軸、Y 軸的兩個(gè)步進(jìn)電機(jī)繞組通電和換相的順序;P3 口為8 位雙向I/O,用來接受來自數(shù)控裝置外部的進(jìn)給脈沖信號(hào)和方向信號(hào),脈信號(hào)分別加到P3口的P3.2、P3.3 端子,外部中斷發(fā)生在脈沖下降沿處。SB1 為單片機(jī)復(fù)位按鈕,系統(tǒng)采用12MHz 晶振。
為提高信號(hào)傳輸可靠性和防止外部干擾,通過光電隔離接口,接受來自計(jì)算機(jī)數(shù)控裝置CNC的0~15mA 電流脈沖信號(hào)。P2 口的輸出經(jīng)光電隔離模塊OP11~OP14 和OP21~OP24 后,利用驅(qū)動(dòng)型單電源功率放大電路,加到晶體管VT11~VT14和VT21~VT24 的基極,通過基極驅(qū)動(dòng)電路,經(jīng)晶體管功率放大后,再驅(qū)動(dòng)X、Y 軸兩坐標(biāo)的步進(jìn)電機(jī)L11~L14 和L21~L24 繞組[7]。在圖3 中,VD11、VD21 為續(xù)流二極管,R113、R213 為繞組限流電阻。
根據(jù)AT89C52 單片機(jī)控制系統(tǒng)硬件電路原理圖,可以歸納得出該單片機(jī)I/O 端口功能及分配如下表1 所示。
表1 I/O 端口功能及分配
當(dāng)中斷系統(tǒng)功能工作于自動(dòng)方式時(shí),開啟外部中斷INT1、INT0,對(duì)應(yīng)其每一個(gè)進(jìn)給脈沖都能引起一次外部中斷,并由中斷服務(wù)來實(shí)現(xiàn)進(jìn)給動(dòng)作程序控制。當(dāng)中斷系統(tǒng)功能工作于點(diǎn)動(dòng)方式時(shí),脈沖頻率為100Hz、即周期為10ms,定時(shí)/計(jì)數(shù)器0工作于方式1,相應(yīng)定時(shí)10ms 中斷,就能實(shí)現(xiàn)開關(guān)量和點(diǎn)動(dòng)控制的25ms 延時(shí)抖動(dòng)功能。
以系統(tǒng)控制軟件的總體結(jié)構(gòu)主程序、二個(gè)外部中斷服務(wù)程序INT1、INT0 為例進(jìn)行說明,系統(tǒng)控制軟件流程圖如圖4~圖6 所示:
圖4 系統(tǒng)控制軟件主程序流程圖
圖5 外部中斷INTI 流程圖
圖6 外部中斷INT0 流程圖
步進(jìn)電機(jī)控制系統(tǒng)設(shè)計(jì)硬件采用一片AT89C52 單片機(jī),其具有低電壓、高性能的特點(diǎn),無須外擴(kuò)程序存儲(chǔ)器,可直接驅(qū)動(dòng)光電耦合器。軟件設(shè)計(jì)充分利用中斷處理功能,可實(shí)現(xiàn)并行執(zhí)行多程序,充分發(fā)揮多任務(wù)、實(shí)時(shí)控制的軟件功能。
本文將AT89C52 單片機(jī)用于XY 兩坐標(biāo)步進(jìn)電動(dòng)機(jī)的控制系統(tǒng),從步進(jìn)電機(jī)的控制方法、控制系統(tǒng)的總體設(shè)計(jì)要求上,分析了XY 兩坐標(biāo)步進(jìn)電機(jī)單片機(jī)控制系統(tǒng)的硬件電路實(shí)現(xiàn)原理,結(jié)合提出了控制系統(tǒng)的軟件設(shè)計(jì)方案,并給出了步進(jìn)電動(dòng)機(jī)的四相四拍AT89C52 單片機(jī)控制的具體實(shí)現(xiàn)方法,通過實(shí)踐試驗(yàn),取得了成功。