Forum: Mikrocontroller und Digitale Elektronik AVR Input Capture für mehrere Eingänge


von Michael R. (Firma: Brainit GmbH) (fisa)


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!

von Ernst L. (extraterrestrial)


Lesenswert?

Ich kriege hier immer auf den Deckel wenn ich sowas frage, ohne die 
Frequenz der Signale anzugeben.

von spess53 (Gast)


Lesenswert?

Hi

>Ich kriege hier immer auf den Deckel wenn ich sowas frage, ohne die
>Frequenz der Signale anzugeben.

Zu Recht.

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

>>Ich kriege hier immer auf den Deckel wenn ich sowas frage, ohne die
>>Frequenz der Signale anzugeben.
>
> Zu Recht.
>

Und die nächste kriegst du, wenn du nicht sagst, wie genau den 'genau' 
sein soll.

von Peter D. (peda)


Lesenswert?

Michael Reinelt schrieb:
> Es gibt aber nur einen Input Capture Pin, richtig?

Jain.
Man kann den internen Multiplexer benutzen.
Damit sind es 7 (DIP) bzw. 9 (SMD) Capture-Eingänge.


Peter

von Michael R. (Firma: Brainit GmbH) (fisa)


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? :-)

von Peter D. (peda)


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

von Michael R. (Firma: Brainit GmbH) (fisa)


Lesenswert?

@Peter: Wow, Danke!

von m.n. (Gast)


Lesenswert?

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"

von Michael R. (Firma: Brainit GmbH) (fisa)


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!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.