1 引 言
步進電機是一種將脈沖信號轉換為直線或角位移的伺服執(zhí)行元件,由于其具有結構簡單、運行可靠、控制方便、控制性能好,并且具有步距值不受諸如電壓和溫度變化的影響、誤差不長期積累等優(yōu)點,所以在儀器儀表、機器人、數控機床、工業(yè)控制、樓宇自動化等領域得到了越來越廣泛的應用。其基本原理是每施加一個脈沖信號,其轉軸就轉過一定的角度,稱為一步。隨著輸入到步進電機的脈沖數增加,直線或角位移也隨之增加。如果將脈沖信號的頻率變大,則步進電機的旋轉速度就隨之而變快,反之則變慢。
為了實現步進電機的運動控制,較多采用的一種方案是以傳統(tǒng)的單片機作為控制系統(tǒng)的微處理器,通過一些大規(guī)模集成電路來控制其脈沖輸出頻率和脈沖輸出數,實現步進電機的速度和位置控制。但是,這種方案中微處理器本身不具備網絡通訊能力,要想和上位機器連接需要加上其他的通訊接口且可靠性較差,實現起來麻煩,并且在使用一些智能控制算法時,傳統(tǒng)單片機不容易實現并且程序處理速度也成為制約提高系統(tǒng)實時控制性的一個瓶頸。 由于LonWorks技術將底層控制和網絡通訊結合起來,并且通過其主要部件神經元芯片來進行控制,可以在局域或遠程計算機上(簡稱上位控制機)隨時將控制信號傳遞給LonWorks智能控制器,實現對步進電機旋轉角度和速度控制。同時由于采用NeuronC進行編程,可以很方便地實現智能控制算法,并將程序下載到所設計的智能控制器中,所以采用LonWorks技術進行步進電機的控制系統(tǒng)的設計將具有更高的精度、靈活性、適應性并且可以通過網絡對步進電機進行實時監(jiān)視和控制。
2 整體結構設計
要采用LonWorks技術進行步進電機智能控制器的設計,首先必須進行整體結構的規(guī)劃,這里采用的控制方法分為兩種:
(1)讓步進電機按照上位控制機發(fā)出的控制信號進行,包括轉角的大小和運行的速度。
(2)讓步進電機按照外部測量和控制設備的信號進行運動。 設計的智能控制器的整體結構框圖如圖1所示。執(zhí)行/停止按鈕接在神經元芯片的IO4腳,用來控制電機按照控制器內部的程序進行運行。正向點動按鈕接神經元芯片的IO5腳,用來手動控制步進電機進行正向點動,每步的點動時間由程序來決定,按一下點動一下,如按住按鈕不放,則進行連續(xù)點動。反向點動按鈕接神經元芯片的IO6腳,用來手動控制步電機進行反向點動,控制方式同正向點動按鈕。所有按鈕一端接470Ω的電阻后接+5V電源,另一端接神經元芯片的相應的IO口引腳并同時接地。A/D轉換電路和神經元芯片的IO7,IO8,IO9,IO10腳相聯,用來將測量裝置的模擬量信號轉為數字信號再送人神經元芯片進行處理。IO0~IO3用于提供步進電機驅動電路所需要波形信號。
具體的操作過程是這樣的,首先將設計好的程序進行編譯,然后下載到控制器中,按下執(zhí)行按鈕,步進電機將按照下載的程序控制方法進行運動,同時我們也可以實時地在上位控制機上向智能控制器傳遞控制信號,讓步進電機在控制器內部程序的控制之下,按照我們的指定的運動方式進行。
3 具體硬件的設計
3.1 LonWorks控制模塊的設計
使用LonWorks技術進行智能控制器離不開控制模塊,他是LonWorks智能控制器的最基本的一個控制單元,按照Echelon公司的思想,控制模塊實際上是設計LonWorks智能節(jié)點的一個通用模塊,是與外部接口電路分離的不同單元。圖2是所設計的控制模塊的電路板圖。
神經元芯片采用Toshiba公司的TMPN3150,存儲器采用Atmel公司的AT29C256,收發(fā)器選用Echelon公司的FTT-10A自由拓撲雙絞線收發(fā)器,2中左20插腳分別與神經元;S片的11個I/O,RESET,SERVICE,電源及接地引腳等直接相連,右6個插腳中間2個用來接雙絞線接口。在智能控制器的開發(fā)時,控制模塊只需設計一次,其他同類型的產品都可以采用。
3.2 A/D轉換電路的設計
為了讓控制器能夠根據測量的模擬信號進行步進電機的控制,所以必須將模擬信號轉變成數字信號,這里考慮到步進電機的控制精度,所以必須選用精度躬高的A/D轉換芯片。另外考慮到神經元芯片和A/D芯片在進行連接時,使用串行方式可以節(jié)省神經元芯/的IO端口,所以選用Maxim公司的8路輸入12b精度的高速、低功耗串行A/D轉換器MAXl86。可以有單+5V電源輸人或者土5 V電源輸入。模擬輸入可以通過軟件配置為雙極性/單極性、單端/差分工作方式。MAXl86具有四線串行接口,可以直接與SPI、QSPI或Microwire外部邏輯的設備直接相連,MAXl86內部有+4.096V參考電壓源。
圖3是A/D轉換芯片的接口電路以及和神經元芯片的引腳連接圖,神經元芯片的IO7在這里用于MAXl86的片選,IO8提供時鐘信號輸出,IO9用于串行數據輸出,IO10用于串行數據輸入。MAXl86的控制字的寫入與轉換數據的輸出通過串行數據線完成,其各個輸入通道由控制字進行選擇。模擬信號輸入范圍是0~十4.096V。需要說明的是模擬信號的輸入必須加上信號調理電路進行信號的轉換、放大和縮小等以適應量程的需求。
3.3 步進電機驅動電路的設計
步進電機在這里選用二相八步,也就是控制時鐘走8個周期,步進電機走一定格。所以選用一種用來驅動二相步進電機的專用芯片UC3770A,他由可控制邏輯輸入端,電流傳感器,含有內置式保護二極管的單穩(wěn)態(tài)輸出端組成。由于控制的是二相步進電機,所以采用2片UC3770A和一些外部元件可以組成一個完備的二相步進電機驅動系統(tǒng)。
圖4是由2片UC3770A組成的驅動電路。UC3770A邏輯輸入端在開路時,被認為是高電子輸入。UC3770A的換相輸入端為管腳8,他控制著二相步進電機繞組電流的方向,內置的施密特觸發(fā)器產生換相延時,可以有效地消除電流換相時輸出管腳電流噪音干擾。輸出端為管腳1和管腳15,電路工作時,步進電機繞組的驅動電流從0增大,管腳16上的外接電阻產生分壓Vrs,Vrs通過低通電路的電阻Rc加壓于管腳10,當Vrs增大超過內置電壓比較器的門限電壓時,將關斷電流開關運算器,電流開關運算器產生信號關斷其內部晶體管,繞組電流將通過續(xù)流二極管組成的環(huán)行通路里續(xù)流,電流逐漸減小,Vrs也隨之減小;當小于門限電壓時,電流開關運算器開啟,此過程周而復始重復,直至繞組電流被要求反相;當換相輸入端管腳8被輸入邏輯信號要求換相時,開啟的晶體管被關斷,關斷的一組晶體管將被開啟,此時繞組電流減小至0,再反向增大。
3.4 UC3770A輸入信號波形的產生
由于對二相步進電機進行二相八步控制,所以必須讓神經元芯片輸出和此相適應的波形信號,然后將波形信號輸入UC3770A,從而控制步進電機。為了滿足要求,對于2片UC3770A需要的波形時序圖如圖5所示,如讓步進電機正向運動,PhaseB的波形選擇圖中的正向,如讓步進電機反向運動,只要將PhaseB的波形取反選擇圖中的反向,根據時序圖,其實只要在程序的控制之下在IO0一IO3口產生相應的時序波形即可。也就是在相應間隔時間下讓IO0一IO3依次輸出1100→0110→0100→0001→0000→1010→1000→1101,如果讓步進電機反向運行,則IO0~IO3依次產生1000→0010→0000→00101→0100→1110→1100→1001,由于神經元芯片IO口本身具有較高的可靠性,完全可以滿足UC3770A的要求。這樣一來省去了波形發(fā)生電路的設計,簡化了硬件結構,提高了系統(tǒng)可靠性。
4 結 語
通過LonWorks技術可以非常方便設計出二相八步步進電機智能控制器,不僅結構簡單而且可靠性高。通過LonWorks技術設計步進電機智能控制器,將智能控制、網絡通訊、計算機實時控制都結合起來,具備較高的技術含量,彌補了傳統(tǒng)單片機控制的不足,具有很好的發(fā)展和應用前景。