I linked my OpenCM904 to an expansion board, made properly to command the dynamixels, in my case an mx64at.
I made a code to command it by means accelerations of imu and including the PID in the OpenCR, firstly.
Right now I would like to understand the benefits of OpenCM904. Has it no an incorporate IMU? Can I link an mma8451 Adafruit? In order to create a wifi communication which one is better than the other(OPCR or OPCM)?
Hello @DjangoTango, thank you for your question! To answer your questions, one of the main differences between the OpenCM9.04 and the OpenCR1.0 is that while OpenCR1.0 is designed for use with ROS and TurtleBot3, the OpenCM9.04 is a more basic board that is used to control the ROBOTIS MINI.
By default, OpenCR1.0 supports RS-485 and TTL models of DYNAMIXEL.
OpenCM9.04 supports TTL communication only, but can be combined with the OpenCM 485 EXP board to support RS-485 communication.
In addition, the OpenCR1.0 features a larger number of I/O and includes the IMU, while OpenCM9.04 does not include built-in sensors.
As OpenCM9.04 is a 5V board, you will need to use an appropriate step down to connect any 3.3V IMU.
Let me know if you have any other questions and I’ll be glad to assist!
As the OpenCM 9.04 has TWI (I2C) pins, you could interface with the mma8451 * Note that the OpenCM9.04 e-Manual provides DMP sensor example (MPU 6050).
But the OpenCM 9.04 itself does not support WIFI communication.
If you would like to get DYNAMIXEL work in WIFI, Arduino MKR + DYNAMIXEL shield MKR would be an option.
I think OpenCR has more advantages in creating WiFi environment over OpenCM9.04 as it can mount the Arduino WiFi shield.
In addition, the IMU is already included which will greatly reduces the pain of connecting wires and proving its functionality.
Morever, OpenCM9.04 has 128KB Flash memory while OpenCR has 1MB. This will make a huge difference when creating a prototype with bunch of sensors and testing features. At some point you might run out of memory space to upload the code, but it could be too late to switch back to another option.
Also CPU clock of 72Mhz vs 216Mhz will affect the performance of various algorithms if you are running multi joint robots like humanoids or quadrupped robots.
As a developer, I would recommend to start easier and safer way to reduce your precious development time, and later you can optimize the project for simpler and cheaper configuration.
Thank you so much guys!!