Evolution of a Blog

This blog has evolved as I have as a maker. It starts at the beginning of my journey where I began to re-tread my tires in the useful lore of micro electronics and the open-source software that can drive them. While building solutions around micro-electronics are still an occasional topic my more recent focus has been on the 3D Printing side of making.

Monday, February 3, 2014

3D Printer - Electronics (and Firmware) Integration

This is the second in a series of posts describing my adventures with 3D printing, and specifically, with a Prusa I3 RepRap Kit.   The first of the series is here

Installation of the electronics was pretty straightforward.   This variant of the I3 has support panels that extend from the back of the x- and z-axis plane that provide structural stability and a handy place to mount the power supply and electronics.  My only complaint on this mounting was that the holes did not seem to line up with anything but it could just have been me!

The kit comes with some connectors intended to be crimped onto the wires leading from the servos, end stops, and thermistors but I quickly discarded those in favor of simply soldering the ends of some leads that I already had as I simply did not have the patience to do the tiddly bits work.  I have since ordered some nice connectors and am retro-fitting them.

The photo of the electronics shows both my soldering of leads to avoid the crimping of fiddly bits and also a couple of the nicer connectors that I am retro-fitting (the one that says end stop)!

At this point I connected one of my host computers with the Arduino IDE to the printer so I could mess with it's firmware (or Arduino sketches to be more precise). 

Configuration of the firmware provided a larger challenge, again one that documentation would have helped me to avoid!   There are a plethora of choices of firmware for the Arduino/Ramps hardware and somehow I ended up choosing Marlin.   I don't regret this decision I just can't claim any science behind it!

Marlin is driven by a configuration.h file that allows you to customize it's function to your exact hardware configuration.  Some of this is pretty easy such as choosing your board!   One other  parameter caused me a little more trouble.   DEFAULT_AXIS_STEPS_PER_UNIT was key to getting things moving!   This provides the number of steps per unit for each of the servos.   By default the x and y are fine but the z and extruder were way off.   In particular the z as it was so low that my z-axis was barely moving when running the hardware integration test (results of which are shown below).

No comments:

Post a Comment