單片機(jī)在步進(jìn)電機(jī)控制中的應(yīng)用
|
|
1.歷史背景 步進(jìn)電機(jī)的控制,目前有很多種方法,PLC,運(yùn)動(dòng)控制卡,PC,單片機(jī)。用單片機(jī)控制步進(jìn)電機(jī)成本低,保密性高,專用型強(qiáng)。做好足夠的保密措施,產(chǎn)品相對于其他方式不容易被人模仿。所以基于單片機(jī)的運(yùn)動(dòng)控制方案在領(lǐng)域內(nèi)也占有一席之地。
2.控制原理 步進(jìn)電機(jī)驅(qū)動(dòng)器接收脈沖信號,每接收一個(gè)跳變沿驅(qū)動(dòng)步進(jìn)電機(jī)走一個(gè)步距角。一般都是脈沖和方向信號,脈沖信號控制電機(jī)的運(yùn)行距離,方向信號控制電機(jī)的旋轉(zhuǎn)方向。單片機(jī)的兩個(gè)I/O口一個(gè)用來產(chǎn)生脈沖信號,一個(gè)產(chǎn)生方向信號。步進(jìn)電機(jī)的轉(zhuǎn)速和脈沖頻率成正比。
3.硬件構(gòu)成


1.軟件說明 單片機(jī)都含有定時(shí)器,可以根據(jù)精確計(jì)時(shí)。本案例使用AVR單片機(jī)內(nèi)置的16位定時(shí)器來精確定時(shí),控制脈沖跳變沿的間隔時(shí)間。同時(shí)在定時(shí)器中斷處理程序中進(jìn)行位置計(jì)算,如果達(dá)到設(shè)定值立即停止發(fā)脈沖。通過串口更新LCD顯示器的顯示信息,定時(shí)掃描鍵盤。
注意事項(xiàng): 1、中斷時(shí)間非常寶貴,盡量減少占用時(shí)間。本例只在中斷中進(jìn)行加減和比較運(yùn)算,并且計(jì)算出這些運(yùn)算所消耗的時(shí)間,從而修正定時(shí)器,使發(fā)出的脈沖頻率更加精準(zhǔn),穩(wěn)定。如使用16M的晶振,定時(shí)器的最小單位是1/16 us.如果脈沖頻率在100KHz以下,頻率誤差完全可以控制在0.625%以下。以常用的三相步進(jìn)電機(jī)為例,在10000步/轉(zhuǎn)的細(xì)分情況下,可以控制電機(jī)最高轉(zhuǎn)速達(dá)到600rpm.這個(gè)轉(zhuǎn)速基本上滿足大部分的控制需求。如果需要更高的轉(zhuǎn)速,可以降低細(xì)分設(shè)置。
2、步進(jìn)電機(jī)和驅(qū)動(dòng)器之間是開環(huán)控制,有可能出現(xiàn)丟步現(xiàn)象,必須盡量避免。采用多段加速的辦法可以降低加速度從而減小輸出扭力,可以有效解決丟步現(xiàn)象。段數(shù)越多,電機(jī)加速越平滑。在轉(zhuǎn)速低的場合,甚至可以逐步調(diào)節(jié)頻率,這是轉(zhuǎn)速變化是最平滑的。當(dāng)然分段會占用更多的中斷時(shí)間,降低所能產(chǎn)生的最高頻率,根據(jù)不同的單片機(jī),應(yīng)該視其性能靈活選擇。
3、有的單片機(jī)如AVR,其中的定時(shí)器有CTC功能,定時(shí)器發(fā)生匹配事件時(shí)自動(dòng)更新輸出腳狀態(tài),非常適合發(fā)出頻率可變的脈沖。不占用中斷時(shí)間,無疑是最佳選擇。 2.實(shí)際產(chǎn)品

|
|
|