Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 12141|回復: 21
打印 上一主題 下一主題

RoBoard vs Bioloid AX-12馬達(com3)

[複製鏈接]
跳轉到指定樓層
1#
發表於 2012-1-18 10:34:18 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最後由 roboardgod 於 2012-1-18 13:54 編輯

簡略介紹Bioloid的AX-12馬達傳輸方法

以及datasheet


網站連結: http://roboardgod.blogspot.com/2011/09/bioloid-ax-12.html
2#
 樓主| 發表於 2012-1-18 13:35:53 | 只看該作者
提過了AX-12的傳輸方法

接下來就可以用RoBoard控制馬達了!


網站連結: http://roboardgod.blogspot.com/2011/10/bioloid-ax-12.html
3#
發表於 2012-2-17 15:25:30 | 只看該作者
大哥  您的網站打不開啊~
目前也正糾結於這樣的問題
RB100板子連接Bioloid AX-12馬達 提示說「can't open COM3 device driver」
4#
發表於 2012-2-17 15:29:17 | 只看該作者
本帖最後由 zqlonger 於 2012-2-19 18:48 編輯


什麼情況啊  各位大哥~~~
用RB110 連接AX-12A 出現的問題~~
BIOS中com3如何開啟?? 提示是說差驅動嗎?
謝謝
5#
發表於 2012-2-22 18:58:45 | 只看該作者
hi zqlonger,

在 Linux 下 COM3 & COM4 預設是未開啟的
你要先用 setserial 設定 COM3 & COM4 後, 再 run 範例程式
這樣應該就沒問題了

如果不清楚要如何設定, 請參考官網上 Linux-ubuntu 安裝文件中的
Setup RB-100&RB-110 COM3 & COM4 in Ubuntu.pdf
6#
發表於 2012-2-27 22:12:04 | 只看該作者
回復 5# acen2008


   非常感謝 acen2008 「大大"的指導!看來該轉換思路了~另外請教acen2008兄,本人看了AX_12A的說明,舵機沒有運轉是否是因為該舵機我沒有用1M baudrate「激活」以及舵機ID編號等初始化工作,導致舵機不動呢?? 用RB110控制板,發現沒有1M baudrate。還望acen2008兄多多賜教。您用該舵機的時候是否需要上述工作?
當然,目前先按照您給的思路進行嘗試!再次感謝!
7#
發表於 2012-2-29 09:31:21 | 只看該作者
如果是新購買的 AX-12A 它的預設 baud rate 為 1Mbps,你可以依照它的說明書使用 COM1 透過 CM-5 設定 baud rate 與 ID,或是參考 http://www.roboard.com/download_ml.htm
使用 FTDI COM Driver 透過 COM5 & COM6 修改 baud rate
8#
發表於 2012-2-29 20:01:21 | 只看該作者
是的, 如同樓上大大所說, 建議您在電腦上使用 bioloid 公用程式設定馬達的 baudrate
, 請從 1Mbps 改為 500k 或 250k (視 RoBoard 有無支援, 例如: 不可設定為 400kbps)

若要使用 COM5 或 COM6, 請參考 linux 下的 driver 的安裝
(見您使用的是 X-Linux, 裡面可能沒有該驅動)
http://www.roboard.com/Files/RB-110/Setup_RB-110_FTDI_Linux.zip
9#
發表於 2012-3-3 14:39:43 | 只看該作者
本帖最後由 zqlonger 於 2012-3-3 14:42 編輯

非常感謝Shi_U大大和 acen2008大大!
因為手裡沒有CM—5,所以正在準備使用COM5 修改 baud rate

誠如acen2008大大所言,X_LINUX下沒有驅動,指令和所給的Ubuntu 教程有所區別 不知道後期要不要重新裝一個Ubuntu
sigh..
有問題再上來匯報~ 再次感謝!
:)
10#
發表於 2012-3-7 22:34:43 | 只看該作者
回復 8# acen2008


    acen2008 大大~向您再次求助!
我的X_LINUX感覺操作起來很彆扭,指令不熟悉,專門用SD卡裝了個XP系統,然後按您說的 下載了FTDI驅動,啟動了COM5,COM6
但是,打開資源管理器,發現COM5的波特率最大只有921600,而不是想像中的1M波特率。。。RB110說明書上說COM5最大可以達到12M。。
按我的理解,只有當COM5大於等於1M的時候,才可以與AX_12A舵機通信。。可是現在,我真的不知道怎麼辦呢?

acen2008 大大,help。。
註:本人手中沒有AX-12A的專用舵機控制器 CM-5
11#
發表於 2012-3-9 09:30:57 | 只看該作者
本帖最後由 acen2008 於 2012-3-9 09:45 編輯

你可以不用理會資源管理器裡顯示的值
我的做法是
在 XP 系統下, 直接使用 WIN32 API 對 COM5 送 data
只要在 baudrate 變數那邊設定好 1M, COM5 就會用 1Mbps 的速度把 data 送出去了

使用 WIN32 API 設定 COM5 baudrate 的代碼大致如下:

  1. #include <windows.h>
  2. ...
  3. int main(void) {
  4. HANDLE Serial = CreateFile (TEXT("COM5"), // 打開 COM5
  5.                                       GENERIC_READ | GENERIC_WRITE,
  6.                                       0, NULL, OPEN_EXISTING, 0, NULL);

  7. /* set baudrate, size, stopbit, parity */
  8. DCB dcbSerialParams = {0};
  9. dcbSerialParams.BaudRate=1000000; // 設定 baudrate = 1Mbps
  10. dcbSerialParams.ByteSize=8;
  11. dcbSerialParams.StopBits=ONESTOPBIT; // 1 個 stop bit
  12. dcbSerialParams.Parity=NOPARITY; // 不使用同位元

  13. if(!SetCommState(Serial, &dcbSerialParams))
  14. {
  15.         printf("Setting COM5 parameter error!!\n");
  16.         CloseHandle(Serial);
  17.         return 1;
  18. }
  19. ...
  20. }
複製代碼
你再試試看, 如果用起來仍有問題, 我會再提供更詳盡的說明
(在連接 RoBoard COM5 和 AX-12 servo 時, 請記得先將 TX/RX 短路)
12#
發表於 2012-3-9 09:53:31 | 只看該作者
回復 11# acen2008


  非常非常感謝  acen2008 大大詳細而又耐心的指導!我這就試去!
13#
發表於 2012-3-9 13:19:25 | 只看該作者
本帖最後由 zqlonger 於 2012-3-9 13:26 編輯

回復 11# acen2008


   
acen2008 大大,非常感謝您提供了設定 COM5 baudrate 的代碼。
在您的代碼之後,我想添加控制AX-12A舵機移動的函數命令。需要用到相關的傳輸數據的函數(諸如 roboio_SetRBVer(RB_110)、
com5_ServoTRX())
於是到RB官網上下載了「DynamixelSDK_for_RoBoard」
裡面有COM2和COM3的相關控制舵機移動的函數,我按照格式,修改了RoBoard-Dynamixel_SDK的源文件,想編譯生成了一份適合COM5
的鏈接庫,但是總是編譯失敗,提示 「LINK2001,無法找到外部鏈接」的錯誤。。目前還在找方法。。
acen2008 大大,如果方便的話,能否麻煩給小弟一份在COM5下控制舵機運動的代碼程式???再拜謝.
14#
發表於 2012-3-9 20:22:56 | 只看該作者
本帖最後由 acen2008 於 2012-3-9 20:26 編輯

您可以不用修改官網上的 DynamixelSDK_for_RoBoard

使用 WIN32 API 就可以用 COM5 直接送 data 給 servo 了
我自己用來控制 AX-12 的代碼如下(使用 COM5, baudrate = 1Mbps)
編譯完成後執行它, 可以讓 AX-12 轉到 0x3ff 處
(您可能要先把裡面的 SERVO ID 改成自己的)
http://dl.dropbox.com/u/12914854/com_5.cpp
先試試看吧...
15#
發表於 2012-3-10 10:31:08 | 只看該作者
回復 14# acen2008


    親愛的acen2008 大大!謝謝您給的參考代碼!!我運行了之後,舵機果然動了起來!!真是把我高興壞了。。呵呵
現在舵機動起來了,下階段我想根據AX-12A說明書對每個舵機的ID進行編號、重置波特率,然後用COM3端口直接進行控制。

再次感謝acen2008 大大和樓上所有幫助我的大大們!
16#
發表於 2012-3-10 23:36:17 | 只看該作者
good job!
建議將改過 ID 與 baudrate 的 AX-12 servo 用個容易識別的方式紀錄下來
好讓以後使用此 servo 的朋友(或自己)能順利控制
17#
發表於 2012-3-11 10:09:27 | 只看該作者
回復 16# acen2008


    恩恩!謝謝acen2008 大大的建議!
18#
發表於 2012-3-12 15:02:28 | 只看該作者
回復 16# acen2008


   
acen2008 大大,您好!小弟現在可以在COM3串口下運行從roboard官網下載的DynamixelSDK_for_RoBoard,
現在問題是,如何能夠在使用RB110板子的情況下,對AX-12系列舵機編輯一套完整的動作(如起立,向前走。。等等)
難道只能一個舵機一個舵機的控制,自己編寫動作文件??大大,請這個問題如何解決??
目前想到的辦法是,對bioloid公司提供的動作文件進行解析,然後「照葫蘆畫瓢」

謝謝!
19#
發表於 2012-3-13 02:43:21 | 只看該作者
我有自己寫一個AX-12系列的馬達測試和管理程式...有需要PM跟我拿=D

不過請低調...這程式僅供個人使用...=P
20#
發表於 2012-3-13 10:12:56 | 只看該作者
回復 19# omegaCD

    那真是太好了~先謝謝 omegaCD大大了!!小弟保證絕對低調,保證個人學習使用 file:///C:/DOCUME~1/dell/LOCALS~1/Temp/8{U`QQB5X27@C_FO](KQ(4G.gif
E-mail:prilemon@126.com 或者您給個下載鏈接
再次感謝您!!
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-11-23 21:20 , Processed in 0.147033 second(s), 9 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表