Skip to content

bltouch pulse instead of permanent contact (and reset) #100

@rens-wientjes

Description

@rens-wientjes

BLTouch support almost works with delta kinematics, but when performing G38.2, the probe state is read after the probe has already been triggered and motion has stopped.
cnc_delay_ms(g_settings.debounce_ms); // adds a delay before reading io pin (debounce)
probe_ok = io_get_probe();
Unfortunately, probe_ok becomes 0 again because the BLTouch only outputs a very short pulse (~10 ms) when triggered.
Furthermore, the BLTouch needs a kind of reset when the pin has touched something unexpected or when it enters an alarm state. The following sequence appears to work before deploying the probe again:
mcu_set_servo(BLTOUCH_PROBE_SERVO, BLTOUCH_ALARM_REL_PUSH_UP);
cnc_delay_ms(BLTOUCH_DELAY);
mcu_set_servo(BLTOUCH_PROBE_SERVO, BLTOUCH_STOW);
cnc_delay_ms(BLTOUCH_DELAY);
seems to work before deploy again.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions