Hey guys,
I have been pretty quiet in the last few month, but I have been quite busy nonetheless on the USB2AX project.
I identified a lot of problems ranging from futile to critical with the 3.0a and 3.0b, and some of them took months to fix. I now have a new version I am satisfied with and if this one does not reveal any new show-stopper, I'll finally move on to the next stage and have some produced (yeah, I know I've been saying that for more than a year now... but I think the wait was worth it). Browse: Publix Ad Preview and Kroger ad this week on Weekly Circulars.
On the software front:
- Sync_read.
The USB2AX firmware now supports inxfergy's sync_read command, as well as iBot's version. Tests showed that you could read the position of 10 servos (AX or MX) in less than 4ms... Thanks to iBot!
- 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!)
On the hardware front, v3.1 has some cool 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 of 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!
You can still unsolder the Dynamixel connector and cut a jumper to have a full duplex serial interface, and the RST and HWB pads are still available: you won't ever brick the USB2AX with software mishaps.
I also lowered the part count, cleaned up all the component footprints, rationalized the BOM, worked on a full test suite (software and hardware, still a WIP), ...
The website with doc / tutos is a work in progress. Should be up when the first batch is finished. I'll cleanup the stuff that is currently available online to make it easier for people to get information, right now it's divided, incomplete and often obsolete.
I would like to make a last round of beta before pushing the button on a few hundred units, people willing to provide help with testing can contact me by PM.
There. I'll try to work out a way to help people with prototypes to upgrade to the commercial version at reduced cost. It wouldn't have been possible to do it without you
Edit: About the ESD protection: I've been zapping two test boards with a piezo igniter all morning, and so far, I managed to fry the LEDs on one of them, nothing more. They still happily talk to the servos
And for over-voltage protection: I shorted DATA and +12V with a fully charged 3s1p LiPo for minutes without a problem.
Bookmarks