Impulszähler Starterkennung

Gast #5823697
Lesenswert?
• ▲
▼
Hallo Leute,

ich stehe vor einen Problem, wo ich leider noch keinen vernünftigen 
Ansatz gefunden habe.

Ich möchte Impulse zählen in einen festgelegten Zeitraum.
Ein ATtiny2313 soll von einen Münzzählgerät Impulse zählen.

Dieses Gerät gibt in einer festen Zeit unterschiedliche Anzahl von 
Impulsen in einer festen Zeitbasis von 100ms, je nach Münzstück.

Diese möchte ich auswerten um die Summe der Münzstücke zu addieren.

Meine Überlegungen bisher:
Ich nutze einen Timer und konfiguriere ihn mit externen Takt und lege 
dort mein Impulsausgang vom Münzzahler an.

Ein zweiter Timer kann mir helfen das Zeitfenster von 100ms zu 
erstellen.

Aber mir fehlt ein Ansatz, wie ich nun den uC sage wann diese 100ms 
eigentlich anfangen. Sie fangen ja mit dem ersten Impuls von dem 100ms 
Zeitfenster an und können ja jederzeit anfangen.

Hat jemand einen Denkanstoß für mich?

Ich bin über jede Hilfe dankbar.
Gast #5823711
Lesenswert?
• ▲
▼
Es wäre sinnvoller ein Interrupt zu nutzen der ab der ersten 
Signalflanke vom Münzzähler die Zeit bis 100ms startet und dann die 
Anzahl der Impulse auswertet.

Was haltet ihr von der Lösung, sinnvoll?
Gast #5823713
Lesenswert?
• ▲
▼
Karl M. schrieb:
> Es gibt eine, die Erste steigende Flanke - das wäre aus Sicht des
> Diagramms der Start.
>
> Richtig?

Richtig, diese kommt aber irgendwann, also sobald eine Münze eingeworfen 
wird. Absolut zeitunabhängit.

Aber wenn eine Münze eingeworfen wird, gibt der Automat eine 
Impulsanzahl innerhalb der 100ms aus.
Gast #5823856
Lesenswert?
• ▲
▼
Flanken ISR:
1. Flanke erkennen
2. läuft das 100ms-Intervall?
(noch) nicht?
2a. Interval-Timer starten
2b. Impuls-Zähler auf 0 setzen

3. Impuls-Zähler erhöhen

Interval-Ende-ISR
1. Impuls-Zahlerstand speichern (für Auswerteroutine)
2. Fertig-Meldung abgeben

Das wären zwei ISR: Eine wird aufgrund eine Flanke an einem IO-Pin 
ausgelöst, die andere beim Überlauf eines 100ms-Singleshot-Timers (kein 
automatisches Reset).

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.