如何利用CANopen控制伺服電機?

時間 2021-05-31 13:19:24

1樓:少年牧心

前段時間搞機械臂控制的時候,CAN協議和CANopen協議都使用過,略懂一二,獻醜寫點自己的理解。

CAN協議一般傳送八字節長度的短幀資料達到對節點的控制,你買的驅動器應該有廠家自己的協議,對照著相應指令,你去填充這八個位元組(包含節點號、指令型別、指令型別對應的資料,比如電機期望位置、速度資料)傳送下去,就能控制了。

而CANopen協議,是乙個通用的跟驅動器相關聯的標準化協議,跟上面CAN協議不同之處在於你給驅動器傳送的是SDO、PDO等指令,而不是具體的CAN報文。所以你說的使用電腦軟體傳送CAN報文的想法,應該指得是使用CAN協議而不是CANopen協議。

2樓:Hwang

你的問題範圍太大了,推薦你看DS301和DS402。

每個廠商實現的DS402協議都有細微差異,但總體框架是一樣的。

初始化最重要的是驅動器裡狀態機的轉換,你的控制端應該和此狀態同步,即在哪個狀態就只能發哪個狀態可以接收的命令。

另外,控制端應時刻監聽或查詢statusword,如果有錯誤異常,這裡最先反映出來。具體錯誤可能通過Emergency Message推給控制端。控制端也可以主動去讀錯誤歷史記錄。

個人建議你用結構體對映control word和status word以便於程式設計。

3樓:zhou

CANOpen有開源協議棧canfestival可以用。如果對can匯流排和canopen協議完全不了解,建議你直接買商用canopen主站卡。

4樓:王御

電機控制器的ID設定:在控制器上有DIP開關,用這個來區別不同的電機控制器

依據設定字典進行通訊。先通過SDO讀取或設定某個控制器中資料字典的值,比如控制模式(位置、速度、電流)、PID引數、PDO設定等等。這個時候通過SDO寫資料字典電機就可以響應了

4. 進入operational mode這個板子我沒用過,簡單看了一下,應該和樹莓派類似,乙個可行的思路是通過GPIO連線CAN控制晶元實現,我沒弄過,但是 @Joe Wang 弄過,肯定是可行的,供你參考。

查資料加寫用了乙個多小時,不要臉的求讚!

如何利用CAN匯流排控制伺服電機驅動器?

SulfurZinc 只要根據協議手冊傳送對應格式的指令就可以了。現在的匯流排式電機驅動器一般都是支援CAN匯流排的,協議也都大同小異。如果對控制頻率要求非常高可以考慮更高階的EtherCAT 森山 大部分伺服不帶CAN介面,也許你可以買到CAN介面的控制卡。或者自己開發一款也不難,伺服在工作時就那...

高頻響直線伺服刀架系統的控制策略?

老兔子 乙個國內的普通機電小碩 沒有李博士那麼好的理論基礎,只是平時幫師兄做實驗也碰到過類似的問題。這裡就提一點自己的看法。首先,不知道題主對伺服驅動器了不了解,我手頭有乙份松下A5的操作手冊,從手冊3 14,3 15,3 16給的控制分塊圖中應該可以知道,至少松下A5的伺服驅動器,不管是在速度模式...

伺服電機在扭矩控制下速度是怎麼調節的?

既然是轉矩控制 這是國內標準說法,不是扭矩 就要考慮運動平衡方程。轉速穩定時,輸出轉矩和負載轉矩必然相等。空載時給定電機轉矩,它還能平衡,你說負載轉矩是什麼呢,顯然是所有機械損耗合成在一起後,所表現出來的摩擦轉矩了。你應該把不同給定轉矩下的轉速記錄成一張圖表,就能看出,摩擦轉矩隨轉速單調上公升,進而...