Frage zu input capture

Gast #69564
Lesenswert?

Frage zu input capture

Hallo,
kennt sich jemand mit input capture aus?

Ich mußte feststellen, daß bei einem PWM-
Signal die Summe aus high- und low-Zeiten
länger sind als die gesamte Periodendauer,
also z.B. 800 Counts high, 1043 Counts low,
aber nur 1590 Counts für eine Periode.
Ich benutze einen ATmega16, programmiert in
C (dank des ausgezeichneten Tutorials von
Chr. Schifferle auch für Anfänger kein Problem)
und abgefragt wird ein STM-160-30 (=ein Thermometer).
Das Ergbnis ist der Mittelwert aus 30 Abfragen,
die aber an sich kaum schwanken.
Rauschunterdrückung hat keinen Einfluß.

Am Oszi sieht es ganz normal aus, etwa
135 µs high, 183 µs low, zusammen 320 µs.

Also müßte die input-capture-Einheit des ATmega16
das Ergebnis verderben.

Weiß jemand einen Rat?
Günther
Gast #69566
Lesenswert?

HAllo, Crazy Horse,
wie hast Du das gemacht - nur in C?
Ich habe auch andere Thermometer drangehängt
alle gehen daneben.
Vielleicht liegt es doch irgendwie an
meinem Programm ????
Kannst Du mir mal Deine Version schicken,
mal sehen ob mein Thermometer damit
richtig geht.
Viele Grüße
Günther
Gast #69568
Lesenswert?

Hallo, crazy Horse,
vielen Dank für Deine Hilfe.
Deine Hilfe war schon vor Übermittlung Deines
Programms erfolgreich:
Ich wollte Dir gestern mein Programm zur Durchsicht
schicken und bei der Vorbereitung des Programms zum
Versand habe ich den logischen Fehler gefunden:
bei der Kontrolle auf Zählerüberlauf war eine
if-Schleife verkehrt herum geschrieben.

Nun funktioniert es bestens!
Allerdings muß ich jetzt ein Baustein mit
mehreren UND-Eingängen finden, weil es mehrere
Thermometer sind.

Den Code für die input-capture-Abfrage füge ich bei.

Viele Grüße
Günther
Angehängte Dateien:

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