混合式直線步進電機細分驅動電路的實現
劉賢興(江蘇理工大學鎮江212013)
【摘 要】介紹利用mcs_51單片機實現對混合式直線步進電機的細分驅動,采用查表形成
正弦、余弦信號,實現細分電路和直線步進電機的速度控制。
l 引 言
直線步進電動機是一種直線增量運動的電磁執行元件,是一種將輸入脈沖轉換成步進直線運動的機電裝置。它具有在開環條件下,能直接提供精確可靠的直線位移、速度和加速度控制,且能靜態和動態定位,目前已在數控機械、計算機外設等精密驅動、精密控制領域得到廣泛的應用。
直線步進電機的定位精度是一個十分重面的性能參數。直線步進電機可以用一般的脈沖信號來控制和驅動,但采用一般的脈沖信號,定位分辨率比較低,因此直線步進電動機主要采用細分電路提高定位分辨率。
2直線步進電機的控制系統
所設計的樣機是二相混合式直線步進電動機,在繞組a和b分別通過正弦、余弦電流,步進電動機即能正常運行。整個控制系統可分成調頻電路、細分電路、驅動電路、鍵盤顯示電路、存儲器擴展電路等部分,如圖1所示。
根據混合式直線步進電機的控制特點,要求細分電路滿足如下要求。
a.由單片機形成頻率可調、幅值可調的正弦和余弦信號。
b.頻率范圍為0.6~300hz。
c.在細分度允許的條件下,提高定位精度。
3細分電路的硬件設計
所介紹的細分電路是利用單片機i/d口每隔一定時間輸出不同的數字量,該數字量分別為相應時刻的正弦函數值和余弦函數值,經d/a轉換就得到正弦和余弦信號,由若干個數字量逼近的正、余弦信號,它的精確度取決于正、余弦信號的細分度和d/a轉換器的分辨率。所選擇的細分度為100,d/a轉換器的分辨率為10位,硬件圖如圖2所示。
圖中僅畫出一相輸出,另一相輸出硬件圖基本相同,由于10位d/a轉換器ad7520不帶鎖存器,故8031采用二次操作輸出10位數據,先將高2位數據輸到74ls74(1),接著把低8位數據輸出到74ls377,同時把74ils74(1)的內容傳送到74ls74(2),從而實現8031輸出10位數據同時達到ad7520的數據輸入線,通過改變ad7520的參考電壓vref,可改變正、余弦信號的幅值。
為了能改變直線步進電機的速度,必須輸出的正弦、余弦信號是一種頻率可調的信號,采用adc0809將模擬量轉換成數字量,并作8031定時器o的時間常數。設8031定時器0采用工作方式0,則時間常數為13位,低5位固定,高8位采用adc0809轉換的數字量,通過改變ai)c0809的輸入模擬量,改變adc0809輸出的數字量,從而改變了定時時間常數,達到改變正弦、余弦信號頻率的目的。
4細分電路的軟件設計
為了節省cpu時間,對正弦、余弦信號的數字量,不是采用即時計算的方法確定,而
是預先經過計算,形成一個正弦函數表,存放在單片機的存儲器中,通過查表形成正弦波,余弦波的形成只是在查表時相差90o。
一般,對于正弦、余弦信號的逼近,細分度和d/a轉換器分辨率越高,定位精度就越高。但細分度越高,要求單片機速度越快,且d/a轉換器的分辨率也受到價格和單片機速度的影響,根據樣機的控制特點,選擇細分度為100,d/a轉換器分辨率為10位。
按細分度n=100,將正弦波一個周期分為100等份,則計算某一函數值的公式為:
式中 d——某一正弦函數值
n——細分度
n——取0~100
將此值轉換為16進制數,加上偏移碼,即得某一正弦函數的數字量,對于雙極性的10位d/a轉換器,偏移碼為0200h,即此值ad7520雙極性輸出為零伏。正弦、余弦信號子程序框圖如圖3所示。
5結論
a.實驗結果表明,采用查表形式,單片機能產生頻率可調、幅值可調的正、余弦信號,方便地實現細分驅動及直線步進電機的速度控制。
b.由于采用較高分辨率的細分電路,使直線步進電動機定位精度得到提高,樣機的定位精度達o |