Dual Z: Array too long



  • Good Morning,

    just moved the second Z motor to E1 and changed the config but logging says that the "array too long" for the following settings:

    ; Drives
    [...]
    M350 X16 Y16 Z16 E16:16 I1	                          	; configure microstepping with interpolation**
    M92 X80.00 Y80.00 Z400.00 E415.00:400.00            	; set steps per mm
    M566 P1 X1200.00 Y1200.00 Z12.00 E2000.00:12.00      	; set maximum instantaneous speed changes (mm/min)
    M203 X9000.00 Y9000.00 Z800.00 E5000.00:800.00      	; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E5000.00:20.00        		; set accelerations (mm/s^2)
    M906 X700 Y700 Z700 E700:700 I50                    	; set motor currents (mA) and motor idle factor 
    [...]
    

    I know the documentation says "set M92 Z80, not M92 Z80:80" but how can I set different values for the motors?

    Thanks, Martin



  • @MartinNYHC

    can you please post the complete config.g, and which firmware and hardware do you use?


  • Moderator

    @MartinNYHC What is your M584 command? Try sending M98 P"config.g" to run the config.g, and see if it generates any error.

    Ian



  • There are no errors when doing a M98 P"config.g".

    Fimrware: RepRapFirmware for Duet 2 WiFi/Ethernet version 3.1.1 running on Duet Ethernet 1.02 or later

    config.g

    M552 P0.0.0.0 S1                                        ; enable network and set static IP address
    M586 P0 S1                                          	; enable HTTP
    M586 P1 S0                                          	; disable FTP
    M586 P2 S1                                          	; enable Telnet
    
    ; General preferences
    G21														; set units to mm
    G90                                                 	; send absolute coordinates...
    M83                                                 	; ...but relative extruder moves
    M550 P"CR-10S Pro V2"                               	; set printer name
    M918 P1 E4 F2000000                                 	; configure direct-connect display
    M106 P0 S0                                          	; turn off fan
    M106 P1 S0                                          	; turn off fan
    M575 P1 S1 B57600                                   	; enable support for PanelDue
    
    ; Drives
    M569 P0 S1                                          	; physical drive 0 goes backwards
    M569 P1 S0                                          	; physical drive 1 goes backwards
    M569 P2 S0                                          	; physical drive 2 goes forwards
    M569 P3 S0                                          	; physical drive 3 goes backwards
    M569 P4 S0                                          	; Drive 4 (Z2) goes forwards
    M584 X0 Y1 Z2:4 E3                                  	; set drive mapping
    M350 X16 Y16 Z16 E16 I1	                	          	; configure microstepping with interpolation
    ;M350 X16 Y16 Z16 E16:16 I1	                          	; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E415.00		            	; set steps per mm
    ;M92 X80.00 Y80.00 Z400.00 E415.00:400.00            	; set steps per mm
    M566 P1 X1200.00 Y1200.00 Z12.00 E2000.00		     	; set maximum instantaneous speed changes (mm/min)
    ;M566 P1 X1200.00 Y1200.00 Z12.00 E2000.00:12.00      	; set maximum instantaneous speed changes (mm/min)
    M203 X9000.00 Y9000.00 Z800.00 E5000.00			      	; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E5000.00	        		; set accelerations (mm/s^2)
    ;M203 X9000.00 Y9000.00 Z800.00 E5000.00:800.00      	; set maximum speeds (mm/min)
    ;M201 X500.00 Y500.00 Z20.00 E5000.00:20.00        		; set accelerations (mm/s^2)
    M906 X700 Y700 Z700 E700 I50                    	; set motor currents (mA) and motor idle factor in per cent
    ;M906 X700 Y700 Z700 E700:700 I50                    	; set motor currents (mA) and motor idle factor in per cent
    M593 F31		
    M572 D0 S0.055		                                  	; set pressure advance
    M84 S30                                             	; Set idle timeout
    
    ; Axis Limits
    M208 X0 Y0 Z0 S1                                    	; set axis minima
    M208 X325 Y315 Z400 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-high endstop for low end on Y via pin ystop
    M574 Z1 S2                                         		; Set endstops controlled by probe
    
    ; Z-Probe
    M307 H3 A-1 C-1 D-1                                		; Disable heater on PWM channel for BLTouch
    M558 P9 C"^zprobe.in" H5 F100 T6000 A10 R0.3 S0.005 B1  ; Set Z probe type to bltouch and the dive height + speeds
    M950 S0 C"exp.heater3"
    G31 P25 X0 Y0 Z-3.592        		                    ; Set Z probe trigger value, offset and trigger height
    ;M557 P0 X4:270 Y10:300 S20								; Define mesh grid
    M557 P5 X4:240 Y10:290									; Define mesh grid
    
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4092     		; 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 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 S150                                        	; set temperature limit for heater 0 to 150C
    M308 S1 P"e0temp" Y"thermistor" T500000 B4723 C1.196220e-7 
    M950 H1 C"e0heat" T1                                	; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00                                    	; disable bang-bang mode for heater  and set PWM limit
    
    ; Fans
    M950 F0 C"fan0" Q500                                	; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H-1                                      	; 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 T100 H1
    
    ; Tools
    M563 P0 S"Mosquito" D0 H1 F-1                       	; define tool 0
    G10 P0 X0 Y0 Z0                                     	; set tool 0 axis offsets
    G10 P0 R215 S0                                       	; set initial tool 0 active and standby temperatures to 0C
    
    ; Custom settings
    M501                                                	; read saved settings
    G31 X25 Y15 Z1.90										; set Z offset
    ;G10 Z-1.70												; set tool z offset
    T0
    
    


  • @MartinNYHC M92 mutliple values for Z and other main axes is not possible:

    https://duet3d.dozuki.com/Wiki/Gcode#Section_M92_Set_axis_steps_per_unit
    "RepRapFirmware does not support individual motor settings where an axis has multiple motors connected to different stepper drivers. The first parameter specified will be used for all motors on the axis. You should use identical motors on any axis that has more than one motor to avoid unexpected behaviour."

    This is also true for other M commands. For reasoning and that it doesn't apply to E, please see deckingmans comment: "Firstly, the commands M350, M92, M566 M203, M201 and M906 are per axis, not per motor so all those colon separators need to be removed. (But keep the colons between the extruders because extruders are treated like individual axes)." in https://forum.duet3d.com/topic/17153/duet3-expansion-board-3hc-no-can-connection/31?_=1592990078836

    The M307 for the BLTouch is not longer used in RRF3: https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_M307


  • Moderator

    @MartinNYHC

    At what point do you get the message? When the Duet starts up? Can you post the exact log message, to show what command is causing the error? Also, send the commands on there own, eg M92 to check each one is set as in config.g

    Ian



  • Thanks for clarification.


Log in to reply