SmartMotor 碰到韌體極限時自動反彈功能
https://montrol.com.tw/wp-content/uploads/2023/02/ST_motor-limit.mp4https://montrol.com.tw/wp-content/uploads/2023/02/ST_motor-limit2.mp4 問題描述(以直線運動滑台為例): 當滑塊每次觸碰到韌體正負極限時,馬達會跳錯誤並停止運動,此時需要將馬達斷電,並手動將滑塊移開極限位置,再將馬達重新上電,過程繁複且耗時間。 解決辦法: 碰到正負極限時,馬達FAULT停止動作,進入中斷指令副程式,清除錯誤且關閉韌體極限功能,滑塊自動移動離開極限位置後,啟動韌體極限功能,並回到主程式。 範例程式: ‘Bms: 觸發負(左)極限即時訊號 ‘Bps: 觸發正(右)極限即時訊號 EIGN(2) EIGN(3) ZS t=1000 GOSUB0 ‘原點復歸 ITR(0,1,15,1,10) ‘設定第0組中斷,在Bms狀態為1時,跳至中斷副程式C10 ITR(1,1,14,1,10) ‘設定第1組中斷,在Bps狀態為1時,跳至中斷副程式C10 EITR(0) ‘設定第0組中斷可用 EITR(1) ‘設定第1組中斷可用 ITRE ‘啟動中斷功能 C1 ‘製造不結束主程式的迴圈副程式C1 GOTO1 END C0 ‘滑台做原點復歸 SLD ‘關閉韌體極限功能 MT T=-1800 G c=100 WHILE c>5 a=PA WAIT=t/10 b=PA WAIT=t/10 c=a-b LOOP WAIT=t/2 MP AD …