Forum: Mikrocontroller und Digitale Elektronik Frequenzmessung/AnalogComparator


von Matze (Gast)


Lesenswert?

Hallo,

ich wollte eine Frequenzmessung mittels eines Mega 128 machen. Das 
Rechtecksignal liegt an PA0 an. Dazu der ADMUX um den Comparator diesen 
Pin zuzuweisen. Diesen möchte ich nun auf meinen Timer1 anlegen. Dies 
sollte so funktionieren:
1
ADMUX=0x10;              //PA0 am Int-Comparator anlegen
2
ADCSRA=0;                //ADC disable
3
ACSR = (1<<ACIC)|(1<<ACBG)|(1<<ACIE)|(1<<ACIS1);   //Comparator Ausgang ist Verbunden mit Timer1,Referenzspannung an, InterruptEnable, Interrupt bei FallingEdge

Nun den Timer1 initialisieren:
1
TCCR1B = (1<<ICES1)|(1<<CS10)|(1<<CS12)|(1<<CS10);       //Vorteiler (1024) und Capturemode (Rising Edge) eingeben  
2
    TIMSK = (1<<TICIE1);  //Timer 1 in Capture+Overflow-Modus

Ich wollte von euch wissen, ob das so geht, was man beachten muss wenn 
man den internen Comparator nutzt und ob Ihr vllt noch simple Beispiele 
für mich habt, wie es dann weitergehen könnte.
Ich hatte an folgendes Beispiel gedacht:
https://www.mikrocontroller.net/attachment/20833/FreqCount.c
von
https://www.mikrocontroller.net/user/show/kbuchegg

von m.n. (Gast)


Lesenswert?

Matze schrieb:
> Nun den Timer1 initialisieren:TCCR1B =
> (1<<ICES1)|(1<<CS10)|(1<<CS12)|(1<<CS10);       //Vorteiler (1024) und
> Capturemode (Rising Edge) eingeben
>     TIMSK = (1<<TICIE1);  //Timer 1 in Capture+Overflow-Modus

Ich weiß ja nicht, welchen Frequenzbereich Du messen möchtest, aber für 
Timer1 den Vorteiler zu aktivieren ist völlig unnötig.
Es ist egal, ob Du ICPx nutzt oder den Analog-Komparator über AIN0/AIN1 
oder ADMUX.
Beispiele, wie es weiter gehen kann (inkl. Arduino + Bascom), findest Du 
hier: http://mino-elektronik.de/fmeter/fm_software.htm

von Matze (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe mal bisschen was ausprobiert und wollte das nicht vorenthalten.

Wenn jemand Zeit und Lust hat, wäre ich Ihm sehr verbunden mir Fehler 
und mögliche Verbesserungen mitzuteilen.

:)

von Stefan F. (Gast)


Lesenswert?

Das fehlen die includes und die Einrückung ist chaotisch.

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.