Saturday, October 22, 2011

Arduino Exporations: part four - mechanical engineering

The purpose of this project is to wind the pickups, so the main requirement is to have a method of spinning the bobbin. All of the electronics are just to help out. This means that there needs to be a method to mount the bobbin to a shaft, and spin the shaft. Because of the electronic integration, I wanted a rotary encoder to be able to count the number of windings. From ServoCity.com, I purchased: A quarter inch shaft, Two thrust washers, ABS plastic, Two bearings, A wheel hub, A servo mount gear, A shaft mount gear, And a shaft collet. The idea I had was to have the shaft supported on both ends by passing through panels - wood in the prototype, and so the bearings were to ensure smooth turning. The thrust bearings were to ensure that the collet, which would hold the shaft in place on one side of the interior support panel, wouldn't rub during operation. The second thrust bearing, coupled with a spring I bought from Ace Hardware, would go on the other side of the interior panel, with the spring between the thrust bearing and the shaft mount gear. The idea was to both hold the shaft in place, and to allow the user a way to unseat the gear, rotate the shaft manually, then reseat the gear when ready to operate. I'm not sure how well that idea will work out, since the rotary encoder has to remain in a small slot between the IR emitter and detector. The nice thing about the spring is that, since it doesn't rely on a set screw to hold it in place, I can be pretty confident that it won't slip. The ABS plastic became my rotary encoder, with some slots carved in with the Dremel tool. I debated about how many to put in, since this was only going to count rotations, rather than be a robot inertial guidance system. I wanted more than one, since there was no way to determine where the slot might be when starting, and so the count could be off by a whole turn. As a friend pointed out, when you're winding 5,000 times, what's the big deal with +/- 1 turn, but I wanted to be a bit more accurate. Therefore, I decided on 5 slots, since I found a Binary Coded Decimal (BCD) chip in my dad's electronic parts. This is a base ten, or decimal counter, but uses a four bit binary register to count. This means, that instead of the four bits counting from 0 to 15 as in normal binary, the four bits count from 0 to 9. The design of the chip also allowed me to react to a state change when the count hit five and ten. The main reason for using the chip was to allow the Arduino to only be interrupted on each full rotation, rather than on every slit. Thin plywood was chosen for the prototype enclosure, with the main box being 9" x 11" x 11". The 11" width will hopefully counter balance the weight of the wire. The remaining dimensions were mostly chosen to ensure that the bobbin wouldn't stick out, and the rotary encoder wouldn't rub inside. With the wood cut out, I hope to have some pictures soon of the assembled prototype.

No comments:

Post a Comment