PC基自激步進電機控制器(05-100)

本文引用地址:http://www.antipu.com.cn/article/91535.htm
圖4 控制器電路圖
控制器工作在3個模式:遠程運行模式、編程模式和獨立應用運行模式。
在遠程運行模式,每一個脈沖到STEP輸入,電機轉動1步。轉動方向由DIR輸入控制(類似于UCN5804B控制器的工作)。在編程模式,用RS232接口把所需的轉動命令送到微控制器。本電路中用PC把所需的轉動命令送到微控制器。所接收的命令存儲在微控制器的非易失性EEPROM中。當微控制器處于獨立應用運行模式時,電機由存儲在微控制器EEPROM中的命令步控制。
控制器電路示于圖4。工作在4MHz的PIC16F84微控制器是控制器的心臟。配置口RAO~RA3為輸出,用這些口驅動ULN2003A輸入。ULN2003A的輸出直接驅動步進電機。微控制器的RB2輸入配置為串行RS232輸入,而晶體管—二極管電路用于輸換RS232信號電平到+5V。1個兩路DIL開關連接RB3和RB4輸入。靠開關選擇工作模式 (見表2)。S1選擇編程或運行模式。在運行模式時,S2選擇來自內部EEPROM或外部脈沖的操作。RB0和RB1是STEP和DIRECTION輸入。當控制至處于遠程運行模式時,每加一個脈沖,電機轉動一步。
一個小的LED連接到PORTB的bit7。當控制器處于編程模式和從串行口接收有效命令時,LED每秒閃光一次。此電路設計用于具有高達500mA(在+12V)電流的步進電機。

表2 選擇模式
軟件
軟件分兩部分:微控制軟件(運行在PIC微控制器)和PC軟件(用于經PC串行口下載命令到微控制器)。
用Hi-Tech PICC Lite C compiler 開發(fā)微控制器軟件。此編譯程序是由Hi-Tech 公司開發(fā)的,可以用于編程PIC16F84和PIC16F877芯片。用高級語言開發(fā)微控制器系統(tǒng)具有容易開發(fā)和測試代碼以及容易維護代碼的優(yōu)點。程序清單見程序列表。
命令用字符‘S’開始,然后發(fā)送步進角和步間延遲。其次,送5個字節(jié)來指定所需的轉動。前兩個字節(jié)是轉數。然后規(guī)定轉動方向,其后是命令間所需的延遲。送一個“#”字符來指明數據結束。LED每秒閃爍一次表明已按收的數據無錯誤。

圖5 一個典型的運行實例
用Visual Basic 開發(fā)PC軟件。程序用Microsoft MSComm ActiveX子序列送出串行數據。程序由單元格式組成(見圖5),每個單元用于輸入所需的電機命令。以這種形式,用戶輸入電機步進角、每個步之間所需的延遲和所用串行口數。然后輸入所需的電機控制步(轉數)、方向(0或1)和命令之后的延遲(ms)。

9步用于用戶輸入電機控制命令,但修改程序可以增加此步驟數。
結語
本文給出的控制器可以很容易地通過串行線接收控制命令,并存儲在微控制器的EEPROM中。用PIC16F84微控制器,在EEPROM存儲器中,可存儲多達12個控制命令。較大的PIC芯片,如PIC16F877,在EEPROM中,可存儲多達50個控制命令?!?京湘)
評論