roboardgod 發表於 2012-1-18 10:34:18

RoBoard vs Bioloid AX-12馬達(com3)

本帖最後由 roboardgod 於 2012-1-18 13:54 編輯

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

以及datasheet


網站連結: http://roboardgod.blogspot.com/2011/09/bioloid-ax-12.html

roboardgod 發表於 2012-1-18 13:35:53

提過了AX-12的傳輸方法

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


網站連結: http://roboardgod.blogspot.com/2011/10/bioloid-ax-12.html

zqlonger 發表於 2012-2-17 15:25:30

大哥您的網站打不開啊~
目前也正糾結於這樣的問題
RB100板子連接Bioloid AX-12馬達 提示說「can't open COM3 device driver」

zqlonger 發表於 2012-2-17 15:29:17

本帖最後由 zqlonger 於 2012-2-19 18:48 編輯


什麼情況啊各位大哥~~~
用RB110 連接AX-12A 出現的問題~~
BIOS中com3如何開啟?? 提示是說差驅動嗎?
謝謝

acen2008 發表於 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

zqlonger 發表於 2012-2-27 22:12:04

回復 5# acen2008


   非常感謝 acen2008 「大大"的指導!看來該轉換思路了~另外請教acen2008兄,本人看了AX_12A的說明,舵機沒有運轉是否是因為該舵機我沒有用1M baudrate「激活」以及舵機ID編號等初始化工作,導致舵機不動呢?? 用RB110控制板,發現沒有1M baudrate。還望acen2008兄多多賜教。您用該舵機的時候是否需要上述工作?
當然,目前先按照您給的思路進行嘗試!再次感謝!

Shi_U 發表於 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

acen2008 發表於 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

zqlonger 發表於 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..
有問題再上來匯報~ 再次感謝!
:)

zqlonger 發表於 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

acen2008 發表於 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 的代碼大致如下:
#include <windows.h>
...
int main(void) {
HANDLE Serial = CreateFile (TEXT("COM5"), // 打開 COM5
                                    GENERIC_READ | GENERIC_WRITE,
                                    0, NULL, OPEN_EXISTING, 0, NULL);

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

if(!SetCommState(Serial, &dcbSerialParams))
{
      printf("Setting COM5 parameter error!!\n");
      CloseHandle(Serial);
      return 1;
}
...
}
你再試試看, 如果用起來仍有問題, 我會再提供更詳盡的說明
(在連接 RoBoard COM5 和 AX-12 servo 時, 請記得先將 TX/RX 短路)

zqlonger 發表於 2012-3-9 09:53:31

回復 11# acen2008


非常非常感謝acen2008 大大詳細而又耐心的指導!我這就試去!

zqlonger 發表於 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下控制舵機運動的代碼程式???再拜謝.

acen2008 發表於 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
先試試看吧...

zqlonger 發表於 2012-3-10 10:31:08

回復 14# acen2008


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

再次感謝acen2008 大大和樓上所有幫助我的大大們!

acen2008 發表於 2012-3-10 23:36:17

good job!
建議將改過 ID 與 baudrate 的 AX-12 servo 用個容易識別的方式紀錄下來
好讓以後使用此 servo 的朋友(或自己)能順利控制

zqlonger 發表於 2012-3-11 10:09:27

回復 16# acen2008


    恩恩!謝謝acen2008 大大的建議!

zqlonger 發表於 2012-3-12 15:02:28

回復 16# acen2008


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

謝謝!

omegaCD 發表於 2012-3-13 02:43:21

我有自己寫一個AX-12系列的馬達測試和管理程式...有需要PM跟我拿=D

不過請低調...這程式僅供個人使用...=P

zqlonger 發表於 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 或者您給個下載鏈接
再次感謝您!!
頁: [1] 2
查看完整版本: RoBoard vs Bioloid AX-12馬達(com3)