I. Gears
At the very beginning, we used LEGO gears for prototyping because they are easy to get. They did not work that well for several reasons. First, LEGO material is soft, so when we were drilling holes for press-fit, the holes were not straight downward. This gave difficult interlocking the gears. Also the gears were not tightly attached to the Etch A Sketch or stepper motors. Second, it’s hard to find the right size of LEGO. The ones we had can barely reach each other. This created a lot of backlash in our system. So we made our own gears as shown below.
II. Box
Our whole mechanical structure was made of sheet metal at first. But because sheet metal is elastic, the shape of the box changed every time we put our Etch A Sketch on. And the motors were not stable. This was giving us trouble as the backlash was different each time and we could not calibrate it in our software. So we laser-cutted a box out of delrin with precise measurement. The new box can lock the stepper motors in position and make sure our Etch A Sketch always sits on the same place every time we draw.
III. Backlash
The biggest problem we had was backlash. As we mentioned above, there is backlash with the gears as they have space between their teeth. Also Etch A Sketch itself has backlash.When a nob is turned by a little amount, the stylus(pen) might not be moving. In order to fix this problem in our software, we used the following drawing for testing.
While our program commanded the etch a sketch to draw the figure in the black trace in the picture on the left, the picture on the right shows what our etch a sketch was actually doing. For the right edge of the big cube, it's supposed to draw in a zigzag motion. But there was a lot of horizontal backlash(also by just turning the nobs with hands, it can be felt that there is a lot more resistance on the horizontal nob than on the vertical nob), the Etch A Sketch was just moving straight down. But while it was drawing the small square, even it's moving the same horizontal amount as the edge, it actually moved horizontally. This is because when it was drawing the edge, the horizontal nob kept changing its direction between left and right, while it only moved to the left for the small square. So we implemented this in our software by adding extra steps every time a nob's moving direction is different from last time. And this works really well.