We can enable/disable error reporting to bits from the host without flashing.
# Amplitude report is disabled, 1d high disabled, 1e low disabled
self.set_reg(REG_ERROR_CONFIG, (0x1c << 11) | 1)
(JFYI: Calibration curves with different IDRIVE).
From the application notes, they strongly suggest doing < 1.8V.
From our application-specific use, where we use a close distance.
It may be better to slightly boost the current to be above 1.2V.
So, disabling only high seems logical and appealing.
A probe is used when homing/probing/meshing, which is either short-term and close distance (~z_offset).
Alas, at least in my testing, even this +1 from calibrated current seems not enough, if probe too close again +1, if temperature goes higher +1.
It is annoying because it would fail homing and probe even if they performed completely okay otherwise.
Also, going from calibrated 19 to 22 doesn’t seem right to me.
(IIRC 19 - 1.75V, 20 - 1.9V peak at 25C).
I invested some time to get an idea about how noise would look with different IDRIVE.
I would say that going lower (-2) than the calibrated value or +1 would not change a lot.
But increasing the current further (that would happen if we disable only the Amplitude high bit).
Seems to increase the noise.
(ODR is 1000Hz, because I forgot to revert it =_=, so it is all slightly noisier than normal)
Graphs
./scripts/motan/motan_graph.py -g '[["derivative(sos(ldc1612(carto),filt,lowpass,1,25),ffreader)"],["derivative(ldc1612(carto),ffreader)"],["ldc1612(carto)"],["stepq(stepper_z)"]]' ./ldc1612_IDRIVE_20 -s 0 -d 6 --segment-time=0.004
I should note that boosting current does increase the overall min/max frequency value a little, but not so much, and by graphs, it seems that noise in the working range 4..0 mm is not so affected by the actual current.
Based on that data, I lean toward simply disabling the amplitude error.
The case where the coil is not oscillating is covered by the watchdog timeout.
Otherwise, I would expect that the calibrated value should perform fine.
I agree, this is just my attempt to get some experience with SOS filters inside the MCU.
I’m not sure right now that I would be able to rework the homing code.
(Small note, because the bed stops abruptly, it seems that the probe averaging code mostly happens within the oscillating region).
But I somewhat want to try to implement basic tap, and to do so, it seems better to filter the data to stabilize the descending stop of the nozzle.
Hope that information can be useful.




