牛卧堂MCU技术交流

标题: 【一等奖】基于M451 直流伺服馬達運動控制器 [打印本页]

作者: Michael7Chen    时间: 2015-8-11 09:08
标题: 【一等奖】基于M451 直流伺服馬達運動控制器
本帖最后由 Michael7Chen 于 2016-2-23 09:22 编辑

一、項目名稱 :基于M451 直流伺服馬達運動控制器 (閉迴路伺服馬達控制器
        產品名稱: AgonMo  ( Agon Motion Controller )
        note: Agon 為古希臘神話裡的"競賽之神"
二、系統架構圖
   A. 單軸架構圖
[attach]1309[/attach]
   B. 機械手六軸連線架構圖
[attach]1314[/attach]

三、視頻展示 ( 六軸機械手控制 )
http://v.youku.com/v_show/id_XMTMwNjc3OTEwMA==.html
https://youtu.be/BBiBCgNP7XA
四、作品實體圖

[attach]1310[/attach][attach]1313[/attach]

AgonMo 連接器功能示意圖:
[attach]1316[/attach]


五、程式碼及電路圖、硬件規格書、通訊規格書、Gerber files
[attach]1315[/attach]

[本設計是 Ready for Production  本人全無保留,公開所有設計資料,請下載的網友投我一票吧! ]
六、總結:
      目前 Firmware 只完成 Position mode control , 也就是根據Encoder 的位置用 PID理論去定位,對於需要精準定位的設備已足夠使用,
以下是可以應用範圍:
[attach]1339[/attach]
凡是需要用DC  servo motor 都可以應用。

Notice:  本次因"競賽"而選用M451系列,但因有QEI介面,於Nuvoton 的ARM微處理機最佳選擇應為NUC442,
而本案用"軟體模擬QEI" 其最高速度最好不要超過 100KHz (中斷處理),也就是說: 如果馬達轉速為3000 rpm,
其Encoder line 最好低於1000 CPR。
[ RS485  調適軟件 ]
      PC 端的調適軟件,目前PID值預設為 Performer-MK2 robot, 也可以使用於測試 AgonMo 運作,如下連接:
[attach]1688[/attach]

執行軟件之硬體需求: 需有 USB to RS485 的模組,預設在COM1, 執行畫面如下:

[attach]1689[/attach]

可執行程式碼: [attach]1690[/attach]

  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 如下:
[attach]1663[/attach]
VT100  terminal 報文輸出
系統會由COM1 (115200,n,8,1) 輸出 VT100 格式化文字如下畫面:
[attach]1676[/attach]

( 需將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 沒有的 ...

[attach]1677[/attach]

在PC 執行畫面 ( console mode )
[attach]1678[/attach]

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 : [attach]1687[/attach]

Note: 本案用 Microsoft Visual source safe 來管理程式碼共用,而跨硬體平台,
我已將 hardware dependent code 模組獨立,這樣才有辦法在個人電腦上執行 MCU 程式碼。  


[2016.2.22 Hardware Update]
電路圖更正: QEI 輸入需加 Pull-up 電阻
[attach]1679[/attach]
====================================================
AgonMo project 在未來所有更新將會以Open Source / Open Hardware 呈現 ... 請期待
若有其他問題可直接跟本人聯絡 E-mail: michael.x007@msa.hinet.net




















作者: admin    时间: 2015-8-11 10:39
  1. 三、視頻展示 ( 六軸機械手控制 )
  2. https://youtu.be/BBiBCgNP7XA
复制代码


请上传到优酷网站http://www.youku.com/ , 大陆一般用户看不到youtube视频
视频URL请修改为优酷视频链接
作者: Michael7Chen    时间: 2015-8-11 11:29
我沒帳號,优酷网 不接受台灣手機 開立帳號 .... 請給我連結,讓我上傳
作者: Michael7Chen    时间: 2015-8-11 11:30
admin 发表于 2015-8-11 10:39
请上传到优酷网站http://www.youku.com/ , 大陆一般用户看不到youtube视频
视频URL请修改为优酷视频链接 ...

我沒帳號,优酷网 不接受台灣手機 開立帳號 .... 請給我連結,讓我上傳
作者: admin    时间: 2015-8-11 13:11
Michael7Chen 发表于 2015-8-11 11:30
我沒帳號,优酷网 不接受台灣手機 開立帳號 .... 請給我連結,讓我上傳

把视频 打个压缩包 发到admin@nuvoton-m0.com我替你上传到优酷
作者: Michael7Chen    时间: 2015-8-11 21:14
admin 发表于 2015-8-11 13:11
把视频 打个压缩包 发到我替你上传到优酷

我發現可以用"掏宝"帳號去申請,就不需大陸手機號碼,不過還是謝謝你啦!
作者: jiaoah97    时间: 2015-8-14 14:01
支持一下
作者: Michael7Chen    时间: 2015-8-14 16:47
謝謝支持!
作者: carolchang    时间: 2015-8-19 17:30
這好專業了~厲害厲害
作者: Michael7Chen    时间: 2015-8-19 22:40
carolchang 发表于 2015-8-19 17:30
這好專業了~厲害厲害

謝謝你! 不過要記得 壓 "讚"!
作者: Michael7Chen    时间: 2015-8-19 22:41
carolchang 发表于 2015-8-19 17:30
這好專業了~厲害厲害

謝謝你! 不過要記得 壓 "讚"!
作者: mji    时间: 2015-8-20 10:56
不错,非常棒
作者: anming    时间: 2015-8-20 15:41
伺服马达不好搞啊
作者: chhuang16    时间: 2015-8-20 16:16
這個可以拿起多重的東西呢
作者: Hank    时间: 2015-8-20 17:08
很用心的報告與專題~大推一個!
期待您用硬體QEI完成的效果
作者: HTHoKen    时间: 2015-8-20 17:44
好厲害....頂一個
作者: Michael7Chen    时间: 2015-8-31 12:02
chhuang16 发表于 2015-8-20 16:16
這個可以拿起多重的東西呢

Scorbot-ER5p 是一支 教學用的機械手臂,規格上只能拿1Kg 以下的物件
作者: Michael7Chen    时间: 2015-8-31 12:08
anming 发表于 2015-8-20 15:41
伺服马达不好搞啊

要讓"伺服馬達"轉起來精準定位,很容易的; 但若是用"變動負載" 要準確/準時 定位就很難了!
還好本次展示影片" 負載是固定"不變 ...
作者: 驰马扬帆    时间: 2015-11-8 18:40
很不错的作品,特地注册了账号支持下!
作者: Michael7Chen    时间: 2016-2-18 09:49
[AgonMo Update]

久等了!
CAN  通訊已經完成,Source code 如附件
有關AgonMo 相關通訊協定可參考 美國 FRC (First Robotics competition) 馬達控制器CAN-Jaguar文件:
AgonMo 是與 Jaguar 馬達控制器相容

這是 NI 的範例:
https://decibel.ni.com/content/docs/DOC-8923
這是 Open Source Library:
http://robotpy.readthedocs.org/en/latest/wpilib/CANJaguar.html





作者: andrewz    时间: 2016-3-2 16:00
这个机械手臂很厉害的样子.
感谢分享.




欢迎光临 牛卧堂MCU技术交流 (http://www.nuvoton-mcu.com/) Powered by Discuz! X3.2