Line 28: Line 28:
     Binary sketch size: 56,256 bytes (of a 130,048 byte maximum)
     Binary sketch size: 56,256 bytes (of a 130,048 byte maximum)
     avrdude: stk500_getsync(): not in sync: resp=0x00
     avrdude: stk500_getsync(): not in sync: resp=0x00
=Initial Power Up=
# Remove the tie rods from their magnetic joints in the carriages to prevent damage if something goes awry. Lay the end effector and tie rods on the glass build platform.
# Plug in the power supply to mains.
# While watching the fan on the end effector, plug the barrel connector into the printer. If the fan does not start turning, immediately unplug the barrel connector and ensure that the polarity to both the fan and the controller is correct. If polarity is correct, check the fan power wires for continuity. Make adjustments and repeat until the fan turns properly upon application of power.
# Start Repetier-Host on the host PC and configure Printer Settings: <bold>TBD</bold>
# Connect to the printer by clicking the Connect Button. Select the Manual tab and note that the controls will activate if the connection to the printer is successful.
# Click the Home button (not X, Y or Z home) and note that the carriages should move towards the top of the printer. If they move towards the bottom, the motor wiring is incorrect. ALWAYS UNPLUG THE POWER SUPPLY BEFORE DISCONNECTING MOTOR WIRES. The motor drivers on controller WILL fail if motors are disconnected while the controller is under power, rendering the controller useless.


=Notes on Repetier Firmware for the Delta=
=Notes on Repetier Firmware for the Delta=

Revision as of 18:10, 16 July 2014

Melzi Thermistor Fixed Resistor Value

Melzi controller board with locations of fixed resistors highlighted.

In order to configure firmware so that it controls hot end temperature, both the resistance of the thermistor and the resistance of the fixed resistor on the Melzi board must be known. Note the numbers on the resistors highlighted in the image at right and compare to the magnified images of the resistors:


4.7k-ohm resistor.

If the number is 4700 (4.7 k-ohm), set EXT0_TEMPSENSOR_TYPE to 1.

10k-ohm resistor.

If the number is 1002 (10 k-ohm), set EXT0_TEMPSENSOR_TYPE to 97, uncomment USE_GENERIC_THERMISTORTABLE_1 and ensure that GENERIC_THERM1_R0 is 100000 and GENERIC_THERM1_R2 is 10000.

Firmware

If not already on your computer, download the firmware from github under the Repetier folder. This version of the firmware should have values in the Configuration.h file that are very nearly correct for the printer. Some adjustments will always be required:

  1. Connect the Melzi controller to a host computer with a USB A to mini B cable.
  2. Open the Arduino IDE.
  3. Arduino IDE select correct board.
    Ensure that the proper hardware files for the Melzi controller have been installed by selecting Tools>Board and locate "Mighty 1284p 16 MHz using Optiboot". If not found in the list, return to overview and follow the instructions for installing the hardware files.
  4. Ensure that the Arduino IDE has selected the correct communication port by selecting Tools>Serial Port. If there are multiple ports available, perform an internet search for "serial ports" for the operating system installed (e.g. "windows serial ports") and locate the port assigned to an FTDI USB-serial device. In Windows - go to the control panel and click on the unspecified device, and then the hardware tab and read what port it is.
  5. Select File>Open and navigate to the location where the MOST printer firmware was saved and select Repetier.ino.
  6. Open the configuration.h tab.
    Note that the IDE separates the different files that make up Repetier firmware into different tabs along the top of the edit pane. Locate the Configuration.h tab and click on it.
  7. The bulk of the definitions are logically named and documentation is thorough. Likewise, most of the settings will not need changing, but a few will. It is well worth the time to read through configuration.h and learn what some of the settings do - you will want to tweak your printer and this is the place where tweaking is done.
  8. Locate #define DELTA_DIAGONAL_ROD and ensure that its value is about 250 (there may be a value right of the decimal - it's OK to start with this value).
  9. Locate #define PRINTER_RADIUS and ensure its value is around 126.
  10. Locate #define END_EFFECTOR_HORIZONTAL_OFFSET and ensure it is set to 0.
  11. Locate #define CARRIAGE_HORIZONTAL_OFFSET and ensure that it is also set to 0.
  12. Upload the firmware to the controller (right arrow on toolbar or File>Upload). If the upload was successful, the printer should be ready for commissioning. Calibration is the last step that should be performed.
  • Not having the autoreset jumper shorted produces the following error:
   Binary sketch size: 56,256 bytes (of a 130,048 byte maximum)
   avrdude: stk500_getsync(): not in sync: resp=0x00

Notes on Repetier Firmware for the Delta

It's recommended that new printer builders use the firmware maintained by MTU-MOST at github. After having some experience, everyone is encouraged to download the in-the-wild Repetier firmware https://github.com/repetier/Repetier-Firmware. Note that there are two versions, a release (master) version and a development version. Since these exist in the public domain and almost anyone can change them, what is downloaded will not be configured for your printer - you MUST configure the firmware to work with your printer.

All of OS 3-D printer firmwares were originally written for Cartesian printers and were subsequently modified for use with the increasingly popular delta printers. With some annoying exceptions, most all of the configuration settings for Repetier are located in Configuration.h. As of the current version (development v0.91) the following settings are required (assuming the printer is built per the BOM):

#define NUM_EXTRUDER 1

#define MOTHERBOARD 63

#define DRIVE_SYSTEM 3

#define BELT_PITCH 5

#define PULLEY_TEETH 12

#define STEPS_PER_ROTATION 200

#define MICRO_STEPS 16

#define EXT0_INVERSE false

#define EXT0_HEAT_MANAGER 0

#define ENDSTOP_PULLUP_X_MIN false
#define ENDSTOP_PULLUP_Y_MIN false
#define ENDSTOP_PULLUP_Z_MIN false
#define ENDSTOP_PULLUP_X_MAX true
#define ENDSTOP_PULLUP_Y_MAX true
#define ENDSTOP_PULLUP_Z_MAX true

#define ENDSTOP_X_MAX_INVERTING false
#define ENDSTOP_Y_MAX_INVERTING false
#define ENDSTOP_Z_MAX_INVERTING false

#define MIN_HARDWARE_ENDSTOP_X false
#define MIN_HARDWARE_ENDSTOP_Y false
#define MIN_HARDWARE_ENDSTOP_Z false
#define MAX_HARDWARE_ENDSTOP_X true
#define MAX_HARDWARE_ENDSTOP_Y true
#define MAX_HARDWARE_ENDSTOP_Z true

#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR false

#define X_HOME_DIR 1
#define Y_HOME_DIR 1
#define Z_HOME_DIR 1

Virtually anything else can be tweaked to the user's liking. If you notice nothing changes upon uploading a new configuration:

Setting EEPROM_MODE to anything other than 0 causes the firmware to load settings found in EEPROM - it will ignore changes to Configuration.h unless the value of EEPROM_MODE is changed.

Cookies help us deliver our services. By using our services, you agree to our use of cookies.