本帖最后由 Michael7Chen 于 2016-2-23 09:22 编辑
一、項目名稱 :基于M451 直流伺服馬達運動控制器 (閉迴路伺服馬達控制器
產品名稱: AgonMo ( Agon Motion Controller )
note: Agon 為古希臘神話裡的"競賽之神"
二、系統架構圖
A. 單軸架構圖
B. 機械手六軸連線架構圖
三、視頻展示 ( 六軸機械手控制 )
https://youtu.be/BBiBCgNP7XA
四、作品實體圖
AgonMo 連接器功能示意圖:
五、程式碼及電路圖、硬件規格書、通訊規格書、Gerber files
[本設計是 Ready for Production 本人全無保留,公開所有設計資料,請下載的網友投我一票吧! ]
六、總結:
目前 Firmware 只完成 Position mode control , 也就是根據Encoder 的位置用 PID理論去定位,對於需要精準定位的設備已足夠使用,
以下是可以應用範圍:
凡是需要用DC servo motor 都可以應用。
Notice: 本次因"競賽"而選用M451系列,但因有QEI介面,於Nuvoton 的ARM微處理機最佳選擇應為NUC442,
而本案用"軟體模擬QEI" 其最高速度最好不要超過 100KHz (中斷處理),也就是說: 如果馬達轉速為3000 rpm,
其Encoder line 最好低於1000 CPR。
[ RS485 調適軟件 ]
PC 端的調適軟件,目前PID值預設為 Performer-MK2 robot, 也可以使用於測試 AgonMo 運作,如下連接:
執行軟件之硬體需求: 需有 USB to RS485 的模組,預設在COM1, 執行畫面如下:
可執行程式碼:
note: 1. 此程式是用 C# 撰寫,source code 較大,無法上傳至新唐的討論區,有需要可向本人索取。
2. 此程式尚未完成所有功能
本控制器還有未完成部分如下:
1. RC servo mode (可使用RC servo PWM 訊去控制位置)
2. Current mode (定電流控制, 使輸出恆定扭矩)
3. Speed mode (利用輸入電壓控制轉速)
4. Pulse mode (使用 pulse + CW/CCW 訊號控制,像步進馬達控制模式)
[2016.2.18 Firmware Update]
Release note:
1. CAN bus communication
2. VT100 Terminal server for debug
說明:
CAN Bus communication 已完成, Firmware Source Code 如下:
VT100 terminal 報文輸出
系統會由COM1 (115200,n,8,1) 輸出 VT100 格式化文字如下畫面:
( 需將AgonMo 之COM1 接上PC 並使用Tear Term 在PC 端執行後會看到上面畫面。)
AgonMo CAN通訊協定是與美國 FRC ( First Robotics competition ) "Jaguar馬達控制器" 規格相容,
http://wpilib.screenstepslive.com/s/4485/m/13503/l/144968-2016-frc-control-system-hardware-overview
目前尚未提供 Current mode 及 Speed mode , 其他指令都可使用
這是NI 網站範例 :
https://decibel.ni.com/content/docs/DOC-8923
這是Open source Library
http://robotpy.readthedocs.org/en/latest/_modules/wpilib/canjaguar.html
[ 密技 ] PC 模擬器 for AgonMo
使用個人電腦上開發軟件工具(Visual studio 2013 C++) 做AgonMo 程式碼執行模擬,可使debug 更容易。
模擬器最主要是解決"邏輯"上問題,例如 CAN bus /RS485 bus 上 Command parsing , 控制程序上問題,錯用
矩陣問題 (VC ++ 可以自動偵測程式使用了超出邊界矩陣 )... 當然還有其他功能是 Keil-C 沒有的 ...
在PC 執行畫面 ( console mode )
Note:
1. 需使用Microsoft Visual Studio 2013 Compiler
2. 程式碼內容大部份是與 AgonMo 的程式共用。
3. DC 馬達 及encoder 是用軟體模擬提供。
PC simulator 硬體需求:
為達到能實體 連接CAN bus 及 RS485 , 所以使用者必須購入USB to CAN 及 USB to RS485 (RS232)等兩個模組,
目前支援USB to CAN 是 创芯光电科技 的 USB转CAN USBCAN-2A
PC simulator source code :
Note: 本案用 Microsoft Visual source safe 來管理程式碼共用,而跨硬體平台,
我已將 hardware dependent code 模組獨立,這樣才有辦法在個人電腦上執行 MCU 程式碼。
[2016.2.22 Hardware Update]
電路圖更正: QEI 輸入需加 Pull-up 電阻
====================================================
AgonMo project 在未來所有更新將會以Open Source / Open Hardware 呈現 ... 請期待
若有其他問題可直接跟本人聯絡 E-mail: michael.x007@msa.hinet.net
|