- Labornetzteil AliExpress         
Ergebnis 1 bis 7 von 7

Thema: Problem mit 32kHz Uhrenquarz am timer1

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    26.12.2004
    Beiträge
    87

    Problem mit 32kHz Uhrenquarz am timer1

    Anzeige

    Powerstation Test
    Hey!

    erstmal mein problem: und zwar habe ich einen 32khz uhrenquarz an meinen PIC16f870 angeschlossen, und zwar an dT1CKL/T1OSI (RC0/RC1).

    Jetzt stell ich den Vorteiler vom timer 1 auf 1 und warte auf overflows von dem ding.

    leider zählt der counter nicht - entweder der quarz oszilliert nicht oder ich hab irgendwie in der software ein fehler.

    hardware-mäßig habe ich einen 20Mhz Quarz an dem normalen Eingang und den 32,768kHz Quarz über 2 100pf Kondensatoren in Richtung Gnd verbunden.

    Softwaremäßig (ich benutze den ccs c compiler) siehts so aus:

    Code:
    ...
      set_tris_c(0b10000011);
      setup_timer_1(T1_EXTERNAL | T1_DIV_BY_1);
    
      enable_interrupts(INT_TIMER1);
      enable_interrupts(GLOBAL);
    
      do
      {
       printf("%lu ", get_timer1());
      }
      while(true);
    ...
    Dazu kommt noch die Interrupt-Prozedur, die aber nur hallo über RS232 sagt (was allerdings noch nicht vorgekommen ist *g*)
    der ausgegebene wert von der Endlosschleife ist immer gleich...

    Habt ihr eine Idee woran es liegen könnte? Was ich falsch gemacht habe?

    Ich finde dazu im Netz nichts...nur Anleitungen um den Uhrenquarz als Hauptquartz und nicht als Uhr am externen Timer1 Eingang zu benutzen.

    Danke!
    Kai

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    72
    Beiträge
    11.077
    Hallo FeiaDragon!

    Der Uhrenquarz oszilliert sicher nicht. Ich habe es auch erfolglos versucht.

    Laut Reichelt Katalog haben die Uhrenquarze CL um 12 pf also könnten mit 2x6 pF oszillieren. Leider sind die Montagekapazitäten meistens um 15 pF, was deutlich zu viel ist. Ich habe endlich einen externen Oszillator mit MOS Inverter aufgebaut und der Quarz hat dann oszilliert (serieller Rezonanz).

    Es könnte sein das der Uhrenquarz in SMD gehäuse mit CL=85 pF oszillieren wird, aber 2x100 pF ist sicher zu viel, vielleicht mit 2x25 pF + 2x15 pF Montagekapazitäten.

    Ich bin selber daran interesiert einen Uhrenquarz am Timer1 Oszillator ohne externer Hardware zu benutzen, habe aber schon aufgegeben, weil ich sogar beim Microchip Forum nichts darüber gefunden habe.

    Ich wünsche dir viel Erfolg beim Experimentieren und warte auf positive Ergebnisse!

    MfG

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    26.12.2004
    Beiträge
    87
    danke für deine antwort!

    du machst mir ja richtig mut, mit meinen umwerfenden elektronik-kenntnissen

    Den Wert der 100pF habe ich von Sprut geklaut - er hatte seinen Quarz mit 100pF angeschlossen, allerdings nicht an den Timer 1, sondern an den ganz normalen Takteingang.

    zu dem 2x25pF und 2x15pF Montage - mein erster Test war mit 2x 27pF Kondensatoren nach Masse

    Naja, ich such dann mal weiter!

    Kai

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    72
    Beiträge
    11.077
    Hallo!

    Ich wollte nur sagen, dass es nicht leichtes Problem ist und ich dir leider nicht konkret helfen kann, da ich selber das nicht geschafft habe.

    Ich hoffe, dass du etwas vernünftiges findest und nicht nur ich davon profitieren könnte, also viel Glück!

    MfG

  5. #5
    Hallo,

    könnte es mit einem Quarzoszillator gehen z.B. MK3200.


    Gruß

    Wolfgang

  6. #6
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die beiden Kondensatoren sind als Lastkapazität in Reihe geschaltet. Für 12 pf Last wären also 2 x 24 pF richtig. Wenn schon 15 pF durch die Schaltung da sind, dann also nur jeweils ca. 9 pF dazu.

  7. #7
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    72
    Beiträge
    11.077
    Hallo!

    Für einen üblichen Uhrenquarz am wichtigsten sind sehr hohe Eingangswiderstand des Generators und Verwendung des seriellen Resonanzes.

    Ich habe ein Generator mit MOS Inverter aufgebaut (siehe Code). Als Inverter kann man bilibiege als Inverter geschaltete Gatter verwenden (NAND, NOR, XOR) die schon vorhanden und frei sind. Der letzte Inverter als Puffer ist nicht nötig.

    Es wird sicher auch mit MK3200 gehen.

    Der 32768 Hz Uhrenquarz sollte auch mit einem Pierce-Oszillator mit FET bzw. MOSFET gehen, da er auch seriellen Resonanz des Quarzes benutzt. Der Rs sollte so gewählt werden, dass auf dem Drain des Transistors ca. Vcc/2 ist.

    MfG
    Code:
        +-----------------------+
        |                  ___  |
        |   32768Hz  8p2+-|___|-+        _   _
        |        _      |   2M  |      _| |_| |_
        | |\    | |  || | |\    | |\
        +-| >O-|| ||-||-+-| >O--+-| >O---------->
          |/    |_|  ||   |/      |/
    
    
                 Vcc
                  +
                  |
                 .-.
                 | | Rs
                 '-'
                  |
             +-||-+----->
             |    |
            _-_   |
           |___|  |
             -    |
             |  |-+
             +->|
             |  |-+
            .-.   |
          Rg| |  ===
         ~1M'-'  Gnd
             |
            ===
            Gnd

Berechtigungen

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

12V Akku bauen