FAQ & Troubleshooting - vvuk/eddy-ng GitHub Wiki
Setup and Installation FAQ
"mcu 'eddy': Unknown command: ldc1612_ng_start_stop".
Error on startup: Your sensor device was not flashed with rebuilt firmware. Make sure you run install.sh
, then rebuild the Klipper/Kalico firmware for your device and flash it to the device. If using Kalico, make sure you select eddy-ng
from the "Firmware Extras" menu during menuconfig
.
(Instructions for rebuilding the firmware and flashing your device on your printer are beyond the scope of these docs.)
Unknown command: "PROBE_EDDY_NG_TAP"
(or any other PROBE_EDDY_NG_* command)
You either did not successfully run install.sh, or you do not have a [probe_eddy_ng ..]
section in your configuration.
SETUP
unable to find homing and/or tap values
- If SETUP fails entirely (homing isn't set up), you will have to manually use
PROBE_EDDY_NG_CALIBRATE
to calibrate; however, try rerunning SETUP after moving the sensor. - If SETUP sets up homing, but fails to set up tap, you can test drive current values higher than what SETUP found using
PROBE_EDDY_NG_TEST_DRIVE_CURRENT DRIVE_CURRENT=[that value]
. Take note of the height range. - For homing, you'll ideally want valid values in the entire 0mm-15mm range, but something smaller (e.g. 1mm to 10mm) is also fine. To change the homing drive current value, set
reg_drive_current: ...
to this value in your config. - For tap, you'll want a valid range from 0.0x to at least 4.0mm. Once that value is found, set
tap_drive_current: ...
in the config, and runPROBE_EDDY_NG_CALIBRATE DRIVE_CURRENT=[that value]
to create a calibration profile - If the range that's returned is higher than the range needed for home and/or tap, run again with
DRIVE_CURRENT=
1 higher than previously. If the range returned is lower, run with 1 lower. - If you're still unable to find working values, consider moving the sensor physically higher or lower. If you don't have enough range on the low end (i.e. the minimum value is too high), move the sensor 1mm higher.
Homing and Tap FAQ
Sensor errors during homing
If you see errors like this:
Error during homing z: Sensor error (ldc status: UNREADCONV1 ERR_ALE)
This is usually caused by one of two things:
- Eddy coil mounted at wrong offset from nozzle (either too high or to low)
- Wrong drive current is set for coil
The default drive current for the BTT Eddy is 15. For other sensors (Cartographer, Mellow Fly) the value is different, and in general shouldn't change. If you are seeing this error on a non-BTT Eddy, try moving your sensor 1mm higher.
For a BTT Eddy, some additional current can help, but it can also introduce errors in the other direction. See the "SETUP unable to find homing and/or tap values" question above, and try to find a valid DC value that's higher than what's currently selected.
Sensor errors during tap operations
These are the same cause as errors during homing, but if the errors appear only during tapping, you can increase your drive current for tap operations only. See the "SETUP unable to find homing and/or tap values" question above.
Tap fails with "Probe completed movement before triggering"
This is caused by one of two things:
- The tap threshold is too low, and a tap isn't detected before the toolhead reaches the target position (default -0.250).
- The base sensor calibration is too far off, and actual zero is lower than -0.250 on the Z axis.
To check the second one, put a piece of paper under the toolhead and manually move the toolhead to 0. Then keep stepping it downwards by 0.1 until you can no longer move the paper (or it's very difficult). If this is below -0.250, you can redo calibration, or you can set a lower tap target Z; but be aware that this increases the amount of nozzle-build plate contact.
If it's not the second one, then looking at the plot can help identify what's going on with the threshold value.
Tap fails with "Tap detected too close to target Z"
TARGET_Z
is the Z position that the toolhead is told to move down to so that a tap can be detected along the way. That movement is stopped when it detects contact. The TARGET_Z
value shouldn't actually matter -- it could be -100.0
-- but it acts as a final safety stop to basically say "well, this is the lowest position the toolhead is told to move to, so if something bad happens, we're not going to keep grinding the toolhead into the plate".
The TARGET_Z coordinate is based on your Z homing. And the value needs to be set as "if the toolhead gets moved to this Z coordinate it will absolutely have made solid contact with the build plate before it gets there."
"Contact" is detected when the toolhead physically slows down when it's expected to be moving at a constant speed. (Think of a stepper trying to apply more and more force, but the toolhead can't move any further because it's hitting the plate.) The toolhead also decelerates at the end of a movement just as part of normal motion to bring it to a stop.
As an example, with TARGET_Z=-2.0
. Manually move the toolhead to Z=-2.0
using the web UI.
If it's not making contact with the plate at all, then that's a homing/calibration issue. The toolhead is not physically at the position the sensor thinks it is. Move the toolhead back up, put a piece of paper under it, and move it to Z=0.0. If it doesn't have some grip on the paper, then you need to recalibrate. Also move the toolhead to, say, Z=+2.0, and measure the distance between nozzle tip and build plate. If it's off by more than like 0.2-0.3mm or so, then you need to recalibrate.
If it's making slight contact with the build plate, that contact may come at the end of the motion, which means it's going to be hard to determine whether that's actual contact or whether it's toolhead deceleration. That's what "Tap detected too close to target Z" means, and why the message tells you to lower TARGET_Z
-- basically, "give me more room to actually make contact with the build plate." You can give TARGET_Z=...
as a parameter to the TAP
command, or you can set target_z: ...
in the config to change the default.
If it's making solid contact with the build plate, then for some reason the tap contact isn't being detected. Increasing the tap speed slightly may help (by 0.5-1.0mm/s, default is I think 3mm/s). Lowering the threshold value may help, but may also increase false positives. You'd need to look at some of the graphs to get a better idea.
Tap stopping too early with the toolhead in the air
This is caused by the tap threshold being too low and triggering before nozzle-plate contact occurs. Looking at the plot can help identify what's going on.
Also verify that there is no filament on your nozzle. Tap detects physical contact, but if there's a bit of filament at the tip, that will count, too.
Other Issues FAQ
"Already sampling" error
If you see errors like this:
EDDYng Already sampling
This often happens after a QUAD_GANTRY_LEVEL
aborts due to increasing offset values. Unfortunately the way
that error is reported doesn't seem to go through the normal command error paths. A RESTART
is required.
(TODO: add a PROBE_EDDY_NG_STOP_SAMPLING
) If you see this and there wasn't an aborted QGL or bed mesh,
please file a bug.