top of page
Jennifervandenbrand

Connecting multiple servos | part 2

Updated: Mar 9, 2021

In my previous post, I explained that I had some issues connecting a fourth servo and showed how I solved it. If you haven't read part 1 yet, you can find it here. Part 2 is dedicated to a new problem that arose while testing the four servos.

--------------------------------------------------------------------------------------------------------------------



As we look at something, speak or smile, we move multiple muscles; simultaneously or sequentially. To recreate these movements in an animatronic, we need multiple servos (which we are currently working on). We also expect that these servos are able to animate simultaneously. This is where the new problem comes in.


With the fix from the previous post, we are now able to rotate each of the four servos individually, but the system crashes when we move the servos at the same time.


The video below demonstrates that each servo is able to move individually. As the overlapping animation is playing, you suddenly hear Windows's disconnecting sound. Shortly after the sound, the servos become unresponsive.


Figure 1. Servos misbehaving when all are animated (Own work)


After talking with advisors, we concluded that the servos draw too much current when moving simultaneously, causing the Arduino to restart. The restart disrupts the connection with Autodesk Maya. To reestablish this connection, Maya needs to be restarted to free up the COM port.


--------------------------------------------------------------------------------------------------------------------------

Autodesk Maya needs to be restarted every time the Arduino resets or when the circuit is changed. This makes testing time-consuming and frustrating.

--------------------------------------------------------------------------------------------------------------------------


Currently, the Arduino is powered via a USB cable. From the Arduino board, we use the 5V and GND pins to provide +5V power and ground to our circuit. After doing some additional research, I found out that the Arduino can only provide 40mA from its digital pins, which is not enough.


As a solution to this problem, we have to provide the servos with their own power supply. As the servos start moving, they draw more current than if they were already moving, which will cause a dip in the voltage. A capacitor placed over ground and power should be used to smooth out any voltage changes.


------------------------------------------------------------------------------------------------------------------------

If you want to know more about capacitors and their use, I recommend reading this article.

------------------------------------------------------------------------------------------------------------------------


The circuit will look like the image below

Figure 2. Circuit made with Tinkercad (Own work)








37 views0 comments

Comments


bottom of page