技術支援

步進馬達動作到一半卡住、失步或停下來,可能原因?

步進馬達動作到一半卡住、失步或停下來,可能原因?(以MSD4822 + 43F4C-XX-XXX為例) 答: 檢查下列幾項情況A.     機構裝置設計/組裝是否正常?B.     Driver的指撥設定有誤? ##  C.     電源供應器提供的電壓或電流不足?  D.     控制器的指令有誤? ex:設太高的加速度值&速度值  E.     使用不符合需求的馬達? ex:馬達太小,扭力不足以負荷負載重 ## Driver指撥如何設定?答: 依據馬達規格的不同調整1.       解析度2.       電流

STM關於偵測失步與預防失步之設定

如STM裝了encoder,有兩個目的 (只能2選1) 1.      偵測失步 : 會檢測失步,並出現alarm,但不會自動防止失步!!2.      預防失步 : stm會自動調整扭力,以保持正確位置,類似servo但是主控權要於stm,故不能使用於plc 的pulse command下試過降低馬達電流,並手動強制旋轉軸心,於+/- 7.2度(圓周運動360)時,步進會自己調整至正確位置,但超過7.2度,即超出可調範圍,這就類似於servo的position error!!系統不會判斷成失步,但可以利用讀取ENCODER位置,來判斷!! 以下為基本設定 將馬達電流調小至手可以轉動測試,此範例為1A(請參照馬達規格電流設定範圍) 2. 設定錯誤訊號輸出,Motion&I/O→Pulse&Direction Mode→Closed on fault 此功能需在位置模式下, Motion&I/O→Serial Command Language(SCL)→21. Point to Point Positioning 4.ENCODER設定  ※偵測失步 : 會檢測失步,並出現alarm,但不會自動防止失步!! ※預防失步 : stm會自動調整扭力,以保持正確位置,類似servo 註: 若ENCODER解析度未達到2000 counts/rev,無法使用此功能

LinMot_RS485_單軸 VB介面範例

‘= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ‘                                Communication ‘= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Private Sub Form_Load() If (MSComm1.PortOpen = True) Then MSComm1.PortOpen = False MSComm1.CommPort = 1 MSComm1.PortOpen = True MSComm1.Settings = “57600,N,8,1” End Sub ‘= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ‘                                Random Value ‘= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Private Function MyRnd() As Integer              ‘產生亂數0~9 Randomize MyRnd = Int(Rnd * 10) End Function ‘= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ‘                          Function:    format   10 to 16 ‘= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Function format16(ByVal distTe …

LinMot_RS485_單軸 VB介面範例 閱讀全文 »

ST5驅動器 VB介面 範例

https://montrol.com.tw/wp-content/uploads/2018/10/ST5驅動器-VB介面範例.mp4 ‘= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ‘             建立通訊連接 ‘= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Private Sub Form_Load() If (MSComm1.PortOpen = True) Then MSComm1.PortOpen = False MSComm1.CommPort = Combo1.Text            ‘Choose comport MSComm1.PortOpen = True MSComm1.Settings = “9600,N,8,1” End Sub ‘= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ‘                 設定原點 ‘= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Private Sub SetZeroPosition_Click() MSComm1.Output = “SP0” & Chr(13)             ‘Set Absolute Position End Sub ‘= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ‘             開始位置移動 ‘= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = …

ST5驅動器 VB介面 範例 閱讀全文 »

使用VB 控制多軸TSM步進伺服馬達

***RS485 站號(Node ID) 設定:     *  透過AMP   ” Step-Servo Quick Tunner ”軟體內設定馬達ID,如下: *** 開啟VB軟體 :步驟一: 專案>設定使用元件>勾選”Microsoft Comm Control 6.0” 步驟二: 先製作介面 步驟三: 編寫程式碼 Private Sub Form_Load() If (MSComm1.PortOpen = True) Then MSComm1.PortOpen = False MSComm1.CommPort = 3 MSComm1.PortOpen = True MSComm1.Settings = “9600,N,8,1” End Sub Private Sub Command3_Click() MSComm1.Output = “1FL20000” + Chr(13) End Sub Private Sub Command4_Click() MSComm1.Output = “2FL20000” + Chr(13) End Sub Private Sub Command5_Click() MSComm1.Output = “1FL20000” + Chr(13) MSComm1.Output = “2FL20000” + Chr(13) End Sub

使用VB控制TSM

步驟一: 先製作介面 步驟二: 編寫程式碼 Private Sub Form_Load() If (MSComm1.PortOpen = True) Then MSComm1.PortOpen = False MSComm1.CommPort = 3 MSComm1.PortOpen = True MSComm1.Settings = “9600,N,8,1” End Sub Private Sub Command1_Click() MSComm1.Output = “VE” & Text1.Text & Chr(13) MSComm1.Output = “AC” & Text2.Text & Chr(13) MSComm1.Output = “DE” & Text3.Text & Chr(13) MSComm1.Output = “FL” & Text4.Text & Chr(13) End Sub 說明步驟二: 檢視>屬性視窗 點左邊的Text1 (可以改變): 元件名稱(Name) 點右邊的Text (不可改變): 元件屬性(在此指Text屬性,可呼叫使用者鍵入的值)