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