技術支援

如何確認動作是否完成(以VB6為例)

—SmartMotor使用PC程式控制–是否動作完成(以VB6為例)— 若使用電腦程式控制時 要知道前一指令是否完成 可以讀取馬達Bt訊號 動作中Bt=1,動作完成Bt=0   以下是等待前動作完成的VB範例 ============================================== busy = 1   ‘先設定busy變數為1 Do Until busy = 0   ‘迴圈直到busy變0 MSComm1.Output = “RBt ”  ‘讀取Bt的回傳值 busy = MSComm1.Input  ‘將回傳值存於busy變數 Loop ==============================================  

如何停止於轉動原點?

—SmartMotor停止於轉動原點— 要在轉動時找到轉動原點要使用 I (index)這個變數 index是在encode的一個標記, I 會記錄上次的index位置 i=I 這個就是用 i 變數去存取 I 馬達停止於index的副程式範例 ===================================== C1 i = I    ‘讀取i值 WHILE i==I LOOP MP P=i+4000    ‘設定目標位置是index的下一圈位置(此範例encode為4000) G    ‘執行 RETURN =====================================

如何使用Pulse/Direction控制?

—SmartMotor使用PULSE/DIRECTION控制設定及接線— 要使用PULSE/DIRECTION來控制SmartMotor有兩個部分 1.在SMI編輯程式並下載到SmartMotor: ——————————————— MS   ‘設定馬達step模式 MFMUL=4   ‘設定step比例 MFDIV=7   ‘以此範例為4:7 MSR   ‘進行step參數的計算 G    ‘執行 ———————————————- 2.另外一個部分是接線:

輕鬆使用程式控制(以VB6為例)

—SmartMotor輕鬆使用程式控制(以VB6為例)— SmartMotor系列想要使用程式來控制是很容易的 只需要兩個大步驟:1.建立通訊  2.傳送字串   —————-1.建立通訊(以VB6為例)—————— A. 專案>設定使用元件>勾選”Microsoft Comm Control 6.0″ B. 建立一個MS comm物件,並設定所使用”通訊連接Port”(其餘設定預設即可)   —————2.傳送字串(以VB6為例)——————- 在使用的物件傳送字串,並在字串最後加入一個空白,就可控制SmartMotor了 EX. MSComm1.Output = “ADT=1000”   —————指令碼參考(請修改對應的port)—————–   Private Sub Form_Load() If (MSComm1.PortOpen = True) Then MSComm1.PortOpen = False MSComm1.CommPort = 5 MSComm1.PortOpen = True MSComm1.Settings = “9600,N,8,1” End Sub   Private Sub Command1_Click() MSComm1.Output = “ADT=600 ” MSComm1.Output = “VT=32768 ” MSComm1.Output = “PRT=4000 ” MSComm1.Output = “G ” End Sub   Private S …

輕鬆使用程式控制(以VB6為例) 閱讀全文 »

如何尋找Index指令

—SmartMotor尋找Index指令— ==============HOMING TO THE INDEX範例(class5)================ EIGN(W,0) O=0 ADT=100 ‘Set maximum acceleration VT=10000 ‘Set maximum velocity MP ‘Set to Mode Position PRT=20 ‘Move off in case on index G ‘Start motion TWAIT ‘Wait for motion to complete i=I(0) ‘Clear index flag by read Ai(0) ‘Arm the index register PRT=-4000 ‘Set 1 rev, specific to motor G ‘Start motion WHILE Bi(0)==0 ‘Wait for index flag to be true(關鍵是這個) LOOP ‘Loop back to Wait X ‘Decelerate to stop TWAIT ‘Wait for motion to complete PT=I(0) ‘Set target position for Index G ‘Start motion TWAIT ‘Wait for motion to complete O=0 ‘Declare current position home END ‘End program   ==============HOMING TO THE INDEX範例(class5)================ C1 ‘找INDEX MV AT=1000 VT=32212 G a=I(0) ‘讀取INDEX數值給a WHILE a==I(0) ‘若INDEX沒有讀到新的數值舊維持空迴圈 LOOP MP AT=1000 VT=32212 P=I(0) …

如何尋找Index指令 閱讀全文 »

伺服增益如何調整

—SmartMotor伺服增益調整範例— SmartMotor 伺服增益調整範例文件下載 在SMI的Tools下拉選單>> 選Tuner 進入Tuning視窗,選擇Tuning Values,開始調整 填入PID數值後,選取”Apply New Values”,並儲存”Save Values”後,按下”Run Tuning”,觀察曲線 (建議起始KP依照負載大小填入30~50的數值,KI與PD先為0) STEP 1 首先,我們先將 KP 值增加一點點,由圖面的範例可以知道,KP 值太小,並未達到命令位置值。 所以,下一步,我們必須再增加 KP值,直到實際位置超越命令位置值。 STEP 2 增加 KP 值,直到如圖面所示,稍微超過命令位置值一點。 接下來,增加KD 值,減低過衝的發生。 STEP 3 增加 KD 值後,由圖可知,曲線變得更接近命令值了。 接下來必須增加 KP 值,讓曲線產生震盪或是完全高於命令值。 STEP4 在反覆增加 KP 值後,變成如下圖所示,它代表KP 太高、或是KD 太低。 接下來,我們試著提升KD 值來抑制過衝以及 高頻震動的問題。 STEP5 提升 KD 值後,過衝的問題已改善了,但是仍然有高頻震動發生,那就表示KP 以及KD 值太高了。 下一步,我們應該先試著降低KD 值。 STEP6 減少 KD 值後發現,並沒有大幅減少高頻震動的發生。 所以,我們應該降低 KP 值。 STEP7 降低了 KP 值後確實讓震動停止了,然而,還是有一點點過衝的狀況。 我們要再一次提高 KD 值來抑制過衝的問題。 STEP8 提高了 KD 值之後,過衝的狀況減少了,但是高頻震動又發生了,這樣表示KD 值仍然太高了。 下一步,我們要降低 KD 值減少高頻震動發生。 STEP9 在減少KD值之後,停止了高頻震動的發生。 接下來應該減少 KP 值。 STEP10 在減少了 KP 值後,過衝的改善並沒有很明顯(可能KD 值在步驟九的時候減少太多了)。 所以,我們應該提升 KD 值,直到過衝的情況改善。 STEP11 當我們再提升 KD 值,如圖所示,回應迅速並且穩定。 STEP12 最後,調整KI 值消除穩態誤差,並讓整定的時間更快速更穩定。 KP、KI、 …

伺服增益如何調整 閱讀全文 »

如何做直線捕間?

—SmartMotor直線補間簡易運算— 利用XY軸行進的比例去計算速度V與加速度A Dx:Dy = Vx:Vy = Ax:Ay 讓X軸與Y軸在相同時間t完成動作 Ex:X軸前進50000,Y軸前進30000 Dx:Dy      =       Vx:Vy       =      Ax:Ay 50000:30000 = 1000*5:1000*3 = 200*5:200*3 再加上SmartMotor簡單而強大的多軸控制, 如此一來,即使不用電腦也能完成直線補間的動作

如何用類比訊號控制扭力

SmartMotor使用類比訊號來控制扭力 動作1.加大扭力,使線拉直 動作2.加大扭力,使物體移動 動作3.減少扭力,使物體停止 https://www.youtube.com/watch?v=vBBkfkpgUHk&ab_channel=montrolsystem ————————程式範例————————=========== class 4 ================== MTWHILE 1           ‘無限迴圈g=UCA/10         ‘宣告I/O C為Analog input,並將接收的值存入變數gT=g                    ‘扭力變數T = 變數gWAIT=4069/2LOOP END                 ‘程式結束  

韌體極限指令

—SmartMotor韌體極限指令— SmartMotor能夠在指令或程式部分設定韌體極限 SLP=100000  ‘設正極限為100000 SLN=-5000    ‘設負極限為-5000 SLE                ‘作動韌體極限功能 *若須取消此功能 SLD               ‘取消韌體極限開關

Haydon固定軸、貫通軸與外驅軸簡介影片

固定軸 https://montrol.com.tw/wp-content/uploads/2022/11/HK07-What-Is-a-Captive-Actuator.mp4#t=,38 固定軸相當於標準貫通軸加上前端固定限轉(captive)作用之花鍵式導軌,因此無須設計及加裝外部滑軌即可直接推動物件。適用於空間相當侷促、負載受力點較集中之應用。 貫通軸 https://montrol.com.tw/wp-content/uploads/2022/11/HK06-What-Is-a-Non-Captive-Actuator.mp4#t=,37貫通軸為標準型式直線步進馬達,其結構為內部帶有螺母的馬達及貫通馬達之螺桿組成。 當馬達內部螺母運轉且螺桿被限制轉動時(如鎖固在線性滑軌帶動之載台),則螺母將去動螺桿進行直線運動。 通常搭配線性滑軌設計,並適用於載台面積較大、負載較高,尤其是垂直軸應用。 外驅軸 https://montrol.com.tw/wp-content/uploads/2022/11/HK08-What-Is-an-External-Linear-Actuator.mp4#t=,34外驅軸與貫通軸的運作原理正好相反,馬達帶動螺桿運轉,而螺母鎖固在載台上進行直線運動。 用於一般滑台結構設計,可省卻聯軸器及前後培林座之設置及空間長度。 適用於相對較長行程之水平軸應用。