Im Zuge der Modernisierung meiner Käsefräse entstand dieser kleine
Wachhund.
Klein sollte es werden, damit es auf meinem selbst kreierten
Breakout-Board paßt, so entschied ich mich für einen ATtiny4.
Dieser Wachhund soll bewirken, daß die Maschine die Signale vom
Druckerport ignoriert, solange die CNC-Software noch nicht läuft.
In meinem Fall ist es LinuxCNC in Verbindung mit der HAL-Komponente
"charge_pump", welches ein Signal im kHz-Bereich liefert.
Näheres dazu findet der geneigte Leser in der LinuxCNC-Wiki.
Mach3 hat so was ähnliches zu bieten, da sind es wohl 12,5kHz, so mein
Wissensstand.
Zur Funktion: Sobald ein entsprechendes Signal an "IN" anliegt, wird ein
Counter runtergezählt bis Null,
dann wird der Watchdog-Ausgang "OUT" aktiviert, das kann nach Belieben
Low oder High sein, je nachdem, wie man möchte.
Sollte aber nur ein einziges mal die ermittelte Pulslänge nicht passen,
wird sofort der Watchdog-Ausgang deaktiviert.
Der Wachhund spricht in einem weiten Frequenzbereich von ca. 2kHz bis
etwa 13kHz an.
Zudem gibt es einen Ausgang (CLK), an dem man mit geeignetem Equipment
messen kann, wie oft die ISR angesprungen wird.
Der ATtiny4 läuft mit dem internen RC-Oszillator, ohne Vorteiler und
12MHz.
Eigentlich läuft der interne RC-Oszillator mit 8MHz, aber mit einer
höheren Taktfrequenz bekomme ich noch sauber 13kHz detektiert.
Wem das zu sehr außerhalb der Spezifikation des internen Oszillators
deucht,
kann gerne die Zeile
, dessen Wert empirisch ermittelt wurde, auskommentieren oder gar
löschen.
Dann sollte man aber auch "DEBOUNCE" entsprechend auf "50000"
reduzieren, da sonst nicht mehr sichergestellt werden kann,
daß zwischen den Interrupts genügend Takte für die Abarbeitung der
Hauptschleife vorhanden sind.
Einen Schaltplan erspare ich mir aufgrund der Trivialität, kann ihn aber
gerne bei Interesse nachreichen.
Der Schaltplan besteht eh nur aus einem ATtiny4, einem
100n-Abblockkondensator und meinetwegen der
TPI-Programmierschnittstelle.
Hilfreiche Anregungen, Verbesserungsvorschläge und konstruktive Kritik
sind gerne willkommen, den Rest ignoriere ich.