AVR Input Capture für mehrere Eingänge

(Firma: Brainit GmbH) #2865746
Lesenswert?

nur um sicherzustellen dass ich mich nicht verrannt habe:

ein ATMega328 hat ja das Input Capture Feature, um recht einfache und 
doch genaue Zeitmessungen eines Signals zu ermöglichen.

Es gibt aber nur einen Input Capture Pin, richtig? Was wenn ich nun 5 
oder noch mehr Signale vermessen will? Führt da ein Weg an einem 
Multiplexer vorbei?


Danke!
(Firma: Brainit GmbH) #2865828
Lesenswert?

bevor ich auch eine auf den Deckel kriege: Die Frequenz ist recht 
unterschiedlich, aber nicht sehr hoch. Dreimal gehts um UTI 
(PT100-Auswertung) ist so um die 10 Hz IIRC (es muss aber eine Sequenz 
eingelesen werden, was wahrscheinlich die ISR etwas kniffliger macht). 
Zweimal um Durchfluss-Messer, ebenfalls etwa 10 Impulse/Sec. Und zu 
guter letzt um den Impulsausgang eines Energie-Mess-IC, da weiss ich die 
Frequenz (noch) nicht, dürfte sich aber im bereich 10-100 Hz bewegen.

Peter Dannegger schrieb:
> Man kann den internen Multiplexer benutzen.
> Damit sind es 7 (DIP) bzw. 9 (SMD) Capture-Eingänge.

heidenei! Das klingt genial!

Darf man hier nach einem RTFM-Pointer fragen, ohne eine auf den Deckel 
zu kriegen? :-)
#2865859
Lesenswert?

Datenblatt:
22. Analog Comparator
22.1 Overview
22.2 Analog Comparator Multiplexed Input
22.3.1 ADCSRB – ADC Control and Status Register B
• Bit 6 – ACME: Analog Comparator Multiplexer Enable
22.3.2 ACSR – Analog Comparator Control and Status Register
• Bit 2 – ACIC: Analog Comparator Input Capture Enable

Korrektur:
Es sind 8 (DIP) bzw. 10 (SMD) Capture-Eingänge:
PCINT1, AIN1, ADC0 .. 5 (7)


Peter
(Firma: Brainit GmbH) #2866546
Lesenswert?

m.n. schrieb:
> Um niedrige Frequenzen zu messen, kann man auch den 'pin change
> interrupt' in Verbindung mit Timer1 verwenden. Ein Beispiel zeigt eine
> 4-Kanal Drehzahlmessung, die sich auch noch erweitern läßt.
> Zu Risiken und Nebenwirkungen ... hier weiterlesen:
> Beitrag "4-Kanal Drehzahlmessung mit ATmega88"

Hmmm... vier (oder mehr) Signale gleichzeitig messen... klingt auch sehr 
spannend. Mir war nicht klar dass ich den Pin Change Interrupt auf 
mehrere Pins gleichzeitig legen kann, und im ISR dann durch 
Old-New-Vergleiche den oder die Flanken erkennen kann....

Man lernt jeden Tag etwas neues.

Ich danke euch!

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