2015-08-23 (Su) Wrist Mounted Chording Keyboard

Moving the keypad from a forearm position to a typing position in the palm will require movement. As mentioned on 2015-08-09 (Su) the motion was going to be linear but the troubles with that were too much. A four-bar linkage with servo actuation should be easier but inexpensive servos don't rotate enough.

A small servo was dissected to try to convert it to a continuous rotation servo. Continuous rotation servos have a market but they are expensive. Internet sources suggested they could be made from standard servos by removing a tab from the top gear and rewiring the internal potentiometer. This proved to be the case but there were problems.

One servo was disassembled by removing four long bolts from the bottom. The stack of gears was photographed to make reassembly possible later. The pattern on the gears was the gear teeth became finer the closer they were to the motor.

Cover removed from servo

Gears fell onto the desk but the inexpensive servos used plastic gears which had no messy lubrication. Servos with metal gears may require a covering to protect work surfaces. Two of the gears used the potentiometer shaft as an axle. Only the top gear was affixed to the shaft and meant for turning it. Pressure from behind removed the potentiometer from the servo housing. Most potentiometers are enclosed to keep contaminants out but the potentiometer contained in the servo was protected by the servo's case so a second encasement was not necessary. Rotational stops were clearly visible in the potentiometer. Two options seemed possible, the first option was to remove the silver part attached to the potentiometer hub, the second option was to remove the plastic limits from the rim. A pair of flush cutting pliers was used to remove the plastic limits from the rim. Brittle plastic was used so wear eye protection when cutting.

Black potentiometer with brass shaft

Movement limits of potentiometer
 
Closeup of potentiometer
 
Closeup of rim which has been cut to remove limits

[The next two paragraphs, bracketed off, aren't vital to the project but they give some background on how these servos work. Cool stuff in my opinion but not vital to someone who just wants to build this project.]

[Potentiometers inside inexpensive servos give feedback to the control circuit by acting as a voltage divider. Essentially, the potentiometer delivered 0 volts when fully turned one direction and maximum voltage when turned to the other end. In between the voltage was infinitely variable therefore capable of telling exactly where it was supposed to be.

To make a continuous rotation servo the ideal situation is to convince the servo's internal controller that the shaft is at exactly the halfway mark. This way when then the servo gets a command to move to the halfway mark it remains stationary. Subsequently, when the servo is told to move to 0º it will run quickly in one direction and when it is told to turn to 180º it will turn quickly in the other direction. Telling the servo to move to an angle close to the halfway mark, 92º for example, will cause slow rotation. From this it become evident the servo's controller is at least a proportional integral controller and maybe a PID controller. Knowing what those are isn't important to this project. The simpler explanation is that instead of controlling position the servo now controls speed.]

Resistors were soldered to the two wires going to the outer potentiometer terminals. 910Ω resistors were used since they were handy. Both resistors had their loose ends soldered together and the wire going to the center of the potentiometer was soldered at that junction. In a perfect world this would act as a voltage divider where 50% of the voltage is delivered back to the controller. In reality this did not work for at least two reasons. The potentiometer in the servo was 5KΩ (5000Ω) and my fixed resistors were less than 2KΩ total which always isn't a problem but it was here. The second problem was the resistors may have not been perfectly equal so even if they had been sized properly it wouldn't have meant that the servo controller would assume the knob was centered.

[These problems with the tuning was likely due to the internal resistance of the controller. If that resistance is significantly higher than the voltage divider the return voltage is inconsequentially altered. Using a resistance substantially higher than the internal resistance is a viable option.]

 Resistors soldered to potentiometer wires

Resistor junction

Commercially produced continuous rotation servos had a potentiometer accessible which wasn't found on standard servos. This accessible potentiometer was for tuning the servo to acknowledge the halfway point accurately. Using a similar potentiometer should have been done from the beginning. A 1/4" (6mm) hole was drilled in the bottom of the servo case to make room for a potentiometer. A 1KΩ potentiometer was used which had to be scrapped after it was confirmed that the 5KΩ potentiometer had to be matched or exceeded. A 50KΩ potentiometer, 10 times the resistance of the factory potentiometer, was installed and this functioned well.

Hole drilled in the servo case

1KΩ potentiometer mounted in hole

50KΩ potentiometer wired through case hole

Top gears on standard servos have tabs which are meant to keep the servo from rotating too far. These tabs were cut away using flush cutting pliers before the servo was reassembled. The tuning potentiometer was glued in place with a liberal amount of clear glue. This procedure will have to be repeated for at least one other servo. It would be possible to wire the next motor backwards so the servo will turn opposite and the two servos could be signaled with a single controller pin. In addition to conserving pins it would ensure simultaneous movement.

Top gear with limit tabs

Flush cutting pliers trimming limit tabs

Potentiometer glued to bottom of servo

Downloadable Files:
To do:
  • Add mouse functionality.
  • Program changes:
    • Add mouse movement
    • Change mouse clicks to press and release according to buttons
    • Add random number generator
      • 0-1
      • 0-1000
      • Random equation followed by enter
  • Modify servos for continuous rotation.
  • Automate wrist mount.
  • Write instructions
    • Schematic

The rest of the posts for this project have been arranged by date.

First time here?

Completed projects from year 1.
Completed projects from year 2



This disclaimer must be intact and whole. This disclaimer must be included if a project is distributed.

All information in this blog, or linked by this blog, are not to be taken as advice or solicitation. Anyone attempting to replicate, in whole or in part, is responsible for the outcome and procedure. Any loss of functionality, money, property or similar, is the responsibility of those involved in the replication.

All digital communication regarding the email address 24hourengineer@gmail.com becomes the intellectual property of Brian McEvoy. Any information contained within these messages may be distributed or retained at the discretion of Brian McEvoy. Any email sent to this address, or any email account owned by Brian McEvoy, cannot be used to claim property or assets.

Comments to the blog may be utilized or erased at the discretion of the owner. No one posting may claim claim property or assets based on their post.

This blog, including pictures and text, is copyright to Brian McEvoy.

2015-08-23 (Su)

Comments