Minimalistisk løsning
Den mest enkle implementering er at bruge en enkelt modstand (!) til at beskytte indgangsstiften, som beskrevet i denne kilde. AVR-indgangene er beskyttet mod over / under spænding af interne siliciumdioder D1 og D2. Indgangsmodstanden skal være dimensioneret således, at den ikke leder mere end 1 mA, når den interne fastspændingsdiode, D1, leder i Vcc + 0,5V eller 5,5V i dette tilfælde. En 22K modstand kan fungere i dette tilfælde, hvis vi bruger vores 24V forsyning til sensoren. Vores strøm gennem fastspændingsdioden beregnes af Ohms lov som (24V - 5,5V) / 22K = 0,84 mA.
Der er dog ingen grund til i dette tilfælde at skære så tæt på knoglen. Vi har ikke brug for særlig højhastighedsdetektion til denne applikation, så en 100K modstand ville være et bedre valg og begrænser dioden D1 til 0,19 mA. Dette giver yderligere beskyttelse for spændingsspidser.
Denne løsning fungerer godt, indtil den interne diode steges af en spids eller bølge, så det er meget bedre at tilføje redundans og bruge et par eksterne Schottky-fastspændingsdioder, som har et lavere fremadspændingsfald og vil lede før de interne siliciumdioder.
Så min løsning (den jeg planlægger at implementere snart på min egen Ender 3 Pro *) er fra denne kildeartikel og ser sådan ud:
Hvor R1, D3 og D4 er mine eksterne komponenter som beskrevet, og C1 er udeladt for enkelhedens skyld. (Hvis C1 bruges, danner det et lavpas RC-filter, så du bliver nødt til at dimensionere det korrekt. Hvis vi finder ud af, at støj eller 'bounce' er et problem, kan vi nemt tilføje C1 senere.)
Efter min mening er en enkelt 100K modstand og to Schottky-dioder tilstrækkelig beskyttelse for dette kredsløb, og 6-36V nærhedsføler fungerer meget godt på den tilgængelige 24V forsyning.
* Baseret på den første kommentar til denne foreslåede løsning, anerkender jeg behovet for at se nøje på den fejlesikre ejendom her. Afhængigt af om den eksisterende Z-endestop er inkluderet i sløjfen, og hvordan Marlin håndterer dette, vil det afgøre, om dette er en tilfredsstillende løsning. Jeg vil lade min del af diskussionen være der indtil nu, indtil jeg kommer tættere på design og implementering på min egen maskine.