KurtE
Senior Member+
Elmue's thread on Rs485 half duplex, stating that he did not find any support for the Dynamixel servos running on a Teensy, made me think maybe I should should document some of the stuff I have been using since early 2014.
On the Trossen forums, I have a thread talking about converting their PhantomX hexapod using a Teensy 3.1. Actually have similar thread here as well.
My goal was to be able to use the same code base on the Teensy as I did on the Arbotix board and while I was at it also allow me to try other boards, like Arduino Mega... So I modified their bioloid libraries. In particular I mainly changed the Constructor/initializer to not just assume their logical Serial1 object, but instead allow me to pass in a pointer to the Serial object. So for a long time I have been using a copy of their BioloidController library, which I called BioloidSerial.
While the Official arbotix support is still at Arduino 1.0.4, I have versions of this project that I have migrated the code and hardware definitions to the latest Arduino 1.6.x, which Trossen is in the process of testing and hopefully adopting soon.
In this, most of the BioloidSerial support has been integrated into the Arbotix project.
There are several projects up on my github: www.github.com/kurte that use these libraries, including grab bag test program (AX12_TEST). The Phantom_Phoenix project, a project that semi emulates the Arobotix Pro / CM730 servo controller boards (Teensy_Arbotix_Pro).
Note my library is setup to either use the Teensy 3.1 serial port's half duplex mode (only the TX pin needs to be connected) or a more recent addition, I allow you to use a buffer chip with direction pin, that can be used to properly convert the 3.3v output of Teensy to 5Vs.
Unless anyone is interested, I won't go into all of the details of the Bioloid library, except to state, that there is more or less two parts. For this discussion I will use my Serial file names.
The ax12serial.h/cpp file is the low level servo communications code. It allows you to write to and read from the servo(s).
The BioloidSerial.h/cpp is the higher level stuff that provides "pose" capabilities, which includes interpolation/timing code to move servos from one position to a new position in a specific amount of time.
There is some information about the usage of these libraries up on the web including:
http://vanadiumlabs.github.io/arbotix/
Let me know if you have any questions or if you find any problems with these projects.
Thanks
Kurt
On the Trossen forums, I have a thread talking about converting their PhantomX hexapod using a Teensy 3.1. Actually have similar thread here as well.
My goal was to be able to use the same code base on the Teensy as I did on the Arbotix board and while I was at it also allow me to try other boards, like Arduino Mega... So I modified their bioloid libraries. In particular I mainly changed the Constructor/initializer to not just assume their logical Serial1 object, but instead allow me to pass in a pointer to the Serial object. So for a long time I have been using a copy of their BioloidController library, which I called BioloidSerial.
While the Official arbotix support is still at Arduino 1.0.4, I have versions of this project that I have migrated the code and hardware definitions to the latest Arduino 1.6.x, which Trossen is in the process of testing and hopefully adopting soon.
In this, most of the BioloidSerial support has been integrated into the Arbotix project.
There are several projects up on my github: www.github.com/kurte that use these libraries, including grab bag test program (AX12_TEST). The Phantom_Phoenix project, a project that semi emulates the Arobotix Pro / CM730 servo controller boards (Teensy_Arbotix_Pro).
Note my library is setup to either use the Teensy 3.1 serial port's half duplex mode (only the TX pin needs to be connected) or a more recent addition, I allow you to use a buffer chip with direction pin, that can be used to properly convert the 3.3v output of Teensy to 5Vs.
Unless anyone is interested, I won't go into all of the details of the Bioloid library, except to state, that there is more or less two parts. For this discussion I will use my Serial file names.
The ax12serial.h/cpp file is the low level servo communications code. It allows you to write to and read from the servo(s).
The BioloidSerial.h/cpp is the higher level stuff that provides "pose" capabilities, which includes interpolation/timing code to move servos from one position to a new position in a specific amount of time.
There is some information about the usage of these libraries up on the web including:
http://vanadiumlabs.github.io/arbotix/
Let me know if you have any questions or if you find any problems with these projects.
Thanks
Kurt