|
1) 在從位置A移動到位置B的過程中,一般同時會給出允許的最大速度,通常用轉每分鐘表示,一般步進電機從30-1000轉每分鐘都有;
2)位移的最初階段是速度上升的過程,這個過程一般加速度可以是三角形梯形或正弦波形,生成的速度是S型,也可以使用PID控制過程模擬生成速度S曲線,PID控制實際上是個負反饋控制,因此具有允許最大速度范圍廣,控制周期可以略長,通常在10mS量級,不必每個步進電機脈沖都必須計算;
3)前半程使用PID控制進行加速的情況下,后半程需要進行減速,但前半程加速到半程或者達到最大速度就停止加速了,時間節點比較好掌握,后半程減速需要在移動到位置B時,速度也剛好降為0,同時有兩個條件,因此直接用PID會有振蕩現象;
4)考慮仿生學,大多數人在紅綠燈前面(騎車或開車)停車的情況,其實和步進電機走到指定位移并同時減速為0是相同的,但大多數人都能在停止線附近挺得很好,這里面有一個最重要的策略:離停止線越遠,允許的速度越大,離停止線越近,允許的速度越小;
5)參考4)以后,步進電機可以在后半程選一個以當前位置到目標位置距離為X,速度為Y的函數,滿足X越小,Y也越小,X趨近于0時,Y也趨近于0即可,可以是函數Y=kX,Y=KX*X,Y=sqrt(X)等,從這些函數中選一個使得步進電機能正常運行且減速時的加速度較小的曲線就可以了;
6)如5)中后半程使用特定函數將速度衰減為0的做法,用是能用,但其速度曲線和加速度曲線前后不對稱,缺乏美感,要想前后兩個半程速度和加速度曲線對稱,有兩個辦法:一是前半程記錄加速數據,后半程采用鏡像的方式復現,缺點是要的數據比較多,記錄要詳細,另外一個方法是前半程根據需要記錄幾個特殊位移時的速度(Sn,Vn),后半程在達到與前半程特殊位移對應的位置時,將速度置為記錄數組中的數值,比如加速時(0,0),(1/8S,V1),(2/8S,V2),(3/8S,V3),(4/8S,V4),那么減速時依次為(4/8S,V4),(5/8S,V3), (6/8S,V2), (7/8S,V1), (8/8S,0),采用這種方法可以根據自己需要設置記錄數組的數量,可以是8組,64組,256組,數組越大,曲線越平滑,但有些短位移需要做特殊處理;
6)中的方法即為實現上面較完美曲線的對應策略,供參考,以上!
|
評分
-
查看全部評分
|