Extruder motor won't go
I have a Prusa i3 and a Melzi with a MEGA1284p. I made it from a kit and it came with Repetier 0.9 firmware. I have upgraded this to the latest version using the online configuration tool to copy my original file. Upgrading had no effect on my problem.
Everything works except the Extruder motor and the problem seems to be somewhere in the firmware. I'm hoping its a configuration problem and that there is something fundamentally wrong with my settings. From the Repetier Host I can see that a G1 command is sent whenever I press the Extruder up/down buttons and given that everything else works this not a Comms problem.
I have decided its the firmware because I wrote a Sketch (see below) which sends a stream of pulses out the PB1 pin (in my case this is pin 41) which is connected to the Extruder motor driver and the motor turned continuously. So this means the PCB, processor, motor driver and motor aren't the problem and that leaves the firmware. Here is the Sketch...
void setup()
{
pinMode(1, OUTPUT);
}
void loop()
{
digitalWrite(1, LOW);
delayMicroseconds(100);
digitalWrite(1, HIGH);
delayMicroseconds(100);
}
I'm hoping someone else has had this problem. My next option is to somehow debug what is happening.
Comments
Here's my config I couldn't fit it in the original post...
Thank you, are these conditions active even in manual mode from the Repetier-host?
I have checked anyway and I meet the conditions you suggest but still no go. If I manually push the PLA into the extruder I see a thread (o.3mm) of plastic exiting but not when I press the manual buttons inside the Host software.
I've gone back to the original firmware code to be sure there isn't any variations in 0.91 that are incompatible.
I am experiencing the same problem. Extruder 0 does not respond to manual control in Repetier host.
My system uses a Azteeq X3 controller. Panucatt supplied test firmware works, so Extruder motor is wired correctly. Repetier firmware does "activate" the Extruder motor (gets warm when on and motor locked when not "idle") just will not move in any direction when manual control is used.
Here is a listing of the Config...h for EXT0
#define EXTRUDER_FAN_COOL_TEMP 50
#define EXT0_X_OFFSET 0
#define EXT0_Y_OFFSET 0
#define EXT0_STEPS_PER_MM 370
#define EXT0_TEMPSENSOR_TYPE 1
#define EXT0_TEMPSENSOR_PIN TEMP_0_PIN
#define EXT0_HEATER_PIN HEATER_0_PIN
#define EXT0_STEP_PIN ORIG_E1_STEP_PIN
#define EXT0_DIR_PIN ORIG_E1_DIR_PIN
#define EXT0_INVERSE 1
#define EXT0_ENABLE_PIN E1_ENABLE_PIN
#define EXT0_ENABLE_ON 1
#define EXT0_MAX_FEEDRATE 50
#define EXT0_MAX_START_FEEDRATE 20
#define EXT0_MAX_ACCELERATION 5000
#define EXT0_HEAT_MANAGER 3
#define EXT0_WATCHPERIOD 1
#define EXT0_PID_INTEGRAL_DRIVE_MAX 230
#define EXT0_PID_INTEGRAL_DRIVE_MIN 40
#define EXT0_PID_P 7
#define EXT0_PID_I 2
#define EXT0_PID_D 40
#define EXT0_PID_MAX 255
#define EXT0_ADVANCE_K 0
#define EXT0_ADVANCE_L 0
#define EXT0_ADVANCE_BACKLASH_STEPS 0
#define EXT0_WAIT_RETRACT_TEMP 150
#define EXT0_WAIT_RETRACT_UNITS 0
#define EXT0_SELECT_COMMANDS ""
#define EXT0_DESELECT_COMMANDS ""
#define EXT0_EXTRUDER_COOLER_PIN 5
#define EXT0_EXTRUDER_COOLER_SPEED 255
This is originally from the .91 firmware online config tool.
Any Ideas of how to enable a directional movement on the Extruder motor?
Thanks,
Brian
I am still.... experiencing the same problem.
I have upgraded to 0.92 firmware and V1.06 host. Extruder 0 does not respond to manual control in Repetier host.
My system uses a Azteeq X3 controller. Panucatt supplied test firmware works, so Extruder motor is wired correctly. Repetier firmware does "activate" the Extruder motor (gets warm when on and motor locked when not "idle") just will not move in any direction when manual control is used.
I suspect something is not correct behind one of the following:
#define EXT0_STEP_PIN ORIG_E1_STEP_PIN
#define EXT0_DIR_PIN ORIG_E1_DIR_PIN
#define EXT0_INVERSE 1
#define EXT0_ENABLE_PIN E1_ENABLE_PIN
#define EXT0_ENABLE_ON 1
I have checked the eeprom and steps per mm is 370.
I have attempted a test print. x,y,z,bed heater and extruder heater, extruder fan all work. Everything except the extruder stepper motor works.
in order to check hardware function, I have moved the Extruder stepper to the Z axis driver on the X3. The manual control of the Extruder stepper via the Z axiz driver manual control in Repetier works so Extruder stepper is wired correctly and is functional.
I moved the y axis stepper to the Extruder driver, and used the Repetier manual Extruder control to attempt to move it. Manual control via the Repetier extruder "manual" control does not work.
Any Ideas of how to enable a directional movement on the Extruder motor?
Thanks,
Brian
Hi Brian,
why do you have all pins connected to E1 pins instead of E0 ?
(ORIG_E1_STEP_PIN instead of ORIG_E0_STEP_PIN
etc.)
George
HI Repetier,
I am facing the same problem as my predecessors.
Everything works with Marlin 1.0.0 running on Arduino 2560 with RAMPs and Repetier host 1.0.6.
With Repetier firmware 0.92 on that hardware only XYZ movements and heaters works.
M302 S0 command has no effect
I have .
#define EXT0_ENABLE_ON 0
as I expect it has the same meaning as
#define E_ENABLE_ON 0 // For all extruders
in Marlin's Configuration.h
Am I right?
What the problem could be in?
George
No, Dry run was carefully switched off, and even enable pin on RAMPs stayed on +5V all the time.
On other motors with the same setting of enable pin it was 0.
I had installed the 0.92 firmware version all the time but cold run was not working.
But even with heated extruder it was not running although it stayed in proper state only for short time as the heating was possible only with Dry run switched on. When I switched it off it switched off also extruder heating enable.
but in repetier firmware extruder was not running I swapped pin round (x = E0 and E1 = x) so then the extruder worked
in sprinter i uncomment #define RAMPS_V_1_3 in pin.h under mega so i tryed the same in repetier.
****************************************************************************************
* Arduino Mega pin assignment
*
****************************************************************************************/
#if MOTHERBOARD == 33
#define MOTHERBOARD 3
#define RAMPS_V_1_3
#elif MOTHERBOARD == 34
#define MOTHERBOARD 3
#define RAMPS_V_1_3
#define AZTEEG_X3
#elif MOTHERBOARD == 35
#define MOTHERBOARD 3
#define RAMPS_V_1_3
#define AZTEEG_X3_PRO
#endif
#if MOTHERBOARD == 3
#define KNOWN_BOARD 1
//////////////////FIX THIS//////////////
#ifndef __AVR_ATmega1280__
#ifndef __AVR_ATmega2560__
#error Oops! Make sure you have 'Arduino Mega' selected from the 'Tools -> Boards' menu.
#endif
#endif
// uncomment one of the following lines for RAMPS v1.3 or v1.0, comment both for v1.2 or 1.1
// #define RAMPS_V_1_3 THIS LINE HERE
// #define RAMPS_V_1_0
#ifdef RAMPS_V_1_3
#define ORIG_X_STEP_PIN 54
#define ORIG_X_DIR_PIN 55
then repetier firmware .91 rev8 worked in default setup (x,y,z,E0)
itś maybe somthing to try i dont know
one other thing in repetier firmware setup guide under user interface if "printer name" and "printer company" is the same is it was impossible to upload firmware to the mega in my setup.
hope it helps
cheers
Hi guys,
It seems to me that I solved this problem. In config file there is a line
EXT0_ENABLE_PIN E0_ENABLE_PINIt must be replaced with EXT0_ENABLE_PIN ORIG_E0_ENABLE_PINIn my case it helpedSimonSorry for my previous post. I typed the commands in separate lines, but after posting they all vere merged.
Simon