Dual Extruder Upgrade Not Enabling EXT1
Hi, I am having some difficulties getting a second extruder to work on my Delta printer.
I have read through a number of discussions on the forum, and can see that others have been able to resolve their issues and get it working, but none of the solutions have worked for me yet, and I'm not sure what I'm missing.
I have a delta printer originally from a kit, but have made several upgrades. The details of the setup are:
Motherboard: ARM-AVR (Mega 2560)
Firmware: Repetier v1.0.4
Extruders: 2 (EXT0 & EXT1) Chimera (2 In - 2 Out) with separate heating blocks using resistive heating elements
Motors: Nema 17 (5x)
Stepper Driver: A4988 (5x)
PSU: 500w 12V
Heated Bed: 200mm diameter with borosilicate glass
Z-Probe: Piezo probe fitted over EXT0 (similar to this one - https://www.zyltech.com/new-piezo-z-probe-sensor/)
Temp. Sensors: 100k ohm NTC Thermistors
I have run through the Repetier Configuration Tool, several times, and believe I have configured the hardware correctly, but am unable to get the second extruder (EXT1) to function. The heater for EXT1 will not activate, causing the watchdog to log an error, and the motor for EXT1 will not respond to move commands, even after sending an M302 (cold extrusion allowed) command via the Host.
EXT0 is functioning correctly, the temperatures are reporting in Host for both extruders.
I have tested the motor and stepper driver for EXT1 by switching the cable from the EXT1 slot to the EXT0 slot and the motor responds properly as EXT0, but the switched EXT0 motor stops responding in the EXT1 slot (it starts working again when I switch the cables back to the EXT0 slot). So both the EXT0 and EXT1 motors and stepper drivers are functioning.
I have examined the firmware and EEPROM settings and both seem to have the correct settings in place.
The motherboard is registering as board type '33' and I have disabled the 'Fan 1' setting to avoid conflicting pin 9 settings which appear in the board 33 configuration.
I still believe the problem lies in my firmware configuration since both the heater and motor for EXT1 are not responding and the hardware for both has been tested.
From Configuration.h:
I have read through a number of discussions on the forum, and can see that others have been able to resolve their issues and get it working, but none of the solutions have worked for me yet, and I'm not sure what I'm missing.
I have a delta printer originally from a kit, but have made several upgrades. The details of the setup are:
Motherboard: ARM-AVR (Mega 2560)
Firmware: Repetier v1.0.4
Extruders: 2 (EXT0 & EXT1) Chimera (2 In - 2 Out) with separate heating blocks using resistive heating elements
Motors: Nema 17 (5x)
Stepper Driver: A4988 (5x)
PSU: 500w 12V
Heated Bed: 200mm diameter with borosilicate glass
Z-Probe: Piezo probe fitted over EXT0 (similar to this one - https://www.zyltech.com/new-piezo-z-probe-sensor/)
Temp. Sensors: 100k ohm NTC Thermistors
I have run through the Repetier Configuration Tool, several times, and believe I have configured the hardware correctly, but am unable to get the second extruder (EXT1) to function. The heater for EXT1 will not activate, causing the watchdog to log an error, and the motor for EXT1 will not respond to move commands, even after sending an M302 (cold extrusion allowed) command via the Host.
EXT0 is functioning correctly, the temperatures are reporting in Host for both extruders.
I have tested the motor and stepper driver for EXT1 by switching the cable from the EXT1 slot to the EXT0 slot and the motor responds properly as EXT0, but the switched EXT0 motor stops responding in the EXT1 slot (it starts working again when I switch the cables back to the EXT0 slot). So both the EXT0 and EXT1 motors and stepper drivers are functioning.
I have examined the firmware and EEPROM settings and both seem to have the correct settings in place.
The motherboard is registering as board type '33' and I have disabled the 'Fan 1' setting to avoid conflicting pin 9 settings which appear in the board 33 configuration.
I still believe the problem lies in my firmware configuration since both the heater and motor for EXT1 are not responding and the hardware for both has been tested.
From Configuration.h:
extruder: [
{
"id": 0,
"heatManager": 1,
"pidDriveMin": 40,
"pidDriveMax": 230,
"pidMax": 255,
"sensorType": 1,
"sensorPin": "TEMP_0_PIN",
"heaterPin": "HEATER_0_PIN",
"maxFeedrate": 50,
"startFeedrate": 20,
"invert": "0",
"invertEnable": "0",
"acceleration": 5000,
"watchPeriod": 1,
"pidP": 7,
"pidI": 2,
"pidD": 40,
"advanceK": 0,
"advanceL": 0,
"waitRetractTemp": 150,
"waitRetractUnits": 0,
"waitRetract": 0,
"stepsPerMM": 370,
"coolerPin": -1,
"coolerSpeed": 255,
"selectCommands": "",
"deselectCommands": "",
"xOffset": -9,
"yOffset": 0,
"zOffset": 0,
"xOffsetSteps": -720,
"yOffsetSteps": 0,
"zOffsetSteps": 0,
"stepper": {
"name": "Extruder 0",
"step": "ORIG_E0_STEP_PIN",
"dir": "ORIG_E0_DIR_PIN",
"enable": "ORIG_E0_ENABLE_PIN"
},
"advanceBacklashSteps": 0,
"decoupleTestPeriod": 12,
"jamPin": -1,
"jamPullup": "0",
"mirror": "0",
"invert2": "0",
"stepper2": {
"name": "Extruder 0",
"step": "ORIG_E0_STEP_PIN",
"dir": "ORIG_E0_DIR_PIN",
"enable": "ORIG_E0_ENABLE_PIN"
},
"preheat": 190
},
{
"id": 1,
"heatManager": 1,
"pidDriveMin": 40,
"pidDriveMax": 230,
"pidMax": 255,
"sensorType": 1,
"sensorPin": "TEMP_2_PIN",
"heaterPin": "HEATER_2_PIN",
"maxFeedrate": 50,
"startFeedrate": 20,
"invert": "1",
"invertEnable": "0",
"acceleration": 5000,
"watchPeriod": 1,
"pidP": 7,
"pidI": 2,
"pidD": 40,
"advanceK": 0,
"advanceL": 0,
"waitRetractTemp": 150,
"waitRetractUnits": 0,
"waitRetract": 0,
"stepsPerMM": 370,
"coolerPin": -1,
"coolerSpeed": 255,
"selectCommands": "",
"deselectCommands": "",
"xOffset": 9,
"yOffset": 0,
"zOffset": 0,
"xOffsetSteps": 720,
"yOffsetSteps": 0,
"zOffsetSteps": 0,
"stepper": {
"name": "Extruder 1",
"step": "ORIG_E1_STEP_PIN",
"dir": "ORIG_E1_DIR_PIN",
"enable": "ORIG_E1_ENABLE_PIN"
},
"advanceBacklashSteps": 0,
"decoupleTestPeriod": 12,
"jamPin": -1,
"jamPullup": "0",
"mirror": "0",
"invert2": "0",
"stepper2": {
"name": "Extruder 1",
"step": "ORIG_E1_STEP_PIN",
"dir": "ORIG_E1_DIR_PIN",
"enable": "ORIG_E1_ENABLE_PIN"
},
"preheat": 190
}
]
From EEPROM:
From EEPROM:
<?xml version="1.0" encoding="utf-8"?><Repetier-Firmware-EEPROM><epr pos="1028" type="0" value="0">Language</epr><epr pos="75" type="2" value="115200">Baudrate</epr><epr pos="129" type="3" value="0.000">Filament printed</epr><epr pos="125" type="2" value="0">Printer active</epr><epr pos="79" type="2" value="0">Max. inactive time</epr><epr pos="83" type="2" value="360000">Stop stepper after inactivity</epr><epr pos="11" type="3" value="80.0000">Steps per mm</epr><epr pos="23" type="3" value="100.000">Max. feedrate</epr><epr pos="35" type="3" value="40.000">Homing feedrate</epr><epr pos="39" type="3" value="20.000">Max. jerk</epr><epr pos="133" type="3" value="0.000">X min pos</epr><epr pos="137" type="3" value="0.000">Y min pos</epr><epr pos="141" type="3" value="0.000">Z min pos</epr><epr pos="145" type="3" value="200.000">X max length</epr><epr pos="149" type="3" value="200.000">Y max length</epr><epr pos="153" type="3" value="200.000">Z max length</epr><epr pos="1056" type="3" value="0.000">Park position X</epr><epr pos="1060" type="3" value="0.000">Park position Y</epr><epr pos="1064" type="3" value="10.000">Park position Z raise</epr><epr pos="891" type="1" value="70">Segments/s for travel</epr><epr pos="889" type="1" value="180">Segments/s for printing</epr><epr pos="59" type="3" value="1000.000">Acceleration</epr><epr pos="71" type="3" value="1000.000">Travel acceleration</epr><epr pos="1032" type="3" value="50.000">Acceleration factor at top</epr><epr pos="881" type="3" value="217.000">Diagonal rod length</epr><epr pos="885" type="3" value="80.000">Horizontal rod radius at 0,0</epr><epr pos="925" type="3" value="90.000">Max printable radius</epr><epr pos="893" type="1" value="0">Tower X endstop offset</epr><epr pos="895" type="1" value="0">Tower Y endstop offset</epr><epr pos="897" type="1" value="0">Tower Z endstop offset</epr><epr pos="901" type="3" value="210.000">Alpha A(210):</epr><epr pos="905" type="3" value="330.000">Alpha B(330):</epr><epr pos="909" type="3" value="90.000">Alpha C(90):</epr><epr pos="913" type="3" value="0.000">Delta Radius A(0):</epr><epr pos="917" type="3" value="0.000">Delta Radius B(0):</epr><epr pos="921" type="3" value="0.000">Delta Radius C(0):</epr><epr pos="933" type="3" value="0.000">Corr. diagonal A</epr><epr pos="937" type="3" value="0.000">Corr. diagonal B</epr><epr pos="941" type="3" value="0.000">Corr. diagonal C</epr><epr pos="1024" type="3" value="0.000">Coating thickness</epr><epr pos="808" type="3" value="0.200">Z-probe height</epr><epr pos="929" type="3" value="10.000">Max. z-probe - bed dist.</epr><epr pos="812" type="3" value="2.000">Z-probe speed</epr><epr pos="840" type="3" value="75.000">Z-probe x-y-speed</epr><epr pos="800" type="3" value="-9.000">Z-probe offset x</epr><epr pos="804" type="3" value="0.000">Z-probe offset y</epr><epr pos="816" type="3" value="0.000">Z-probe X1</epr><epr pos="820" type="3" value="50.000">Z-probe Y1</epr><epr pos="824" type="3" value="-50.000">Z-probe X2</epr><epr pos="828" type="3" value="-30.000">Z-probe Y2</epr><epr pos="832" type="3" value="50.000">Z-probe X3</epr><epr pos="836" type="3" value="-30.000">Z-probe Y3</epr><epr pos="1036" type="3" value="0.000">Z-probe bending correction A</epr><epr pos="1040" type="3" value="0.000">Z-probe bending correction B</epr><epr pos="1044" type="3" value="0.000">Z-probe bending correction C</epr><epr pos="880" type="0" value="0">Autolevel active (1/0)</epr><epr pos="976" type="3" value="0.000000">tanXY Axis Compensation</epr><epr pos="980" type="3" value="0.000000">tanYZ Axis Compensation</epr><epr pos="984" type="3" value="0.000000">tanXZ Axis Compensation</epr><epr pos="1048" type="1" value="55">Bed Preheat temp.</epr><epr pos="106" type="0" value="1">Bed Heat Manager</epr><epr pos="107" type="0" value="255">Bed PID drive max</epr><epr pos="124" type="0" value="80">Bed PID drive min</epr><epr pos="108" type="3" value="196.000">Bed PID P-gain</epr><epr pos="112" type="3" value="33.000">Bed PID I-gain</epr><epr pos="116" type="3" value="290.000">Bed PID D-gain</epr><epr pos="120" type="0" value="255">Bed PID max value</epr><epr pos="200" type="3" value="370.000">Extr.1 steps per mm</epr><epr pos="204" type="3" value="50.000">Extr.1 max. feedrate</epr><epr pos="208" type="3" value="20.000">Extr.1 start feedrate</epr><epr pos="212" type="3" value="5000.000">Extr.1 acceleration</epr><epr pos="294" type="1" value="190">Extr.1 Preheat temp.</epr><epr pos="216" type="0" value="1">Extr.1 heat manager</epr><epr pos="217" type="0" value="230">Extr.1 PID drive max</epr><epr pos="245" type="0" value="40">Extr.1 PID drive min</epr><epr pos="218" type="3" value="7.0000">Extr.1 PID P-gain/dead-time</epr><epr pos="222" type="3" value="2.0000">Extr.1 PID I-gain</epr><epr pos="226" type="3" value="40.0000">Extr.1 PID D-gain</epr><epr pos="230" type="0" value="255">Extr.1 PID max value</epr><epr pos="231" type="2" value="-720">Extr.1 X-offset</epr><epr pos="235" type="2" value="0">Extr.1 Y-offset</epr><epr pos="290" type="2" value="0">Extr.1 Z-offset</epr><epr pos="239" type="1" value="1">Extr.1 temp. stabilize time</epr><epr pos="250" type="1" value="150">Extr.1 temp. for retraction when heating</epr><epr pos="252" type="1" value="0">Extr.1 distance to retract when heating</epr><epr pos="254" type="0" value="255">Extr.1 extruder cooler speed</epr><epr pos="300" type="3" value="370.000">Extr.2 steps per mm</epr><epr pos="304" type="3" value="50.000">Extr.2 max. feedrate</epr><epr pos="308" type="3" value="20.000">Extr.2 start feedrate</epr><epr pos="312" type="3" value="5000.000">Extr.2 acceleration</epr><epr pos="394" type="1" value="190">Extr.2 Preheat temp.</epr><epr pos="316" type="0" value="1">Extr.2 heat manager</epr><epr pos="317" type="0" value="230">Extr.2 PID drive max</epr><epr pos="345" type="0" value="40">Extr.2 PID drive min</epr><epr pos="318" type="3" value="7.0000">Extr.2 PID P-gain/dead-time</epr><epr pos="322" type="3" value="2.0000">Extr.2 PID I-gain</epr><epr pos="326" type="3" value="40.0000">Extr.2 PID D-gain</epr><epr pos="330" type="0" value="255">Extr.2 PID max value</epr><epr pos="331" type="2" value="720">Extr.2 X-offset</epr><epr pos="335" type="2" value="0">Extr.2 Y-offset</epr><epr pos="390" type="2" value="0">Extr.2 Z-offset</epr><epr pos="339" type="1" value="1">Extr.2 temp. stabilize time</epr><epr pos="350" type="1" value="150">Extr.2 temp. for retraction when heating</epr><epr pos="352" type="1" value="0">Extr.2 distance to retract when heating</epr><epr pos="354" type="0" value="255">Extr.2 extruder cooler speed</epr></Repetier-Firmware-EEPROM>
I have also changed the EEPROM number from 1 to 2 and back each time I make any changes to ensure that the settings are stored in the EEPROM.
Any guidance on what I've missed would be greatly appreciated. Thanks in advance.
I have also changed the EEPROM number from 1 to 2 and back each time I make any changes to ensure that the settings are stored in the EEPROM.
Any guidance on what I've missed would be greatly appreciated. Thanks in advance.
Comments
With heating it is important to set num fans 0 with the board or it uses heater pin for fan, which disables heater constantly. Watch if temperature changes at all until decoupling happens. Then pin wors and power/reaction is just to slow.
I have swapped the stepper driver for EXT1 with a new spare I have, but it made no difference to the motor response. When I swapped the slots I swapped the cable in EXT1 to the EXT0 slot and it worked correctly, but stopped when I swapped it back, so the cable is ok and the motor is ok. I also swapped the stepper driver in EXT1 into the EXT0 slot and it continued to work.
I believe I have the num fans set to 0 and the pin registered as -1 for the fans.
From Configuration.h:
The temp sensor for EXT1 doesn't change when I turn on the heater for EXT1 (it changes by approx. 0.1 degrees up and down from its resting temp). However it does register a slow change when I activate the heater for EXT0 (but I think its because the heating blocks are approx. 3 mm apart and it is simply picking up on the temp from that)
The original kit was He3D K200, the details are here:
https://3dprinteruniverse.com/products/he3d-k200-delta-3d-printer-kit
The one I bought was a single extruder, but I noticed that the one in the link has a chimera dual extruder, so it should be capable of it, I upgraded my psu from 250W to 500W, so it should have enough juice.
What you could do is unhook motor driver and heater and use a blink program to toggle slowly one of the outputs at a time for maybe every 5 seconds. That you can measur eif that output switches state with multimeter so verify output is ok and not the problem.
Or befroe you du swap in vonfig ext 0 and ext1 since logic etc works for first extruder. If then motor on ext1 moves that one is ok and problem is deeper in config.