Y not moving when homing?
-
Hi *,
I start to feel like a noob here, so I need some help. I have a Cartesian printer (VCast) with a endstop witch at the rear. So my homey.g is like: drive 5mm +y to move away and than x-350 to trigger the endstop. The printer behaved totally stupid so I reduced the homey.g to a minimum:
; homey.g ; called to home the Y axis if global.debug = true M118 S"---------------------- homey.g" echo "test" ; Lower AB currents ;M98 P"0:/macros/print_scripts/xuy_current_low.g" G91 ; relative positioning ;G1 H1 Y5 F8000 ; move some mm away from endstop G1 H1 Y-350 F8000 ; move quickly to Y axis endstop and stop there (first pass) ;G1 H1 Y10 F8000 ; go back a few mm ;G1 H1 Y-15 F500 ; move slowly to Y axis endstop once more (second pass) ;G1 Y155 F6000 ; Get back to center G90 ; absolute positioning ; Restore AB currents ;M98 P"0:/macros/print_scripts/xuy_current_high.g" if global.debug = true M118 S"---------------------- homey END.g"
Long story short: Nothing moves when i execute a "G28 Y" or press the "Home Y" in DWC. But the printer has than the status "homed y". I can move the bed than via the "g1" or the DWC.
The endstops are not triggered when the bed is in the center::Endstops - X: not stopped, Y: not stopped, Z: not stopped, U: not stopped, Z probe: not stopped
But triggered when I move the bed to reach the endstop:
Endstops - X: not stopped, Y: at min stop, Z: not stopped, U: not stopped, Z probe: not stopped
My config.g:
; Configuration file for Duet 3 Mini 5+ (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.0 on Thu Dec 31 2020 04:37:36 GMT+0100 (Central European Standard Time) ; Stepper: ; Moon MS17HD6P4200 ; 1,8° 2A ; Mini 5+ ; Toolboard 1LC v1.0 ; PanelDue v3.0a 4.3" ; General preferences M669 K0 ; Cartesian Printer G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"Marge" ; set printer name ; Network M552 S1 ; Enable WiFi M586 P0 S1 ; enable HTTP M586 P1 S1 ; enable FTP M586 P2 S1 ; enable Telnet M98 P"/sys/variables.g" ; Source the varaibles files ;; Toolboards ; M115 B121 ;; Show board 121 ; M997 B121 ;; Update tool 121 ; M122 B121 ;; Detailed status of toolboard G4 S1 ;wait for expansion boards to start ;; Set some variables; global gl_done=false global probeL_settingsH=10 global probeL_settingsA=1 global probeR_settingsH=10 global probeR_settingsA=1 global debug=false global tool_temp_initial=0 global bed_temp_initial=0 global tool_initial=0 global tool_next=0 global tool_previous=0 global tool0_inital=0 global tool1_inital=0 global tool0_all=0 global tool1_all=0 global tool0_standby=0 global tool1_standby=0 global homing_only=false global do_purgeL=false global do_purgeR=false ;; Drives ; Z M569 P0.0 S0 ; physical drive 0.0 goes backwards Z M569 P0.4 S0 ; physical drive 0.4 goes backwards Z ; Y M569 P0.1 S1 ; physical drive 0.1 goes forward Y ; Left and Right tool stepper X U ;X M569 P0.2 S1 ; physical drive 0.2 goes forward X ; U M569 P0.3 S1 ; physical drive 0.3 goes forward U ; Extruder steppers M569 P121.0 S1 ; physical drive 121.0 goes forward EX M569 P122.0 S1 ; physical drive 122.0 goes forward EU M584 X0.3 U0.2 Y0.1 Z0.0:0.4 E121.0:122.0 ; set drive mapping M350 X32 U32 Y32 Z32 E16:16 I1 ; configure microstepping with interpolation M92 X160 U160 Y160.60 Z800 ; set steps per mm M92 E400.00:409.50 ; set steps per mm M98 P"/macros/print_scripts/speed_printing.g" ; Set the speed for normal printing M906 X1400 U1400 Y1400 Z1400 E900:900 I30 ; set motor currents (mA) and motor idle factor in per cent (E=0,8-1.2) M84 S30 ; Set idle timeout ; Z-level settings M671 X-78.5:407.5 Y120:120 S5 ; Position of the leadscrews :: Snn Maximum correction ; leadscrew 2 leadscrew: 486 ; leadsrew 2 bed: 78.5 (both) ; bed: 329 ; Axis Limits M208 X-43:258 U37:337.9 Y-12:331 Z0:200 ; set axis minima:maxima (Y 332 max) ; Endstops -- Display status with: M119 M574 X1 S1 P"121.io2.in" ; configure active-high endstop for low end on X via pin io0.in M574 U2 S1 P"122.io2.in" ; U2=high_end U1=low_end M574 Y1 S1 P"!0.io1.in" ; configure active-high endstop for low end on Y via pin io1.in M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Z-Probe ;M950 S0 C"121.io0.out" ; create servo pin 0 for BLTouch ;M558 P9 C"^121.io0.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds M98 P"/macros/print_scripts/activate_z_probeL.g" ;G31 P500 X43.3 Y-41.7 Z2.80 ; set Z probe trigger value and offset ; Z3.90 ; set Z probe and trigger height ## Pei flat ;G31 Z3.65 ; set Z probe and trigger height ## Pei Textured ;Hemera: X32.5, Y-42 (From eva homepage) M557 X10:270 Y10:260 S15 ; define mesh grid S15 ;M557 X0:240 Y0:240 S240 ; define mesh grid for bed leveling M308 S0 P"0.temp0" Y"thermistor" A"Bed" T100000 B4138 ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"0.out3+0.out4" T0 Q10 ; create bed heater output on out0 and map it to sensor 0 M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C ;; Bed Corner temp sensor (2=Orange, 3=Brown, 4=Green, 5=Yellow, 6=Purple 7=Black, ) ; Configure Bed corner temp sensor as thermistor on pin temp2 M308 S5 P"0.temp1" Y"thermistor" A"Bed-Corner" T100000 B4138 ; Head 1 (left) ; Tune in with: M303 H1 S270 ; M308 S1 P"121.temp0" Y"thermistor" T500000 B4702 C1.171057e-7 ; configure sensor 1 as thermistor on pin temp1 Revo M308 S1 P"121.temp0" Y"thermistor" T100000 B4725 C7.060000e-8 ; configure sensor 2 as thermistor on pin temp1 Revo M950 H1 C"121.out0" T1 ; create nozzle heater output on out1 and map it to sensor 1 M307 H1 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S310 ; set temperature limit for heater 1 to 310C ; Head 2 (right) ; Tune in with: M303 H2 S270 ; M308 S2 P"122.temp0" Y"thermistor" T500000 B4702 C1.171057e-7 ; configure sensor 2 as thermistor on pin temp1 Slice M308 S2 P"122.temp0" Y"thermistor" T100000 B4725 C7.060000e-8 ; configure sensor 2 as thermistor on pin temp1 Revo M950 H2 C"122.out0" T2 ; create nozzle heater output on out1 and map it to sensor 1 M307 H2 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H2 S310 ; set temperature limit for heater 1 to 310C ;; Fans ; Fan for the printed part left: M950 F0 C"121.out1" Q50 ; create fan 0 on pin 121.out1 and set its frequency M106 P0 S0 H-1 C"Part L" ; set fan 0 value. Thermostatic control is turned off ; Fan for the left hotend M950 F1 C"121.out2" Q50 ; create fan 1 on pin 121.out2 and set its frequency M106 P1 S1 H1 T45 C"Hotend L" ; set fan 1 value. Thermostatic control is turned on ; Fan for the printed part right: M950 F2 C"122.out1" Q50 ; create fan 2 on pin 122.out1 and set its frequency M106 P2 S0 H-1 C"Part R" ; set fan 2 value. Thermostatic control is turned on ; Fan for the right hotend M950 F3 C"122.out2" Q50 ; create fan 3 on pin 122.out2 and set its frequency M106 P3 S1 H2 T45 C"Hotend R" ; set fan 3 value. Thermostatic control is turned on P=No. S=Speed H=ThermostaticMode ;; Tools ; Tool 0 aka "the left wing" X M563 P0 S"L" 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 ; Filament sensor : Status M591 D0 M591 D0 P5 C"121.io1.in" R230:360 E3.0 S0 ; S1 = Enabled S0 = Disabled ; Tool 1 aka "the right wing" U M563 P1 S"R" D1 H2 F3 X3 ; define tool 1 P=No. S=Name D=Extrudor H=Heater F=Fan X=Mapping to X ;G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets ;G10 P1 R0 S0; set initial tool 1 active and standby temperatures to 0C G10 P1 Y0 U0 Z0 S0 R0 ; set tool 1 offsets and temperatures ; Filament sensor M591 D1 P5 C"122.io1.in" R230:360 E3.0 S0 ; S0 = Disabled ; Create the LED stripe and turn it off M950 F4 C"0.out5" Q250 ; LED on out6 ground on top pin, plus on 3rd pin from top (V_OUTLC1) M106 P4 C"LED" S0 ; Case Fans M950 F3 C"0.out6" Q50 ; Fan on out3 ground on top pin, plus on 3rd pin from top (V_OUTLC1) M106 P3 C"Base" S0 ; Setup the FAN and turn it off ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M593 PDAA F30 ; Anti ghosting M911 S10 R11 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss M501 ; load saved parameters from non-volatile memory G21 ; set units to millimeters G90 ; use absolute coordinates M83 ; use relative distances for extrusion ;T0 ; Do not select any tool. The startcode must decide which tool to use first ; Buttons on the toolboards M950 J11 C"121.button0" M581 T11 P11 S1 R0 M950 J12 C"121.button1" M581 T12 P12 S1 R0 M950 J13 C"122.button0" M581 T13 P13 S1 R0 M950 J14 C"122.button1" M581 T14 P14 S1 R0 ;;;;;;;;;;;; Setup Only ;M564 S0 H0 ; Allow movement over the endstops ;M302 P1 ; allow cold extrusion ;M302 S1 ; deny cold extrusion ;M91 ;;;;;;;;;;;; Setup Only END
The 0:/macros/print_scripts/xuy_current_low.g is this:
M913 X60 U60 Y60 ; Set XUY current to 60% ; EOF
I have never seen this strange behaviour before.
What is wrong here?
Cheers, Chriss
-
I have forgotten to mention the hardware:
Board: Duet 3 Mini 5+ (Mini5plus)
Firmware: RepRapFirmware for Duet 3 Mini 5+ 3.5.1 (2024-04-19)
Duet WiFi Server Version: 2.1.0
And Two toolboards 1LC -
@Chriss When you say nothing moves is that with the bed away from the home y switch?
What happens if you run this command from the console?
G1 H1 Y-350 F8000
Does it move? Do you get any errors?
Looking at the moves you have commented out the
G1 H1 Y5 F8000
Should probably be using H2 rather than H1. The following move:
G1 H1 Y10 F8000
Should probably not need a H parameter at all (as the axis should already be homed at that point).
-
@gloomyandy said in Y not moving when homing?:
What happens if you run this command from the console?
G1 H1 Y-350 F8000
Does it move? Do you get any errors?
My bad, I have forgotten to mention that. The bed does not move at all. BUT the axis is after the execution in home state and the printer thinks that it is at -12. So the firmware thinks that the bed is at its y maximum.
Looking at the moves you have commented out the
G1 H1 Y5 F8000
Should probably be using H2 rather than H1. The following move:
G1 H1 Y10 F8000
Should probably not need a H parameter at all (as the axis should already be homed at that point).
True, I tried H2 and yes,... well, there is a "bug in your code anyway, the first one should be Y-5 to move the bed 5mm away from the switch. More like:
G1 H1 Y5 F8000 ; move some mm away from endstop G1 H1 Y-350 F8000 ; move quickly to Y axis endstop and stop there (first pass) G1 Y10 F8000 ; go back a few mm G1 H1 Y-15 F500 ; move slowly to Y axis endstop once more (second pass) G1 Y155 F6000 ; Get back to center
But all of that makes no sense at all when the first one does not work at all. I test with "G91" and "G1 H1 Y-350 F8000" after the reboot at the moment. It is maximal strange. I see no reason why the bed should not move when I execute the "G1 ..." via telnet. It does not move when I do it via the homey.g and the DWC. I can see that the fill gets executed by the simple "echo".
I have the feeling that I made a mistake with the io mapping.... But I do not see it.
Cheers, Chriss
-
One more thing: The bed moves into the expected direction when I use "H2" but not at all when I use "H1" if this helps. And it does not stop when the endstop gets triggered.
-
@Chriss Is your Y endstop actually active high or active low?
M574 Y1 S1 P"!0.io1.in" ; configure active-high endstop for low end on Y via pin io1.in
The comment says active high but the configuration (with the inversion) is what you would normally use for an active low endstop. Might be worth checking the wiring for that endstop if you think it really is active high.
Also I still think that the correct move away from the endstop code should be:
G1 H2 Y5 F8000 ; move some mm away from endstop
As you are moving away from the endstop you do not want to be testing any endstop sate.
-
I'm totally confused now with the endstop, god damn. But you may be right. The config....
This is what I see if the bed is at the rear and I hear the click from the switch:
m119 Endstops - X: not stopped, Y: at min stop, Z: not stopped, U: at max stop, Z probe: not stopped ok
ANd this when I move the bed some mm away:
m119 Endstops - X: not stopped, Y: not stopped, Z: not stopped, U: at max stop, Z probe: not stopped ok
So whatever the wiring is, I see the expected result: "Not stopped when the switch is not pressed and "at min stop" if it is pressed .
Or what do I not understand here?
(I address with you when we talk about the move away, the step before it is my focus point for now.)
Cheers, Chriss
-
@Chriss If there is a problem with your endstop wiring then it may be that when you try to do a move you are picking up noise on the endstop that in effect means the endstop appears triggered straight away. I'd certainly be taking a very close look at the wiring for that endstop and checking the this matches the configuration.
-
@gloomyandy
I will have a closer look tomorrow. I will mok the endstop tomorrow and will check the behaviour than. -
@gloomyandy I just checked it, the Y endstop is indeed normal open. I have not much motivation to change that no normal close for now. That would mean that I have to disassemble lot. There is no reason in my understanding that a normal NO endstop should not work, doesn't it?
Cheers, Chriss
-
OK, the printer has won. I will rebuild the endstop. The Y homing works perfectly when the printer lays on its side. It miss behaves as soon as it is back on its feed. I think that the microswitch has a problem. Case closed, back to the workshop.