Preparation

Tools

For this operation you will need three tools: a hex 2.0 screwdriver and pair of tweezers.

tools

 

Parts

The new eyelid motor is a high-end micro RC servomotor from MKS DS75K or DS75K-N. A new servo motor can be used only with the new type of eyelid 40009501 rev.A (has longer shaft). Additionally, you need foam tape (1mm thickness) and a hex screw M2.5x13.5 (included with eyelid set, can also be cut from e.g. M2.5x14).

tools mks  servo mks

screw mks

 

Replacement

1. The first step is to loosen the small screw located on the side of the eyelid. Rotate the eye by hand if needed, hold the eyelid carefully and do not apply too much force.

first

 

 2. Rotate eyelid to a fully closed position. This should give you easy access to the servomotor and wiring system.

second

 

3. Use tweezers to get the servo wire and connector out of the eyeball. 

third

 

4. Pull the eyelid off of the servo shaft. Be extremely careful not to damage the eye during this operation.

fourth

 

5. Pull at the wire to get the damaged servomotor out of the eyeball. 

fifth

 

6. Unplug the servo and remove carefuly old eyelid.

sixth

 

7. Take the new servo and cut four pieces of foam tape (two longer and two shorter) and stick them onto both servo sides, as shown below.

tape mks

 

8. Insert the servo in the same place (inside the pocket located at the centre of the eyeball) as the old one and carefully push it all the way to the bottom.

seventh

 

9. Plug the servo into the eye connector.

nineth mks

 

10. Place the servo wire inside the eyeball. Insert the connector into the space at the back of the eyeball.

tenth mks

 

11. Put new eyelid and gently screw the eyelid onto the motor shaft, but DO NOT tighten the screw. 

eleventh mks

 

12. Now you need to set the motor to a position corresponding to the eyelid being fully open. This is a key step of the operation. Run EMYS control system using the standard starting procedure (described here LINK).

 

eleventh

Then open his eyes to the fullest. You can use this part of code:

t: loop{
   robot.body.neck.head.MoveEyeClose(0,1);
},

The loop is necessary because when the EMYS controller doesn't receive any position commands, it turns off the motor torque after a few seconds to conserve energy. If this happens while the eyelid screw is being tightened, the servo shaft might rotate. This would cause the eyelid to be placed incorrectly with respect to the shaft (the servo only has a limited rotation range). If you lock the eyelid with the motor shaft at the wrong position, the servo will burn out within few first minutes of operation.

 

 13. Rotate the eyelid to a fully open position (torque should already be applied to the motor shaft at this point). 

twelfth

 

14. Do not open to the maximum. As a safety measure, leave a small space between eyelid and eye pipe (~1mm).

thirteenth

 

15. Tighten the eyelid screw.

 fourteenth

 

16. As a final step, perform a few eyelid movements to check if everything is working properly. Please use this code to close and open EMYS' eyes.

   // Stop the loop used to hold the servomotor in position while tightening the eyelid screw
t.stop;
 
   // Close both eyes to the maximum in 1s.
robot.body.neck.head.MoveEyeClose(10,1);
 
   // Open both eyes to the maximum in 1s.
robot.body.neck.head.MoveEyeClose(0,1);
 
   // Move left eyelid to the starting (open) position in 2s.
robot.body.neck.head.eye[left].lid.Move(0, 2);
 
   // Rotate the right eyelid by 50 deg. in 0.5s.
robot.body.neck.head.eye[right].lid.Move(50, 0.5);

 

 

EMYS and FLASH are Open Source and distributed according to the GPL v2.0 © Rev. 0.9.1, 15.05.2017

FLASH Documentation