So I said I would update on how I got past certain hurdles building the frame so I’ll do that here. As well as talk about the controller(s) I will be using for the 3D printer.
The first hurdle I encountered with the frame is not having a jig to space everything out on the triangles of the frame they need to be set pretty close to a center MM distance for the printer to operate correctly. So not having a ruler or measuring tape with mm on it I converted mm to inch, more on that in a bit.
Lets start out with the controller, at first I wanted to use the sanguinololu simply for the fact that it was an all in one package. I had more headaches with this piece of equipment than I have had with any other electronics. Now there’s nothing wrong with using the sang, maybe I just got a bad controller. So I ordered another one and by mistake one a Ramps as well (happy accident I guess). After having a few issues with the sang plus it not being able to support a heated bed without further modification I opted to go with the Ramps I had one. Which seemed fitting as I had won a Arduino Mega 2560 not a week earlier for a great price. So for those of you who don’t know this is a Ramps(the controller on the left) the 2 on the right are sanguinololus, the one on the far right has 4 stepper controllers inserted.
Ramps inserted into an Arduino Mega 2560.
The first problem I had with the sanguinololu is that the masking on the pcb had a small spot in it that had not gotten covered, so we had exposed traces which is bad juju. Soldering the FTDI chip was not a problem along with the USB connector as shown below.
But again there was a problem with the board the computer would not recognize the FTDI at all and on occasion would insta shutdown my computer, which meant there was a short in the board some ware So I contacted the seller and they sent me a new board. On to programming, the Atmega 1284p was supposed to be boot-loaded already Soon found out my computer did not like this controller at all. So I proceeded to make an ISP (In System Programmer) out of my Arduino Mega.
The programming environment did not like this either, error every time turned out I needed shorter cables, but still would not program. So on a whim I tried to load a sketch to the sang and would ya know it, it uploaded just fine the controller just decided it was going to work. Which means they did boot-load the device. All is good I’m still going with the Ramps controller, so I flashed the Mega with the Repetier Host firmware witch is what controls the printer, along with a host application on the computer or via a lcd screen connected to the Ramps and an SD card.
Calibrating Stepper Drivers…
You must and I cannot stress this enough be vary vary careful when messing with these little stepper drivers as they can be damaged very easily. I should know after successfully calibrating 4 stepper drivers i was not paying attention and inserted the 5th stepper driver in backwards (BAD IDEA) this pretty much fried the bugger, It got hot enough to just about cook an egg on given it was big enough. Not to big a deal there relativity cheap 10$ at most, but as I have 10 other divers headed my way for rework I’m not to worried. the recommended way to calibrate and setup the drivers is to set the pot(potentiometer) at 25% counter clockwise. then you may insert the driver into the controller (MAKE SURE POWER IS OFF), and make sure that GND and EN correspond with GND and EN on the board long as you have those 2 matched up you can’t insert the driver wrong.
The recommended calibration has to do allot with math, I hate math but I’m forced to deal with it on a daily basis. So instead of explaining it I’m going to paste a quote from the Reprap wiki. Credit goes ware credit is due.
Pololu drivers current limit configuration
Before going further, it’s very important to configure the current limit of your Pololu drivers or you’ll risk burning out your stepper motors or the Pololus. This should be done with the board powered but before connecting the motors. Always power off before connecting or disconnecting the motors.
First of all, note that there are usually two types of NEMA 17 motors :
- high voltage stepper motors, that work usually on 12 to 14V, the working current is usually below 1A. These don’t work well with microstepping chopper drivers and are not recommended.
- low voltage stepper motors, that work usually on 2 to 4V, the rated current is usually over 1A.
It is safe to drive low voltage stepper motors at a much higher voltage because the Pololu A4988 has current limit functionality. The higher the voltage applied compared to the motor’s rated one, the faster your stepper motor can run. The A4988 chip can only provide up to 2A per coil so choose your stepper motor accordingly.
A good starting point for the current is 0.7 times its rated current. This is typically ~1A with the recommended 1.68A NEMA17 motors and that is about the maximum current the Pololu can deliver without a heatsink or a fan. Note that the rated current of a motor is usually that which gives an 80C temperature rise, which is too hot for plastic brackets, hence the reason to under-run them.
The recommended way to set Pololu drivers current limit is to measure the voltage at the Vref test point. The A4988 datasheet gives all the required information to configure the current limit of a Pololu driver :
The peak current
where RS is the resistance of the sense resistor (Ω) and VREF is the input voltage on the REF pin (V).
On the Pololu driver board, the RS value is 0.05Ω and the VREF can be measured on the test point shown below, or the metal wiper of the pot. I is equal to the recommended current limit for your stepper motor multiplied by 0.7. Thus you can determine the VREF you’ll need with:
For example if your motor is rated 2.8V at 1.68A, you adjust the pot so that you measure the following value for VREF :
Note that the StepStick pin compatible driver has 0.2Ω sense resistors and the current is limited to a little over 1A with VREF = 1.7V.
Symptoms of not enough current are skipping steps and poor microstepping linearity. Too much current will cause the motor or the driver to overheat. When the driver overheats it shutsdown for a few seconds and then restarts again when it cools. This makes the motor twitch when it is stationary and pause during motion.
I got my steppers working fine at around 0.34v they run fine, don’t skip or miss steps, and they don’t run to hot. Now your Z axis might need a little more juice, but just a small amount you can and will overheat these stepper drivers if run to hard without proper ventilation or heat sinks.
Attaching the Brains. Frame issues and how they were solved, Upgrades.
I had my Ramps laying on the workbench wires every ware for the longest time, tell I had a great idea I had a case from an Ipod touch that I was using to hold misc stuff. So I took the top part off and drilled the bolt pattern for the Mega into the lid added some spacers, and since my heated bed was coming with bearing holders used the ones I had already and drilled four more holes and attached them to the bottom. So I could attach the electronics to the frame.
I thought it was a great idea and it turned out really nice. I also attached a high powered 60mm fan to cool the stepper drivers and the Ramps itself. Don’t mind the rats nest of wires there those will get trimmed as I do not want any cross talk happening between my end stops, I also added a 10k ohm pull up resister from the Signal pin to the + pin of the end stop connectors this way I don’t have to reverse the operation of the end stop in the firmware and they just work better this way. The foam pad on the build platform is just a mock heated bed I put there for spacing it is much bigger than the actual heated bed so I know nothing will interfere with the bed.
The problems I had with the frame. Mainly the X axis was that the rod kit I had bought, the smooth rods for the X axis were to long thus stressing the printed X ends. How I eliviated this issue was to drill a hole striaght through one of the X holders like so.
The tubing on each side of the rods helps keep them in place. I have since decided that going with printed pulleys and printed Z axis couplings is going to be a bad idea as they will eventually break, warp, etc. So I bought 2 aluminium Z couplings, and 2 aluminium 16 tooth pulleys off eBay. This will help with Z wobble and backlash on the pulleys which is bad it will warp your prints. Once I get the printer up and running (Printing) I am going to replace the extuder gears with a herringbone style gear set eg. (http://www.thingiverse.com/thing:5111), and better end stop holders (http://www.thingiverse.com/thing:25383)
I have successfully been able to do a dry run with the printer, although not properly tuned. I just wanted to make sure it worked. Here is a video of it doing a dry run, To many it may just look like its spazzing out but I was printing a printable coil spring so its in a relativity tight spot.
Sorry I can’t embed the video right yet. Just click the link and it should start playing.
Until next time, it wont be long before I have this thing up and printing. 🙂