DMX Animatronic Robot
This project describes the development of a fully functional animatronic prototype. It is implemented from scratch and it aims to be a guide for the development of future more complex animatronic robots. The system is based on an Arduino microcontroller. The communication protocol with other devices is DMX512. The choice of this communication protocol is due to the fact that it is a standard in the world of lighting technology, a common environment for this kind of robots. The developed robot includes servo motors and different types of LEDs. The manufacture of the mechanical components has been carried out mainly by 3D printing after modelling it using Solidworks.
Supplies
- Arduino MEGA
- 3 5mm LED
- XLR3 connector
- 5V DC power supply and connector
- 2 MG996R servos
- MAX485 module
- Round WS2812 LED pixel matrix
- 2 servo brackets
- 2 servo gears
- 3x8x4mm bearing
- 12 8x3mm neodymium magnet
- M3 bolts and nuts
Total cost of materials including PLA is about 60$
Design the Animatronic
First of all, if you want to create your own animatronic design, you must design it using a CAD software such as Solidworks or Autodesk fusion 360. Make the design thinking about what actuators and elements (such as servos, lights...) you want to use. If you want to replicate this model you have the STL files available on the next step.
3D Print the Pieces
To print all the pieces I used a 0.16mm layer height and 0.4mm nozzle for a high quality print. The head pieces use support. On such a high quality print, it can take up to 100 hours to print all the necessary pieces on this prototype.
Design the Electronics Circuit
Once you know all the components that will go into your design, take your time to figure out how to wire everything together. I used fritzing software to design the electronics schematic. For this project I used an Arduino MEGA microcontroller.
Polish and Paint the Head Pieces
Once you've printed all the pieces, it's time to polish and spray paint the head. I used black matte paint so it has a gorgeous contrast with the LEDs. Once the paint dries insert the magnets on the head and base holes for the magnetic coupling of the pieces.
Wire the Electronics
Before adding all the components into the assembly you must wire all the electronic components. I used 30cm 26awg cable. To give a better look to the mouth LEDs you can polish them using a fine grain paper sander.
Assemble the Mechanics
Once you have all the components assemble them. Most parts connect using generic M3 bolts and nuts.
Solder the Electronic Boards
To mount all the electronic components I used a 5x7 cm universal circuit board sliced in half. One half contains the communications part and the other half contains the power distribution board. On the electronics box you can also include an XLR3 female connector to plug the DMX cable and a female power jack to power the entire system. In my case I used a 3 pin aviation connector since I didn't have an XLR3 connector. If you use this kind of connector you need to make a DMX to aviation connector cable.
Program the Device
The program uses 3 libraries: FastLED.h, Adafruit_TiCoServo.h and DMXSerial.h . The regular servo library doesn't work because it has conflict with the FastLED library. From this code it's easy to understand how to add more elements or control other kind of actuators, in case of more complex animatronics devices.
Downloads
Test the Device
To test the device you can use any source that outputs DMX. In my case I used a DMX console, but you can create your own Arduino hardware to output DMX with the same library used on this project. You could also use a USB to DMX cable and a software such as Xlights.