November 21, 2020
Description
////// Endstop Settings
// Mechanical endstop with COM to ground and NC to Signal uses "false" here (most common setup).
#define X_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Y_MIN_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define X_MAX_ENDSTOP_INVERTING false // set to true to invert the logic of the endstop.
#define Y_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MAX_ENDSTOP_INVERTING true // set to true to invert the logic of the endstop.
#define Z_MIN_PROBE_ENDSTOP_INVERTING false // set to true to invert the logic of the probe.
/**
* Stepper Drivers
*/
#define X_DRIVER_TYPE A4988
#define Y_DRIVER_TYPE A4988
#define Z_DRIVER_TYPE A4988
#define X2_DRIVER_TYPE A4988
#define Y2_DRIVER_TYPE A4988
#define Z2_DRIVER_TYPE A4988
#define Z3_DRIVER_TYPE A4988
#define Z4_DRIVER_TYPE A4988
#define E0_DRIVER_TYPE A4988
#define E1_DRIVER_TYPE A4988
#define E2_DRIVER_TYPE A4988
#define E3_DRIVER_TYPE A4988
#define E4_DRIVER_TYPE A4988
/**
* Default Axis Steps Per Unit (steps/mm)
*/
#define DEFAULT_AXIS_STEPS_PER_UNIT { 80, 80, 400, 384 }
// @section machine
// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR true // set to true for stock drivers or TMC2208 with reversed connectors
#define INVERT_Y_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_Z_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
// @section extruder
// For direct drive extruder v9 set to true, for geared extruder set to false.
#define INVERT_E0_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
#define INVERT_E1_DIR false // set to false for stock drivers or TMC2208 with reversed connectors
Wenn Ihr die Änderungen eingetragen habt, müstt ihr das ganze compilieren:
"Sketch" und "Export compiled binary"
Dann die "Marlin.ino.hex" aus dem Marlin Verzeichniss auf den Drucker Überspielen.
Falls ihr es benötigt, für z.B. "Firmware Updater" über Octoprint:
Flash method: avrdude
AVR MCU: ATmega2560
AVR Programmer Type: wiring
Nach Erfolgreichen Flashen, müsst ihr noch mit "M502" die Standard Werte laden und mit "M500" speichern.
Extruder kalibrieren, PID-Tuning durchführen, Bett Leveln, glücklich sein :-D
Ich hoffe ich habe nichts vergessen und es hilft euch für euren Umbau weiter!
################################################################
Conversion to optical (Z) limit switches
What do you need for this conversion:
Optical end stops, as you can find them on Amazon, Ali and elsewhere (5V) (I had these here: https://www.amazon.de/dp/B01B4FV0HQ/ref=cm_sw_em_r_mt_dp_LA8TFbCBDE450)
Another cable each as a power supply for the end stops (board -> end stop) .. (if no cable is included with the end stops)
A firmware to compile yourself (I used this here: https://github.com/davidramiro/Marlin-Ai3M-2.0.x)
The Arduino IDE (https://www.arduino.cc/en/main/software)
and a couple of printed end stop holders / adapters and breakers (no idea what they are called ^^) for the level screws
Soldering iron or 1-2 jumper pins (2.54mm)
And a bit of craft affinity, wire cutters, a few M3 screws + nuts, very small slotted screwdrivers or pointed tweezers (to change the assignment of the JST connector)
Where do I get the 5V to supply the end stops with voltage?
I measured it and it doesn't really matter, all 5V pins have the same potential.
The 5V pins of: D42 and D43 or a limit switch (V) would be suitable
Since the previous limit switches get the 5V from the piggyback circuit board and it is too weak, it unfortunately cannot be used. But the rest fits
So bring one of the 5V pins to the limit switches via a jumper pin (or simply solder it on) by cable.
Then reassign the pin assignment at the limit switch according to the designations (G-> G, S-> S, 5V-> V).
Actually, you can already test the whole thing: With the G-Code "M119" you can query the status of the end stops. But please do not drive home !!
-> As a precaution, put one hand on the power switch !!!!!
Then fix the end stops on the printed adapter (2x M3 screw + nut) and attach it to the frame (either screws + nuts, or cut a thread in the adapter)
Then attach the "interrupter" to the adjusting screw for leveling and roughly adjust (switched off motors, Z-axis move / turn by hand -> please both sides at the same time ^^)
If everything fits mechanically / electrically, it goes to the firmware.
You edit / start / open the "Marlin.ino" from your downloaded and unzipped firmware.
Select under Tools -> Board: "xxx", the "Arduino Mega or Mega 2560".
Open the "Marlin.ino" again if you haven't already done so and change the parameters that I have listed below.
(In the DavidRamiro firmware, you also have to adjust the stepper drivers! And as I noticed, also reverse the direction of rotation)
Firmware changes:
Stepper driver adjustments (Stock Driver -> A4988)
When you have entered the changes, you have to compile the whole thing:
"Sketch" and "Export compiled binary"
Then transfer the "Marlin.ino.hex" from the Marlin directory to the printer.
If you need it, e.g. for "Firmware Updater" via Octoprint:
Flash method: avrdude
AVR MCU: ATmega2560
AVR Programmer Type: wiring
After successful flashing, you still have to load the standard values with "M502" and save with "M500".
Calibrate extruder, perform PID tuning, bed leveling, be happy :-D
I hope I haven't forgotten anything and it will help you with your renovation!
License:
Creative Commons - Attribution - Non-Commercial