Scanning Probe Issue
-
I am not having much luck with this scanning probe at all. I added the gcode config lines as mentioned in the calibration instructions. I am not seeing any obvious issues with board using the M122B120 command.
The scanner board is inline on the CAN bus to my 1LC, with the termination at the 1LC. The scanner board appears to be functioning, and I have been using its accelerometer for my input shaping.
When I go to run the m558.2 K1 S-1, I simply get "Error: M558.2 failed to calibrate sensor drive current" I have tried different heights, materials, bed heat applied/off... I've tried it with and without the existing 558,2 and 558.1 lines (as its not very clear as to whether or not those lines should initially be there).
The probe is giving me a reading on the dashboard screen. It shows 999999 then shows a number range 8XXXXX fluctuating for ~6 seconds back and forth through the two of those readings. When I run M558.2 K1, it reports the drive current at 31.
Also, a few of us have found that the instructions for commissioning the scanner probe are not very concise.
Attached is my config.g, M122, and the M122B120 results.
I know this is another one of your projects David, and I know you have also been very busy with the new firmware. You have a lot of weight on your shoulders, but that is what happens when you become the best at what you do. Please understand I am patient and understanding. Its ironic, and a huge gift that your new firmware just came out the same day I am prototyping this new printer design. I will certainly provide feedback. Your input shaping is working quite well since I have been able to redesign this printer and eliminate a few of the common mechanical issues that IS cannot fix (issues many think IS should fix), to truly see how well it does work. You are making great strides and I cannot begin to express my appreciation for your tireless effort. Every step further you make directly affects my success.
M122
m122 === Diagnostics === RepRapFirmware for Duet 3 Mini 5+ version 3.5.1 (2024-04-19 14:41:25) running on Duet 3 Mini5plus WiFi (standalone mode) Board ID: GS9VZ-V296U-D65J0-40KMY-L713Z-RU7ZK Used output buffers: 3 of 40 (20 max) === RTOS === Static ram: 103232 Dynamic ram: 129868 of which 0 recycled Never used RAM 5196, free system stack 134 words Tasks: NETWORK(2,nWait 7,14.4%,237) LASER(5,nWait 7,0.0%,270) HEAT(3,nWait 6,0.0%,326) Move(4,nWait 6,0.0%,256) CanReceiv(6,nWait 1,0.1%,797) CanSender(5,nWait 7,0.0%,336) CanClock(7,delaying,0.0%,348) TMC(4,nWait 6,1.5%,68) MAIN(1,running,83.0%,665) IDLE(0,ready,0.1%,30) AIN(4,delaying,0.9%,260), total 100.0% Owned mutexes: WiFi(NETWORK) === Platform === Last reset 00:06:11 ago, cause: software Last software reset at 2024-04-19 16:22, reason: User, Gcodes spinning, available RAM 5172, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00487000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x00 MCU revision 3, ADC conversions started 371429, completed 371427, timed out 0, errs 0 MCU temperature: min 27.4, current 28.3, max 30.8 Supply voltage: min 24.0, current 24.1, max 24.2, under voltage events: 0, over voltage events: 0, power good: yes Heap OK, handles allocated/used 99/0, heap memory allocated/used/recyclable 2048/8/8, gc cycles 0 Events: 0 queued, 0 completed Driver 0: standstill, SG min 0, read errors 0, write errors 1, ifcnt 96, reads 33716, writes 15, timeouts 0, DMA errors 0, CC errors 0 Driver 1: standstill, SG min 0, read errors 0, write errors 1, ifcnt 99, reads 33715, writes 15, timeouts 0, DMA errors 0, CC errors 0 Driver 2: standstill, SG min 0, read errors 0, write errors 1, ifcnt 99, reads 33715, writes 15, timeouts 0, DMA errors 0, CC errors 0 Driver 3: standstill, SG min 0, read errors 0, write errors 1, ifcnt 85, reads 33715, writes 15, timeouts 0, DMA errors 0, CC errors 0 Driver 4: standstill, SG min 0, read errors 0, write errors 1, ifcnt 82, reads 33716, writes 15, timeouts 0, DMA errors 0, CC errors 0 Driver 5: standstill, SG min 0, read errors 0, write errors 1, ifcnt 85, reads 33715, writes 15, timeouts 0, DMA errors 0, CC errors 0 Driver 6: standstill, SG min 0, read errors 0, write errors 1, ifcnt 85, reads 33715, writes 15, timeouts 0, DMA errors 0, CC errors 0 Date/time: 2024-04-19 16:28:56 Cache data hit count 719356378 Slowest loop: 25.91ms; fastest: 0.16ms === Storage === Free file entries: 20 SD card 0 detected, interface speed: 22.5MBytes/sec SD card longest read time 3.5ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 11, maxWait 26699ms, 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 8, on retry 0, too short 0, wrong shape 0, maybepossible 0 === DDARing 0 === Scheduled moves 26, completed 26, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 9], 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 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 1 is on, I-accum = 0.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 0x0000807 Code queue 0 is empty Q1 segments left 0, axes/extruders owned 0x0000000 Code queue 1 is empty === CAN === Messages queued 3379, received 10406, lost 0, errs 0, boc 0 Longest wait 13ms for reply type 6061, peak Tx sync delay 374, free buffers 26 (min 25), ts 1857/1856/0 Tx timeouts 0,0,0,0,0,0 === Network === Slowest loop: 5.41ms; fastest: 0.00ms Responder states: MQTT(0) HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 === WiFi === Interface state: active Module is connected to access point Failed messages: pending 0, notrdy 0, noresp 0 Firmware version 2.1.0 MAC address f0:08:d1:03:80:d7 Module reset reason: Power up, Vcc 3.38, flash size 2097152, free heap 37932 WiFi IP address 192.168.1.135 Signal strength -32dBm, channel 4, mode 802.11n, reconnections 0 Clock register 00002001 Socket states: 0 0 0 0 0 0 0 0
M122B120
m122 b120 Diagnostics for board 120: Duet SZP firmware version 3.5.1 (2024-04-19 14:42:36) Bootloader ID: SAMC21 bootloader version 2.10 (2023-11-16) All averaging filters OK Never used RAM 14104, free system stack 110 words Tasks: HEAT(2,nWait 6,0.1%,133) CanAsync(5,nWait 4,0.0%,55) CanRecv(3,nWait 1,0.0%,71) CanClock(5,nWait 1,0.0%,59) ACCEL(3,nWait 6,0.0%,53) MAIN(1,running,72.4%,441) IDLE(0,ready,0.0%,27) AIN(2,nWait 2,27.4%,72), total 100.0% Owned mutexes: I2C(AIN) Last reset 00:03:05 ago, cause: software Last software reset data not available Peak sync jitter 1/9, peak Rx sync delay 213, resyncs 0/0, no timer interrupt scheduled VIN voltage: min 4.8, current 4.8, max 4.8 MCU temperature: min 33.8C, current 35.2C, max 35.2C Last sensors broadcast 0x00000400 found 1 138 ticks ago, 0 ordering errs, loop time 0 CAN messages queued 1492, send timeouts 0, received 2394, lost 0, errs 0, boc 0, free buffers 18, min 18, error reg 0 Accelerometer: LIS2DW, status: 00 Inductive sensor: raw value 205144661, frequency 19.11MHz, current setting 31, amplitude error I2C bus errors 0, naks 3, contentions 0, other errors 0
config.g
; Configuration file for Duet 3 Mini 5+ (firmware version 3.3) ; executed by the firmware on start-up ; ; generated by RepRapFirmware Configuration Tool v3.3.16 on Sun Apr 16 2023 22:41:37 GMT-0400 (Eastern Daylight Time) ; General preferences G90 ; send absolute coordinates... M83 ; ...but relative extruder moves M550 P"BR1" ; set printer name M669 K1 ; select CoreXY mode ; Wait a moment for the CAN expansion boards to start G4 S4 ; Network M552 S1 ; enable network M586 P0 S1 ; enable HTTP M586 P1 S0 ; disable FTP M586 P2 S0 ; disable Telnet ; Drives M569 P0.0 S0 ; physical drive 0.0 goes backward M569 P0.1 S0 ; physical drive 0.1 goes backward M569 P0.2 S0 ; physical drive 0.2 goes backward M569 P0.3 S1 ; physical drive 0.3 goes forwards M569 P0.4 S1 ; physical drive 0.4 goes forwards M569 P0.5 S0 ; physical drive 0.5 goes backward M569 P0.6 S0 ; physical drive 0.6 goes backward M569 P121.0 S0 ; physical drive 121.0 goes forwards M584 X0.4:0.6 Y0.3:0.5 Z0.2:0.1:0.0 E121.0 ; set drive mapping M350 E16 I0 ; configure microstepping without interpolation M350 X16 Y16 Z16 E32 I1 ; configure microstepping with interpolation M92 X81.07 Y80.90 Z800.82 E825.00 ; set steps per mm for .8mm ASA filament M566 X720.00 Y720.00 Z10.00 E3000.00 ; set maximum instantaneous speed changes (mm/min) M203 X16000.00 Y16000.00 Z600.00 E6000.00 ; set maximum speeds (mm/min) M201 X6000.00 Y6000.00 Z100.00 E3600.00 ; set accelerations (mm/s^2) M906 X1400 Y1400 Z1600 E600 I30 ; set motor currents (mA) and motor idle factor in per cent M84 S30 ; Set idle timeout ; Axis Limits M208 X242 Y240 Z460 ;XY axis max M208 X-245 Y-245 Z0 S1 ; Endstops M574 X1 P"121.io2.in" S1 ; configure switch-type (e.g. microswitch) endstop for low on 1LC M574 Y2 S1 P"io1.in" ; configure switch-type (e.g. microswitch) endstop for low end on Y via pin io1.in M574 Z1 S2 ; configure Z-probe endstop for low end on Z ; Bed Leveling M671 X-254:-2:256 Y-274:244.5:-274 S5 ; define positions of Z leadscrews or bed levelling screws M557 X-200:200 Y-190:210 S20 ; define 5x5 mesh grid ; Z-Probe M950 S0 C"121.io0.out" ; create servo pin 0 for BLTouch M558 P8 C"121.io0.in" H4 F120 T12000 R0.2 A20 S0.005 ; set Z probe type to DuetIR and the dive height + speeds avg 5 probes tolerance .01 ;M558 H30 ;*** Remove this line after delta calibration has been done and new delta parameters have been saved G31 P50 X22.5 Y70 Z3.300 ; set Z probe trigger value, offset and trigger height M556 S50 X0 Y0 Z0 ; set orthogonal axis compensation parameters M557 X-200:200 Y-190:210 P5 ; define mesh grid ; Scanning Z probe M558 K1 P11 C"120.i2c.ldc1612" F36000 T36000 M308 A"SZP coil" S10 Y"thermistor" P"120.temp0" ; thermistor on coil G31 K1 Z2 Y45.2 M558.2 K1 S15 R101133 ; set drive current and reading offset M557 X-100:100 Y-100:100 S10 ; Define mesh grid for probe 1 (overwrites probe 0 mesh grid) ; Heaters M308 S0 P"temp0" Y"thermistor" T100000 B3950 A"Bed" ; configure sensor 0 as thermistor on pin temp0 M950 H0 C"out0" T0 Q11 ; create bed heater output on out0 and map it to sensor 0, lower switching frequency 11hz ;M307 H0 R0.456 K0.916:0.000 D3.79 E1.35 S1.00 B0 ; old heater PID parameters 100C given from PID tune 14May23 M307 H0 R2.337 K0.488:0.000 D7.78 E1.35 S1.00 B0 V23.8 ; heater PID param from 12APR24 M140 H0 ; map heated bed to heater 0 M143 H0 S120 ; set temperature limit for heater 0 to 110C M308 S1 P"121.temp0" Y"PT1000" ; configure sensor 1 as thermistor on pin 121.temp0 M950 H1 C"121.out0" T1 ; create nozzle heater output on 121.out0 and map it to sensor 1 M307 H1 R1.451 K0.361:0.000 D9.12 E1.35 S1.00 B0 V23.5 ; PID from 22Jan24 Mosquito Pro Ind 230 celsius M143 H1 S295 ; set temperature limit for heater 1 to 295C ; Fans M950 F0 C"!out4+out4.tach" Q25 ; create fan 0 on pin out4 and set its frequency M950 F1 C"121.out2" ; create fan 1 at extruder toolboard M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off M106 P1 T40 H1:1 ; set extruder 121 fan to run at 40° extruder temp ; Tools M563 P0 S"Mosquito Magnum" D0 H1 F0 ; define tool 0 G10 P0 X0 Y10 Z0 ; set tool 0 axis offsets G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C ;M572 D0 S0.050 ;PA for .8 ASA ;M572 D0 S0.07 ;PA .6 ASA ;M572 D0 S0.045 ;PA for 1.2 ASA ;M572 D0 S0.05 ;PA for .6 Nylon ;M572 D0 S0.085 ; PA for .8 PETG ;M572 D0 S0.065 ;PA for .4 PC ; retraction ;M207 S0.5 F3000 ; retraction amount and speed ASA .8 ;M207 S0.8 F2700 ; retraction amount and speed ASA 1.2 M207 S0.25 F2100 Z0.3 ; retraction for PETG .8 ; Accelerometer and Input Shaping M955 P120.0 I12 ; Add accelerometer on SZP with CAN address 120 and specify orientation M955 P121.0 I10 M593 P"mzv" F36 S0.0 ;configure direct connect display M918 P2 E-4 F2000000 M950 E0 C"io3.out" T1 U3 ; create a RGB Neopixel LED strip with 3 LEDs on the Duet 3 Mini 5+ 12864_EXP1 header M150 E0 R255 U255 B255 P255 S1 F1 ; display led M150 E0 R0 U0 B255 P255 S1 F1 ; left encoder led M150 E0 R0 U0 B255 P255 S1 F0 ; right encoder led ; Custom settings are not defined ; Miscellaneous T0 M501
-
@br7408 it sounds to me that either there is a hardware issue with your sensor (e.g. a shorted coil), or you have mounted it very close to a metal surface. Please post photos showing how you have mounted it.
-
-
I dont know if that worked or not. I am on my cellphone and I had to enable the desktop site to upload photos. Disregard the last one. If the pics didnt upload I will have to do it from my desktop later.
-
@br7408 they uploaded. i've just restored the post
-
@jay_s_uk said in Scanning Probe Issue:
@br7408 they uploaded. i've just restored the post
Thank you!
-
I am happy to report that I changed the coil to the other coil and it is now working properly and providing me with proper current data. I guess either the connection was bad or that coil was bad. I will need to adjust my mount to move the coil more forward so I can cover more range in the Y axis.
I figured it out... G29 K1 to activate the scan; and it references whatever bed mesh parameters I have set on the dashboard. This thing flies through the scan!
I think my settings are initially good. I am getting very similar data that I had with the IR height sensor, although the deviation seems a tad bit more. I usually see .2 max, where I am seeing >.3 here.
Something I I want to clarify.... What is an acceptable amount of error? Is this anything to be concerned with?
I am seeing Mean error of -.112mm and RMS error of ,074
-
@br7408 said in Scanning Probe Issue:
What is an acceptable amount of error?
The whole point of the mesh is to compensate for the error, so acceptability will depend on whether your first layer is following the surface correctly or not. Only a test print can tell you.
-
@br7408 It looks like the heightmap wasn't reloaded but the scale was updated. Does it change when you press F5? If it happens again, please open the JS console (dev tools) via F12 and look for error messages.