Saturday, May 3, 2014

3D Printer Buildlog #4

Most of the hardware is assembled at this point so I've been focusing on configuring Marlin and testing out several components! Configuring Marlin for ABL was more difficult than I expected. I had originally planned to have the servo control pin on the EXP2 header pin 11 to keep all the standard connections open. However, something wasn't right with the pwm signal so I reverted to the E-stop connection. This may have been related to the fan-pwm issue. A few other tweaks were necessary to get the servo to quit twitching, I'm listing my changes here in case someone else needs help setting up auto bed leveling on a Printrboard!

configuration.h
334 - #define ENABLE_AUTO_BED_LEVELING
400 - #define PROBE_SERVO_DEACTIVATION_DELAY 500
694 - #define NUM_SERVOS 1
701 - #define SERVO_ENDSTOPS {-1, -1, 1}
702 - #define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 90,0}

pins.h
1573 - #define FAN_PIN            -1 // -1 disables fan to fix PWM (Default 16)
Insert the following somewhere after 1545 and before 1574
#ifdef NUM_SERVOS
#define SERVO0_PIN 37               // This corresponds with the E-stop pin closest EXP1 header
#endif

The arrow on the diagram below shows the location of pin 37 on the E-stop connector. This pin should be connected to the servo's control pin. Do not use the other pins to power the servo! The Printrboard cannot provide enough power to run most servos. Instead, power your servo externally. Using an ATX power supply is useful here, since the common voltages (5v/12v) are readily available.

 

To test the servo, send an M280 command which will look something like this: M280 P0 S0
The number following P refers to which servo is being addressed, while the number following S refers to the angle the servo should move to. M280 P0 S45 will move servo 0 to an angle of 45 degrees. Keep in mind that the servo indexing starts at 0!

Another important issue I'd like to bring attention to is the power requirements for large heated beds. I'm using one of the QU-BD 12" silicone heaters which states it can draw up to 20 amps from a 12 volt source. This is quite a bit of power for a Printrboard, too much in fact! To fix this, I wired a simple relay to switch the current. However, the wire I was using between the psu and relay was too thin to handle the current, and could've started a fire. The wiring in question was a 4 pin molex connector from Sparkfun, which looks like 22 gauge. 18 or 16 might be more appropriate and wiring in parallel on the PSU side would help make this a whole lot safer!

1 comment:

  1. thanks this post helped so much. i was able to get it working with the fan as well

    ReplyDelete