Error: Number of calibration factors
-
All,
I just upgraded to latest firmware and when I try to do 4 points bed probes, I am getting
Error: Number of calibration factors (4) not equal to number of leadscrews (2)The commands I sent are
[[language]] ; BED PROBE SIMPLE M561 G28 X0 Y0 Z0 G30 P0 X30 Y30 F100 Z-99999 ; define 4 points in a clockwise direction around the bed, starting near (0,0) G30 P1 X30 Y270 F1500 Z-99999 G30 P2 X200 Y270 F1500 Z-99999 G30 P3 X200 Y30 F1500 Z-99999 S0 M84
My config is as follow, I am having since quite a while and there may be some old stuffs that are now causing issues.
I am especially wondering about the M671 but there may be something else.[[language]] ; Communication and general M111 S0 ; Debug off M550 pp3steel ; Machine name and Netbios name (can be anything you like) ;M551 Ppreprap ; Machine password (used for FTP) ;*** If you have more than one Duet on your network, they must all have different MAC addresses, so change the last digits ; M540 P0xBE:0xEF:0xDE:0xAD:0xFE:0xED ; MAC Address ;*** Wifi Networking M552 S1 ; Enable WiFi ; misc settings M555 P2 ; Set output to look like Marlin M575 P1 B57600 S1 ; Comms parameters for PanelDue ; setting for all axis G21 ; Work in millimeters G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Axis and motor configuration M569 P0 S0 ; Drive 0 goes forwards (x) M569 P1 S1 ; Drive 1 goes forwards (Y) M569 P2 S1 ; Drive 2 goes forwards (z) M569 P3 S0 ; Drive 3 goes forwards (e1) M569 P4 S1 ; Drive 4 goes forwards (E2) ; microstepping and homing switch config M350 X16 Y16 Z16 E16 I1 ; set 16x microstepping with interpolation M574 X1 S0 ; set homing switch configuration (X homing switch only, at low end, active high) M574 Y1 S0 ; set homing switch configuration (Y homing switch only, at low end, active high) M574 Z0 S1 ; set homing switch configuration (z homing switch only, at low end, active high) ; Motor current and acceleration M906 X1000 Y1100 Z1000 E1100 I60 ; Set motor currents (mA) and increase idle current to 60% M84 S60 ; Set idle timeout M201 X600 Y600 Z10 E600 ; Accelerations (mm/s^2) M203 X5000 Y5000 Z100 E9000 ; Maximum speeds (mm/min) M566 X1200 Y1200 Z30 E200 ; Maximum instant speed changes mm/minute M210 X6000 Y6000 Z10 ; set hming feedrate ; steps per mm M92 X80 Y80 Z4000 ; Set axis steps/mm M92 E492.45:492.45 ; set extruder 0 and 1 steps/mm ; max travel and origin M208 X210 Y305 Z200 ; setting for all axis G21 ; Work in millimeters G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves ; Thermistors M305 P0 R4700 T100000 B4388 ; set bed thermistor parameters M305 P1 R4700 T100000 B4388 ; set E0 thermistor parameters M307 H1 A474.7 C114.3 D5.5 B0; PID settings for extruder 0 M143 H1 S270 ; Set maximum heater temperature to 270C M307 H0 D20 ; Fans M106 P1 H-1 ; disable thermostatic mode for fan 1 ; Tool definitions M563 P0 D0 H1 ; Define tool 0 G10 P0 S0 R0 ; Set tool 0 operating and standby temperatures ; Z probe and compensation definition M558 P1 X0 Y0 Z1 H3 F200 T3000 ; smart IR Z probe, used for homing Z axis only, dive height 3mm, probe speed 200mm/min, travel speed 5000mm/min G31 P500 X10 Y24 Z1.90 ; set threshold and offsets ;*** If you are using axis compensation, put the figures in the following command M556 S78 X0 Y0 Z0 ; Axis compensation here M208 X0 Y0 Z0 S1 ; set minimum Z ; T0 ; select first hot end M671 X--60:270 Y45:45 ; Miscellaneous M501 ; Load saved parameters from non-volatile memory
-
You have included a M671 command in config.g, so G31 and bed.g will do leadscrew calibration. If you want to implement bed compensation, use G29 mesh bed compensation.
-
Thanks
So I should really only use M671 when I want to do a leadscrew calibration or a bed adjustment. In such case, how do I start the process, is that a G32?
Antoine -
Yes, if you use M671 then G32 does leadscrew calibration or manual adjustment calculation.
-
Thanks,
Is there a user guide on G32 and M671?
I basically get
G32
12 points probed, mean error 0.002, deviation 0.144
Height map saved to file heightmap.csvAntoine
-
If you are getting that message, you must have a G29 command in bed.g.
Instructions for using M671 are at https://duet3d.com/wiki/Bed_levelling_using_multiple_independent_Z_motors and https://duet3d.com/wiki/Using_the_manual_bed_levelling_assistant.
-
Thanks a million! that works
-
@dc42 said in Error: Number of calibration factors:
Instructions for using M671 are at https://duet3d.com/wiki/Bed_levelling_using_multiple_independent_Z_motors and https://duet3d.com/wiki/Using_the_manual_bed_levelling_assistant.
Hi @dc42 ,
I am trying to use the manual bed levelling assistant and I am getting the same error as above.
Here is my bed.g and config.g; any help would be appreciated.
Thanks,
Madhu. -
You have only 2 mounting screw points defined in the M671 command in config.g, but you have S4 on the last g30 command in bed.g. If there really are only 2 mounting points for the bed (unlikely!), use S2. Otherwise, add the coordinates of the other mounting screws to the M671 command.