Design Process - Group 10

We broke our design challenges into 3 areas: The Cam and Follower Mechanism, The Slider Mechanism, and The Finger Mechanism. 


The Slider Mechanism

The Slider Mechanism was designed to allow the mechanism to position an end effector to a planar set of coordinates.

Since we knew that our mechanism needed two degrees of freedom in order to reach independent coordinates in planar space, we decided to use a 2 DOF mechanism as the base of our design. Furthermore, since cams are much easier to use to deliver a linear rather than rotational input into a mechanism, we decided to have both inputs into our mechanism be prismatic. With these constraints, we decided on a modified offset crank slider mechanism with a second degree of freedom introduced by allowing the base of the crank to move in parallel to the input slider as seen below. In addition to the advantages stated above, our group already had experience designing a crank slider mechanism from our second build assignment so we already had preliminary designs that could serve as a good reference for future designs. 


Our links consisted of 3D-printed pieces with press-fit bearings. We attached shafts by cutting them to length and slotting them into bearings in a similar fashion to what we did in our build 2 mechanism. Friction with the bearings allowed our shafts to stay secure and provide adequate stiffness as there was almost no loading in the xy plane so the flexibility of the bearings did not introduce sufficient errors in positioning to prevent the mechanism from pressing keys. We used the provided bushings for our slider interfaces so as to reduce friction. These bushings were clamped into 3d-printed pieces that formed the connection between our rotating links and the follower mechanism discussed in the next section. 

The Cam and Follower Mechanism

The Cam and Follower Mechanism was designed to turn non-constant rotational motion into synchronized linear motion to provide input to the Slider mechanism. 

Since a major goal of the project was to create a mechanism that was mechanically programmable, we knew we needed to use cams in order to be able to provide adjustable input to our mechanism. In order to allow the follower to move without an extreme amount of stiffness, we decided that the maximum allowable slope on our cam would be 45 degrees. We examined three different cam structures. First, we considered using a disc cam with a varying radius to move the follower. There were several issues with this design. First, we would need to ensure positive contact between the follower and cam was maintained at all times. Second, the required diameter of disc cams would be a minimum of 8 inches without even accounting for the follower angle with respect to the cam. This was unworkable as it would produce a footprint that was far too large to practically manufacture and interface given the general size magnitude of our other components. Second, we considered using linear cams in the form of plates with channels cut into them that would move the follower. However, this design also had several issues. First, the linear nature of the cam would be difficult to synchronize with other cams and to drive with a rotary input in the form of a motor or crank. Second, the size of the cams was once again extremely large with an estimated 12-inch length required to spell out our word and a minimum 4-inch height to allow the mechanism to reach all parts of the keyboard. Again, this was too large of a footprint for our cams and was not easily manufacturable. Ultimately, we decided to use a cylindrical cam where the output path for the follower was set parallel to the axis of rotation of the cam. This design was extremely compact and allowed us to store large variations in slider position as we could do so by lengthening the axis of the cam which led to a 1:1 ratio of slider range of motion to size of the cam which was advantageous to a 1:2 ratio as would be needed in our disc cam. Furthermore, we were able to store many more letters for an equivalent length compared to a linear cam as we could take advantage of the entire diameter of the drum which meant for a given horizontal size footprint, we would have more than three times the amount of length to store keyboard positions in. While this mechanism did have disadvantages in that it was much taller than the other two options, this was satisfactory for our design as we did not need the space above the cams for any other mechanism. We considered using bearings on our followers but rejected the idea due to the increase in complexity, and the need to expand the size of the cams even further. 

In order to synchronize the cams, we integrated a gear onto each cam and added idler gears in between to transfer the rotation across our entire mechanism. In addition, since we planned to drive the mechanism through the idler gears, we made them much smaller than the cam gears in order to increase the amount of torque delivered to the mechanism and reduce speed as can be seen below. Furthermore, all gear sizes were kept constant so as to keep cams synchronized. 


We initially mounted all of our cams and idler gears on separate mounts. However, this created issues with the stiffness of our mounting as our cam generated a moderate amount of friction. In order to alleviate this issue, we combined all of our mounts near our gear train into one plate so as to reduce the amount of play between gears as much as possible. We left mounting independent on the side away from our gears as this made it easier to adjust individual cam positions to allow us to initially synchronize the cams and reorient them in the case of gears slipping. 

We initially had issues with the stiffness of our followers as they would deflect when cams turned creating concerns of snapping the connecting mechanism and affecting the synchronization of the sliders. We mitigated this by adding supports that supported the followers vertically to reduce the loading on the part and prevent deflection.

We initially intended to drive the mechanism with a motor, however, when we actually implemented the motor, we found that the motor speed was too high to allow the mechanism to type properly. As a result, we removed the motor and drove the mechanism with a hand crank. 

The Finger Mechanism

The Finger Mechanism was designed to cause our mechanism to press down on the keyboard at the correct times when given input by a constantly rotating shaft.

This mechanism was difficult to design as when the slider mechanism moved the end effector around the keyboard, the distance from the mounting point on the finger would change. We were not able to make the finger move entirely with the end effector as it needed to interface with the other two cams which were fixed in place. In order to solve this problem, we isolated the planar movement of the finger from its actuation by placing it on a rail connected to a pivot that attached directly to the end of the slider mechanism as illustrated below.


This mechanism was mounted above our slider mechanism in order to position it well for interfacing with the driving gear train and end effector while preventing it from interfering with the slider mechanism.

In order to actuate the finger, we added another tilting bar that would be able to press the key down irrespective of the position of the finger. While this did produce the effect of having the end of the finger travel down more when it was located further away from the base of the mechanism, the difference between the closest key, ‘H’, and the furthest, ‘Enter’ was small enough that this factor did not affect the ability of the mechanism to press the keys. We decided to use a 3rd cam to time the actuation of the finger as it was the easiest way to mechanically program timings. We considered using a Schmidt coupling in order to transmit rotation to the finger cam but ultimately dismissed it because of the complicated manufacturing necessary. For our final prototype, we incorporated the cam into our gear train for simplicity and to make it easier to synchronize our left and right finger cams. 

For our finger cam design, we could not use the same design as our slider cams as the desired direction of movement was perpendicular to the rotational axis rather than parallel. In addition, designing the finger cam in such a way that desired motion was parallel to the cam axis of rotation would have necessitated transferring power a large distance along our base plate which would have introduced additional complexity and inaccuracies in cam synchronization. We initially attempted to use a follower on the outside edge of our rotary finger cam and add weight or a spring to keep the finger up by default with bumps on the outer edge that would push the finger down at specified times. This had several advantages in a quick return of the finger which would prevent the fingertip from dragging along the keyboard. Unfortunately, this was not feasible as the heavy metal shafts on the end effector side of the pivot meant that we were not able to successfully hold the finger up and have quick enough return speed from pressing a key without introducing loading and stiffness issues in other parts of the finger. Ultimately, we used a follower on the inside surface of the rotary cam to lift the finger off of the key when the wall of the cam was thicker. While this had disadvantages in limiting our end effector range of motion in the vertical direction, and a slower return, this approach allowed the finger to press at required times with a great amount of reliability.