Forum: Mikrocontroller und Digitale Elektronik Atmega32 Timer Quarz Kalibration


von Peter tr. (Gast)


Lesenswert?

Wenn ich beim Atmega32 ein 16MHz Quarz verwende aber eine viel zu große 
Zeitabweichung habe, ich aber den Timer auch nur zur Kapazitätsmessung 
etc benötige, wie kann ich das per Software für alle Teile des Progamms 
anpassen?
1
  SREG_I_bit := 1;
2
  TCCR1A := 0x80;
3
  TCCR1B := 0x0B;
4
  OCR1AH := 0x61;
5
  OCR1AL := 0xA7;
6
  OCIE1A_bit := 1;

von Wolfgang (Gast)


Lesenswert?

Peter tr. schrieb:
> Wenn ich beim Atmega32 ein 16MHz Quarz verwende aber eine viel zu große
> Zeitabweichung habe ...

... dann solltest du klären, was der Grund dafür ist.

Per Software: F_CPU oder wie auch immer die Quarzfrequenz in deiner IDE 
dem Compiler mitgeteilt wird.

von Christian S. (roehrenvorheizer)


Lesenswert?

Nunja, die mit den angegebenen Registern vorgenommenen Einstellungen 
könnte man nun anhand des Datenblattes analysieren. Trotzdem fehlt der 
Code, der das Ganze zum Leben bringt. Viel wird man zur Fehlerursache 
nicht aussagen können. Vermutlich handelt es sich um ein vorgefertigtes 
Programm, mit dem der unbedarfte Anwender Schwierigkeiten hat.

mfG

von Andreas B. (bitverdreher)


Lesenswert?

Wenn man mal einen Billigquarz zugrundelegt, der 100ppm Abweichung hat, 
dann möchte ich mal die Kapazitätsmessung in dieser Genauigkeit sehen.
Dein Problem liegt woanders.
Läuft der uC überhaupt mit den Quarz?
Fuses?

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.