- Labornetzteil AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 19 von 19

Thema: Timer ungenau?

  1. #11
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2010
    Beiträge
    167
    Anzeige

    Praxistest und DIY Projekte
    Das Auslesen über die UART funktionierte
    mit 9600 nur noch in Ausnahmefällen, mit 4800 so zu fifty/fifty und erst
    das ist unsinn, mit dem internen kannste bis auf 19000 hoch und das fehlerfrei.
    natürlich darfst du keine zusammengeschusterte platine haben wie das so oft der fall ist...geiz ist geil.

    billigteile sind geil...

    gruss

  2. #12
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.01.2006
    Beiträge
    4.555
    Zitat Zitat von Phips89
    Hallo Jaecko,

    danke für deine Antwort. Du hast mein Rätsel gelöst! Die Temperaturabhängigkeit dürfte wohl das große Problem sein!

    Auch mit dem Quarz hast du recht, da habe ich wohl den falschen SI Prefix erwischt...es sind 32,768 kHz. So das es eben mit einem Prescaler von 256 genau 128 überläufe pro Sekunde ergibt.

    Problem ist eben nur, dass ich den Quarz für die "Soft Clock" benötige und den Takt aber auch für meine Berechnung benötigen würde.
    Ich habe gestern Abend noch versucht die Fuses über das myAVR-Progtool zu setzen, aber ohne Erfolg. Setze ich sie auf "ext. Low-Freq. Crystal; Start-Up time: 32K CK + 64 ms; [CKSEL=1001 SUT=10]", so wie es laut der Anleitung mit einem Uhrenquarz richtig ist, macht mein Atmega keinen Strich mehr. (CKOPT wurde natürlich auch aktiviert) Setze ich ihn wieder zurück auf die letzten Einstellungen, funktioniert wieder alles!

    DANKE!
    Mfg
    Phips
    Ich bekomme immer wieder ne Kriese wenn ich hier lese wie fahrlässig an den Fuses gebastelt wird. Mit meinem STK500 und Hochvolt Programmierung komme ich zwar immer wieder an den Chip heran, hüte mich aber trotzdem vor den Fuses.

    Ich habe schon einige Mega auf extern Quarz gestellt und nie Probleme gehabt ABER ich habe immer NUR den Externen Quarz aktiviert und sonst NIX!

    Da ich keinen Mega 8 hier habe, einmal den Mega 16 mit 16 MHz Quarz einstellung.....

    https://storage.driveonweb.de/dowdoc...28e9e81c28.JPG

    Gruß Richard

  3. #13
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Wenn es ums Stromsparen geht, ist der 32,... kHz Quarz die richtige Wahl für die Uhr. Vermutlich dann aber so, dass der 32 kHz Quarz für Timer 2 zuständig ist, und der Rest des µC mit dem internen Takt (z.B. ca. 1 MHz) läuft. Wenn man will kann man den internen Takt für den Tacho noch am Quarz abgleichen, aber für die Geschwindigkeit sind die 1-2% Feher des internen Taktes oft noch akzeptabel.

    Wenn man nicht so sehr mit Strom sparen muss, kann man auch alles über einen 4-10 MHz Quarz laufen lassen, die sind auch nicht unbedingt schlechter als die Uhrenquarze , aber die Programmierung wird einfacher.

    Alles über den 32 kHz Quarz laufen zu lassen, läßt wenig Rechengeschwindigkeit übrig, und bei der Übertragung per ISP muß es ganz langsam gehen.

  4. #14
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Kehnert
    Beiträge
    1.159
    funkheld:
    Ich habe hier lediglich meine praktische Erfahrung geschildert mit den
    Baudraten über die UART. VG Micha

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.10.2005
    Alter
    71
    Beiträge
    157
    Der interne RC-Oszillator hat einen Temparaturkoeffizient im Pronzentbereich (s. Grafik "CALIBRATED 8MHz RC OSCILLATOR FREQUENCY vs. TEMPERATURE" im Datenblatt). Deine Messungenauigkeit von 1/1200 (ca. 1 Promille )liegt deutlich darunter. Der Unterschied beruht also wahrscheinlich auf Ungenauigkeiten des Oszillators. Dazu muss man wissen, das der Timer-Takt im Regelfall vom Prozessor-Takt abgeleitet wird.

    Erste Maßnahme wäre es, den Prozessortakt über einen Quarz zu generieren (z.B. 1 MHz oder 8 oder 16 oder ...). Standardquarze haben eine Fehlertolaranz von 20 ppm, der Temperatur-Koeffizient liegt ebenfalls bei 20 ppm, ist also rd. 500 mal genauer als der interne RC-Oszillator.

    Uhrenquarze von 32 kHz sind noch präziser (0,04 ppm Temperatur-Koeffizient). Sind aber häufig zu langsam für den Prozessortakt. Hier müsste man einen separaten Oszillator aufbauen (z.B. mit zwei NAND-Gattern) und den Timer über diesen externen Takt versorgen. Für den Prozessor-Takt reicht dann der interne RC-Oszillator.

    Bei beiden Quarzlösungen ist zu beachten, das der Grundfehler in der Größenordnung von 20 ppm liegt. Wenn man hier genauer sein will, muss man dies über entsprechende Ziehkondensatoren oder durch Anpassung der Vorladewerts justieren.

    Bei den höheren Taktfrequenzen muss man aber entweder den Prescaler einsetzen oder kleinere Zeiten (z.B. 1 mSec) messen und diese aufaddieren.

    VG Red Baron

  6. #16
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    12.02.2010
    Beiträge
    167
    Man..., die Fehlerquelle ist das Bascom.
    Setzt die Routine mal nach Winavrc um, dann kannste sehen wie genau der Timer geht, super genau.
    Die LCD-Rouine in Bascom ist eine mittlere Katastrophe im Zusammenhang mit dem Interrupt für eine Zeitmessung.

    Gruss

  7. #17
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    42
    Beiträge
    2.009
    Hm...
    Mal ein älteres Zitat von weiter oben:

    "Ich hab an einem Projekt nen 16MHz Quarz hängen; da läuft die Uhrzeit seit 3 Monaten ohne merkliche Abweichungen." (Mittlerweile sinds 4 Monate, und die Abweichung ist immer noch nicht subjektiv wahrnehmbar)

    Geschrieben: in Bascom. LCD dran? Ja, 16x1, HD44780.

    Ok, Bascom ist nicht perfekt. Aber als "Fehlerquelle" kann man das mit Sicherheit nicht bezeichnen; in Bascom hat man genau so wie in C vollen Zugriff auf alle Register; somit kann man z.B. einen Timer in Bascom durchaus im genaueren CTC-Modus laufen lassen ("Nachladen" in der ISR entfällt hier schon mal)
    #ifndef MfG
    #define MfG

  8. #18
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Kehnert
    Beiträge
    1.159
    funkheld:
    jetzt soll auch noch Bascom an der Ungenauigkeit Schuld sein?
    Naja---- kein Kommentar meinerseits mehr zum Autor.
    VG Micha

  9. #19
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.10.2008
    Ort
    Kehnert
    Beiträge
    1.159
    Nachtrag;
    meine natürlich hiermit nicht den urprünglichen Autor diesen Treads.
    VG Micha

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress