Sovol's Eddy hardware info

Discord topic

So, it seems to be similar to the BTT Eddy coil, it is pure LDC1612 + Coil board.
Reference frequency is 12MHz.
Coil frequency according to dumps is ~8 385 484 Hz = 8.3 MHz
Coil size seems to be: 9.3mm x 5.5mm

Because 8.3MHz is way out of spec, it will require some Python side hacks at least.
Or, maybe not:

12_000_000 / (1 << 28) = 0.0447
8_385_484 / 0.0447 = 187580101
hex(187580101) = '0xb2e3ec5' # is < 0x03ffffff

Some reference configs:

[probe_eddy_current my_eddy_probe]
reg_drive_current: 20

PCB photos



Calibration output with the current master F_IN_DIV = 2:

Frequency too noisy at step 1.810 -> 1.850
Frequency diff: 532.425, MAD_Hz: 244.914 -> MAD_Hz: 13.805
probe_eddy_current: noise 0.005354mm, MAD_Hz=115.202 in 1124 queries
Total frequency range: 39014.937 Hz
z_offset: 0.290 # noise 0.002908mm, MAD_Hz=90.512
z_offset: 0.530 # noise 0.003289mm, MAD_Hz=86.677
z_offset: 1.010 # noise 0.002055mm, MAD_Hz=49.632
The SAVE_CONFIG command will update the printer config file
and restart the printer.

With F_IN_DIV=4:

probe_eddy_current: noise 0.001774mm, MAD_Hz=21.036 in 2524 queries
Total frequency range: 59393.613 Hz
z_offset: 0.290 # noise 0.001932mm, MAD_Hz=59.151
z_offset: 0.530 # noise 0.001084mm, MAD_Hz=29.046
z_offset: 1.010 # noise 0.001801mm, MAD_Hz=38.516
z_offset: 2.010 # noise 0.001123mm, MAD_Hz=14.677
z_offset: 3.010 # noise 0.000231mm, MAD_Hz=1.931
The SAVE_CONFIG command will update the printer config file
and restart the printer.
Old Hack

So, hack for now is to change the value here: klipper/klippy/extras/ldc1612.py at master · Klipper3d/klipper · GitHub

- self.sensor_div = 1 if self.clock_freq != DEFAULT_LDC1612_FREQ else 2
+ self.sensor_div = 1 if self.clock_freq != DEFAULT_LDC1612_FREQ else 4

Hack is no longer required after v0.13.0-650-gca8230d50.

With F_IN_DIV=4 and reg_drive_current=21

probe_eddy_current: noise 0.001730mm, MAD_Hz=28.248 in 2524 queries
Total frequency range: 71648.040 Hz
z_offset: 0.290 # noise 0.002046mm, MAD_Hz=77.419
z_offset: 0.530 # noise 0.001592mm, MAD_Hz=55.797
z_offset: 1.010 # noise 0.003279mm, MAD_Hz=82.519
z_offset: 2.010 # noise 0.000826mm, MAD_Hz=11.995
z_offset: 3.010 # noise 0.003684mm, MAD_Hz=38.474
The SAVE_CONFIG command will update the printer config file
and restart the printer.

-Timofey

1 Like

Hey Timofey, thanks again for all the help!

With F_IN_DIV=4 and reg_drive_current=22

probe_eddy_current: noise 0.001387mm, MAD_Hz=28.688 in 2525 queries
Total frequency range: 87791.762 Hz
z_offset: 0.290 # noise 0.001456mm, MAD_Hz=69.981
z_offset: 0.530 # noise 0.000158mm, MAD_Hz=6.995
z_offset: 1.010 # noise 0.000772mm, MAD_Hz=23.503
z_offset: 2.010 # noise 0.001014mm, MAD_Hz=19.484
z_offset: 3.010 # noise 0.001115mm, MAD_Hz=13.904
The SAVE_CONFIG command will update the printer config file
and restart the printer.

Note that for reg_drive_current=21 and reg_drive_current=22 I had the bed at 60C during PROBE_EDDY_CURRENT_CALIBRATE

1 Like

edit: see github for latest updates:

Here is a better version of how to implement this, if anyone else would like to try:

please let me know if there are any issues, this was from memory, and of course as you know during testing things are done in all sorts of order

Hi there

I am looking at your github to see if it gives me any answers to problems that i am having “converting” my BTT Eddy from Eddy NG to native Klipper TAP. I have Klipper v0.13.0-729-gcab2f004. Downloading Scipy seemed sensible, so I did. Then I looked at ldc1612.py - there is no “else 2” at line 94 nor anywhere else in the file. Can I assume that my Klipper has changed the file?

Hi,

Hope that helps,
-Timofey

1 Like

Thank you.