劉媛媛
(無錫科技職業(yè)學(xué)院,江蘇 無錫 214028)
步進電動機是數(shù)字控制的電動機,具有較好的低速運行特性和較寬的調(diào)速范圍,無累積誤差,能夠準(zhǔn)確移動和定位、壽命長及抗干擾性能好等獨特優(yōu)點,被廣泛應(yīng)用于工業(yè)自動化設(shè)備等領(lǐng)域[1~5]。
由于步進電機的結(jié)構(gòu)和運行特點,使它存在整步驅(qū)動控制時有步距角較大、轉(zhuǎn)速不夠平穩(wěn),低速時容易產(chǎn)生振動、機械噪聲較大及工作精度低等缺點[6]。為了克服步進電機自身的缺陷,實現(xiàn)在整個電機控制系統(tǒng)中的精密控制,除了要求電機自身性能外,另一個主要因素取決于所選擇的驅(qū)動器。目前市面上性能優(yōu)越的步進電機價格較昂貴。所以一般選擇性價比稍高的步進電機配套性價比高的驅(qū)動器來滿足精密控制的需求。步進電機的細分技術(shù)可以消除電機的低頻振蕩,并提高電機的輸出轉(zhuǎn)矩和步距的均勻度,是一種較為完善的解決方式[7~9]。筆者結(jié)合步進電機的電流矢量恒幅細分驅(qū)動原理,設(shè)計由STM32F103C8單片機、AD5336芯片和功放電路組成的二相混合步進電機的高精度細分驅(qū)動器,給出了電機驅(qū)動的硬件電路、軟件流程和校正程序。
步進電機實現(xiàn)細分是通過對勵磁繞組中電流合成矢量的控制來實現(xiàn)的。勵磁繞組中的電流合成矢量如圖1所示,其中IA﹑IB﹑IH分別表示步進電機兩相A、B的電流矢量和兩相電流的合成矢量。
圖1 勵磁繞組中的電流合成矢量示意圖
合成的磁場矢量幅值決定了電機的旋轉(zhuǎn)轉(zhuǎn)矩,相鄰的兩個合成磁場矢量間的夾角決定了步距角的大小。步進電機任意一相的電流變化,都會引起電流合成矢量幅值的不斷變化,步進電機的轉(zhuǎn)距亦隨之變化,這將影響更高的細分?jǐn)?shù)。為了得到盡可能的圓形合成磁場并保證步距角變化均勻,繞組電流的參考信號采用近似正弦的階梯狀波形。對兩相混合式步進電機而言,需同時改變IA和IB兩相電流的大小,從而保證電流合成矢量恒幅均勻旋轉(zhuǎn)。步進電機的細分控制函數(shù)為:
IA=IM·cosθ
IB=IM·sinθ
(1)
其中IM為合成電流幅值。細分驅(qū)動就是用設(shè)定的數(shù)字化電壓量模擬為正余弦電壓,然后細分步進電機在一個周期內(nèi)所受的模擬信號,確保每個細分點對應(yīng)于一個確定的數(shù)字量化值。根據(jù)步進電機所要求的最大細分?jǐn)?shù)N,按正弦方式在零和最大相電流之間劃分出N個電流中間狀態(tài),同時將每個中間狀態(tài)對應(yīng)的量化值存入E2PROM,步進電機所要求的細分?jǐn)?shù)可通過軟件設(shè)定。比如,電機運行要求細分?jǐn)?shù)為256,就是將1/4周期分成了256個點對應(yīng)的數(shù)字量,經(jīng)數(shù)模轉(zhuǎn)換后輸出給電機繞組的電流信號就逼近正弦模擬連續(xù)信號。
根據(jù)輸入設(shè)定的細分?jǐn)?shù),微處理器輸出存儲在E2PROM中對應(yīng)的細分電流正弦表,微處理器輸出的控制數(shù)字信號經(jīng)D/A轉(zhuǎn)換器將其轉(zhuǎn)換為模擬量的電壓信號,后經(jīng)運算電路放大和功率電路放大,兩相繞組分別輸出正弦和余弦變化電流,采用電流合成矢量的方式,驅(qū)動步進電機旋轉(zhuǎn),從E2PROM中的正弦表中每輸入一個對應(yīng)數(shù)字量,就完成一個微步距角的旋轉(zhuǎn),同時引入由采樣電阻取樣得到的繞組電壓信號進行負(fù)反饋,以保證電壓放大的穩(wěn)定性。驅(qū)動器的硬件框圖如圖2所示。
圖2 驅(qū)動器硬件框圖
微處理器控制部分是以32位ARM內(nèi)核的微處理器STM32F103C8為核心構(gòu)建的電路,其主要功能是根據(jù)鍵盤輸入設(shè)置參數(shù)及控制數(shù)據(jù)等,輸出E2PROM中存儲的量化的細分電流控制字,通過微處理器IO口輸出對應(yīng)的數(shù)字量,經(jīng)數(shù)模轉(zhuǎn)換為逼近給定電流正弦波形的階梯波信號。同時回讀采集數(shù)據(jù)由LED模塊顯示,實現(xiàn)步進電機的實時控制。
微處理器通過I2C總線讀入按照設(shè)定細分?jǐn)?shù)對應(yīng)的正弦表,作為微處理器與數(shù)模轉(zhuǎn)換模塊連接端口的并行輸出數(shù)字量;E2PROM存入多種步進電機的細分正弦驅(qū)動表,按不同的細分?jǐn)?shù),通過I2C總線與微處理器通信讀入到微處理器。筆者所選的E2PROM芯片為24C04。
D/A轉(zhuǎn)換芯片主要是把微處理器的數(shù)字驅(qū)動量轉(zhuǎn)換為逼近正弦波形的模擬信號,經(jīng)運算和功率放大后驅(qū)動步進電機。所以D/A轉(zhuǎn)換芯片的選擇決定了步進電機細分方案的技術(shù)要求。
D/A數(shù)模轉(zhuǎn)換電路如圖3所示。筆者選用AD5336作為D/A轉(zhuǎn)換芯片,該芯片具有4個十位精度可單獨控制的D/A輸出通道,功耗低,全部數(shù)模轉(zhuǎn)換都通過一個十位并行IO口與微處理進行讀寫操作,D/A轉(zhuǎn)換的切換時間僅6μs,完全滿足本設(shè)計對電機高精度細分和快速調(diào)速的需求;而且該芯片帶負(fù)載能力強,每個D/A通道均帶有軌到軌輸出的緩沖型放大器;該芯片采用雙重緩沖的輸入鎖存架構(gòu)和高速總線的存取時間,可實現(xiàn)兩路數(shù)模轉(zhuǎn)換,分別寫入和輸出數(shù)據(jù),并能實現(xiàn)同時一次性寫出的功能,完全滿足高速并行輸入和并行輸出的數(shù)模轉(zhuǎn)換要求。AD5336所帶的4個電壓輸出數(shù)模轉(zhuǎn)換器,可直接輸出電壓0~5V,再經(jīng)兩級運算放大和功放放大為0~12V,實現(xiàn)對電機的兩相繞組控制,減少電路設(shè)計的復(fù)雜性。
圖3 數(shù)模轉(zhuǎn)換電路
放大驅(qū)動電路主要由運算放大電路和功率放大電路兩部分組成。運算放大電路部分是以具有極低噪聲、極低失調(diào)電壓和漂移、低輸入偏置電流的高精度運放AD8674為核心組成的兩級運算放大電路,在實現(xiàn)驅(qū)動電壓兩級放大的同時也實現(xiàn)了驅(qū)動信號的兩級低通濾波。第一級運算放大電路完成了低通濾波截止頻率5.3kHz,放大倍數(shù)2.00;第二級運算放大完成了低通濾波截止頻率1.1kHz,放大倍數(shù)1.21。功率放大電路是以O(shè)PA544為核心構(gòu)建的電路。OPA544具有響應(yīng)速度快、線性度好及失真小等特點,最大輸出電流2A,提供2倍增益,同時引入由采樣電阻R16取樣得到的繞組電壓信號進行負(fù)反饋,以保證電壓放大的穩(wěn)定性。其中A相放大驅(qū)動電路如圖4所示。
圖4 A相放大驅(qū)動電路
驅(qū)動器的控制程序主要由主程序、細分驅(qū)動子程序、按鍵處理程序、數(shù)據(jù)處理和顯示驅(qū)動程序5部分組成。
主程序(圖5)實現(xiàn)整個程序的流程控制,完成參量初始化、計數(shù)器工作方式和中斷方式設(shè)置、子程序調(diào)用、鍵盤輸入運行參數(shù)的接收、采集數(shù)據(jù)的回讀、LED連接及顯示等功能,另設(shè)看門狗代碼防止程序“跑飛”,提高運行程序的可靠性。
圖5 主程序流程
細分驅(qū)動子程序中,細分控制信號的輸出采用STM32F103C8對片外E2PROM進行循環(huán)查表法。將兩相繞組的加電順序的控制代碼編制成一張表,同時兩相輸出的細分值也編制成一個表,通過I2C總線的讀入將其存入片外E2PROM中,通過一個地址指針的設(shè)置完成正反向?qū)?yīng)表讀取,正向時將地址指針賦予表首址,隨后逐一遞加地址指針;反向時將其賦予表首址加上當(dāng)前步長的偏移量,然后逐一遞減地址指針,即可從表中輸出加電相選的對應(yīng)代碼,通過微處理器的并行接口數(shù)模轉(zhuǎn)換后驅(qū)動運算放大電路,以及各相細分值的輸出[10]。
假定完成一次正弦變化的周期為T,必須要求從數(shù)模轉(zhuǎn)換輸出的前一個T/4內(nèi),數(shù)字量輸入由低到高;下一個T/4內(nèi),數(shù)字量輸入由高到低。如此循環(huán)輸入數(shù)字量,使電壓按給定的逼近正弦波變化的階梯電平輸出。
如果將放大處理的驅(qū)動信號作用于兩相混合步進電機的繞組,并保證兩個繞組的起始相序差為1/4周期,則可得到兩相步進電機細分驅(qū)動繞組電流,波形如圖6所示,可以看出該電流波形完全滿足步進電機恒轉(zhuǎn)矩細分驅(qū)動所要求的兩相繞組的電流。
基于STM32F103C8單片機、AD5336芯片和功放電路所構(gòu)成的二相混合步進電機的高精度細分驅(qū)動器,數(shù)模轉(zhuǎn)換器采用高精度的電壓基準(zhǔn)源,驅(qū)動放大電路引入的電壓負(fù)反饋,以及步進電機采用的軟件控制算法與修正程序,較好地克服了步進電動機非線性的影響,確保了高精度細分的實現(xiàn)。該驅(qū)動器的實施,滿足了較高的細分步距角精度及平滑運行等要求,提高了步進電機的運行性能。
[1] 高琴,劉淑聰,彭宏偉.步進電機控制系統(tǒng)的設(shè)計及應(yīng)用[J].制造業(yè)自動化,2012,34(1):150~152.
[2] 孟軍,張振興,劉波.二相步進電機細分驅(qū)動的設(shè)計與實現(xiàn)[J].電氣應(yīng)用,2007,26(12):84~87.
[3] 李昱,劉景林,董亮輝.基于SOPC技術(shù)的步進電動機細分控制器設(shè)計[J].微特電機,2011,39(7):46~48,66.
[4] 徐軍,葛素娟.用單片機實現(xiàn)步進電機細分技術(shù)研究[J].機床電器,2004,(6):25~28.
[5] 劉志明,戴明,匡海鵬.一種步進電機細分控制方法[J].機械設(shè)計與制造,2008,(11):154~156.
[6] 李婧,金占雷.兩相步進電機單極性細分驅(qū)動器的實現(xiàn)[J].電機與控制應(yīng)用,2012,39(3):14~18,52.
[7] 陳興文,劉燕.基于單片機的步進電機細分驅(qū)動器設(shè)計[J].電機與控制應(yīng)用,2009,36(7):30~33.
[8] 李玲娟,劉景林,王燦.兩相混合式步進電機恒轉(zhuǎn)矩細分驅(qū)動技術(shù)研究[J].微電機,2007,40(3):48~50.
[9] 劉寶志.步進電機的精確控制方法研究[D].濟南:山東大學(xué),2010.
[10] 彭樹生,周旋.基于PIC16F876的步進電機細分驅(qū)動電路設(shè)計[J].計算機測量與控制,2004,12(1):79~82.