Sunday, August 11, 2013

Printrbot Commissioning

I've completed my Printrbot's mechanical and electronic systems and now I need to tweak the programming and software for operational control of the printer. This requires a little more work with a Sanguinololu board than what's required with an Arduino based controller.

In order to load the firmware on the Sanguinololu, I had to first install a Virtual Com Port USB driver from http://www.ftdichip.com/Drivers/VCP.htm. I then plugged my Sanguinololu into a USB port and directed the Detected New Hardware prompt to the CDM driver folder. Once a port was established, my Sanguino was recognized by Windows.

Next, I needed to download a pre 1.0 version of Arduino software. I'm using 0023 and it can be found here http://arduino.cc/en/Main/Software. The Arduino program needs to be set up with some new files and a modified avrdude.conf file. I downloaded Sanguino1284p-master.zip from here https://github.com/jmgiacalone/sanguino1284p. I added the contents to the hardware folder of arduino-0023. Allow Windows to merge the tools folder and overwrite the avrdude.conf file. Now the Arduino software will recognize the Sanguino.

Next, I needed an updated version of Marlin firmware. I downloaded Marlin-Marlin_v1 from here https://github.com/ErikZalm/Marlin.

Next I needed to edit the Marlin firmware with the Arduino software. I opened the Configuration.h file and first changed the electronics board setup from the default:
#define MOTHERBOARD 33
to:
#define MOTHERBOARD 62

Next I had to get my mechanical settings corrected specifically for my Printrbot.
Under:
 // Endstop Settings
I changed the default values “true” to "false" in these 3 lines:
const bool X_ENDSTOPS_INVERTING = false;
const bool y_ENDSTOPS_INVERTING = false;
const bool Z_ENDSTOPS_INVERTING = false;
Under:
// Disable axis when it’s not being used.
I changed the default values "true" to "false" in the first 2 lines:
#define DISABLE_X false
#define DISABLE_Y false
I also changed the build volume to Printrbot size:
#define X_MAX_Length 100
#define Y_MAX_Length 100
#define Z_MAX_Length 80

Next, in order for the new fan circuit to be operative, a change needed to be made in the pins.h tab.
Under:
 *Sanguinololu pin assignment
I changed the default value -1 to:
#define FAN_PIN   4

Of course, the usual changes need to be made to the movement settings in the firmware during calibration. Finally, the edited Marlin firmware can be uploaded to the Sanguinololu.

I'm using Printrun as a host. There’s a few things to do here as well. Under Options from the Settings menu, I changed the build_ dimensions to 100x100x80. I then selected the correct port for my USB connection and set the baudrate to match my firmware.

For my first test runs, I used PLA filament and Slic3r. Slic3r has better fan control options and since this is my first printer equipped with a fan, I’d like to test the system more throughly. I used the 5mm cube steps pyramid calibration test (thing:56003) for my first run.





The fan cooling system certainly works very well for areas which are usually more difficult to print without the additional cooling.


Next, I ran some bridging tests. I made a 25x25mm open cube.



There is the slightest hint of one drooping strand on the print and several others that were printed.



Last, I ran a bridging test using the bridge torture test (thing:12925). This model requires a span of 50mm to be printed from 2 posts.



With some tweaking of the slicer options, A successful print was made.

No comments:

Post a Comment