Z instanthomes - M119 throws Zprobe at min, no zprobe set
-
Hello all,
so i wanted to build a laser with rrf and did so, and i more or less worked everything out.
This laser is running for two years now, but now i added a third axis which ofc is Z.Failure: Z wont home, sets it instantly to "axis homed" without moving the motor.
M119 throws the reason:
m119 Endstops - X: not stopped, Y: at min stop, Z: not stopped, Z probe: at min stop
So z probe is at min stop; but i have never set a z probe, and cant for the life of me figure out where RRF gets this from. There is no G30 in any of the "home...g"-files, no M557 or M558
in the config.gVersions:
Duet Web Control 3.4.5
Board: fly_cdyv3 (STMWiFi)
Firmware: RepRapFirmware for STM32F4 based Boards 3.4.0rc2_1 (2022-02-24)
Duet WiFi Server Version: 1.26-08S32-Dconfig.g (i have NO config-override.g):
; Configuration file for Fly-CDYv3 (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.4.0-LPC-STM32+6 on Mon Apr 17 2023 21:26:33 GMT+0200 (Mitteleuropäische Sommerzeit) ; General preferences G21 ; Set dimensions to millimetres G90 ; send absolute coordinates... M550 P"DragonLaser" ; set printer name ; Network M551 P"reprap" ; set password M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Set cartesian type and segment intervall one second and length 3mm --> needed to stop on pause immediatly! ---by paulg4h M669 K0 S1 T3 ; Drives M569 P0 S0 ; physical drive 0 goes forwards using default driver timings M569 P1 S1 ; physical drive 1 goes forwards using default driver timings M569 P2 S1 ; physical drive 2 goes forwards using default driver timings M584 X0 Y2 Z1 ; set drive mapping M350 X16 Y16 Z16 I1 ; configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00 ; set steps per mm M566 X6000.00 Y6000.00 Z60.00 ; set maximum instantaneous speed changes (mm/min) M203 X25000.00 Y25000.00 Z180.00 ; set maximum speeds (mm/min) M201 X1500.00 Y1500.00 Z20.00 ; set accelerations (mm/s^2) M906 X400 Y1200 Z600 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X0 Y0 Z0 S1 ; set axis minima M208 X330 Y395 Z40 S0 ; set axis maxima ; Endstops M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop M574 Y1 S1 P"ystop" ; configure active-low endstop for low end on Y via pin ystop M574 Z1 S1 P"zstop" ; configure active-high endstop for low end on Y via pin ystop ;############## Laser Settings ######################### ---by paulg4h M452 C"servo0" R255 S1 F5000 ; laser uses servo pin, PWM frequency 5kHz M950 P0 C"e0heat" ; M42 P0 S1 ; Set Pin PD12 to On ; Tools M563 P0 D0 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 for triggers: laser pauses when "enclosure"-trigger fires, and steppers are disabled when a trigger inside is fired (when you want the laser to start from a specific point) ; Input/Output M950 J1 C"^xmax" ; Input 1 uses zmax pin, inverted, pullup enabled M581 P1 S0 T1 R1 ; Pause - built-in, no trigger.g needed M950 J4 C"!^ymax" ; Input 4 uses ymax pin, inverted, pullup enabled M581 P4 S0 T4 R0 ; Disable Steppers - trigger4.g
So if anyone has an idea, im very grateful for every hint.
Cheers and have a nice sunday,
eponra -
@eponra you may want to update your firmware to 3.5.2 first. Then post the output of M122, M122 P200 and M98 P"config.g"
Also, what drivers are you running on Z? Make and model please -
Firmware and DWC is updated to 3.5.2 now.
Output of M122:
=== Diagnostics === RepRapFirmware for STM32F4 based Boards (cdy3_f4) version 3.5.2 (2024-06-13 00:54:12) running on STM32F4 (standalone mode) Board ID: Z00A2-0N17A-G8MV0-6MTFN-F42UW-70000 Used output buffers: 2 of 40 (40 max) Error in macro line 50 while starting up: bad drive number === RTOS === Static ram: 21828 Dynamic ram: 90164 of which 1260 recycled Never used RAM 16792, free system stack 167 words CCMRam static ram: 24680 dynamic ram: 34228 free ram 6624 Tasks: NETWORK(2,nWait 7,10.3%,177) LASER(5,nWait 7,0.0%,269) HEAT(3,nWait 6,0.0%,402) Move(4,nWait 6,0.0%,357) TMC22xx(4,nWait 6,0.0%,144) FSWRITE(2,nWait 4,0.2%,448) MAIN(1,running,89.3%,552) IDLE(0,ready,0.1%,29), total 100.0% Owned mutexes: === Platform === Last reset 00:13:42 ago, cause: software Last software reset details not available Error status: 0x04 MCU temperature: min 37.0, current 40.7, max 42.0 Supply voltage: min 24.1, current 24.3, max 24.4, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/28/0, gc cycles 0 Events: 0 queued, 0 completed Driver 0: not present Driver 1: not present Driver 2: Driver 3: Driver 4: Driver 5: Driver 6: Driver 7: Driver 8: Driver 9: Driver 10: Driver 11: Driver 12: Driver 13: Date/time: 2024-08-18 20:29:17 Slowest loop: 23.51ms; fastest: 0.14ms === Storage === Free file entries: 20 SD card 0 detected SD card longest read time 7.9ms, write time 9.8ms, max retries 0 === Move === DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00 no step interrupt scheduled Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === DDARing 1 === Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 === GCodes === Movement locks held by null, null HTTP is idle in state(s) 0 Telnet is idle in state(s) 0 File is idle in state(s) 0 USB is idle in state(s) 0 Aux is idle in state(s) 0 Trigger is idle in state(s) 0 Queue is idle in state(s) 0 LCD is idle in state(s) 0 SBC is idle in state(s) 0 Daemon is idle in state(s) 0 Aux2 is idle in state(s) 0 Autopause is idle in state(s) 0 File2 is idle in state(s) 0 Queue2 is idle in state(s) 0 Q0 segments left 0, axes/extruders owned 0x0000000 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Disabled Longest wait 0ms for reply type 0, peak Tx sync delay 0 free buffers 0 (min 0), ts 0/0/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 26.94ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) HTTP sessions: 1 of 8 Uploads/Errors: 58/3 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Bad header: 0/0 Firmware version 1.26-08S32-D MAC address 30:d3:2d:be:63:fd Module reset reason: Power up, Vcc 0.00, flash size 0, free heap 147860 WiFi IP address 192.168.178.48 Signal strength -41dBm, channel 0, mode 802.11n, reconnections 0 Clock register 00000000 Socket states: 0 0 0 0 0 0 0 0
Output of M122 P200
=== Diagnostics === RepRapFirmware for STM32F4 based Boards version 3.5.2 running on STM32F4 (standalone mode) at 168Mhz Bootloader: Unknown == Configurable Board.txt Settings == board = cdy3_f4 board.longName = Fly CDYv3 STM32F4 leds.diagnostic = NoPin leds.diagnosticOn = true leds.activity = NoPin leds.activityOn = true pins.SetHigh = {NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin} pins.SetLow = {NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin} stepper.powerEnablePin = NoPin stepper.enablePins = {C.1, C.14, B.8, D.7, D.4, D.0, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin} stepper.stepPins = {E.5, E.4, E.3, E.2, E.1, E.0, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin} stepper.directionPins = {C.0, C.13, B.7, D.6, D.3, A.15, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin} stepper.digipotFactor = 0.00 stepper.TmcUartPins = {C.15, A.8, B.6, D.5, D.1, E.9, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin} stepper.DriverType = {tmcuartauto, tmcuartauto, stepdir, stepdir, stepdir, stepdir, stepdir, stepdir, stepdir, stepdir, stepdir, stepdir, stepdir, stepdir} stepper.numSmartDrivers = 2 stepper.num5160Drivers = 0 stepper.spiChannel = 2 stepper.csDelay = 0 stepper.TmcDiagPins = {NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin} heat.tempSensePins = {B.1, A.3, C.4, D.14, NoPin, NoPin, NoPin, NoPin, NoPin} heat.spiTempSensorCSPins = {NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin, NoPin} heat.spiTempSensorChannel = 255 heat.thermistorSeriesResistor = 4700.00 atx.powerPin = NoPin atx.powerPinInverted = false atx.initialPowerOn = true sdcard.internal.type = 2 sdCard.internal.spiFrequencyHz = 25000000 sdCard.external.csPin = NoPin sdCard.external.cardDetectPin = NoPin sdCard.external.spiFrequencyHz = 4000000 sdCard.external.spiChannel = 255 lcd.lcdCSPin = NoPin lcd.lcdBeepPin = NoPin lcd.encoderPinA = NoPin lcd.encoderPinB = NoPin lcd.encoderPinSw = NoPin lcd.lcdDCPin = NoPin lcd.panelButtonPin = NoPin lcd.spiChannel = 255 SPI0.pins = {A.5, A.6, A.7} SPI1.pins = {B.13, B.14, B.15} SPI2.pins = {B.3, B.4, B.5} SPI3.pins = {E.15, NoPin, B.2} SPI4.pins = {NoPin, NoPin, NoPin} SPI5.pins = {A.13, E.15, A.14} 8266wifi.espDataReadyPin = E.10 8266wifi.TfrReadyPin = E.12 8266wifi.lpcTfrReadyPin = E.12 8266wifi.espResetPin = E.11 8266wifi.csPin = B.12 8266wifi.serialRxTxPins = {D.9, D.8} 8266wifi.spiChannel = 1 8266wifi.clockReg = 0 8266wifi.moduleType = esp32 wifi.espDataReadyPin = E.10 wifi.TfrReadyPin = E.12 wifi.espResetPin = E.11 wifi.csPin = B.12 wifi.serialRxTxPins = {D.9, D.8} wifi.spiChannel = 1 wifi.clockReg = 0 wifi.moduleType = esp32 sbc.TfrReadyPin = NoPin sbc.csPin = NoPin sbc.spiChannel = 255 sbc.loadConfig = false sbc.SBCMode = false serial.aux.rxTxPins = {NoPin, NoPin} led.neopixelPin = NoPin power.VInDetectPin = C.3 power.voltage = 24 accelerometer.spiChannel = 255 can.spiChannel = 0 can.csPin = NoPin can.spiFrequencyHz = 15000000 == Defined Pins == fan0,fan = A.0 fan1 = A.1 fan2 = A.2 e0temp,t0 = A.3 spi1sdcs,lcdss = A.4 spi1sck,lcdsck = A.5 spi1miso,lcdmiso = A.6 spi1mosi,lcdmosi = A.7 tx1,btnenc = A.9 rx1,lcdrs = A.10 lcdd6 = A.13 lcdd7 = A.14 bed,hbed = B.0 bedtemp,tb = B.1 lcden = B.2 motsck = B.3 motmiso = B.4 motmosi = B.5 laser = B.9 zmin,zstop = B.10 zmax,zstopmax = B.11 probe = C.2 poweradc = C.3 e1temp,t1 = C.4 e2temp,t2 = C.5 xmax,xstopmax = C.6 xmin,xstop = C.7 btnen1 = D.8 btnen2 = D.9 ymax,ystopmax = D.10 ymin,ystop = D.11 e0heat,he0 = D.12 e1heat,he1 = D.13 e2heat,he2 = D.14 status,neopixel = D.15 servo0 = E.6 spi1cs1 = E.7 spi1cs2 = E.8 lcdcd = E.13 lcdd5 = E.14 lcdd4 = E.15 == Hardware Serial == AUX Serial: Disabled WIFI Serial: UART 3 == PWM == 0: Pin E.6 freq 0 value 0.000000 1: Pin D.12 freq 0 value 1.000000 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: == Attached interrupt pins == 0: 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: E.10 11: 12: B.12 13: 14: 15: == MCU == AdcBits = 14 TS_CAL1 (30C) = 950 TS_CAL2 (110C) = 1195 V_REFINCAL (30C 3.3V) = 1492 V_REFINT raw 6000 V_REF 3.282400 T_MCU raw 3961 T_MCU cal 43.142857 T_MCU calc 40.143013 T_MCU raw (corrected) 3939 T_MCU cal (corrected) 41.418365 T_MCU calc (corrected) 38.440941 Device Id 413 Revison Id 100f CPUId r0p1 == RAM == RAM start 0x20000000 end 0x2001fffc CCMRAM start 0x10000000 end 0x1000fffc == USB == Read overrun 0
Output of M98 P"config.g"
HTTP is enabled on port 80 FTP is disabled TELNET is disabled Error: bad drive number Error: in file macro line 51: G10: Invalid tool number Error: in file macro line 52: G10: Invalid tool number
Z is driven by a noname TMC2209 V3.0
(from AliE; shoplink: https://www.aliexpress.com/item/1005004018605377.html ) -
@eponra did you remove the diag pin?
-
I thought i had cut the DIAG pins off on all of them, but it was still on.
Now i cut that diag pin, and now Z moves for a second and then ends homing,
m119 still shows a zprobe at min stop.On that note, in the "m122 p200"-output i see a under "Defined Pins" -> "probe = C.2".
Is that the culprit? -
@eponra None of your drivers are being detected correctly:
Driver 0: not present Driver 1: not present Driver 2:
Post a picture of the board so that we can see what you have plugged in, also remove one of the drivers and post a picture of the jumpers that are under the driver. Also your board.txt file is incorrect it has :
stepper.numSmartDrivers = 2
But it looks like you (now) have 3 drivers. You need to fix that.
Your tool definition:
; Tools M563 P0 D0 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
Is specifying an extruder drive D0, but you have no extruders defined, so you should probably remove the D0. That is causing errors in your config.g file that show up when you run M98 p"config.g".
Post the output from M119 with Z away from the home switch, then press and hold the Z home switch and run M119 again and post the output from that.
-
I set all my steppers to normal operation, so i thought non-detect is normal.
Here is the picture with all 3 stepper drivers removed (i use Z1 and Z2 as Y1 and Y1, as i have two motors running Y):
Fixed board.txt to include 3 steppers (same here, thought thats only important if i want to use
any "smart/diag" features of the 2209´s).Commented the Tool out.
M119 output with Z endstop manually triggered
and with Z not triggered (it doesnt hit the endstop anyway, as it only moves for 1sec on every homing cycle)
Ninjaedit:
(forgot the pic of the whole board)
-
@eponra if they are 2209s you should be running them in UART mode so change the jumpers