Legacy Forum: Preserving Nearly 20 Years of Community History - A Time Capsule of Discussions, Memories, and Shared Experiences.

USB2AX, a small powerful USB to Dynamixel controller

Bioloid robot kit from Korean company Robotis; CM5 controller block, AX12 servos..
59 postsPage 3 of 41, 2, 3, 4
59 postsPage 3 of 41, 2, 3, 4

Interested in a small programmable USB to AX/MX Dynamixel adapter/controller?

Yes
17
100%
No
0
No votes
What?
0
No votes
 
Total votes : 17

Post by Enderwiggins » Mon Dec 26, 2011 9:41 pm

Post by Enderwiggins
Mon Dec 26, 2011 9:41 pm

I'll buy one when they come out! Been wanting to get into Dynamixel stuff and this looks like a great way to get started!
I'll buy one when they come out! Been wanting to get into Dynamixel stuff and this looks like a great way to get started!
Enderwiggins
Robot Builder
Robot Builder
Posts: 24
Joined: Mon Jul 07, 2008 3:56 am

Post by sharpyuk » Tue Jan 10, 2012 8:47 pm

Post by sharpyuk
Tue Jan 10, 2012 8:47 pm

Thought these would be on sale by now.. :wink:

Let me know when they're available as I would like to have a play with one of these!

Cheers
Thought these would be on sale by now.. :wink:

Let me know when they're available as I would like to have a play with one of these!

Cheers
sharpyuk
Robot Builder
Robot Builder
Posts: 10
Joined: Tue Nov 01, 2011 8:16 pm

Post by xevel » Tue Jan 10, 2012 9:10 pm

Post by xevel
Tue Jan 10, 2012 9:10 pm

Indeed, it's taking much more time than I initially expected!

But we're getting there! Here's what it looks like with the final PCB and connector. There are still some small errors on the silkscreen that will be fixed for production, but the rest shouldn't change.

Image
Image
Image
Indeed, it's taking much more time than I initially expected!

But we're getting there! Here's what it looks like with the final PCB and connector. There are still some small errors on the silkscreen that will be fixed for production, but the rest shouldn't change.

Image
Image
Image
xevel
Savvy Roboteer
Savvy Roboteer
Posts: 74
Joined: Sun Mar 27, 2011 6:37 pm

Post by xevel » Fri Feb 17, 2012 6:35 pm

Post by xevel
Fri Feb 17, 2012 6:35 pm

Time goes by, and still I'm working and getting the right to make things happen... Ho, joy of our national entrepreneurial system.


In the meantime, I designed an even smaller version I will only make a few prototypes of, since I might need some for a project (no commercial release in sight, but hey, if people think the original USB2AX is too big, it could happen :) ).

Behold the USB2AX mini, measuring 21mm x 12 mm, with everything the "big" one has :)
Yet, the USB connector AND the Dynamixel connectors are counted in the length !

Top layer, with the USB connector:
Image

Bottom layre, with the outline of the Dynamixel connector:
Image

Eagle files are available on the USB2AX GIT repository : http://paranoidstudio.assembla.com/code/paranoidstudio/git/nodes/master/usb2ax/elec


The Schematics is nearly identical to the one of the v3, and code is 100% compatible with the one for the USB2AX v3.
It has the same ESD protections and resistors on the output line. The BOM is the same too, with the exception of one less 47ohm resistor and of course the USB connector.

To avoid the main problem of the v1 (which already had an USBb connector on the pcb), this one will have gold fingers, meaning the the contacts will be gold-plated instead of covered with tin.
Of course, it will not be has heavy-duty as the v3, particularly in terms of resistance to vibrations, but for quiet environments where size is the factor that matters it should be OK.

First assembled prototypes will see the light of day in around 2 weeks (time for the PCBs to get there).
Time goes by, and still I'm working and getting the right to make things happen... Ho, joy of our national entrepreneurial system.


In the meantime, I designed an even smaller version I will only make a few prototypes of, since I might need some for a project (no commercial release in sight, but hey, if people think the original USB2AX is too big, it could happen :) ).

Behold the USB2AX mini, measuring 21mm x 12 mm, with everything the "big" one has :)
Yet, the USB connector AND the Dynamixel connectors are counted in the length !

Top layer, with the USB connector:
Image

Bottom layre, with the outline of the Dynamixel connector:
Image

Eagle files are available on the USB2AX GIT repository : http://paranoidstudio.assembla.com/code/paranoidstudio/git/nodes/master/usb2ax/elec


The Schematics is nearly identical to the one of the v3, and code is 100% compatible with the one for the USB2AX v3.
It has the same ESD protections and resistors on the output line. The BOM is the same too, with the exception of one less 47ohm resistor and of course the USB connector.

To avoid the main problem of the v1 (which already had an USBb connector on the pcb), this one will have gold fingers, meaning the the contacts will be gold-plated instead of covered with tin.
Of course, it will not be has heavy-duty as the v3, particularly in terms of resistance to vibrations, but for quiet environments where size is the factor that matters it should be OK.

First assembled prototypes will see the light of day in around 2 weeks (time for the PCBs to get there).
xevel
Savvy Roboteer
Savvy Roboteer
Posts: 74
Joined: Sun Mar 27, 2011 6:37 pm

Post by HyperCube » Sun Mar 04, 2012 4:36 am

Post by HyperCube
Sun Mar 04, 2012 4:36 am

This is an awesome product, good work.

Have u got any demos showing it working with something like a gumstix computer? I'd imagine something like that would help promote the product, etc. You could even consider collaboration with other startups such as Raspberry Pi, check out: http://www.raspberrypi.org/

Edit: just saw u have it running on a beagleboard... nice...
This is an awesome product, good work.

Have u got any demos showing it working with something like a gumstix computer? I'd imagine something like that would help promote the product, etc. You could even consider collaboration with other startups such as Raspberry Pi, check out: http://www.raspberrypi.org/

Edit: just saw u have it running on a beagleboard... nice...
HyperCube
Robot Builder
Robot Builder
Posts: 9
Joined: Sat Apr 30, 2011 6:28 am

Can't wait! RPi too!

Post by firemonkey » Mon Nov 12, 2012 9:30 am

Post by firemonkey
Mon Nov 12, 2012 9:30 am

Awesome piece of kit! When will it be available?

Would is work in exactly the same way at the USB2Dinamixel? (i.e. if I get something working with the 3 pin IO on USB2Dinamixel, should the exact same code work if I would switch to your board?)

Any idea how much money would make you part with one and ship it to Finland?
Awesome piece of kit! When will it be available?

Would is work in exactly the same way at the USB2Dinamixel? (i.e. if I get something working with the 3 pin IO on USB2Dinamixel, should the exact same code work if I would switch to your board?)

Any idea how much money would make you part with one and ship it to Finland?
firemonkey
Newbie
Newbie
Posts: 2
Joined: Mon Nov 12, 2012 8:26 am

Post by xevel » Mon Nov 12, 2012 1:37 pm

Post by xevel
Mon Nov 12, 2012 1:37 pm

@HyperCube:
Thanks! A gumstix is not the easiest thing to interface it with, since the module itself does not have an USB port... but with a BeagleBoard, a PandaBoard or I guess even a Raspberry Pi (I should get mine in about 3 weeks!) it should be no problem. When using it with any flavor of Linux, you just need the kernel to have the CDC/ACM driver enabled and some low-latency options selected (at least preemption).

@firemonkey:
The USB2AX works in many situations just like the USB2Dynamixel, but not always I'm afraid.

Whenever the application justs requires a COM port (like with the Dynamixel Wizard), it works. Python application using pyserial and C# applications using the SerialPort class are OK too.

Whenever the application makes assumption on the kind of virtual COM port the interface should be, like with the Linux version of the Dynamixel SDK (which assumes the COM port creates a /dev/ttyUSBx device and uses low level calls to functionalities the CDC/ACM driver does not implements), it needs a little more work to have it working.
I'll put that in the documentation.
@HyperCube:
Thanks! A gumstix is not the easiest thing to interface it with, since the module itself does not have an USB port... but with a BeagleBoard, a PandaBoard or I guess even a Raspberry Pi (I should get mine in about 3 weeks!) it should be no problem. When using it with any flavor of Linux, you just need the kernel to have the CDC/ACM driver enabled and some low-latency options selected (at least preemption).

@firemonkey:
The USB2AX works in many situations just like the USB2Dynamixel, but not always I'm afraid.

Whenever the application justs requires a COM port (like with the Dynamixel Wizard), it works. Python application using pyserial and C# applications using the SerialPort class are OK too.

Whenever the application makes assumption on the kind of virtual COM port the interface should be, like with the Linux version of the Dynamixel SDK (which assumes the COM port creates a /dev/ttyUSBx device and uses low level calls to functionalities the CDC/ACM driver does not implements), it needs a little more work to have it working.
I'll put that in the documentation.
xevel
Savvy Roboteer
Savvy Roboteer
Posts: 74
Joined: Sun Mar 27, 2011 6:37 pm

Post by garycmartin » Mon Nov 12, 2012 2:17 pm

Post by garycmartin
Mon Nov 12, 2012 2:17 pm

HyperCube wrote:This is an awesome product, good work.

Have u got any demos showing it working with something like a gumstix computer? I'd imagine something like that would help promote the product, etc. You could even consider collaboration with other startups such as Raspberry Pi, check out: http://www.raspberrypi.org/

Edit: just saw u have it running on a beagleboard... nice...


Hi HyperCube, just wanted to report that I have been using a couple of usb2ax prototypes from xevel here on a Raspberry Pi using Python for a month or so. I'm using it to talk to a mixed chain of 22 AX-12 and AX-18 servos (hoping to add some MX-28T in the not too distant future), generating self organised proprioception maps for a biped project.
HyperCube wrote:This is an awesome product, good work.

Have u got any demos showing it working with something like a gumstix computer? I'd imagine something like that would help promote the product, etc. You could even consider collaboration with other startups such as Raspberry Pi, check out: http://www.raspberrypi.org/

Edit: just saw u have it running on a beagleboard... nice...


Hi HyperCube, just wanted to report that I have been using a couple of usb2ax prototypes from xevel here on a Raspberry Pi using Python for a month or so. I'm using it to talk to a mixed chain of 22 AX-12 and AX-18 servos (hoping to add some MX-28T in the not too distant future), generating self organised proprioception maps for a biped project.
garycmartin
Savvy Roboteer
Savvy Roboteer
Posts: 42
Joined: Fri Jan 15, 2010 9:27 pm

Post by xevel » Mon Nov 12, 2012 2:24 pm

Post by xevel
Mon Nov 12, 2012 2:24 pm

And now about the current state of the project:

The latest and greatest version of the USB2AX is soon upon us, namely the USB2AX v3.1a.

Image

Image

This update of the hardware offers a few interesting new features:
- ESD and continuous over-voltage protection on DATA.
At the last Eurobot competition, I met two guys who have had problems with the +12V line touching the DATA line (bad custom board, or damaged cables). One had an USB2AX and the other an USB2Dynamixel. In both cases the interface boards stopped working. The guy with the USB2Dynamixel removed the fried ESD protection chip and plugged it back.. only to have another short, and this time a burned motherboard on his PC. So that's pretty serious stuff: I don't want my product to be neither disposable nor a risk for the computer it's plugged in!

Earlier version only had ESD protection. Whenever there would be a contact between DATA and the +12V line of the dynamixel bus, the ESD protection chip would fry, protecting the ATmega and USB port with its dead body... Fixing the board would then require changing the 1.5x1mm chip with 6 pads underneath, not something enjoyable, even with the right tools.
Now, you can zap the dynamixel bus with sparks or short +12V and DATA as long as you want, and when the short is removed, it resumes as if nothing happened. The battery is also protected, since the failing state limits the current to ~20mA. And on the USB port, you still have the same old ESD protection, this one was OK for this use.

- SPI breakout 0.1".
Breaking out the SPI pins gives you the possibility to hack it a whole lot more. You can reprogram it using ISP, you can interface stuff, sensors, whatever. That's something I've been asked a few times, now it's possible.

- Two Leds (Red and Green).
You now have a second status LED to play with. By default, the red led is affected to "USB not ready" or "USB enumerating" and the green one to "USB Ready", but you can hack it away to debug stuff, to show traffic, whatever you need.

- Cute, and still 0.5mm shorter than v3.0!


I have also a lot of new stuff to show on the firmware front, many of them thanks to i-Bot!

- Sync_read.
The USB2AX firmware now supports inxfergy's sync_read command, as well as i-Bot's version. Tests showed that you could read the position of 10 servos (AX or MX) in less than 4ms... And with some cleaver code, it's possible to lose even less time in comunications, I have a whole lot to say about this...
Thanks to i-Bot!

- low latency.
On all the test I made using Virtual Com Ports, it's always at least a little faster than the USB2Dynamixel. Sometimes up to a lot. I'll work on verifiable numbers for the release.

- firmware updates.
The board can now be updated without human intervention. Just run a script and it's programmed. Still based on great work by iBot!!! The windows version should be OK soon, working on ironing out the Linux version.

- There used to be a problem with the CDC class blocking the communication host => servos when the host did not read what the USB2AX sent. This was annoying since failing to read the status packets would make the system incapable of sending new commands... FIXED, and the work I did for that is the basis of a LUFA patch for the VirtualSerial demo in the next LUFA release.

- Speaking of LUFA, v3.1 will be supported by the next LUFA release. (thanks Dean!)



I'm working on the documentation for the release, as well as maybe a tuto or two on how to set up a fast control loop...

No relese date yet, the first batch is currently in production, but I want to make as sure as possible that everything is OK before too many people get them in their hands.
And now about the current state of the project:

The latest and greatest version of the USB2AX is soon upon us, namely the USB2AX v3.1a.

Image

Image

This update of the hardware offers a few interesting new features:
- ESD and continuous over-voltage protection on DATA.
At the last Eurobot competition, I met two guys who have had problems with the +12V line touching the DATA line (bad custom board, or damaged cables). One had an USB2AX and the other an USB2Dynamixel. In both cases the interface boards stopped working. The guy with the USB2Dynamixel removed the fried ESD protection chip and plugged it back.. only to have another short, and this time a burned motherboard on his PC. So that's pretty serious stuff: I don't want my product to be neither disposable nor a risk for the computer it's plugged in!

Earlier version only had ESD protection. Whenever there would be a contact between DATA and the +12V line of the dynamixel bus, the ESD protection chip would fry, protecting the ATmega and USB port with its dead body... Fixing the board would then require changing the 1.5x1mm chip with 6 pads underneath, not something enjoyable, even with the right tools.
Now, you can zap the dynamixel bus with sparks or short +12V and DATA as long as you want, and when the short is removed, it resumes as if nothing happened. The battery is also protected, since the failing state limits the current to ~20mA. And on the USB port, you still have the same old ESD protection, this one was OK for this use.

- SPI breakout 0.1".
Breaking out the SPI pins gives you the possibility to hack it a whole lot more. You can reprogram it using ISP, you can interface stuff, sensors, whatever. That's something I've been asked a few times, now it's possible.

- Two Leds (Red and Green).
You now have a second status LED to play with. By default, the red led is affected to "USB not ready" or "USB enumerating" and the green one to "USB Ready", but you can hack it away to debug stuff, to show traffic, whatever you need.

- Cute, and still 0.5mm shorter than v3.0!


I have also a lot of new stuff to show on the firmware front, many of them thanks to i-Bot!

- Sync_read.
The USB2AX firmware now supports inxfergy's sync_read command, as well as i-Bot's version. Tests showed that you could read the position of 10 servos (AX or MX) in less than 4ms... And with some cleaver code, it's possible to lose even less time in comunications, I have a whole lot to say about this...
Thanks to i-Bot!

- low latency.
On all the test I made using Virtual Com Ports, it's always at least a little faster than the USB2Dynamixel. Sometimes up to a lot. I'll work on verifiable numbers for the release.

- firmware updates.
The board can now be updated without human intervention. Just run a script and it's programmed. Still based on great work by iBot!!! The windows version should be OK soon, working on ironing out the Linux version.

- There used to be a problem with the CDC class blocking the communication host => servos when the host did not read what the USB2AX sent. This was annoying since failing to read the status packets would make the system incapable of sending new commands... FIXED, and the work I did for that is the basis of a LUFA patch for the VirtualSerial demo in the next LUFA release.

- Speaking of LUFA, v3.1 will be supported by the next LUFA release. (thanks Dean!)



I'm working on the documentation for the release, as well as maybe a tuto or two on how to set up a fast control loop...

No relese date yet, the first batch is currently in production, but I want to make as sure as possible that everything is OK before too many people get them in their hands.
xevel
Savvy Roboteer
Savvy Roboteer
Posts: 74
Joined: Sun Mar 27, 2011 6:37 pm

Post by sharpyuk » Mon Nov 12, 2012 11:25 pm

Post by sharpyuk
Mon Nov 12, 2012 11:25 pm

xevel wrote:
No relese date yet, the first batch is currently in production, but I want to make as sure as possible that everything is OK before too many people get them in their hands.


Fantastic News! Making good progress..

Do you need any testers for the latest version? :wink:
xevel wrote:
No relese date yet, the first batch is currently in production, but I want to make as sure as possible that everything is OK before too many people get them in their hands.


Fantastic News! Making good progress..

Do you need any testers for the latest version? :wink:
sharpyuk
Robot Builder
Robot Builder
Posts: 10
Joined: Tue Nov 01, 2011 8:16 pm

Post by FriedV » Sun Nov 25, 2012 8:13 am

Post by FriedV
Sun Nov 25, 2012 8:13 am

Super project!
I hope the interface will soon be available, I'm much ineterested in buying a couple of them ASAP!
Thanks, Friedrich
Super project!
I hope the interface will soon be available, I'm much ineterested in buying a couple of them ASAP!
Thanks, Friedrich
FriedV
Savvy Roboteer
Savvy Roboteer
Posts: 28
Joined: Thu Sep 27, 2012 5:39 pm

Post by xevel » Sun Nov 25, 2012 7:45 pm

Post by xevel
Sun Nov 25, 2012 7:45 pm

Thanks!
It's getting there... release could be imminent if I don't hit any road bump.
Thanks!
It's getting there... release could be imminent if I don't hit any road bump.
xevel
Savvy Roboteer
Savvy Roboteer
Posts: 74
Joined: Sun Mar 27, 2011 6:37 pm

Update

Post by badrabbit » Sat Jan 12, 2013 6:42 pm

Post by badrabbit
Sat Jan 12, 2013 6:42 pm

I just stumbled onto this and it looks like just what I need - any ETA yet?
I just stumbled onto this and it looks like just what I need - any ETA yet?
badrabbit
Newbie
Newbie
Posts: 1
Joined: Sat Jan 12, 2013 6:41 pm

Post by siempre.aprendiendo » Fri Mar 22, 2013 10:56 pm

Post by siempre.aprendiendo
Fri Mar 22, 2013 10:56 pm

I have received it. It's really tiny!

And it's faster, some first tests:
(querying 16 AX-12)
Poll test, conn USB, duration 00:00:00.2500000 COM3 USB2Dynamixel

Poll test, conn USB, duration 00:00:00.0625000 COM7 USB2AX

You should remember that in Linux it appears as ttyACM0, not TTyUSB0 as USB2Dynnamixel

USB2AX

Image

USB2AX over USB2Dynamixel on a Pandaboard

Image



x
I have received it. It's really tiny!

And it's faster, some first tests:
(querying 16 AX-12)
Poll test, conn USB, duration 00:00:00.2500000 COM3 USB2Dynamixel

Poll test, conn USB, duration 00:00:00.0625000 COM7 USB2AX

You should remember that in Linux it appears as ttyACM0, not TTyUSB0 as USB2Dynnamixel

USB2AX

Image

USB2AX over USB2Dynamixel on a Pandaboard

Image



x
siempre.aprendiendo
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 559
Joined: Wed Aug 08, 2007 9:13 pm
Location: Barcelona

Post by barbar » Wed Apr 03, 2013 5:54 pm

Post by barbar
Wed Apr 03, 2013 5:54 pm

siempre.aprendiendo wrote:I have received it. It's really tiny!
And it's faster, some first tests: (querying 16 AX-12)
Poll test, conn USB, duration 00:00:00.2500000 COM3 USB2Dynamixel
Poll test, conn USB, duration 00:00:00.0625000 COM7 USB2AX
You should remember that in Linux it appears as ttyACM0, not TTyUSB0 as USB2Dynnamixel


Thx for infos.

Looking forward to getting my USB2AX. When will RoboSavvy have it in store :-). Had to order my sample in China.
siempre.aprendiendo wrote:I have received it. It's really tiny!
And it's faster, some first tests: (querying 16 AX-12)
Poll test, conn USB, duration 00:00:00.2500000 COM3 USB2Dynamixel
Poll test, conn USB, duration 00:00:00.0625000 COM7 USB2AX
You should remember that in Linux it appears as ttyACM0, not TTyUSB0 as USB2Dynnamixel


Thx for infos.

Looking forward to getting my USB2AX. When will RoboSavvy have it in store :-). Had to order my sample in China.
barbar
Savvy Roboteer
Savvy Roboteer
User avatar
Posts: 87
Joined: Tue Apr 04, 2006 1:00 am
Location: Germany

PreviousNext
59 postsPage 3 of 41, 2, 3, 4
59 postsPage 3 of 41, 2, 3, 4