User Tools

Site Tools


product:usb2ax:usb2ax

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
product:usb2ax:usb2ax [2013/04/02 04:58]
xevel [What are the limitations?]
product:usb2ax:usb2ax [2017/11/20 08:07] (current)
xevel [Download / files]
Line 5: Line 5:
  
 ==== What is the USB2AX? ==== ==== What is the USB2AX? ====
-The USB2AX is a small interface to control [[http://www.robotis.com/​xe/​dynamixel_en|Dynamixel servomotors]] like the AX-12 from a computer. It plugs into a USB port and has a 3-pin Dynamixel connector to be connected to the servos.+The USB2AX is a small interface to control [[http://en.robotis.com|Dynamixel servomotors]] like the AX-12 from a computer. It plugs into a USB port and has a 3-pin Dynamixel connector to be connected to the servos. 
 + 
 +If you're in a hurry, jump to [[product:​usb2ax:​Quickstart]] ! 
 + 
 +**Documentation en Français** sur le [[http://​wiki.cybedroid.com/​index.php?​title=USB2AX|Wiki de Cybedroïd]] (merci!) 
 + 
 + 
 +---- 
 +**☛ To fix problems experienced with Dynamixel 2.0 packets returning errors or Dynamixel Wizard freezing, please [[firmware_update|update the firmware]] ☚ ** 
 +//Last updated 27 July 2017.// 
 + 
 +If you still have problems, send an email to: <​contact@xevelabs.com>​ 
 +---- 
  
 {{product:​usb2ax:​Dynamixel_parts_top.jpg}} {{product:​usb2ax:​Dynamixel_parts_top.jpg}}
Line 21: Line 34:
  
 == What servos can it talk to? == == What servos can it talk to? ==
-The USB2AX can talk with the [[http://www.robotis.com/​xe/​dynamixel_en|Dynamixel servos]] which use a half-duplex TTL interface (3-pins connector).\\+The USB2AX can talk with the [[http://en.robotis.com|Dynamixel servos]] which use a half-duplex TTL interface (3-pins connector).\\
 More specifically:​ More specifically:​
   * All of the AX servos (AX-12/​AX-12+/​**AX-12A**,​ AX-12W, AX-18F/​**AX-18A**).   * All of the AX servos (AX-12/​AX-12+/​**AX-12A**,​ AX-12W, AX-18F/​**AX-18A**).
   * The "​T"​ versions of the MX servos (**MX-28T**,​ **MX-64T**, **MX-106T**).   * The "​T"​ versions of the MX servos (**MX-28T**,​ **MX-64T**, **MX-106T**).
 +  * The "​T"​ versions of the XM servos (**XM430-W350-T**,​ **XM430-W210-T**) - //but with an adapter, as the connector are not directly compatible//​
 +  * XL-320 - //but with an adapter, as the connector are not directly compatible//​
  
 ==== Features ==== ==== Features ====
Line 31: Line 46:
   * Very small (16x36mm)   * Very small (16x36mm)
   * Optimized latency   * Optimized latency
-  * Protection against ESD and short circuits +  * [[product:​usb2ax:​specs#​schematics|Protection against ESD and short circuits]] 
-  * Advanced functionalities:​ sync_read, ​bulk_read...+  * [[product:​usb2ax:​advanced_instructions|Advanced functionalities:​ sync_read, ...]]
   * Windows / Linux / MacOS   * Windows / Linux / MacOS
-  * Compatible with RoboPlus, ​Dynamixel SDK (see [[product:​usb2ax:​faq#​Q:​ Dynamixel SDK: how do I use it with the USB2AX?|here]]), ROS, Python, C/C++/C#, Visual Basic, Java, Labview, Matlab... +  * Compatible with RoboPlus, [[product:​usb2ax:​faq#​Q:​ Dynamixel SDK: how do I use it with the USB2AX?|Dynamixel SDK]], ROS, Python, C/C++/C#, Visual Basic, Java, Labview, Matlab... 
-  * Firmware updates+  * [[firmware_update|Firmware updates]]
   * Open Source Software & Hardware, programmable and hackable!   * Open Source Software & Hardware, programmable and hackable!
        
Line 43: Line 58:
   * The USB2AX can not communicate with the Dynamixel servos using the RS485 interface (the one with 4 pins).   * The USB2AX can not communicate with the Dynamixel servos using the RS485 interface (the one with 4 pins).
   * Neither can it control any sort of hobby/RC servos or other brand of robot servos.   * Neither can it control any sort of hobby/RC servos or other brand of robot servos.
-  * Compared to the USB2Dynamixel,​ it also lacks the RS232 port (with its big DB9 connector) used to program some controllers from Robotis like the CM-510. +  * [[faq#Q: USB2Dynamixel:​ how does it compare to the USB2AX|Compared to the USB2Dynamixel]], it also lacks the RS232 port (with its big DB9 connector) used to program some controllers from Robotis like the CM-510. 
-  * It can not supply power to the servos (see [[product:​usb2ax:​faq#Q: How to power the servos?|here]]).+  * It can not supply power to the servos (see [[faq#Q: How to power the servos?]]).
   * It is not a generic USB to Serial (even though it can be modified to be one) and has very different capabilities than the LN-101.   * It is not a generic USB to Serial (even though it can be modified to be one) and has very different capabilities than the LN-101.
-  * The USB2AX reserves the ID 0xFD, so it cannot be used by a servo on the bus.+  ​* **The USB2AX reserves the ID 0xFD, so it cannot be used by a servo on the bus.**
   * It does not make coffee, but could be used to create a robot that does!   * It does not make coffee, but could be used to create a robot that does!
 +  * For NI Labview users experiencing problems (including BSOD), see [[product:​usb2ax:​faq#​qi_m_using_labview_and_sometimes_have_problems_like_computer_crashes_and_bsod_what_s_going_on|the FAQ]].
        
 ==== Quickstart ==== ==== Quickstart ====
  
-FIXME +Read the [[product:usb2ax:quickstart|Quickstart Guide]], and be on your way :-)
-    +
-Windows: +
-  * get the [[https://​paranoidstudio.assembla.com/​code/​paranoidstudio/​git/​node/​blob/​master/​usb2ax/​soft/​lufa_usb2ax/​USB2AX.inf|driver]] and install it. +
-  * plug the 3-wire dynamixel cable between the USB2AX and the first servo, and wire-up all other servos +
-  * plug the USB2AX in the USB port, it should appear as a Virtual COM port. +
-  * apply power to the servos +
-  * run RoboPlus Dynamixel Wizard, open the corresponding COM port and run Search +
-  * You should be able to make the servos move by changing the "​Target Position"​ value.+
  
-Linux+For **Linux users**, have a look [[http://www.xevelabs.com/doku.php?id=product:​usb2ax:​faq#​qdynamixel_sdkhow_do_i_use_it_with_the_usb2ax|at the FAQ]] too for some additional "​gotchas"​.
-  ​plug the 3-wire dynamixel cable between the USB2AX and the first servo, and wire-up all other servos +
-  ​plug the USB2AX in the USB portit should appear as /dev/ttyACMx. +
-  * apply power to the servos +
-  * run your application..+
-   +
-{{product:​usb2ax:​usb2axv3.1_connected_s.jpg}}+
  
 ==== To go further... ==== ==== To go further... ====
Line 79: Line 81:
   * [[product:​usb2ax:​firmware_update|How To update the firmware?]]   * [[product:​usb2ax:​firmware_update|How To update the firmware?]]
   * [[product:​usb2ax:​low_latency_guide|A tentative guide on achieving low latency with the USB2AX]]   * [[product:​usb2ax:​low_latency_guide|A tentative guide on achieving low latency with the USB2AX]]
 +  * [[product:​usb2ax:​dynamixel_protocol_notes|Dynamixel protocol additional information]]
 +  * [[product:​usb2ax:​system_troubleshooting|Troubleshooting your Dynamixel setup]]
        
-==== To go even further! ==== +Advanced ​topics ​to use the full potential of the hardware for your specific application! 
-Advanced ​stuff to use the full potential of the hardware for your specific application! +  * [[product:​usb2ax:​firmware_update#​customizing_the_firmware|Customize the firmware]]
- +
-  * [[product:​usb2ax:​custom_firmware|Customize the firmware]]+
   * [[product:​usb2ax:​gpio|GPIO and SPI]]   * [[product:​usb2ax:​gpio|GPIO and SPI]]
-  * [[product:​usb2ax:​firmware_update|Unbricking and programming using ICSP]]+  * [[product:​usb2ax:​firmware_update#ICSP|Unbricking and programming using ICSP]]
        
 ==== Miscellaneous ==== ==== Miscellaneous ====
 +
 +[[product:​usb2ax:​usb2ax_todo|TODO list for the USB2AX...]]
 +
 == History == == History ==
-[[http://​www.xevel.fr/​blog/​index.php?​post/​2011/​11/​24/​USB2AX%3A-the-early-days...|First prototypes]]\\ +{{product:​usb2ax:​usb2ax_family_named.jpg}} 
-[[http://​www.xevel.fr/​blog/​index.php?​post/​2011/​08/​31/​USB2AX|v1.0]]\\ +[[http://​www.xevel.fr/​blog/​index.php?​post/​2011/​11/​24/​USB2AX%3A-the-early-days...|First prototypes]] 
-v2 never saw the light of dayit was very similar to v1 and scraped when I realized it was going to be much bigger than v1. Instead, I went on with v3 that used smaller components (0402 passives instead of 0603, QFN instead of QFP for the ATmega).\\ +[[http://​www.xevel.fr/​blog/​index.php?​post/​2011/​08/​31/​USB2AX|v1.0]],​  
-[[http://​www.xevel.fr/​blog/​index.php?​post/​2011/​12/​06/​The-shape-of-things-to-come|v3.0a]]\\ +[[http://​www.xevel.fr/​blog/​index.php?​post/​2011/​12/​06/​The-shape-of-things-to-come|v3.0a]] 
-[[http://​robosavvy.com/​forum/​viewtopic.php?​t=7448&​start=32|v3.0b]]\\ +[[http://​robosavvy.com/​forum/​viewtopic.php?​t=7448&​start=32|v3.0b]] 
-[[http://​www.xevel.fr/​blog/​index.php?​post/​2012/​04/​03/​USB2AX-mini|USB2AX Mini]]\\ +[[http://​www.xevel.fr/​blog/​index.php?​post/​2012/​04/​03/​USB2AX-mini|USB2AX Mini]] 
-[[http://​forums.trossenrobotics.com/​showthread.php?​5675-USB2AX-v3.1|v3.1a]]\\ +[[http://​forums.trossenrobotics.com/​showthread.php?​5675-USB2AX-v3.1|v3.1a]].\\ 
-And finally the commercial v3.1a, which differs from the original v3.1a only by its corners: they were rounded, they are now square for manufacturing reasons.+v2 never saw the light of day, it was very similar to v1 and scraped when I realized it was going to be much bigger than v1. Instead, I went on with v3 that used smaller components (0402 passives instead of 0603, QFN instead of QFP for the ATmega). 
 +And finally the commercial v3.1a, which differs from the original v3.1a only by its corners: they were rounded, they are now square for manufacturing reasons.\\ 
 +\\ 
 +v3.2a that went on sale on Mai 2014 is a slightly more rationalized version of the 3.1a, witch uses more of the Seeedstudio Open Part Library components in place of more expensive and difficult to source ones (crystal and LEDs mostly). 
  
 == Examples of projects using USB2AX == == Examples of projects using USB2AX ==
 [[http://​forums.trossenrobotics.com/​robots.php?​project_id=8|Xachikoma by Xevel]], the four-legged reason for creating the USB2AX. 4 legs, 5DOF each, plus powered wheels instead of feet.\\ [[http://​forums.trossenrobotics.com/​robots.php?​project_id=8|Xachikoma by Xevel]], the four-legged reason for creating the USB2AX. 4 legs, 5DOF each, plus powered wheels instead of feet.\\
 +[[http://​www.cybedroid.com/​|Aria by Cybedroïd]],​ a life-size humanoid robot.\\
 [[http://​forums.trossenrobotics.com/​showthread.php?​6040-PhantomX-controlled-by-a-Raspberry-Pi&​p=56474#​post56474|Charlotte by KevinO]], an hexapod controlled with a Raspberry Pi through an USB2AX.\\ [[http://​forums.trossenrobotics.com/​showthread.php?​6040-PhantomX-controlled-by-a-Raspberry-Pi&​p=56474#​post56474|Charlotte by KevinO]], an hexapod controlled with a Raspberry Pi through an USB2AX.\\
 +[[http://​www.youtube.com/​watch?​v=Yhv43H5Omfc|HexaWheels by Siempre Aprendiendo]],​ an hexapod with wheels and a Raspberry Pi.\\ 
 +[[http://​www.youtube.com/​watch?​v=lLe8_BYZ3II|Glider by Nick Donaldson]] of [[http://​gotrobots.com]],​ a big hexapod using MX-64T and a USB2AX, with free wheels to move like the [[http://​rraj.rsj-web.org/​en_atcl/​2067|Roller-Walker]]!\\ 
 +[[http://​www.youtube.com/​watch?​v=jfAEUkANyaA|Golem by KevinO]], a big hexapod using an Intel NUC.\\ 
 +[[http://​www.youtube.com/​watch?​v=rkzsbXzyQrk|3D printed leg prototype by HXP2]], using MX-28T and an ODROID-U3.\\ 
 +[[http://​www.youtube.com/​watch?​v=O_EMc5umdDw|demo with BeagleBone Black by bloftin3000]].\\
   ​   ​
 == USB2AX on the web == == USB2AX on the web ==
Line 107: Line 121:
 [[http://​fourwalledcubicle.com/​blog/​2011/​08/​final-year-project-update-boards/​|Fourwalledcubicle]],​ Dean Camera'​s blog.\\ [[http://​fourwalledcubicle.com/​blog/​2011/​08/​final-year-project-update-boards/​|Fourwalledcubicle]],​ Dean Camera'​s blog.\\
 [[http://​www.pobot.org/​USB2AX-une-interface-USB-pour-bus.html|PoBot]] (FR), a review by the French robotics association PoBot.\\ [[http://​www.pobot.org/​USB2AX-une-interface-USB-pour-bus.html|PoBot]] (FR), a review by the French robotics association PoBot.\\
-[[http://​www.flickr.com/​photos/​seeedstudio/​8366381020/​|Seeedstudio]],​ the manufacturer of the USB2AX v3.0a.\\ 
  
   ​   ​
 == Acknowledgments == == Acknowledgments ==
 Contributors:​\\ Contributors:​\\
-[[http://​www.xevel.fr|Nicolas Saugnier (Xevel)]] - Idea, original schematics, firmware, and everything else starting ​at v3.0.\\ +[[http://​www.xevel.fr|Nicolas Saugnier (Xevel)]] - Idea, original schematics, firmware, and starting ​from v3.0 - everything else .\\ 
-[[http://​jleguen.info/​|Julien Le Guen (JLG)]] - Eagle schematics and routing of first versions.\\+Julien Le Guen (JLG) - Eagle schematics and routing of first versions.\\
 Richard Ibbotson (iBot) - optimization of the code for lower latency, improvements to the schematics, implementation of advanced functionalities. Richard Ibbotson (iBot) - optimization of the code for lower latency, improvements to the schematics, implementation of advanced functionalities.
 +
  
 Thanks:\\ Thanks:\\
 Dean Camera for making the greatest USB library for AVR, [[http://​www.fourwalledcubicle.com/​LUFA.php|LUFA]].\\ Dean Camera for making the greatest USB library for AVR, [[http://​www.fourwalledcubicle.com/​LUFA.php|LUFA]].\\
 Weston T. Schmidt for making the cross-platform app [[http://​sourceforge.net/​projects/​dfu-programmer/​|DFU-Programmer]]!\\ Weston T. Schmidt for making the cross-platform app [[http://​sourceforge.net/​projects/​dfu-programmer/​|DFU-Programmer]]!\\
 +[[http://​wiki.cybedroid.com|Cybedroïd]] pour la documentation en Français / for documentation in French.\\
 [[http://​www.trossenrobotics.com/​|Trossen Robotics]], [[http://​robosavvy.com|Robosavvy]],​ [[http://​www.seeedstudio.com|SeeedStudio]] and [[http://​adafruit.com/​|Adafruit]] for the help (direct or indirect) to bring the USB2AX to market.\\ [[http://​www.trossenrobotics.com/​|Trossen Robotics]], [[http://​robosavvy.com|Robosavvy]],​ [[http://​www.seeedstudio.com|SeeedStudio]] and [[http://​adafruit.com/​|Adafruit]] for the help (direct or indirect) to bring the USB2AX to market.\\
 +
  
 Inspirations:​\\ Inspirations:​\\
 [[http://​www.vanadiumlabs.com/​arbotix.html|Arbotix RoboController]]\\ [[http://​www.vanadiumlabs.com/​arbotix.html|Arbotix RoboController]]\\
-[[http://​arduino.cc/​|Arduino Uno]]\\+[[http://​arduino.cc/​en/​Main/​ArduinoBoardUno|Arduino Uno]]\\
 [[http://​www.adafruit.com/​products/​296|Adafruit ATmega32u4 Breakout Board]]\\ [[http://​www.adafruit.com/​products/​296|Adafruit ATmega32u4 Breakout Board]]\\
 [[http://​ruggedcircuits.com/​html/​ruggeduino.html|Ruggeduino]],​ for over-voltage protection on DATA\\ [[http://​ruggedcircuits.com/​html/​ruggeduino.html|Ruggeduino]],​ for over-voltage protection on DATA\\
Line 129: Line 145:
 ==== Download / files ==== ==== Download / files ====
  
-  * Driver for Windows: [[https://paranoidstudio.assembla.com/​code/​paranoidstudio/​git/​node/​blob/​master/usb2ax/soft/​lufa_usb2ax/​USB2AX.inf|usb2ax.inf]] ​ (no need for a driver on Linux and MacOS)+  * Driver for Windows ​(signed Nov2017): [[http://xevelabs.com/​usb2ax/​usb2ax_driver_signed_20171120.zip|USB2AX.inf]] ​ (no need for a driver on Linux and MacOS)
   * [[product:​usb2ax:​specs|Schematics and Bill Of Materials]]   * [[product:​usb2ax:​specs|Schematics and Bill Of Materials]]
-  * Firmware sources, Eagle files for the PCB: [[https://paranoidstudio.assembla.com/code/​paranoidstudio/​git/​nodes/​master/usb2ax|git repository]] +  * Firmware sources, Eagle files for the PCB: [[https://github.com/Xevel/usb2ax|(new) GitHub ​repository]] 
-  * Latest firmware FIXME +  * [[product:usb2ax:firmware|Latest firmware]] 
-  * Firmware update tool: [[http://​www.atmel.com/​tools/​FLIP.aspx|Atmel FLIP (Windows)]],​ [[http://​sourceforge.net/​projects/​dfu-programmer/​|DFU-Programmer (Linux)]] +  * [[http://​www.xevel.fr/​other/​usb2ax_v3.1.stl|STL 3D model]] ​of the USB2AX v3.1a board
-  * [[http://​www.xevel.fr/​other/​usb2ax_v3.1.stl|STL 3D model]]+
   * File for a 3D printed case FIXME   * File for a 3D printed case FIXME
  
 +==== Where to buy? ====
 +
 +The USB2AX is available via multiple distributors,​ see the [[:Start]] page.
  
 +For any comment or question: <​contact@xevelabs.com>​
product/usb2ax/usb2ax.1364871511.txt.gz · Last modified: 2013/04/02 04:58 by xevel