by xevel » Mon Nov 12, 2012 2:24 pm
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.
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.
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.