RMax v3 x/y scale is too small
-
I have three printers that I use for business. My RMax V3 just printed a part that is too small in the X/Y direction, but has correct thickness. I have tried "delta calibration" many times, and also removed the heightmap.csv file.
After calibration, I'll move the nozzle down to the plate, and put a 100mm target there, and then move the nozzle 100mm in the X direction, and the nozzle stops about 8mm short of the total distance it should travel.I also enabled mesh calibration, but that didn't help either.
Three weeks ago I had to power everything down due to electrical work, but I've used the machine since then. I don't know what could have triggered this.
I seem to recall some settings file I could remove to go through a new system initialization.
7/11/2022, 3:01:49 PM M122
=== Diagnostics ===
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.2.2 running on Duet WiFi 1.02 or later
Board ID: 08DGM-956GU-DJMSJ-6J1F8-3S46S-KUNBG
Used output buffers: 3 of 24 (20 max)
=== RTOS ===
Static ram: 23460
Dynamic ram: 73124 of which 80 recycled
Never used RAM 15416, free system stack 97 words
Tasks: NETWORK(ready,217) HEAT(blocked,308) MAIN(running,166) IDLE(ready,20)
Owned mutexes: WiFi(NETWORK)
=== Platform ===
Last reset 269:05:19 ago, cause: power up
Last software reset at 2022-05-20 12:09, reason: User, GCodes spinning, available RAM 15536, slot 0
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
Error status: 0x12
Aux0 errors 0,0,0
MCU temperature: min 32.1, current 44.0, max 47.7
Supply voltage: min 13.7, current 14.3, max 14.6, under voltage events: 0, over voltage events: 0, power good: yes
Driver 0: position 28829, standstill, SG min/max 0/622
Driver 1: position 18093, standstill, SG min/max 0/596
Driver 2: position 24232, standstill, SG min/max 0/630
Driver 3: position 0, standstill, SG min/max 0/1023
Driver 4: position 0, standstill, SG min/max not available
Driver 5: position 0
Driver 6: position 0
Driver 7: position 0
Driver 8: position 0
Driver 9: position 0
Driver 10: position 0
Driver 11: position 0
Date/time: 2022-07-11 15:00:58
Cache data hit count 4294967295
Slowest loop: 275.88ms; fastest: 0.15ms
I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
=== Storage ===
Free file entries: 10
SD card 0 detected, interface speed: 20.0MBytes/sec
SD card longest read time 3.0ms, write time 396.3ms, max retries 0
=== Move ===
DMs created 83, maxWait 443970354ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 113622, completed moves 113622, hiccups 0, stepErrors 4, LaErrors 0, Underruns [0, 0, 229], 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
Heater 0 is on, I-accum = 0.5
=== GCodes ===
Segments left: 0
Movement lock held by 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
Daemon is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty.
=== Network ===
Slowest loop: 399.96ms; fastest: 0.00ms
Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0), 0 sessions
HTTP sessions: 1 of 8- WiFi -
Network state is active
WiFi module is connected to access point
Failed messages: pending 0, notready 0, noresp 0
WiFi firmware version 1.25
WiFi MAC address 5c:cf:7f:76:71:9e
WiFi Vcc 3.38, reset reason Power up
WiFi flash size 4194304, free heap 26768
WiFi IP address 192.168.10.153
WiFi signal strength -37dBm, mode 802.11n, reconnections 0, sleep mode modem
Clock register 00002002
Socket states: 0 0 0 0 0 0 0 0
- WiFi -
-
@brianmichalk I have an RMax V3.5 and it prints correctly-sized parts.
Here is my config.g Yours might be a bit different, but you should be able to pick out anything that would cause an 8% error in movement.
; Configuration file for Duet WiFi (firmware version 3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.2.3 on Tue Mar 09 2021 13:21:24 GMT-0500 (Eastern Standard Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"alan" ; set printer name M665 R132.5 L291.06 B132.5 H400 ; Set delta radius, diagonal rod length, printable radius and homed height M666 X0 Y0 Z0 ; put your endstop adjustments here, or let auto calibration find them ; Network M552 P0.0.0.0 S1 ; enable network and acquire dynamic address via DHCP M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S1 ; physical drive 0 goes forwards M569 P1 S1 ; physical drive 1 goes forwards M569 P2 S1 ; physical drive 2 goes forwards M569 P3 S1 ; physical drive 3 goes forwards ; Testing external driver ;M569 P5 S1 T4:4:4:4 ; physical drive 5 goes forwards ;M584 X0 Y1 Z2 E3 U5 ; set drive mapping ;M350 X16 Y16 Z16 E16 U16 I1 ; configure microstepping with interpolation ;M92 X100.00 Y100.00 Z100.00 U100.00 E91.00 ; set steps per mm ;M566 X1200.00 Y1200.00 Z1200.00 U1200 E1200.00 ; set maximum instantaneous speed changes (mm/min) ;M203 X18000.00 Y18000.00 Z18000.00 U18000E1200.00 ; set maximum speeds (mm/min) ;M201 X1000.00 Y1000.00 Z1000.00 U1000E1000.00 ; set accelerations (mm/s^2) ;M906 X1000 Y1000 Z1000 E800 U1000I30 ; set motor currents (mA) and motor idle factor in per cent M584 X0 Y1 Z2 E3 ; set drive mapping M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation M92 X100.00 Y100.00 Z100.00 E91.00 ; set steps per mm M566 X1200.00 Y1200.00 Z1200.00 E1200.00 ; set maximum instantaneous speed changes (mm/min) M203 X18000.00 Y18000.00 Z18000.00 E1200.00 ; set maximum speeds (mm/min) M201 X1000.00 Y1000.00 Z1000.00 E1000.00 ; set accelerations (mm/s^2) M906 X1000 Y1000 Z1000 E800 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 Z0 S1 ; set minimum Z ; Endstops M574 X2 S1 P"xstop" ; configure active-high endstop for high end on X via pin xstop M574 Y2 S1 P"ystop" ; configure active-high endstop for high end on Y via pin ystop M574 Z2 S1 P"zstop" ; configure active-high endstop for high end on Z via pin zstop ; Z-Probe M558 P1 C"zprobe.in" H10 F3000 T6000 ; set Z probe type to unmodulated and the dive height + speeds G31 P500 X0 Y0 Z-0.1 ; set Z probe trigger value, offset and trigger height M557 R132 S40 ; define mesh grid ; Heaters M308 S0 P"bedtemp" Y"thermistor" T100000 B4388 C7.06e-8 ; 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 B1 S1.00 ; enable 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"e0temp" Y"thermistor" T100000 B4385 ; configure sensor 1 as thermistor on pin e0temp 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 M143 H1 S280 ; set temperature limit for heater 1 to 280C ; 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 S0.7 H1 T45 ; set fan 1 value. Thermostatic control is turned on ; Tools M563 P0 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 ; Custom settings M501 ; Load config-overrides.g ;T0 ; Select tool zero ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M912 P0 S3.5 ; MCU temperature calibration M591 D0 P3 C"e0_stop" S1 ; Configure filament monitor
-
If no configuration has recently changed, I would lean towards a mechanical issue developing. So before you start tearing the config apart, give the mechanics a thorough inspection.
-
@brianmichalk said in RMax v3 x/y scale is too small:
I have three printers that I use for business. My RMax V3 just printed a part that is too small in the X/Y direction, but has correct thickness. I have tried "delta calibration" many times
By how much is it too small? Is it too small by the same amount wherever you print it on the bed, or does the scale vary with position? Small scaling errors that are the same amount all over the bed can be compensated using the M579 command https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m579-scale-cartesian-axes.
Incorrect size parts on a delta can be caused by several things:
- Z steps/mm set incorrectly in config.g (if this is the case, the height will also be wrong)
- Diagonal rod length set incorrectly in config.g. When using delta calibration it is usually best not to use 7- or 9-factor calibration, because these adjust the diagonal rod length setting, and geometrical errors in the machine may result in an inappropriate adjustment.
- Mechanical factors that cause the machine to behave as if the diagonal rods had a different length. The value needed by RRF is the distance between the effective centres of rotation.
-
@alankilian
Here is my config.g
I have the original arms, and yours is showing 291.06 for diagonal arm length. Mine is 340.5. Is there a configuration macro that can change that?
Now that I think about it, I crashed the machine against a part I forgot to remove, and had to recalibrate. That's probably when this problem started.
I'll do some more Googling on arm length now.0:/sys/config.g ; SeeMeCNC 3D Printers ; General preferences G90 ; absolute coordinates M83 ; relative extruder moves ; Only remove ONE semi-colon for ONE printer configuration M550 P"RMAXV32" ; set printer name (ARTEMIS, RostockMAX, BOSSdelta, SeeMeCNC, BestFriend, etc.) M665 R150 L340.5 B150 H400 X0 Y0 Z0 ; INJECTION MOLDED ARMS delta radius, diagonal rod length, printable radius and homed height ;M665 R150 L350 B150 H350 X0 Y0 Z0 ; CARBON FIBER ARMS length setting M666 X0 Y0 Z0 ; endstop adjustment (this is set by autocalibration leveling) ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0 S0 ; physical drive 0 M569 P1 S0 ; physical drive 1 M569 P2 S0 ; physical drive 2 M569 P3 S0 ; physical drive 3 S one or zero = motor direction M569 P4 S0 ; physical drive 4 S one or zero = motor direction M584 X0 Y1 Z2 E3:4 ; set drive mapping M350 X16 Y16 Z16 E16:16 I1 ; configure micro stepping with interpolation M92 X100.00 Y100.00 Z100.00 E91.00:91.00 ; 0.9 step/degree motors set steps per mm < adjust depending on pulley num. of Teeth ;M92 X100.00 Y100.00 Z100.00 E91.00:91.00 ; 16T PULLEYS 1.8 step/degree motors set steps per mm (older SeeMe printers <2017) ;M92 X80.00 Y80.00 Z80.00 E91.00:91.00 ; 20T PULLEYS 1.8 step/degree motors set steps per mm (older SeeMe printers <2017) M566 X700.00 Y700.00 Z700.00 E2000.00:2000.00 ; set maximum instantaneous speed changes (mm/min) M203 X10000.00 Y10000.00 Z10000.00 E9000.00:9000.00 ; set maximum speeds (mm/min) M201 X1400.00 Y1400.00 Z1400.00 E5000.00:5000.00 ; set accelerations (mm/s^2) M906 X1500 Y1500 Z1500 E1300:1300 I40 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 Z0 S1 ; set minimum Z ; End-stops M574 X2 S1 P"xstop" ; configure active-high endstop for high end on X via pin xstop M574 Y2 S1 P"ystop" ; configure active-high endstop for high end on Y via pin ystop M574 Z2 S1 P"zstop" ; configure active-high endstop for high end on Z via pin zstop ; Z-Probe M558 P5 I0 A4 R0.4 C"zprobe.in" H10 F2500 T6000 ; HOTEND PROBEset Z probe type to switch and the dive height + speeds ;M558 P5 I1 A4 R0.4 C"!^zprobe.in" H10 F250 T6000 ; FSR PROBE set Z probe type to switch and the dive height + speeds G31 P500 X0 Y0 Z-0.4 ; set Z probe trigger value, offset and trigger height M557 R130 S30 ; define mesh grid ; Bed Heater M308 S0 P"bedtemp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 0 as thermistor on pin bed temp M950 H0 C"bedheat" T0 ; create bed heater output on bed heat and map it to sensor 0 M307 H0 R0.245 C774.3 D25.92 S1.00 V12.9 ; Bed Heater Process Parameters M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 120C ; Hotend Heater M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1 M307 H1 R3.300 C110.0115.0 D7.00 S1.00 ; Hotend Heater Process Parameters M143 H1 S280 ; Hotend Max Temp ; 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"fan2" Q500 ; create fan 1 on pin fan1 and set its frequency M106 P1 S0.80 H1 T45 ; set fan 1 value. Thermostatic control is turned on ; Tool Extruder 1 M563 P0 D0 H1 F0 G10 P0 X0 Y0 Z0 G10 P0 S0 R0 ; Tool Extruder 2 M563 P1 D1 H1 F0 G10 P1 X0 Y0 Z0 G10 P1 S0 R0 ;Filament Runout Sensor M950 J0 C"!^e0Stop" ; create switch pin M950 J1 C"!^e1stop" ; create switch pin M581 P0:1 T2 S1 R1 ; run trigger2.g to pause if filament has run out during SD card printing ; Miscellaneous M575 P1 S1 B57600 ; enable support for PanelDue M501 ; load saved parameters from non-volatile memory T0 ; select Tool 0 M911 S10.5 R11.2 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss M579 X1.0090 Y1.0090 Z1.0090 ; scale axis all three must be equal RMAXV32 Send code... Status Idle Mode: FFF Tool Position X -98.5 Y 2.0 Z 4.22 Extruder Drives Drive 0 0.0 Drive 1 0.0 Speeds Requested Speed 0 mm/s Top Speed 0 mm/s Sensors Vin 14.4 V MCU Temperature 41.6 C Z-Probe 0 Tools Extra Control All Tool Heater Current Active Standby Tool 0 T0 - Load Filament Heater 1 standby 24.9 C 0 0 Tool 1 T1 - Load Filament Heater 1 standby 24.9 C 0 0 Bed Heater 0 active 25.3 C 0 0 Temperature Chart System Directory