超碰成人av-青青草97-天天做天天躁天天躁-久久精品国产亚洲一区二区-亚洲天堂狠狠干-在线观看欧美精品-国产精品美女一区二区视频-国产成人欧美日韩在线电影-一级片免费看视频-免费国产视频在线观看-伊人网久久久-无码人妻丰满熟妇啪啪网不卡-精品欧美乱码久久久久久-国产真实夫妇视频-中文久草

菜鳥0001
級別: 探索解密
精華主題: 0
發帖數量: 28 個
工控威望: 108 點
下載積分: 384 分
在線時間: 61(小時)
注冊時間: 2023-09-05
最后登錄: 2025-10-27
查看菜鳥0001的 主題 / 回貼
樓主  發表于: 2024-03-17 13:50
絕對值伺服脈沖控制,大家是怎么用的,485讀出編碼器值換算成距離嗎
沖出槍林彈雨
沖出槍林彈雨
級別: 家園常客
精華主題: 0
發帖數量: 151 個
工控威望: 633 點
下載積分: 378 分
在線時間: 92(小時)
注冊時間: 2020-09-05
最后登錄: 2025-11-01
查看沖出槍林彈雨的 主題 / 回貼
1樓  發表于: 2024-03-18 22:46
引用
引用樓主菜鳥0001于2024-03-17 13:50發表的 絕對值伺服用法 :
絕對值伺服脈沖控制,大家是怎么用的,485讀出編碼器值換算成距離嗎


這個要看看驅動器的寄存器是哪一種,有的是直接給出脈沖總數,有的是分多圈和單圈;樓上的說了脈沖總數的,下面是另一種:485實時讀多圈和單圈寄存器數據;多圈寄存器是電機轉一圈 +1;單圈寄存器就是編碼器硬件精度,比如23位編碼器就是8388608個脈沖;實際位置就是 = 多圈寄存器*電機轉一圈的位移距離 + { (當前單圈寄存器 - 設定原點時的單圈寄存器)  / 8388608 }*電機轉一圈的位移距離
程序上注意點一個是要有個設原點的按鈕,就是獲取當前單圈寄存器當做原點單圈寄存器數;另一個就是通訊延時的問題,電機速度為0后的100ms以上數據再保存,位置會比較準
技術交流vx: Electric973
沖出槍林彈雨
沖出槍林彈雨
級別: 家園常客
精華主題: 0
發帖數量: 151 個
工控威望: 633 點
下載積分: 378 分
在線時間: 92(小時)
注冊時間: 2020-09-05
最后登錄: 2025-11-01
查看沖出槍林彈雨的 主題 / 回貼
2樓  發表于: 2024-03-18 22:51
引用
引用第9樓沖出槍林彈雨于2024-03-18 22:46發表的  :


這個要看看驅動器的寄存器是哪一種,有的是直接給出脈沖總數,有的是分多圈和單圈;樓上的說了脈沖總數的,下面是另一種:485實時讀多圈和單圈寄存器數據;多圈寄存器是電機轉一圈 +1;單圈寄存器就是編碼器硬件精度,比如23位編碼器就是8388608個脈沖;實際位置就是 = 多圈寄存器*電機轉一圈的位移距離 + { (當前單圈寄存器 - 設定原點時的單圈寄存器)  / 8388608 }*電機轉一圈的位移距離
程序上注意點一個是要有個設原點的按鈕,就是獲取當前單圈寄存器當做原點單圈寄存器數;另一個就是通訊延時的問題,電機速度為0后的100ms以上數據再保存,位置會比較準


當然了,也可以直接把總數設置為原點位置,以下供參考:
PROGRAM Main  VAR      MultiTurnValue : INT;    // 多圈寄存器的值      SingleTurnValue : INT;    // 單圈寄存器的值      AbsolutePosition : INT;   // 絕對位置值      MaxSingleTurnValue : INT := 8388608; // 23位編碼器單圈最大值為8388608   END_VAR   // 計算絕對位置  // 絕對位置是多圈值乘以單圈的最大值加上單圈值  AbsolutePosition := (MultiTurnValue * MaxSingleTurnValue) + SingleTurnValue;   END_PROGRAM
技術交流vx: Electric973