www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega32:Timer nur einmal duchlaufen lassen?


Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

folgends Problem: Mein Atmega soll eine zeitgesteurte Sequenz genau 
einmal ausgeben. Realisieren müchte ich das mit Timer 1 im Fast-PWM-Mode 
über die zugeordneten Compare-Ausgaänge (Es soll alternativ möglich 
sein, die Sequenz endlos laufen zu lassen). Dieser Einzelduchlauf der 
Sequenz muß abhängig von einem extrenen Triggersignal mit einer möglchst 
kleinen Vertögerung gestartet werden.
Nun scheint es aber problematisch zu sein, den Timer nur einmal 
durchlaufen zu lassen. Zumindest findet beim ersten Durchlauf kein 
Compare Match statt; die Portpins werden nicht geschaltet. Wie würdet 
ihr das lösen?

Gruß,
Harald

Autor: Mätte T. (maette)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was willst du denn damit machen?
Timer laufen lassen, bei Interrupt TCNT1 auf 0 stellen, dann nächster 
Overflow bzw. Output Compare verwenden.

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also,

dir Aufgabenstellung ist folgende:

Es sollen drei angeschlossene Geräte geschaltet werden, und zwar mit 
eine sehr präzisen Timing. 1. Gerät -> 1.Compare Match, 2.Gerät -> 2. 
Compare Match, 3.Gerät -> Timerüberlauf.

Es soll zwei Betriebsmodi geben:

- Die Sequenz soll periodisch mit einer bestimmten Frequenz laufen.
- Die Sequenz soll nach Empfang eines Steuerimpulses innerhalb einer 
genau
  definierten Zeitspanne starten.

Gruß,
Harald

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Harald wrote:
> Es sollen drei angeschlossene Geräte geschaltet werden,

Ein, aus, toggle oder wie?

> und zwar mit
> eine sehr präzisen Timing.

Gehts vielleicht auch etwas präziser?

Also max wieviel µs?

Techniker wollen immer exakte Zahlen und keine schwammigen Angaben.


Peter

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

>> Es sollen drei angeschlossene Geräte geschaltet werden,

>Ein, aus, toggle oder wie?

Zwei der Gerät reagieren nur auf die Flanke (Ein Laser und eine 
Zündschlatung), ein weiteres, ein Ventil wird geöffnet und geschlossen.

> und zwar mit
> eine sehr präzisen Timing.

Also max wieviel µs?

+/- 10us

Gruß,
Harald

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Noch eine Anmerkung dazu:

Das Ventil soll am Anfang der Sequenz geöffnet werden, also bei meinem 
Lösungsansatz glaichzeitig mit dem Timer, und soll dann mit dem 
Timerüberlauf wieder schließen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.