

一.產品特性 1. 低噪音,低振動,高速定位,高可靠性。 2. FOC場定向矢量控制,支持位置/速度閉環。 3. 可工作在零滯后給定脈沖狀態,跟隨零滯后。 4. 可自動找原點信號,自動找Z信號。 5. 16位電子齒輪功能。 6. 內部光耦隔離modbus RTU 通信(19200,8,N,1)。 7. 位置模式,支持脈沖+方向信號和正交脈沖信號。 8. 速度模式支持PWM占空比信號 或 4~20ma電流 或 0.6~3V電壓信號控制。 9. 供電電壓+20V~50V。支持50~500W交流伺服電機。 10. 提供隔離輸出的 到位信號、報警輸出信號、編碼器零點信號。 11. 具有欠壓,過壓,堵轉,過熱保護。 二. 驅動器接口 1. 控制信號接口(驅動器上標識:Singal) 名稱 | 功能 | PU+(+5V) | 脈沖控制信號:脈沖上升沿有效;PU-高電平時4~5V,低電平時 0~0.5V。 為了可靠響應脈沖信號,脈沖寬度應大于 1.2μs。如采用+12V 或+24V 時需串電阻。 | PU-(PU) | DIR+(+5V) | 方向信號:高/低電平信號,為保證電機可靠換向,方向信號應先于脈沖信號 至少 5μs 建立。DIR-高電平時4~5V,低電平時0~0.5V。 | DIR-(DIR) | EN+(+5V) | 使能信號:此輸入信號用于使能或禁止。ENA+ 接+5V,ENA-接低電平(或內部光耦導通)時,驅動器將切斷電機各相的電流使電機處于自由狀態,此時 脈沖不被響應。當不需用此功能時,使能信號端懸空即可。另外,當驅動器報警時,可以禁止再使能,可以清除報警。 | EN-(EN) |
驅動器采用差分式接口電路可適用差分信號,單端共陰及共陽等接口,內置高速光電耦合器,允許接收長線驅動器,集電極開路和 PNP 輸出電路的信號。在環境惡劣的場合,我們推薦用長線驅動器電路,抗干擾能力強。 2. 強電接口(驅動器上標識:Power Motor)
名稱 | 功能 | +V | 直流電源正極,+24V~+48V,電壓過低會引起驅動器報警停機。 | GND | 直流電源地。 | U | 電機 U 相線圈。 | V | 電機 V 相線圈。 | W | 電機 W 相線圈。 |
3. 電機信號接口(驅動器上標識:Encoder)
端子號 | 符號 | 功能 | 1 | A+ | 編碼器A相正 | 2 | B+ | 編碼器B相正 | 3 | GND | +5v電源地 | 4 | HALL_W | 磁極信號W相 | 5 | HALL_U | 磁極信號U相 | 6 | PG | 外殼 | 7 | Z+ | 編碼器Z相正 | 8 | Z- | 編碼器Z相負 | 9 | HALL_V | 磁極信號V相 | 10 | NC | 無連接 | 11 | A- | 編碼器A相負 | 12 | B- | 編碼器B相負 | 13 | +5V | +5v電源,給傳感器供電 | 14 | NC | 無連接 | 15 | NC | 無連接 |
4. 通信與輸出信號接口(驅動器上標識:Uart) 可以通過專用485電纜連接 PC 機。通過提供的上位機軟件可以設置驅動器參數,和測試驅動器,并提供一些診斷信息,來排除驅動器故障。 注:1腳為下排左邊第一個引腳,6腳為上排左邊第一個引腳
端子號 | 符號 | 功能 | 1 | GND | 信號地 | 2 | 485A | 485通信A端(D+端) | 3 | 485B | 驅動器串口接收端(TTL電平) | 4 | +5V | 外供5V ****100mA | 5 | V_in | 調速電壓或電流信號輸入 | 6 | COM | 輸出信號公共端 | 7 | WR | 報警信號輸出。報警時為低電平 | 8 | PF | 到位信號輸出。到位時為低電平 | 9 | ZO | 編碼器零點信號輸出。到零點時為低電平 | 10 | 5V_485 | 內部485供電接口(需要外部供電)。485供電的地為COM引腳 |
5. DIP開關 功能選擇: SW1 | SW2 | 模式 | 控制方式 | OFF | OFF | 位置模式 | 脈沖+方向 | OFF | ON | 位置模式 | 編碼器跟隨 | ON | OFF | 速度模式 | PWM占空比 | ON | ON | 速度模式 | 4~20MA 或 0.6~3V |
6. 狀態指示與報警 開機后紅燈綠燈都亮一次,用于檢驗LED是否工作正常。而后綠燈亮,紅燈滅為正常狀態。如果遇到報警狀態,可以通過紅色閃爍來判斷原因,也可以通過modbus讀取報警代碼。 報警代碼 | 紅燈閃爍 | 報警原因 | 報警處理 | 0x10 | 一長閃 | 系統高溫報警 >70℃ | 繼續運行 | 0x20 | 二長閃 | 寫flash失敗 | 繼續運行 | 0x11 | 一長閃一短閃 | 系統過熱報警 >90℃ | 停機 溫度降至70℃以下繼續運行 | 0x12 | 一長閃二短閃 | 系統堵轉報警 | 停機 | 0x13 | 一長閃三短閃 | 系統欠壓報警 <20V | 停機 電壓超過20V繼續運行 | 0x14 | 一長閃四短閃 | 失速報警,負載過重 | 停機 |
三.驅動器接線圖與控制方式 1. 驅動器典型接線圖 如下圖所示,驅動器工作需要接上20~50VDC的電源,電壓根據電機的額定電壓來選擇,電機的UVW和編碼器已做好插頭,直接插在驅動器上,如果需要加長線可做轉接線加長。此版本提供光耦輸出的 報警信號、到位信號、編碼器零點信號,可以根據需要連接。下圖有5個小框,分別是可以選擇的5種控制方式,上電后只能選擇其中一種控制方式, 接線如下圖所示。

2. 指令脈沖+方向位置控制模式
脈沖指令形式 | CCW | CW | 參數設定值 | 脈沖列符號 | 
| 指令脈沖+方向 |
一圈的脈沖數 = 編碼器線數*4 / 電子齒輪 例如: 2500線的編碼器,電子齒輪為4:1 , 一圈的脈沖數 = 2500 * 4 / (4/1) = 2500 指令脈沖頻率 = (需要電機運行的轉速/60) * 一圈的脈沖數 例如: 需要點擊3000RPM 一圈脈沖數為2500 脈沖頻率 = 3000/60 * 2500 = 125000 =125k 3. 正交指令脈沖位置控制模式 這種模式可以用于編碼器跟隨,如一個軸接了編碼器,將編碼器輸出接到驅動器(接線方式如 驅動器典型接線圖),驅動器就能控制伺服電機,按輸入編碼器的信號,隨動于控制的編碼器。可以通過調節電子齒輪,來設置控制編碼器和電機轉動角度的比例。 正轉脈沖: 
反轉脈沖:
 電機轉動的方向:PU上升沿超前DIR上升沿 為正轉。PU上升沿滯后DIR上升沿 為反轉。 4. PWM占空比速度控制模式 
通過給PU的脈沖的咱空比來控制轉速,占空比轉速范圍10%~90%代表0~Max_Speed(Max_Speed為位置模式保存的目標轉速,通過設置這個參數,可以更精確的控制需要的轉速,也不用擔心出現超過所設定的速度)。給PU的頻率為1K~10K。
PU占空比 = (目標轉速/3000)* 80% + 10% 例如:需要轉速2000 PU占空比 = (2000/3000) * 0.8 + 0.1 = 63.3% 5. 電壓或電流信號速度控制模式 通過給V-IN和GND之間電壓或電流信號以控制轉速。4mA~20mA(或0.6~3V)信號對應0~Max_Speed(Max_Speed為位置模式保存的目標轉速,通過設置這個參數,可以更精確的控制需要的轉速,也不用擔心出現超過所設定的速度)。 如果需要電位器控制轉速,按 驅動器典型接線圖 中的接法即可。 四.參數調試 根據電機所接負載不同,參數需要調整才能達到最佳效果。 1. 內部加減速曲線 根據控制器輸出信號的不同來選擇是否使用內部加減速曲線。 使用內部加速曲線: 當電機加速度小于60000時,驅動器會使能內部加減速曲線,具體加速度的大小就和設置的值相同。 使用場合:使用內部加速曲線,會產生滯后脈沖的現象,一些不需要實時跟隨的場合,可以使用內部加速曲線。有些控制器,脈沖直接給到對應速度的頻率,沒有加減速的情況,就使用內部加減速曲線,可以降低控制器編程難度。 禁止內部加速曲線: 當電機加速度大于等于60000時,驅動器根據外部脈沖的加減速允許,內部加速度無效。 使用場合:例如雕刻機,控制器輸出的脈沖就是有加減速的,就不需要驅動器內部的加速曲線,如果這個時候使用,會滯后于實際的脈沖。 2. 絲桿負載 首先介紹下扭矩,先用400W電機,1.3NM。負載是5mm螺距的絲桿,就是電機軸轉一圈負載移動5mm,這樣的話,負載等效力臂 = 5mm / 3.14 = 1.592 mm那電機能提供的推力就是經過絲桿傳動的推力 = 1.3NM / (1.592mm*0.001)= 816 N那能推動負載的重量就大約是80KG,這個是垂直的,平推可以稍微大些。由于絲桿負載電機轉動一圈移動的距離較短,所以驅動器的參數 (加速度可以較大,如20000,位置環KP可以較大,如3000)。伺服電機最適合此種負載。 3. 皮帶輪負載 伺服電機其實不是很適合接這種負載。因為皮帶輪一般直徑比較大,例如直徑30mm。那電機轉一圈,負載移動的距離就是30mm*π = 94.2,比上面說的絲桿5mm大了很多倍。那電機能提供的推力就是 經過皮帶傳動的推力 = 1.3NM / (30mm*0.001)= 43.3 N 那能推動負載的重量大約是4.3KG. 所以伺服電機其實不適合接同步輪,因為同步輪轉動一圈負載移動的距離太長,力臂長。如果這種場合要用伺服電機,可以選擇直接盡量小的同步輪或通過電機軸接小同步輪,負載端接大同步輪,這樣減速幾倍,可以達到較好的效果。這種場合驅動器參數(加速度設置較小,如5000, 位置環KP設置較小,如1000),這樣設置參數的目的是減小加速度和減速度,因為負載等效慣性大。 4. 圓盤負載 這種負載伺服無法直接帶動,一般都需要接減速器。例如直徑200mm 重量10KG的圓盤。半徑就是100mm,重量等效半徑就是50mm。力臂很大。如果伺服要接此類負載,比較接減速器再接負載。如果圓盤不是特別重,可以犧牲一些定位精度和剛性來控制。具體方法,電機加速度設置到比較小,例如1000左右。 速度KI設置到2000,取消積分作用。位置KP改到1000. 改這些參數一般的圓盤負載也能用。 5. 自動找原點功能 自動找原點功能通過改 寄存器地址0x19(特殊功能)的參數來選擇。如果需要上電自動找原點,先拔掉電機線,然后modbus使能 發送 1,特殊功能(地址0x19)發送1~3(根據下面的介紹選擇),參數保存發送 1,再接上電機,重新上電,就會自動找原點。如果再工作過程中,需要通過通信來控制找原點,可以電機停止后,直接向寄存器地址0x19(特殊功能)發送1~3(根據下面的介紹選擇)來實現。找原點的方向通過改 寄存器地址0x9(DIR極性)為0或者1來選擇正轉或者是反轉。 1. 寄存器地址0x19(特殊功能) 等于 1. 這種方式需要驅動器的EN信號接入原點信號(具體接法EN+接供電5V, EN-通過開關信號或者NPN信號接到GND,EN-以導通一次GND為得到一次信號)。 新上電 0x19寄存器為1,或者通過通信改為1后,電機自動以固定低速反轉,一直到出現EN信號后停下,并往和剛剛相反方向慢速轉到得到電機Z信號(此動作為提高找原點精度)。找原點完成后寄存器地址0x19(特殊功能)會自動置0. 2. 寄存器地址0x19(特殊功能) 等于 2. 新上電 0x19寄存器為2,或者通過通信改為2后,電機自動以固定低速反轉,一直到出現EN信號后停下,找遠點過程結束。這種方式對比上一種,不會找Z信號。找原點完成后寄存器地址0x19(特殊功能)會自動置0. 3. 寄存器地址0x19(特殊功能) 等于 3. 新上電 0x19寄存器為3,或者通過通信改為3后,電機自動以固定低速反轉,一直到出現得到電機Z信號后停下。找原點完成后寄存器地址0x19(特殊功能)會自動置0. 6. 通信方式清除位置 清除絕對位置:如果在運行過程中需要將絕對位置清0,先電子齒輪分子發送0(通信模式下電子齒輪無效,用于此特殊功能。如果通信控制可以直接電子齒輪分子保存成0),然后絕對位置(0x16)發送0,就直接給絕對位置清0. 急停:在通信模式下,如果剩余了很多脈沖需要走,需要急停的情況。先電子齒輪分子發送0(通信模式下電子齒輪無效,用于此特殊功能。如果通信控制可以直接電子齒輪分子保存成0,再目標位置(0x0C)發送0,就可以急停。急停也有少量減速距離,減速距離長短通過位置環KP控制。 7. 上電默認通信控制 只要設置電子齒輪分子為0,保存以后,重新上電,modbus使能 默認 是1. 如果是速度模式,上電默認通信方式控制,上電自動運行保存過的目標轉速。 五. Modbus控制方式 1. 硬件連接 驅動器內部485都通過光耦隔離,解決了一臺主機連接多臺從機容易被干擾和損壞的問題。 
2. 寄存器說明 驅動器可以通過modbus(RTU模式)來控制驅動器。主機可以通過modbus的讀寫寄存器功能來設置驅動器參數和控制運行。驅動器支持的功能碼為0x3(讀寄存器)、0x6(寫寄存器)、0x78(寫目標位置)、0x7a(修改設備地址)。 寄存器列表如下: 地址 | 參數名稱 | 只讀/讀寫 | 參數范圍 | 參數說明 | 0x00 | Modbus使能 | 讀寫 | 0~1 | 0:modbus禁止 1:modbus使能 | 0x01 | 驅動器輸出使能 | 讀寫 | 0~1 | 0:驅動器輸出禁止 1:驅動器輸出使能 |
0x03 | 電機加速度 | 讀寫 | 0~65535 (r/min)/s | 參數小于60000時,驅動器內部產生加減速曲線,參數大于60000時,驅動器內部不產生加減速脈沖 | 0x04 | 電機起始速度 | 讀寫 | 0~500 r/min | 位置模式時,電機的最小轉速(建議設置0~10) | 0x05 | 速度環比例系數 | 讀寫 | 0~10000 | 代表0.0~10.0 | 0x06 | 速度環積分時間 | 讀寫 | 2~2000 ms | 積分時間2~2000ms | 0x07 | 位置環比例系數 | 讀寫 | 60~5000 | 位置模式下速度下降的速率 | 0x08 | 速度前饋 | 讀寫 | 0~8.0V/KRPM | 速度前饋每1KRPM對應的電壓幅值 | 0x09 | DIR極性 | 讀寫 | 0~1 | 0:外部DIR不導通順時針旋轉 1:外部DIR導通順時針旋轉 | 0x0A | 電子齒輪分子 | 讀寫 | 0~65535 | 16位電子齒輪分子 如果電子齒輪分子為0,可以實現特殊功能具體看前文介紹 | 0x0B | 電子齒輪分母 | 讀寫 | 1~65535 | 16位電子齒輪分母 | 0x0C | 目標位置低16位 | 只讀 |
| 需要走步數的高16位 | 0x0D | 目標位置高16位 | 只讀 |
| 需要走步數的低16位 | 0x0E | 報警代碼 | 只讀 |
|
| 0x0F | 系統電流 | 只讀 | 0~32767 | 實際電流為x/2000(A) | 0x10 | 電機當前速度 | 只讀 | -30000~30000 r/min | 實際電機轉速=電機當前速度/10 | 0x11 | 系統電壓 | 只讀 | 0~32767 | 實際電壓為x/327(V) | 0x12 | 系統溫度 | 只讀 | 0~100 | 攝氏度 | 0x13 | 系統輸出的PWM | 只讀 | -32768~32767 | 代表-****~**** | 0x14 | 參數保存標志 | 讀寫 | 0~1 | 0:參數未保存 1:保存參數中 2:保存完畢 | 0x15 | 設備地址 | 只讀 | 0~255 | 設備地址 | 0x16 | 絕對位置低16位 | 讀寫 |
| 走過步數的高16位 | 0x17 | 絕對位置高16位 | 讀寫 |
| 走過步數的低16位 | 0x18 | 速度濾波頻率 | 讀寫 | 1~2000 | 默認100 | 0x19 | 特殊功能 | 讀寫 | 0~100 | 1:自動反轉直至EN有導通信號停下,再自動正轉到編碼器Z信號停下。 2. 自動反轉直至EN有導通信號停下 3. 自動反轉直至編碼器Z信號停下 |
3. Modbus通信格式 a. modbus主機讀取數據及從機應答格式 (功能碼03)
主機讀取數據 格式 |
| 設備地址 | 功能碼 | 第一個寄存器的高位地址 | 第一個寄存器的低位地址 | 寄存器個數高位 | 寄存器個數低位 | CRC高位 | CRC低位 |
| 0x01 | 0x03 | 0x00 | 0x00 | 0x00 | 0x01 | 0x84 | 0x0a |
| 從機應答 |
設備地址 | 功能碼 | 數據長度 | 第一個數據高字節 | 第一個數據低字節 | CRC高位 | CRC低位 | 0x01 | 0x03 | 0x02 | 0x00 | 0x01 | 0x79 | 0x84 |
串口接收到的數據都是無符號數,如果寄存器是有符號數,發送的則是二進制補碼的格 式,轉換成有符號數的算法如下(VB代碼): If modbus.data(11) > 32767 Then disp_modbus_data.PU = (modbus.data(11) - 32768) * 65536 + modbus.data(10) disp_modbus_data.PU = -((&H7FFFFFFF - disp_modbus_data.PU) + 1) Else disp_modbus_data.PU = dmodbus.data(11) * 65536 + modbus.data(10) End If 注: modbus.data(11)為目標位置高16位 modbus.data(10)為目標位置低16位 b. modbus主機寫數據及從機應答格式 (功能碼06) 主機寫數據 格式 | 設備地址 | 功能碼 | 第一個寄存器的高位地址 | 第一個寄存器的低位地址 | 數據高位 | 數據低位 | CRC高位 | CRC低位 | 0x01 | 0x06 | 0x00 | 0x00 | 0x00 | 0x01 | 0x48 | 0x0a |
從機應答 格式 | 設備地址 | 功能碼 | 第一個寄存器的高位地址 | 第一個寄存器的低位地址 | 數據高位 | 數據低位 | CRC高位 | CRC低位 | 0x01 | 0x06 | 0x00 | 0x00 | 0x00 | 0x01 | 0x48 | 0x0a |
c. modbus主機寫脈沖數 (功能碼0x10) 主機寫雙字節數據 (寫PU脈沖數) | 設備地址 | 功能碼 | 第一個寄存器的高位地址 | 第一個寄存器的低位地址 | 寄存器個數高位 | 寄存器個數低位 | 數據長度 | 0x01 | 0x10 | 0x00 | 0x0c | 0x00 | 0x02 | 0x04 | PU:8~15位 | PU:0~7位 | PU:24~31位 | PU:16~23位 | CRC高位 | CRC低位 |
| 0x27 | 0x10 | 0x00 | 0x00 | 0xf8 | 0x8b |
|
脈沖數是有符號數,一個負數(假設此數為X)轉換成32位16進制數的算法如下(vb代碼): If X < 0 Then X = &H7FFFFFFF + (X + 1) PU24_31 = Fix(X / (256 * 65536)) + &H80 Else PU24_31 = Fix(X / (256 * 65536)) End If PU16_23 = Fix(X / 65536) mod 256 PU8_15 = Fix(X / 256) mod 256 PU0_7 = X mod 256 注:fix() 為取整函數 從機應答 格式 | 設備地址 | 功能碼 | 第一個寄存器的高位地址 | 第一個寄存器的低位地址 | 寄存器個數高位 | 寄存器個數低位 | CRC高位 | CRC低位 | 0x01 | 0x10 | 0x00 | 0x0c | 0x00 | 0x02 | 0x81 | 0xcb |
d. modbus主機寫脈沖數 (特殊功能碼0x78) 主機特殊功能碼 0x78 格式 (寫PU脈沖數) | 設備地址 | 功能碼 | PU:24~31位 | PU:16~23位 | PU:8~15位 | PU:0~7位 | CRC高位 | CRC低位 | 0x01 | 0x78 | 0x00 | 0x00 | 0x27 | 0x10 | 0xbb | 0xfc |
從機應答 格式 | 設備地址 | 功能碼 | PU:8~15位 | PU:0~7位 | PU:24~31位 | PU:16~23位 | CRC高位 | CRC低位 | 0x01 | 0x78 | 0x27 | 0x0e | 0x00 | 0x00 | 0xca | 0xb7 |
4. CRC校驗示例代碼 unsigned short CRC16(puchMsg, usDataLen) unsigned char *puchMsg ; /* 要進行CRC 校驗的消息 */ unsigned short usDataLen ; /* 消息中字節數 */ { unsigned char uchCRCHi = 0xFF ; /* 高CRC字節初始化 */ unsigned char uchCRCLo = 0xFF ; /* 低CRC 字節初始化 */ unsigned uIndex ; /* CRC循環中的索引 */ while (usDataLen--) /* 傳輸消息緩沖區 */ { uIndex = uchCRCHi ^ *puchMsgg++ ; /* 計算CRC */ uchCRCHi = uchCRCLo ^ auchCRCHi[uIndex} ; uchCRCLo = auchCRCLo[uIndex] ; } return (uchCRCHi << 8 | uchCRCLo) ; /* CRC 高位字節值表 */ static unsigned char auchCRCHi[] = { 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40 } ; /* CRC低位字節值表*/ static char auchCRCLo[] = { 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, 0x40 } 5. modbus方式主機控制過程 a:位置模式 通過撥碼開關SW1打OFF再上電即為位置模式。 先上電可以通過我們提供上位機軟件設置如下參數: 1. Modbus使能 發送 1(只有modbus使能為1才能改其他參數,且外部脈沖信號無效。) HEX源碼命令 : 01 06 00 00 00 01 48 0A 2. 電機加速度 發送 5000 (根據實際需要設置加速度,不設置即使用默認參數20000) HEX源碼命令 : 01 06 00 03 13 88 74 9C 3. 目標轉速 發送 1500 (根據實際運行需要設置運行的速度,不設置即使用默認參數2800) HEX源碼命令 : 01 06 00 02 05 DC 2A C3 4. 電子齒輪分子 發送 0 (電子齒輪分子保存為0后,下次上電mdobus使能默認是1) HEX源碼命令 :01 06 00 0A 00 00 A9 C8 5. 參數保存標志 發送 1 (發此參數后,前面設置的參數保存到內部) HEX源碼命令 :01 06 00 14 00 01 08 0E 6. 重新上電,看參數是否已經正確保存。以上設置只需要用提供的上位機設置即可,HEX源碼不需要自己通 過串口發 送。 參數設置完以后,就可以通過PLC或者單片機,或者自己設計的上位機軟件發位置命令。發位置命令只需要過0x10命令發送需要走的位置就行。 (1). 發增量位置(增量位置的含義是,發送的數據即為電機需要向前或者向后走的位置) 例如需要向前走一圈(假設電機編碼器為1000線編碼器,一圈脈沖數即為4000) HEX源碼命令:01 10 00 0C 00 02 04 0F A0 00 00 F0 CC 例如需要向前后一圈(假設電機編碼器為1000線編碼器,一圈脈沖數即為-4000)-4000的二進制計算方法如 下:4000的二進制為00 00 0F A0 。(注:0= FF FF FF FF +1)-4000即為0 - 00 00 0F A0 =FF FF FF FF - 00 00 0F A0 +1=FF FF F0 5F +1 = FF FF F0 60 HEX源碼命令:01 10 00 0C 00 02 04 F0 60 FF FF C1 54 (2). 發絕對位置(絕對位置的含義是,剛剛上電或者絕對位置清0或者自動找原點后的時候定義位置為0,絕對位置就是走到新發的位置,如第一次發4000為走一圈,第二次發已經走到了4000的位置,再發相同命令電機不走) 例如需要電機走到2圈位置(假設電機編碼器為1000線編碼器,2圈脈沖數即為8000) HEX源碼命令:01 10 00 16 00 02 04 1F 40 00 00 74 89 例如需要電機走回原點(當電子齒輪分子為0的時候,發送0為清除當前位置,所以走回原點發送1,此時一個 脈沖并不會影響精度) HEX源碼命令:01 10 00 16 00 02 04 00 01 00 00 23 49 注:控制電機只需要先發送需要的位置(盡量用絕對位置指令,因為可以重復發多次,依然是走到相同位置),然后可以通過讀取絕對位置對比是否走到設置位置,來判斷是否執行下一條指令(注意判斷的時候需要允許+-2的誤差)。或者可以通過接PF信號,走到位后,驅動器會給出一個光耦輸出的開關量信號。 讀取絕對位置指令如下:01 03 00 16 00 02 25 CF
b:速度模式 通過撥碼開關SW1打ON再上電即為速度模式。 先上電可以通過我們提供上位機軟件設置如下參數: 1. Modbus使能 發送 1(只有modbus使能為1才能改其他參數,且外部脈沖信號無效。) HEX源碼命令 : 01 06 00 00 00 01 48 0A 2. 電機加速度 發送 5000 (根據實際需要設置加速度,不設置即使用默認參數20000) HEX源碼命令 : 01 06 00 03 13 88 74 9C 3. 目標轉速 發送 0(這個保存的轉速,如果是0,下次上電默認不轉,如果是一個數,下次上電默認按保存的轉 速轉) HEX源碼命令 : 01 06 00 02 05 DC 2A C3 4. 電子齒輪分子 發送 0 (電子齒輪分子保存為0后,下次上電mdobus使能默認是1) HEX源碼命令 :01 06 00 0A 00 00 A9 C8 5. 參數保存標志 發送 1 (發此參數后,前面設置的參數保存到內部) HEX源碼命令 :01 06 00 14 00 01 08 0E 6. 重新上電,看參數是否已經正確保存。以上設置只需要用提供的上位機設置即可,HEX源碼不需要自己通 過串 口發送。參數設置完以后,就可以通過PLC或者單片機,或者自己設計的上位機軟件發位置命令。發位置命令只 需要過0x06命令發送需要的轉速就行。 例如需要電機轉1000RPM HEX源碼如下:01 06 00 02 03 E8 28 B4
六.上位機軟件使用說明 本驅動器提供一個上位機軟件,用于監測和測試驅動器。可以通過軟件查看和設置驅動器內部參數。  如上圖所示,軟件分為波形顯示,電機運行參數等幾個部分。下面介紹一下各個部分的功能和作用。波形顯示:一共有4個通道,分別用4種顏色表示。顏色和 電機運行參數 內的字體顏、色相同。即:藍表示電流,綠表示輸出的脈寬,紅表示當前轉速,黑表示電壓。電機運行參數:表示電機運行的實時數據。驅動器設置參數:顯示驅動器的撥碼開關,和方向使能設置。如果是modbus模式,此欄無效。驅動器運行狀態:此欄會顯示驅動器的報警狀態,如果沒有報警會顯示運行正常。 Modbus控制參數:此欄內的參數是驅動器內部的參數,如果要修改這些參數,必須先對modbus使能寫1。具體的參數含義參考 寄存器說明。Modbus讀取:此欄可設定驅動器的地址,讀取驅動器數據的周期,和是否讀取。Modbus發送:此欄用于修改驅動器參數,首先選定參數類型,再設定好參數數據,然后點發送即可。
七. 常見問題處理 1. 如果脈沖控制端口DIR導通方向和我所需要的方向不同怎么改? 答:可以通過上位機來設置DIR的極性,接上上位機后,modbus使能寫1 , DIR極性 寫 0. 最后參數保存標志寫1. 重新上電即可。 2. 上電驅動器不報警,給運行脈沖后驅動器報警,怎么回事? 答:檢查接插件是否松動,電機UVW和編碼器線任何一根斷或順序交換都會無法正常運行。 3. 怎么通過上位機控制運行 答:連接好電機,驅動器上電,通過提供的USB線連接驅動器和電腦,根據“上位機使用說明”設置好,使得上位機能讀取到數據后。 Modbus使能 發送 1。然后 PU步數 發送需要走的距離。
技術咨詢楊工:18001308796
相關閱讀 57直流無刷伺服電機57B2C1230-SC0上位機軟件如何恢復出廠設置? 57方法蘭100W 與188W直流無刷伺服配套解析 60A4A04030-SC0直流伺服電機配套RV40 1:100渦輪蝸桿減速輸出詳細說明
|