Retraction Not Working

So unlike any other Threads with the same name - this isn't a case of Incorrect wiring, or RETRACTION_ENABLED or AUTORETRACTION, etc.  I Think...

This is an issue I have with a RAMPS-FD board, which I know in general is sound, I don't have the long list of issues everyone seems to have, and it prints quite nice with a 3 x stepper Z axis, Diamond Head extruder and large build platform (with some slight modifications and an external CNC shield.

The issue I have is that in using the latest Repetier - 1.0.2 (although issue is still there in earlier ones.) initially configured via the configurator - No matter what, I cannot get Retraction to work.  I have had to turn retraction off in the Slicer because when Retraction is triggered instead it winds the Extrusion through forward at what seems double the rate - in other words it seems to use the Retraction speed, but the direction is completely wrong.

Initially I thought it was that the RAMPS FD wiring was maybe wrong and that the DIR pin on the stepper was not correct.  I tested this by simply running a small digitalWrite program to the Arduino DUE which triggered a HIGH and LOW on each of the DIR and step ports of the Respective Extruder pinouts and then plugged an LED into each one, so could see them turning ON and OFF respectively.  So this confirmed the Arduino was able to Correctly trigger on those Physical Pins.

What I have found though during Operation of the Repetier is that the DIR pin on all the Extruders appears to be Constantly HIGH.  So whenever a command like the following issued
21:10:30.247 : N19 G1 E10 F900*43
21:10:32.599 : N20 G92 E0*117
21:10:32.599 : N21 G1 E-10 F1800*61
21:10:33.520 : N22 G92 E0*119
Where we would expect 10mm Extrusion at 900*43 cycles followed by 10mm retraction, at effectively double that...Instead as mentioned it results in 20mm extrusion.

So the question is - could there be something else within the programming setting the Pins High constantly? or something I am missing...
I have tried changing references to "-distance" to just "distance" in the extruder.h file, and disabling RETRACTION_ENABLED - etc.  None of these seem to fix it.
I am using E1 for the Extruder stepper - with pins as per here using Motherboard 403:

#define ORIG_E1_STEP_PIN    43
#define ORIG_E1_DIR_PIN     41
#define ORIG_E1_ENABLE_PIN  39

With the other addition being the adding of the 2 extra Z steppers - defined as E3 and E4

#define ORIG_E3_STEP_PIN    3
#define ORIG_E3_DIR_PIN     5
#define ORIG_E3_ENABLE_PIN  53

// Extra driver on extension port
// Might require pin 25 high for some drivers!
#define ORIG_E4_STEP_PIN    6
#define ORIG_E4_DIR_PIN     7
(Yes using the Servo pins - until I can build a more effective breakout board to use some other Digital Pins.

I notice in the Pinouts of the RAMPS-FD that AUX-4 which goes to the RepRap FULL Discount Smart LCD actually includes D39, 41, 43, 45, 47 and 32 - which are of course E1 and E2 - I'm wondering maybe if this has something to do with it...

I don't think E0 stepper worked at all - and I think this might be an issue with the RAMPS FD board, but also could have been when I was first setting up and using Marlin to try get the 3 Z steppers going...


  • Would just like to note - that I fixed the issue myself, but maybe a reference for anyone else having any similar issues - it was all the way down to my last comments, I moved the Stepper and config to use E0 instead of E1 and retraction works now.  I must not have tried E0 again since updating to 1.0.2
    Anyway - working 100% now.
Sign In or Register to comment.