技術支援

SmartMotor 碰到韌體極限時自動反彈功能

問題描述(以直線運動滑台為例):

    當滑塊每次觸碰到韌體正負極限時,馬達會跳錯誤並停止運動,此時需要將馬達斷電,並手動將滑塊移開極限位置,再將馬達重新上電,過程繁複且耗時間。

解決辦法:

碰到正負極限時,馬達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=ab
LOOP
WAIT=t/2
MP
ADT=1000
VT=327680
PRT=4000
G TWAIT
WAIT=t
O=0                                      ‘設定位置為原點
SLN=-2500                          ‘設定韌體極限負極限位置
SLP=130000                        ‘設定韌體極限正極限位置
SLE                                      ‘啟動韌體極限功能
RETURN

C10                                      ‘中斷副程式

WAIT=t/2
ZS                                        ‘清除錯誤訊號
SLD                                     ‘關閉韌體極限功能
IF PA>0
MP PRT=-4000 G TWAIT WAIT=t/2        ‘馬達往負方向轉一圈
ELSE
MP PRT=4000 G TWAIT WAIT=t/        ‘馬達往正方向轉一圈
ENDIF
SLE                                      ‘啟動韌體極限功能
RETURNI