topic_solved 3.3RC1 Z-axis not moving
i am in the progress of setting up my printer to run with a Duet2 wifi +Duex5 in SBC mode, and i have got it connected and Working.
i do how ever have a problem with my z axis steppers not moving.
i have tried to send a "M564 S0 H0" and then move the axis, also did not work.
the 2 z axis stepper are connected to drive 2 and 4, and the jumpers are in place at drive 2
my config.g is just the same one i used before upgrading to SBC mode.
; Configuration file for Duet WiFi (firmware version 1.21) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v2 on Tue Mar 05 2019 15:58:37 GMT+0100 (Centraleuropæisk normaltid) ;3dprint counter M950 S4 C"duex.pwm2" ;heater 7 as servo pin 4 M42 P4 S0 ; servo pin4 set to low ; General preferences G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Network M550 P"P3SBC" ; Set machine name M551 P"iasdf" ; Set password ;M552 S1 ; Enable network ;M586 P0 S1 ; Enable HTTP ;586 P1 S0 ; Disable FTP ;586 P2 S0 ; Disable Telnet ; Drives M584 X0 Y8 E1 Z2:4 V3 W7 U9 ; two Z motors connected to driver outputs Z and E1 M569 P0 S1 ; Drive 0 goes forwards M569 P1 S0 ; Drive 1 goes forwards M569 P2 S1 ; Drive 2 goes forwards M569 P3 S1 ; Drive 3 goes forwards M569 P4 S1 ; Drive 4 goes forwards M569 P8 S0 ; Drive 8 goes backwards V M569 P9 S0 ; Drive 9 goes forwards U M569 P7 S1 ; Drive 7 goes forwards W M350 X16 Y16 Z16:16 V16 U16 W16 I1 ; Configure microstepping without interpolation M350 E16 I1 ; Configure microstepping with interpolation M92 X80.00 Y80.00 Z400.00:400.00 E409.0 U400 V162 W26 ; Set steps per mm M566 X300.00 Y300.00 Z36.00:36.00 E240.00 U200 V3600 W300 ; Set maximum instantaneous speed changes (mm/min) M203 X12000.00 Y12000.00 Z1200.00:1200.00 E7200.00 U3000 V7000 W9000 ; Set maximum speeds (mm/min) M201 X1300.00 Y1300.00 Z120.00:120.00 E3000.00 U500 V900 W900 ; Set accelerations (mm/s^2) M906 X1500.00 Y1500.00 Z800.00:800.00 E1250.00 U750 V1000 W750 I30 ; Set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ;Duel z compensation M671 X-55:296 Y0:0 S5 ; leadscrews at left (connected to Z) and right ; Axis Limits M208 X-8 Y-5 Z0 U0 V-1000 W0 S1 ; Set axis minima M208 X237 Y215 Z200 U75 V1000 W78 S0 ; Set axis maxima ; Stall detection M915 X Y U V W S20 R1 F1 ; Endstops M574 X1 Y1 S3 ; Set endstops controlled by motor load detection M574 U2 W1 S3 M574 Z1 S2 ; Set endstops controlled by probe M574 V1 P"e0stop" S1 ;Filament sensor M591 D0 P1 C"xstop" S0 ;led setup M950 P2 C"e1heat" Q500 M42 P2 I1 S1 ; set lighting on full bright ; Z-Probe M950 S0 C"duex.pwm1" ; create servo pin 0 for BLTouch M558 P9 C"^zprobe.in" H5 F240 T9000 ; Set Z probe type to bltouch and the dive height + speeds G31 P500 X-14.65 Y19,29 Z3.24 ; Set Z probe trigger value, offset and trigger height M557 X20:222 Y15:215 S30 ; Define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 A"Bed" ; configure sensor 0 as thermistor on pin bedtemp M950 H0 C"bedheat" T0 ; create bed heater output on bedheat and map it to sensor 0 M307 H0 A109.9 C411.9 D9.6 V11.7 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 M308 S1 P"spi.cs1" Y"rtd-max31865" A"Hotend" ; create sensor number 1 as a PT100 sensor in the first position on the Duet 2 daughter board connector M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 A354.8 C196.4 D4.3 V12 B0 S1.00 ; disable bang-bang mode for heater and set PWM limit M143 H1 S400 M308 S2 Y"drivers" A"Drivers" ; Set temperature limit for heater 1 to 400C ; Fans M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency M106 P0 S0 H-1 C"Part Cooler" ; set fan 0 value. Thermostatic control is turned off M950 F1 C"fan1" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S1 H1 T45 C"Heatsink Cooler" ; set fan 1 value. Thermostatic control is turned on ;Tools M563 P0 D0 H1 ; 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 M563 P1 D0 H1 ; Define tool 1 G10 P1 X0 Y0 Z0 ; Set tool 1 axis offsets G10 P1 R0 S0 ; Set initial tool 1 active and standby temperatures to 0C M563 P2 D0 H1 ; Define tool 2 G10 P2 X0 Y0 Z0 ; Set tool 2 axis offsets G10 P2 R0 S0 ; Set initial tool 2 active and standby temperatures to 0C M563 P3 D0 H1 ; Define tool 3 G10 P3 X0 Y0 Z0 ; Set tool 3 axis offsets G10 P3 R0 S0 ; Set initial tool 3 active and standby temperatures to 0C M563 P4 D0 H1 ; Define tool 4 G10 P4 X0 Y0 Z0 ; Set tool 4 axis offsets G10 P4 R0 S0 ; Set initial tool 4 active and standby temperatures to 0C ;LCD screen setup M575 P1 S1 B57600 ;Global varibels global purgeLoc = 0 ;retraction setup ;M207 P0 S0.8 F3000 Z0.2 ;basic Retraction setup ; Automatic saving after power loss is not enabled ; M911 S10.7 R22 P"M913 X0 Y0 G91 M83 G1 Z3 E-1 F1000" ; Custom settings are not configured T-1 P0
all the other axis homes and moves just fine.
when i try to home the z axis, the printer will do noting for some time, while i trys to move the z-axis up a bit, then it will move the X and Y to the center of the bed and deploy the Bltouch, and just stay there.
; homez.g ; called to home the Z axis ; ; generated by RepRapFirmware Configuration Tool v2 on Tue Mar 05 2019 15:58:37 GMT+0100 (Centraleuropæisk normaltid) G91 ; relative positioning G1 Z5 F6000 H2 ; lift Z relative to current position G90 ; absolute positioning G1 X120 Y110 F6000 ; go to first probe point G30 ; home Z by probing the bed ; Uncomment the following lines to lift Z after probing ;G91 ; relative positioning ;G1 H2 Z5 F100 ; lift Z relative to current position ;G90 ; absolute positioning
and finally a M122
7.5.2021 10.05.28: M122: === Diagnostics === RepRapFirmware for Duet 2 SBC version 3.3RC1 (2021-05-01 09:58:40) running on Duet 2 1.02 or later + SBC + DueX5 (SBC mode) Board ID: 08DGM-9T6BU-FG3S8-6J1DJ-3SN6M-1SLBG Used output buffers: 1 of 24 (14 max) === RTOS === Static ram: 17420 Dynamic ram: 62872 of which 0 recycled Never used RAM 31268, free system stack 186 words Tasks: SBC(ready,4.9%,268) HEAT(delaying,0.0%,331) Move(notifyWait,0.1%,364) DUEX(notifyWait,0.0%,24) MAIN(running,95.0%,361) IDLE(ready,0.0%,30), total 100.0% Owned mutexes: HTTP(MAIN) === Platform === Last reset 00:05:15 ago, cause: power up Last software reset at 2021-05-07 08:39, reason: User, none spinning, available RAM 30996, slot 1 Software reset code 0x0012 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task SBC Freestk 0 n/a Error status: 0x00 Aux0 errors 0,0,0 Step timer max interval 0 MCU temperature: min 40.6, current 40.9, max 41.2 Supply voltage: min 12.1, current 12.1, max 12.1, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/1, heap memory allocated/used/recyclable 2048/12/0, gc cycles 0 Driver 0: position 0, standstill, SG min/max not available Driver 1: position 0, standstill, SG min/max not available Driver 2: position 0, standstill, SG min/max not available Driver 3: position 0, standstill, SG min/max not available Driver 4: position 0, standstill, SG min/max not available Driver 5: position 0, standstill, SG min/max not available Driver 6: position 0, standstill, SG min/max not available Driver 7: position 0, standstill, SG min/max not available Driver 8: position 0, standstill, SG min/max not available Driver 9: position 0, standstill, SG min/max not available Driver 10: position 0 Driver 11: position 0 Date/time: 2021-05-07 09:05:26 Cache data hit count 4294967295 Slowest loop: 1.27ms; fastest: 0.10ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Move === DMs created 83, maxWait 0ms, bed compensation in use: none, comp offset 0.000 === MainDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === AuxDDARing === Scheduled moves 0, completed moves 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1 === Heat === Bed heaters = 0 -1 -1 -1, chamberHeaters = -1 -1 -1 -1 === GCodes === Segments left: 0 Movement lock held by null HTTP* is doing "M122" 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 Code queue is empty. === Filament sensors === Extruder 0 sensor: ok === DueX === Read count 0, 0.00 reads/min === SBC interface === State: 4, failed transfers: 0 Last transfer: 4ms ago RX/TX seq numbers: 9884/9884 SPI underruns 0, overruns 0 Number of disconnects: 0, IAP RAM available 0x0d08c Buffer RX/TX: 0/0-0 === Duet Control Server === Duet Control Server v3.3-rc1 Code buffer space: 4096 Configured SPI speed: 8000000 Hz Full transfers per second: 33.82 Codes per second: 0.07 Maximum length of RX/TX data transfers: 3565/784
So i was working on it a bit more, and it seems i get this error when i try to home the z axis
Error: M350: Driver 2 does not support x0 microstepping with interpolation Driver 4 does not support x0 microstepping with interpolation
and it seem to report that even if i change the microstep value
jay_s_uk last edited by
M350 X16 Y16 Z16:16 V16 U16 W16 I1 ; Configure microstepping without interpolation
That line isn't valid due to settiing the microstepping for z twice.
It should be
M350 X16 Y16 Z16 V16 U16 W16 I1
as multiple values for Z aren't supported.
This is also the case for every other command where you have doubled up Z.
You only need to declare M584 Z2:4. The rest should refer to a single Z value
Thanks that fixed it, wonder why it was never a problem before
jay_s_uk last edited by
@lahn92 I would guess its a difference in the way the SBC parses the config.
Maybe something for @chrishamm to look at?
It's actually to do with how RRF handles the message from the SBC. Depending on the parameter, RRF expects either a single value or a list of values. For most commands, the firmware on the SBC doesn't try to interpret the command, it will just look at the parameters and pass either single value, or a list of there are two or more colon-separated values. If RRF expects a list and receives a list, or expects a single value and receives one, no problem. If RRF expects a list and receives a single value, it treats the single value as a 1-element list. If RRF expects a single value and receives a list, it treats that as an error.
Have you try sending M98 P"config.g", to see if RRF is generating any error messages?
no errors when i do a M98 P"config.g", after duing the changes @jay_s_uk suggested and the z axis is working great now.
iam how ever chasing my tail with some problems with my Bltouch
it deploys and retracts perfect with m401 and m402, also have not had any problems when homing the Z axis.
but when it does a G29. the printer hangs when it has to deploy and it hangs when it triggers before then retracting the probe, and sometimes during the G29 it will then fail and give a "probe already triggered before probing move started"
@lahn92 please start a separate thread for your BLTouch issue.
@dc42 done and done