- 3D-Druck Einstieg und Tipps         
Seite 4 von 6 ErsteErste ... 23456 LetzteLetzte
Ergebnis 31 bis 40 von 52

Thema: Timer für AVR ATtiny84 oder ander allgemein in C

  1. #31
    Neuer Benutzer Öfters hier Avatar von ooweberoo
    Registriert seit
    24.02.2014
    Ort
    66482 Zweibrücken
    Alter
    40
    Beiträge
    28
    Blog-Einträge
    1
    Anzeige

    Powerstation Test
    Hallo,

    @derNeue: Das stimmt, eigentlich brauche ich den Quarz nur der genauen Frequenz wegen. Mein Projekt ist eine 7-Segment Uhr. Und momentan läuft sie ohne
    Probleme, geht aber pro Tag ca. 8-10 Minuten nach. Er ist quasi meine Unruh und die muss genau schwingen.

    @WsK8: Achso ich muss dan folgendes auswählen :
    EXT. Crystal Osc. frequency 8.0- MHz... danach die gleiche Startup- Zeit usw. wie jetzt. Somit steht 8.0-MHz für 8 MHz und mehr also auch 10, 12, 20, 40 ....? Des Weiterne das Häckchen bei CKDIV8 entfernen wenn ich das richtig gelesen habe???

    mfG

  2. #32
    Erfahrener Benutzer Fleißiges Mitglied Avatar von derNeue
    Registriert seit
    01.01.2011
    Ort
    Bierstadt Radeberg
    Alter
    39
    Beiträge
    101
    Hallo!

    Okay, für eine Uhr ist das zwar noch etwas anderes, aber ich glaube, da wirst du mit deinem 10MHz Quarz auch noch nicht ganz glücklich. Sicher wird die Abweichung der Uhr nicht mehr so groß sein. Allerdings würdest du mehr Genauigkeit erreichen, indem du einen Uhrenquarz mit rund 32KHz nimmst und damit einen Timer ansteuerst. Der Attiny84 bietet die Möglichkeit, einen Timer mit einer externen Taktquelle zu versorgen. Perfekt für einen Uhrenquarz. Ist zwar wieder etwas neues für dich, aber du möchtest ja lernen hast du geschrieben So würde ich das machen und ich habe auch schon am Anfang meiner µC-Zeit eine Uhr gebaut und gedacht, der interne Quarz wird das schon machen. Nur leider war das bei meinem Projekt nicht ganz so einfach, ich hatte nur noch einen Pin frei.

    EXT. Crystal Osc. frequency 8.0- MHz... danach die gleiche Startup- Zeit usw. wie jetzt. Somit steht 8.0-MHz für 8 MHz und mehr also auch 10, 12, 20, 40 ....? Des Weiterne das Häckchen bei CKDIV8 entfernen wenn ich das richtig gelesen habe???
    Die Start-up Zeit ist die Zeit, die der Controller benötigt, um selbst hochzufahren. Ich kenne kein Hobbyprojekt, bei dem es auf die ersten µs nach Spannung anlegen ankommt. Deswegen auf der sicheren Seite bleiben und die höchste Zeit wählen, wie warsch jetzt schon auch bei dir gewählt. Die MHz stehen für alle Frequenzen bis zum Maximum, was schon auf der ersten Seite angegeben wird. Ich bin gerade zu faul, das Datenblatt des Attiny 84 zu suchen, was bei diesem angebeben ist. Aber nicht mehr als 20MHz, mehr macht eig kein AVR mit. Das Häckchen CKDIV8 bedeutet einfach nur, dass der Systemtakt nochmal durch 8 geteilt wird, bevor er dem Attiny zuf Verfügung steht. Sozusagen ein Prescaler von 8. Machst du das Häckchen raus, hast du einen Prescaler von 1.


    Dennis
    Ich studiere die Wirkung der Sonnenstrahlen auf das Liebesleben der Pflastersteine

  3. #33
    Neuer Benutzer Öfters hier Avatar von ooweberoo
    Registriert seit
    24.02.2014
    Ort
    66482 Zweibrücken
    Alter
    40
    Beiträge
    28
    Blog-Einträge
    1
    Hallo Dennis,

    danke erstmal für deine Meinug und Erfahrungen. Du meinest einen Quarzoszilator statt einen normalen Quarz. Der verbraucht auch nur einen Pin das stimmt.
    Mal schauen wie groß der ist da die Uhr ja an den Arm soll
    32,768KHz habe ich schon oft gelesen wobei ich dachte desto höher der Takt desto höher die Genauigkeit aber auch der Stromverbrauch...
    Zudem hätte ich mit 10MHz den gleichen Takt wie jetzt nur genau..... naja ok mal schauen...

    Danke dir!

    Chris

  4. #34
    Erfahrener Benutzer Fleißiges Mitglied Avatar von derNeue
    Registriert seit
    01.01.2011
    Ort
    Bierstadt Radeberg
    Alter
    39
    Beiträge
    101
    Na auch die externen Quarze haben eine Abweichung, wenn auch nicht so groß, wie der interne des Attiny. Die Uhrenquarze sind eben dafür ausgelegt, die exakte Uhrzeit anzuzeigen. Und du brauchst nicht mehr viel umrechnen, wie bei 10MHz, deswegen diese krumme Frequenz. Wie gesagt, nicht als Hauptquarz die 32,768KHz nehmen, sondern nur als Taktquelle für den Timer, also an die Pins "T1" und "T0" anschließen. Wie der dort genau angeschlossen wird, musst du mal im Datenblatt nachsehen.

    Dennis
    Ich studiere die Wirkung der Sonnenstrahlen auf das Liebesleben der Pflastersteine

  5. #35
    Neuer Benutzer Öfters hier Avatar von ooweberoo
    Registriert seit
    24.02.2014
    Ort
    66482 Zweibrücken
    Alter
    40
    Beiträge
    28
    Blog-Einträge
    1
    Hallo Denis,

    mit 2 x 22pF an XTAL1 und XTAL2 gegen Masse. Aber ich habe gelesen das der Tiny disen Takt dann als Pozessortakt übernimmt.
    Wäre nicht so schlimm da es Strom spart aber mit dem Multiplexen komme ich dann nicht mehr hin denke ich. Flackert bestimmt.
    Deshalb den 10MHz Quarz. 32,786MHz wäre mir auch lieber da man 128 Überläufe pro Sekunde ohne Prescaler hat.
    Mal sehen wie ich das löse

    Gruß Chris

  6. #36
    Erfahrener Benutzer Fleißiges Mitglied Avatar von derNeue
    Registriert seit
    01.01.2011
    Ort
    Bierstadt Radeberg
    Alter
    39
    Beiträge
    101
    Zitat Zitat von ooweberoo Beitrag anzeigen
    mit 2 x 22pF an XTAL1 und XTAL2 gegen Masse
    Nein, eben genau das nicht. Jetzt hab ich mir doch das Datenblatt fix angesehen. Die Pins PA3 und PA4 haben auch die Bezeichnung T0 und T1. Je nachdem, welchen Timer du nutzen willst kannst du ein Clock-Signal entweder bei T0 oder T1 einspeißen. Dazu brauchst du einen Oszillator, mit einem einfachen Quarz klappts nicht, das war mein Fehler. So kannst du den Attiny einfach mit seinem internen ungenauen Takt laufen lassen und nur einen der Timer lässt du über 32khz takten. So kommst du mit dem multiplexen hin und hast trotzdem eine genaue Uhrzeit. Auf Datenblatt-Seite 115 wird der externe Takt für die Timer nochmal beschrieben.


    Dennis
    Ich studiere die Wirkung der Sonnenstrahlen auf das Liebesleben der Pflastersteine

  7. #37
    Neuer Benutzer Öfters hier Avatar von ooweberoo
    Registriert seit
    24.02.2014
    Ort
    66482 Zweibrücken
    Alter
    40
    Beiträge
    28
    Blog-Einträge
    1
    Hallo Dennis,

    das sind sehr gute Informationen die du mir gegeben hast. Danke dir. Ich werde mich an deine Lösung halten und eine Quarzoszillator mit 32,786MHz an T0 setzen. Wie ich dem Datenblatt entnommen habe muss der Takt extern doppelt so langsm sein als der interne.
    Das heist in meinem Fall unter 5MHz bzw f(intern)/2,5=f(ext.clock) 4MHz, das wäre mit 32kHz dann ja mehr als ausreichend.
    Somit müsste ich an den Fuse Bits eigentlich nichts ändern!?
    Im Netz gibt es auch keine Beispiele oder Tutorial da jeder einen Normalen Quarz am XTAL1 & XTAL2 verwendet.
    Läuft der Timer dann automatisch auf der angelegten Frequenz oder muss man das irgendwo einstellen?

    Gruß Chris
    Geändert von ooweberoo (27.03.2014 um 14:25 Uhr)

  8. #38
    Erfahrener Benutzer Fleißiges Mitglied Avatar von derNeue
    Registriert seit
    01.01.2011
    Ort
    Bierstadt Radeberg
    Alter
    39
    Beiträge
    101
    Habs gar nicht mitbekommen, dass du nochmal geschrieben hast.

    Wie du den Timer einstellen musst, kannst du dem Datenblatt entnehmen, was du vielleicht schon gemacht hast. Irgendwas einstellen musst du auf alle Fälle, woher soll der Timer sonst wissen, woher er seinen Takt beziehen soll.

    Dennis
    Ich studiere die Wirkung der Sonnenstrahlen auf das Liebesleben der Pflastersteine

  9. #39
    Neuer Benutzer Öfters hier Avatar von ooweberoo
    Registriert seit
    24.02.2014
    Ort
    66482 Zweibrücken
    Alter
    40
    Beiträge
    28
    Blog-Einträge
    1
    Hallo Dennis,

    ich habe ätzend lange im Datenblatt gesucht und gefunden das mann das Timeregister so bescheiben muss:
    TCCR0B |=((1<<CS00)&&(1<<CS01)&&(1<<CS02)); externer Takt
    Habe das ganze aber noch nicht probiert.
    Denke ich werde den Chip auch auf 32,768Hz laufen lassen da er so sparsamer mit dem Stromverbrauch ist.
    Was meinst du?
    Will ja nur eine 3V Batterie nutzen.

    GRuß Chris

  10. #40
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.693
    ... gefunden das mann das Timeregister so bescheiben muss:
    TCCR0B |=((1<<CS00)&&(1<<CS01)&&(1<<CS02)); ...
    Muss? Für mich wärs mal einen Versuch wert. Aber meine übliche Syntax (AVRStudio 4.18, Build 700, AVRGCC) ist:
    Code:
      TCCR1A &= ~(1<<COM1A1)|(1<<COM1B1);   // Clear/set OC1A/OC1B on Cmp Match   S132
      TCCR1A |=  (1<<COM1A1)|(1<<COM1B1);   //
    Dabei sind die Löschbefehle des Registers eher nur dann erforderlich, wenn vorher das Register gesetzt wurde , weil nach dem Reset alles auf "Null" steht.

    Die 32,768 kHz sind schon lausig langsam - ich habe ähnlich langsame Takte (128 kHz) am tiny13 gefahren. Aber wenns für Deine Aufgabenstellung reicht - dann ist der gering(er)e Stromverbrauch sicher da. Wie groß die effektive Ersparnis ist, habe ich nie gemessen, fürchte aber dass das nur für wirkliche Spezialfälle Sinn macht. Dass es bei Deiner 7Segment-Anzeige Sinn macht (die Zahlen sind doch gemultiplext, oder?) kann ich mir nicht vorstellen, da tritt vielleicht doch ein Flimmern der Anzeige auf.
    Ciao sagt der JoeamBerg

Seite 4 von 6 ErsteErste ... 23456 LetzteLetzte

Ähnliche Themen

  1. Datenübertragung Bluetooth (oder Funk allgemein)
    Von Bumbum im Forum Software, Algorithmen und KI
    Antworten: 0
    Letzter Beitrag: 21.09.2012, 10:02
  2. ATTiny84 Pegelbegrenzung mit Zenerdiode oder wie?
    Von DanielSan im Forum AVR Hardwarethemen
    Antworten: 25
    Letzter Beitrag: 01.12.2011, 14:40
  3. 5V Netzteil gesucht oder allgemein guter Hersteller
    Von kini im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 5
    Letzter Beitrag: 25.03.2010, 12:33
  4. Ander controller programmieren?
    Von BlackDevil im Forum Elektronik
    Antworten: 10
    Letzter Beitrag: 26.08.2006, 01:20
  5. Bspcode in assembler für AVR Timer
    Von Shadowrun im Forum AVR Hardwarethemen
    Antworten: 5
    Letzter Beitrag: 09.02.2005, 14:55

Stichworte

Berechtigungen

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

12V Akku bauen