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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.