安志勇, 楊 帆, 曹 秒, 曹文曉, 楊子斌
在自動化控制系統(tǒng)中,步進電機是一種常用裝置,尤其是在機械制造、精密測量等領域有著廣泛應用。通過單片機控制步進電機在工業(yè)生產(chǎn)、科學研發(fā)中十分常用,其特點是易于操作、成本低廉、性能穩(wěn)定,并且能夠根據(jù)實際需要自由擴展外部設備等特點[1]。在以往的實驗和應用中,人們大多采用通過大量的軟件編程來實現(xiàn)步進電機的控制,而文中側重于電路系統(tǒng)中硬件的應用,通過絕對式編碼器、CD4096UBE芯片、HD74HC244P芯片等,使得步進電機的控制精度得到大幅提高,程序編寫得到簡化。
隨著硬件設施的不斷完善,在實際應用中人們只需要對步進驅動器進行操作就可以實現(xiàn)對步進電機的轉向、轉速和轉角的控制。步進驅動器每接收到一個脈沖信號時,步進電機就會按預先設定的方向轉動一個固定的角度,角度大小可由驅動器細分來調(diào)節(jié)[2]。步進電機的控制角位移量可以通過發(fā)送脈沖的數(shù)量控制,從而達到準確定位的目的;電機轉速既可通過發(fā)送脈沖的頻率來控制,又可通過調(diào)節(jié)驅動器的細分模塊來實現(xiàn)。
STC89C52RC單片機是一種單機器周期時鐘的數(shù)字集成芯片,擁有40個引腳,32個輸入、輸出端口,8K字節(jié)的Flash,以及512字節(jié)的RAM[3]。其全雙工串行口,運算快、功耗低、超強抗干擾等優(yōu)點,不僅保證了數(shù)據(jù)信號的有效傳輸,又可以隨時根據(jù)需要擴展外設。它在傳統(tǒng)的89C51單片機的基礎上,將原來的2K可編程存儲空間提升至4K,應用上更加方便。其最高運作頻率可達35MHz,在實際運用電路的應用中可選擇合適的晶振頻率來確保單片機的運算速度。
光電式編碼器是一種采用光電技術進行非接觸測量的儀器,可精密測量角度和位移,廣泛應用于精密儀器,測量控制和國防建設領域[4]。當前光電編碼器按測量方式主要分為增量式和絕對式。相對于增量式而言,絕對式編碼器的每個角度位置都對應其特定碼值[5],而在本設計中,系統(tǒng)控制的轉角范圍不大,且每一位置需要實時監(jiān)測,所以絕對式編碼器較為合適,為防止編碼器的信號發(fā)生跳變,選用格雷碼碼盤。
控制系統(tǒng)主要由STC89C52RC單片機、鍵盤、驅動器、絕對式編碼器、控制電路5個模塊組成,其中,STC89C52RC單片機用于CPU控制。單片機通過相應的I/O接口,將控制指令發(fā)送至驅動電路,可以控制步進電機的運行,通過機械結構將編碼器與步進電機同軸化,使得編碼器能夠實時監(jiān)測步進電機的轉角并反饋給單片機,單片機接收數(shù)據(jù)后對步進電機進行下一時刻的控制??刂葡到y(tǒng)可實現(xiàn)以下功能:
1)控制步進電機運行方向、運行速度;
2)控制步進電機在某一角度的啟動和停止;
3)通過軟件和硬件的搭配控制細分。
控制系統(tǒng)總體結構如圖1所示。
圖1 控制系統(tǒng)總體結構圖
由于STC89C52RC內(nèi)部電路架構的原因,本設計將P0引腳和P3引腳用于控制電機的轉速和轉向,P1引腳和P2引腳用于采集編碼器的數(shù)據(jù)[6]。
按鍵控制系統(tǒng)設置了4個獨立按鍵,通過鍵盤可以對步進電機進行正轉、反轉、加速、減速、停止功能的操作。鍵盤控制模塊硬件原理如圖2所示。
由于本設計采用的是10位絕對式編碼器,輸出信號為二進制的格雷碼,將P1的8個引腳和P2末端的2個引腳與編碼器的端口相連接。步進電機運行的每一步所轉過的角度都能通過編碼器實時地傳遞給單片機,通過對系統(tǒng)軟件的設計能夠使步進電機在任何角度下停止和啟動,并且控制精度極高。
步進電機的脈沖輸出控制模塊主要由2個555芯片,1個4096芯片和1個244芯片構成,如圖3所示。
P02引腳為高電平時系統(tǒng)左端的555芯片開始工作,P02為低電平時系統(tǒng)右端的555芯片開始工作,P04引腳控制模塊的運行和停止。通過調(diào)節(jié)2個555芯片的電位器阻值的大小來控制244輸出脈沖的頻率。
圖2 按鍵控制模塊
系統(tǒng)程序設計的思想如下:
1)對單片機進行初始化。首先應該對各引腳明確定義,然后對用到的一些寄存器和功能模塊進行初始化,并且給定步進電機的角度初值和每次加速/減速時速度和角度變化的幅值。
2)調(diào)入子程序。分塊調(diào)入方向、速度、鍵盤的子程序。到達角度停止程序寫入外部中斷程序中,這樣,可以在不改變運動方向和速度的前提下做到準確地停止。
3)等待功能按鍵按下。采用查詢方式編寫按鍵程序,通過按鍵程序掃描等待功能按鍵的按下。
4)執(zhí)行按鍵功能。在程序檢測到有按鍵被按下后,執(zhí)行相應的功能。
在本實驗中選取 42BYG250C-SASSML-0151混合式步進電機作為控制對象。該步進電機為兩相四線步進電機,步距角為0.9°,額定電流為1.5A,保持轉矩為0.54N·m。實驗時,系統(tǒng)選擇24V直流電源供電,符合步進電機的要求。步進電機運行時,A相的電壓波形如圖4所示。
圖3 脈沖輸出控制模塊
圖4 步進電機運行時的A相電壓圖
經(jīng)過實驗驗證,此系統(tǒng)達到了很好的步進電機的驅動效果,能夠方便地控制電機的轉速和方向,并且能將電機的轉角精度控制在21′左右,達到了預期的效果。本設計所用的控制軟件只能控制步進電機在某一角度的停止和啟動,如果加入LED顯示屏就可實時顯示出電機轉過的角度。該系統(tǒng)占用空間小、穩(wěn)定性高、成本低廉,支持外部設備擴展等特點,實用價值極高。
[1] 何沖,王淑紅,侯勝偉,等.基于 AT89C52單片機的步進電機控制系統(tǒng)研究[J].電氣技術,2012(4):5-8.
[2] 吳文英.基于單片機控制的步進電機[J].電子技術,2012(1):55-56.
[3] 郭天祥.新概念51單片機C語言教程[M].北京:電子工業(yè)出版社,2009:8-12.
[4] 梁立濤,居耀成,周榮華,等.高精度單碼道絕對式編碼器的編碼和解碼研究[J].測繪科學,2011,6(36):25-27.
[5] 劉豐文.高精度絕對式編碼器的信號處理[J].光電工程,1999,2(26):63-67.
[6] 鄭江海,林鈞峰,陳育群.基于AT89C51PWM驅動電路遙控小車的研究[J].長春工業(yè)大學學報:自然科學版,2008,29(5):556-561.