Homing X fails with new Mini5+ board
-
I just replaced my Duet 2 WiFi and am setting up a Mini5+ now.
After rewiring and adapting the config.g almost everything works fine (bed+hotend heating, steppers, manual trigger of endstop switches, etc), with a strange exception, namely my printer refuses to home the x axis.The printhead just won't move towards the endstop, as dictated by homex.g:
; homex.g ; called to home the X axis ; ; generated by RepRapFirmware Configuration Tool on Tue Oct 09 2018 13:27:56 GMT+0300 G91 ; relative positioning G1 Z5 F1000 H2 ; lift Z relative to current position G1 H1 X-355 F6000 ; move quickly to X axis endstop and stop there (first pass) G1 X5 F3000 ; go back a few mm G1 H1 X-355 F360 ; move slowly to X axis endstop once more (second pass) G1 Z-5 F1000 H2 ; lower Z again G90 ; absolute positioning
When I test the direction of moves it is correct at this point, for all axes.
When executing homex.g line by line from the PanelDue console, it fails to execute the line
G1 H1 X-355 F6000 ; won't move! EDIT: Correction, it moves about 3 mm to the right - in the wrong direction. Why?
It does not like the H1 option with negative values, as it would otherwise execute the negative movement correctly (but to test this, I use lower values to avoid continuous ramming against the endstop if no H1 option provided). The X axis is shown as "homed" afterwards, despite the failure. Y and Z can be homed without issues. My coordinate origin is on the near left side (from observer standpoint), as in most cases. So for X, the endstop is in the low end, and for Y it is in the high end.I am baffled because I did check homing of all axes hours before without problem (after correcting the stepper direction, it changed in some cases). Without changing anything concerning endstops, suddenly x homing fails to execute correctly.
My config.g:
; General preferences M80 C"pson" ; PS-ON header: pin 1=GND + pin2=pson - closes SSR output for permanent power G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M669 K1 ; Select CoreXY mode ; NETWORK M550 "Mini5" ; Set machine name M552 S1 ; Enable network M586 P0 S1 ; Enable HTTP M586 P1 S1 ; S0=Disable FTP, S1=enable FTP M586 P2 S0 T0 ; Disable Telnet ; MISCELLANEOUS M404 N1.75 ; filament diameter M575 P1 S1 B57600 ; Enables PanelDue ; DRIVES M569 P0.0 S0 D2 ; Drive 0 goes backwards - X - D2=spreadcycle M569 P0.1 S0 D2 ; Drive 1 goes backwards - Y M569 P0.2 S0 D2 ; Drive 2 goes backwards - right Z M569 P0.3 S0 D2 ; Drive 3 goes backwards - E (36 mm pancake stepper with orig. cable) M569 P0.4 S1 D2 ; Drive 4 goes forwards - left Z M584 X0.0 Y0.1 Z0.4:0.2 E0.3 ; set drive mapping for ind. Z axis: Z4=Left, Z2=Right M671 X-62:372 Y155:155 S9 ; define positions of pivot points (screws) M350 X16 Y16 Z16 E16 I1 ; Configure microstepping with interpolation M92 X200 Y200 Z400 E697 ; Set steps per mm for Sherpa micro (700) M566 X7000 Y7000 Z6000 E6000 P1 ; Set maximum instantaneous speed changes (Jerk) (mm/min)==M203 (mm/sec) M203 X20000 Y20000 Z6000 E7200 ; Set maximum speeds (mm/min) M201 X10000 Y10000 Z200 E8000 ; Set max. accelerations (mm/s^2) M906 X1700 Y1700 Z1000 E1400 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; AXIS LIMITS M208 X-24 Y0 Z0 S1 ; Set axis minima M208 X310 Y310 Z350 S0 ; Set axis maxima ; ENDSTOPS M574 X1 S1 P"^io5.in" ; Set active high endstop (GND+io5.in) M574 Y2 S1 P"^io6.in" ; Y endstop is high(max) (GND+io6.in) M574 Z1 S2 ; Set endstops controlled by probe M581 T3 X Y S1 ; invoke trigger 3 when the X or Y endstop switch is triggered ; Z-PROBE M950 S0 C"io2.out" ; create servo pin 0 for BLtouch M558 K0 P9 C"io2.in" H5 F360:120 T12000 A3 S0.02 ; configure BLTouch probe G31 P25 X28.5 Y-5 Z0.740 ; Set Z probe trigger value, offset and trigger height ; HEATERS M308 S0 P"temp0" Y"thermistor" A"Bed Temp" T100000 B3950 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out5" T0 Q10 ; relocate bed heater control signal output on PWM out5 and map it to sensor 0 M307 H0 R0.475 K2.064:0.000 D2.80 E1.35 S1.00 B0 ; bed heater: Set PID values, disable bang-bang, set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; Set temperature limit for heater 0 (bed) to 120C M308 S1 P"temp1" Y"thermistor" A"Nozzle Temp" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin temp1 (nozzle temp.) M950 H1 C"out2" T1 ; create nozzle heater 1 output on out2 and map it to sensor 1 M307 H1 R2.946 K0.563:0.000 D7.06 E1.35 S1.00 B0 V23.8 ; PID values for hotend, T=210 Copper block+CHT nozzle 14.02.25 M143 H1 S290 ; set temperature limit for heater 1 (nozzle) to 290C ; FANS M950 F0 C"out3" Q500 ; create fan 0 (layer fan) on header OUT3 (pin 2=V_OUTLC1+ and pin4=OUT3-) and set its frequency M106 P0 C"LAYER_FAN" S0 H-1 X1 ; set fan 0 value. Thermostatic control is turned off M950 F1 C"out4" Q500 ; create fan 1 (hotend) fan on header OUT4 (pin 2=V_OUTLC1+ and pin4=OUT4-) set its frequency M106 P1 C"HOTEND_FAN" S0 H1 T45 ; set fan 1 name and value. Thermostatic control based on sensor 1, starts at 45 deg. ; TOOLS M563 P0 S"E3Dv6" D0 H1 F0 ; define tool 0 G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets G10 P0 R0 S0 ; Set initial tool 0 active and standby temperatures to 0C ; CUSTOM SETTINGS M564 H0 S1 ; Let the Jog buttons work M915 X Y S11 R1 F1 ; stall detection, executes driver-stall.g, logs to driver-stall.txt M376 H3 ; Set bed compensation taper (Z fade height) M592 D0 A0.0025 B0.0002 L0.3 ; Non Linear Extrusion PETG 240C <------------ M593 P"ei3" F39 ; Input Shaping M98 P"0:/Macros/Bltouch/Reset" if fileexists("/sys/resurrect.g") ; if there is a resurrect file... M98 P"offer-resume.g" ; ...then execute it (thanks to DC42) T0 ; make tool 0 active
I am using an SSR to provide power to the bed, to avoid high currents on the board itself (this toasted my previous board), but my setup is otherwise quite standard. Also, I am using a BLTouch. This is a custom CoreXY printer.
This happened the first time using firmware 3.6.0-rc1, but nothing changed after upgrading to 3.6.0-rc3. I even reformated the SD Card, just in case (because this is so strange).
Perhaps I am dealing with some kind of firmware quirk provoked by reversed directions of some steppers and am afraid to have to rewire the stepper connections and configure stepper movements all forwards - except someone finds my configuration error.
Thanks in advance.
-
@Triet said in Homing X fails with new Mini5+ board:
Correction, it moves about 3 mm to the right - in the wrong direction. Why?
Does it mark itself as homed at the end of that move? If so, it's detecting the endstop is triggered, either from being misconfigured or picking up interference.
-
@Phaedrux Yes, the axis is showing up as homed afterwards. By the way, how can the homing state be reset as "not homed"?
I cannot find any misconfiguration, for the life of me. Can you perhaps? This is a vanilla setup.
Interference is a valid assumption, I will check that - although I would expect an erratic behaviour in this case.
-
Is moving away from the end-stop sensor 5mm enough to deactivate it?
If the end-stop sensor is activated a G1 H1 move will be skipped over.
Frederick
-
@fcwilt That makes sense. This board has no endstop LED, and the DWC runs somewhere else, so at that very moment I could not see if the state of the endstop was already triggered. I will check that when I am at the site again.
Again, how would I tell the printer "your X axis is not homed"? In other words, how do I de-home an axis?
-
@fcwilt Just to be clear: there is no physical contact with the endstop. If it is triggered, it must have a different reason and a short movement to the right won't release anything, as the printer head is far away.
-
-
undefined Phaedrux marked this topic as a question
-
undefined Phaedrux has marked this topic as solved
-
My next question was going to be, does the endstop show as triggered even when the switch itself isn't pressed. M114 will show you the endstop status.
To unhome, you can power down the motor.
-
@Phaedrux With that one cable loose, yes. I wondered why it was showing constantly being triggered, and at that point, it was clear that something was wrong with the connections.
I do use a crimping tool but I feel that I need three hands and a magnifying glass to insert the three mm free of insulation to exactly fit where they should, and then press without shifting it. I don't know who invented that crimping technique, but he/she does not deserve the Nobel price for that.