# PolarPrinter
## Project PolarPrinter

The project was to build a model of a highly portable, easily scaled 3-D printer based on polar printer technology.

## Conceive

When we were handed this project, we had a rough understanding of small electronics and stepper motors. We knew nothing about printing parts on the Makerbot and even less about programming arduinos. Thanks to the last team working on the project we had a rough understanding of the math that would be involved, and they also pointed us in the right direction to figure out how to program the arduino and run our motors. Our first brainstorming session was productive, we came up with a few realistic goals that we thought we could get close to completing in a four week period. we wanted to have one of three poles built and running (even if it wasn't running smoothly). We each decided to work on a different task so we could get more accomplished.

## Design

There was a lot that needed to be done before we were able to come up with what we thought was a suitable design. We were all starting from scratch in almost every aspect of this project. The appropriate software needed to be downloaded, we had to do allot of research, and read and watch many tutorials to help us understand the tools that we were working with. We inevitably hit software snags dealing with incompatibility and format issues.
Material selection was also a big part of the design process. We needed to figure out which motors best suited our needs. We also needed to find a sturdy material to build our frame out of. We wanted to use braided fishing line instead of thread, but for the model the thread suited our needs. looking back we would have made some changes in regard to the thickness of the plexi-glass, but it suited our purposes considering our limited resources.
After working a bit with the Arduino paired with an Adafruit motor shield, we were able to get our steppers to run. Motor 2 however, was skipping steps which caused the motors to be out of sequence which would spell disaster for our printer. After some light troubleshooting, we were able to rule out a voltage issue, faulty motor, faulty motor shield and Arduino, and any faulty wiring. We finally figured out that the RPM was set too high in the Arduino code, this is apparently a common problem and is easily fixed with a few keystrokes. We tweaked the Adafruit multistepper code and ended up with this https://commons.wikimedia.org/wiki/File:Arduino_code_1.pdf
We had to come up with a way to allow for the printer head to move out from the motor assemble and back in without changing the plane that the printer head was moving on. In order to do this we had to maintain a right angle between the motor and the printer head. We used Pythagorean Theorem to solve for the speed the step motors would run at. We know that the height of A is always 12 inches because that was the distance that the two U-bolts were mounted at. That just meant that we had to find the ratio of ∆C: ∆B. This ratio would allow us to keep the printer head level while the printer head was moved from the initial point to the next point that was required.
We are looking to find the change in B and the change in the C. First we chose two B and then using the Pythagorean Theorem we found the C.
    A^2+B^2=C^2
    1) 12^2+6^2=C^2
    2) 12^2+9^2=C^2
For finding ∆C
    C2-C1 =∆C
    15-13.42 =∆C
    1.58=∆C
For finding ∆B
    B2-B1 =∆B
    9-6=∆B
    3=∆B
We now know the ratio to be 1.58:3. This means that for every 3 units the base moves (either towards the motor or away from it) hypotenuse has to move 1.58 units. The step motors can now be programmed with this ratio and the printer head should stay on a level plane.
We had a hazy idea of what we wanted our finished product to look like but we needed to clear up some things and come up with a solid plan for actually creating it. These are some early sketches that we came up with for a realistic and build-able design given the materials at hand and our knowledge. We settled on what is represented in sketch 2 for the motor assembly, but this still left the issue of how we would be controlling our Z axis. we thought about using a pulley system or a cog belt and a set of gears. After presenting this problem to our class we got some great feedback. It was suggested that we use a piece of all thread and a bracket to control vertical motion. A motor will drive the all thread and the motor assembly will move up and down as the threads pass through the bracket. Pictured is a not-to-scale model of the motor bracket and the motor mount that we printed on the Makerbot.

## Implement

After a point we needed to put all of this talk and design into effect. The first thing that we decided to build was the motor assembly, we rigged a piece of plexi glass with our stepper motors and a set of U-bolts. We then fitted the motors with small spools and then wound the spools with thread that would temporarily serve as our cable (our finished product will use braided fishing line). We fed the thread through the U-bolts and tied a nut to the end to simulate the weight of the print head. Here is a picture of our finished motor assembly.
The next portion of the build was the motor mount. This is the actual tower that the motor assembly will be attached to. Using a tap and die set, we set guide pins in either end of the 3/8 all thread.
We used a sturdy wood base and a series of plexi glass supports to house the all thread. We sandwiched everything together using smaller 1/8" pieces of all thread.
The next step was to join the two assemblies to one another to create a piece that actually worked. For this we used sketchup to design a mounting bracket that would be able to print on the Makerbot. These brackets would bolt to our motor assembly and then be threaded onto the motor mount using a set of 3/8 nuts. The nuts were countersunk into the bracket and then epoxied in place.
We then constructed a simple, two stage build platform from plywood and plexi glass. The idea was that the top would be the actual build platform and the base would be used to mount the motor and the gearing assembly to control the Z axis.

## Operate

As far as productive operation of out prototype, we fell a little bit short as we were not able to actually print anything on our 3-D printer. That being said, we were able to get some of the functions on it to run. After the motor assembly was finished, we programmed our motors to run in sync with one another. We tied a 3/8" nut onto the end of the thread to simulate the weight of the print head and we were able to move it up and down via the motors. unfortunately, without two other poles to help support it, the nut only dangled there close to the pole. We ended short of a finished product but were pleased with the progress we made in such a short period of time.