步進(jìn)電機的控制,目前有很多種方法,PLC,運動(dòng)控制卡,PC,單片機。用單片機控制步進(jìn)電機成本低,保密性高,專(zhuān)用型強。做好足夠的保密措施,產(chǎn)品相對于其他方式不容易被人模仿。所以基于單片機的運動(dòng)控制方案在領(lǐng)域內也占有一席之地。
2.控制原理
步進(jìn)電機驅動(dòng)器接收脈沖信號,每接收一個(gè)跳變沿驅動(dòng)步進(jìn)電機走一個(gè)步距角。一般都是脈沖和方向信號,脈沖信號控制電機的運行距離,方向信號控制電機的旋轉方向。單片機的兩個(gè)I/O口一個(gè)用來(lái)產(chǎn)生脈沖信號,一個(gè)產(chǎn)生方向信號。步進(jìn)電機的轉速和脈沖頻率成正比。
3.硬件構成
1.軟件說(shuō)明
單片機都含有定時(shí)器,可以根據精確計時(shí)。本案例使用AVR單片機內置的16位定時(shí)器來(lái)精確定時(shí),控制脈沖跳變沿的間隔時(shí)間。同時(shí)在定時(shí)器中斷處理程序中進(jìn)行位置計算,如果達到設定值立即停止發(fā)脈沖。通過(guò)串口更新LCD顯示器的顯示信息,定時(shí)掃描鍵盤(pán)。
注意事項:
1、中斷時(shí)間非常寶貴,盡量減少占用時(shí)間。本例只在中斷中進(jìn)行加減和比較運算,并且計算出這些運算所消耗的時(shí)間,從而修正定時(shí)器,使發(fā)出的脈沖頻率更加精準,穩定。如使用16M的晶振,定時(shí)器的最小單位是1/16 us.如果脈沖頻率在100KHz以下,頻率誤差完全可以控制在0.625%以下。以常用的三相步進(jìn)電機為例,在10000步/轉的細分情況下,可以控制電機最高轉速達到600rpm.這個(gè)轉速基本上滿(mǎn)足大部分的控制需求。如果需要更高的轉速,可以降低細分設置。
2、步進(jìn)電機和驅動(dòng)器之間是開(kāi)環(huán)控制,有可能出現丟步現象,必須盡量避免。采用多段加速的辦法可以降低加速度從而減小輸出扭力,可以有效解決丟步現象。段數越多,電機加速越平滑。在轉速低的場(chǎng)合,甚至可以逐步調節頻率,這是轉速變化是最平滑的。當然分段會(huì )占用更多的中斷時(shí)間,降低所能產(chǎn)生的最高頻率,根據不同的單片機,應該視其性能靈活選擇。
3、有的單片機如AVR,其中的定時(shí)器有CTC功能,定時(shí)器發(fā)生匹配事件時(shí)自動(dòng)更新輸出腳狀態(tài),非常適合發(fā)出頻率可變的脈沖。不占用中斷時(shí)間,無(wú)疑是最佳選擇。
2.實(shí)際產(chǎn)品