文/劉生攀
為了保證電機的平穩運行,提高定位精度,在第二階段的電機驅動控制電路的設計中,采用了細分驅動技術,通過高集成度的單片機和驅動芯片予以實現,達到了小型化和高精度的目的。
轉位機構需要實現初始零位檢測、180°轉位和回到零位的功能。
初始零位檢測為轉位機構的初始定位,每一次尋北過程開始,都需要驅動步進電機旋轉以檢測初始零位,并且為了減小結構上的機械間隙,每次定位到零位前的旋轉方向都需要與180°轉位的方向一致。
180°轉位只需要通過單片機控制步進電機向固定的方向旋轉固定的角度。
回到零位對定位精度要求較低,只需要向與180°轉位的方向相反的方向旋轉并檢測到零位即可。
步進電機的細分驅動普遍采用電流矢量恒幅均勻旋轉的細分方法。對于兩相混合式步進電機,通過控制兩相繞組的相電流,使得電流的合成矢量恒幅均勻旋轉,從而使電機的轉矩矢量在空間恒幅均勻旋轉,達到細分步進電機步距角的目的。
對于兩相混合式步進電機,通過給A、B兩相繞組供給正余弦電流,就可以實現電流的合成矢量恒幅均勻旋轉。繞組電流變化曲線為:

式中:
ia——為A相繞組電流;
ib——為B相繞組電流;
iM——為繞組峰值電流;
x——為角度參數。
當x變化90°時,步進電機旋轉一個整步距角,將90°的變化量均勻細分,細分數越多,則分辨率越高。從理論上講,如果繞組中電流與理論控制電流相等,并且繞組中電流與磁場幅值成線性關系,則精度可以精確達到整步距角除以細分數。
實現的原理框圖見圖1。

圖1
為實現細分函數,單片機必須有2路D/A轉換器。為實現光電檢測,必須有1路中斷。為盡可能減少外圍元器件數量,減小驅動控制占用的空間,選用了CYGNAL公司的C8051F124,具有以下優點:
5.1.1高速8051 微控制器內核
(1)流水線指令結構;70%的指令的執行時間為一個或兩個系統時鐘周期;
(2)使用內部集成PLL 時速度可達100或50MIPS。
5.1.2片內自帶存儲器
(1)8448 字節內部數據RAM(8K +256);
(2)128KB 或64KB 分區FLASH;可以在系統編程,扇區大小為1024 字節。
5.1.32 個 12 位 DAC
(1)可用定時器觸發同步輸出,用于產生無抖動波形。
5.1.4數字外設豐富
(1)8 個8 位寬端口I/O(100TQFP),耐5V;
(2)4 個8 位寬端口I/O(64TQFP),耐5V;
(3)可同時使用的硬件SMBus(I2CTM兼容)、SPITM 及兩個UART 串行端口;
(4)可編程的16 位計數器/定時器陣列,有6 個捕捉/比較模塊;
(5)5 個通用16 位計數器/定時器;
(6)專用的看門狗定時器;雙向復位引腳。
5.1.5自帶時鐘源(1)內部精確振蕩器:24.5MHz;(2)可靈活配置的PLL;
(3)外部振蕩器:晶體、RC、C、或外部時鐘。
從以上優點可以看出,對實現最小系統而言,使用C8051F124是非常合適的,除了需要提供供電電源外,不需要其它任何外圍元器件就可以實現轉位控制的所有功能。
指令接收使用C8051F124的P0.3I/O口線實現,由于使用一條I/O口線實現3種類型指令接收,因此需要制定內部協議,采用不同的指令脈沖寬度代表不同類型的指令。在單片機程序中通過內部定時器檢測接收到的指令脈沖寬度進行指令判別,然后執行相應的轉位子程序。
為實現零位檢測,選用了ST135型光耦進行光電檢測,ST135型光耦包括一個發光二極管和一個接收器,當發光二極管的光路被擋片遮擋時,接收器將輸出一個下降沿。將接收器的輸出接入單片機的0號中斷,當產生中斷時,停止電機旋轉,從而定位到零位點。
為實現步進電機的細分驅動,需要實現式(1)所示的電流函數波形。對驅動器而言,對電機繞組電流的控制是采用給定參考電壓實現的。而參考電壓的輸出可以采用單片機的D/A通道輸出,則電機繞組的正余弦電流可以根據細分數量化為D/A電壓數據,采用查表法輸出。在轉位驅動中,結構設計采用了62的減速比,根據總體精度,對步進電機驅動細分數采用64細分即可以滿足要求。因此,對式(1)進行轉換如下:

式中:
ia——為A相繞組電流;
ib——為B相繞組電流;
UM——為參考峰值電壓;
R——為取樣電阻阻值;
n——為微步數,0~255。
本文對步進電機的細分驅動原理進行了闡述,并通過工程實踐,設計制作了轉位控制驅動電路及程序,實現了轉位機構控制和驅動電路的小型化和高精度,具有較高的實用價值。