kleiner Wachhund für CNC-Steuerungen

OP Persönliche Seite #6554500
Lesenswert?

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
1
OSCCAL = CAL_12_MHZ;
, 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.
Angehängte Dateien:
Beitrag #6582069 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren