Nitinol Animatronic Eye
This Animatronic Eye Mechanism uses nitinol memory wires for simple and silent actuation. Custom PCBs enable precise control and feedback for each wire’s position. 3D-printing the mechanism's components has allowed for quick iterative prototyping.
Quick project summary:
Step 1: Defining the project scope and goals
Step 2: Background research and ideation
Step 3: Developing the nitinol control PCB
Step 4: Iteratively prototyping the eyeball mechanism
Technical skills employed:
Hardware: Flexinol SMA wire, custom-designed nitinol control PCB, Adafruit PCA9685 PWM breakout, Adafruit ADS1015 ADC breakout, Adafruit Metro Mini
Prototyping: SMT reflow soldering, electronics component selection, PCB design and procurement, Design for 3D printing & assembly
CAD: AutoDesk Fusion 360 - parametric modeling, assembly modeling, circuit diagrams, PCB modeling
Fig 1. The cheap servos used in my previous animatronic mask were much too noisy and undermined the overall illusion
Defining project scope and goals:
I had a ton of fun creating my first animatronic mask a few years ago and have wanted to build a more advanced version. The biggest challenge has been finding affordable, silent servo motors, as the mechanical whir of even the most high-end servos undermines the illusion of animatronics when up close.
I aim to create truly silent animatronics that don’t require expensive components. I’ve decided to start with an eyeball since it’s a natural addition to my mask project and requires 3-dimensional rotational motion, making it an interesting challenge.
I have defined the scope of this design as follows:
Mechanical actuation is inaudible at close proximity (~1 ft)
Costs less than $25 USD for actuator and mechanism components (estimated based on portions of materials used)
Minimum +/- 35 degrees of motion up/down and left/right
Can be powered using commonly available batteries or power supplies
Designed with ease of assembly and maintenance in mind
Fig 2. This snapshot shows an early iteration of my test setup. I’m using v1.0 of the nitinol control PCB with two opposing wires.
Background research and ideation:
To begin the process of designing the system for controlling my nitinol actuators, I scoured the internet for information on nitinol’s capabilities and applications, including existing control circuits. I gathered the following information:
Nitinol is a 50% nickel, 50% titanium shape memory alloy. It is flexible at low temperatures when in its martensitic phase (characterized by a more easily deformed crystalline structure). At higher temperatures, the alloy converts to its austenitic phase (rigid, compact crystalline structure), causing it to “remember” and return to a predefined shape.
Commonly used as an actuator in wire form, with 3%-5% axial deflection.
Control circuits heat nitinol wire by passing a current through it, requiring a reliable, constant current source to ensure the wire is not damaged.
PWM signals control wire length proportional to duty cycle and facilitate quicker, consistent heating.
Actuation time depends on heating/cooling speed, sometimes resulting in considerable hysteresis. Using opposing wires reduces hysteresis for finer control.
Nitinol wire resistance is proportional to length. If measured accurately, it can be used for positional feedback.
Using this information, I developed a control circuit as shown below:
Fig 3. An early concept involved an outer socket holding the eyeball, with wires pulling from inside. There was too much friction for this to be practical.
Iteratively prototyping the eyeball mechanism
I’ve been developing the mechanism for my animatronic eyeball synchronously with the nitinol control PCB so that updates and improvements to either component inform design choices for the other.
Many existing designs for animatronic eyeballs are available online, but all of them use servo motors for actuation. I want to see if I can come up with a mechanism specially suited to nitinol actuation, which means there are several interesting design constraints.
The small range of motion of nitinol wire requires mechanical amplification through levers or something similar.
Nitinol wire can contract itself under power but must be stretched back out with some external force. It will not stay contracted under tension once power is shut off. To save energy, the eyeball mechanism must be able to hold its position without active control by the nitinol.
I’ve used 3D printing to rapidly prototype my design ideas. This has been an invaluable tool, but it has also presented some design constraints based on the material properties of 3D-printed parts. Primarily, the roughness of 3D-printed surfaces has made friction a large factor in my designs.
You can see the progression of my mechanism design below: