- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 5 von 5

Thema: DCF77 und DS18B20 funktionieren nicht zusammen

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Experte Avatar von Tido
    Registriert seit
    14.11.2006
    Ort
    OWL
    Alter
    48
    Beiträge
    622

    DCF77 und DS18B20 funktionieren nicht zusammen

    Hallo,

    ich habe ein Programm, dass einmal die Minute zwei Temp-Sensoren DS18B20 ausliest.
    Funktioniert auch wunderbar.
    Des Weiteren habe ich einen DCF77-Baustein angeschlossen, der auch wunderbar funktioniert,
    wenn die Auswertung der Temp-Sensoren deaktiviert wird.
    Ich habe hier einige Beiträge zu diesem Problem gefunden (Suchbegriff(e): dcf77, ds1820), aber in keinem wird der Grund dafür genannt,
    warum die DCF-Zeitsynchro nicht funktioniert, wenn 1 Mal pro Minute die Temp-Sensoren ausgewertet werden.

    Ich verwende einen Mega32 mit 8MHz, mein Testcode sieht folgendermaßen aus:

    Code:
    Config Dcf77 = Pind.3 , Timer = 1 , Inverted = 0 , Timer1sec = 1 , Update = 2 , Updatetime = 3
    Config 1wire = Porta.5
    Enable Interrupts
    Config Date = Dmy , Separator = .
    
    Do
       Print Time$ , " " , Date$ , " " , Dummyword
       If _sec = 2 Then Gosub Temperatur   
    Loop
    
    
    Temperatur:                                                 'Fehler 1-9
    'Testweise nur 1 Sensor
    
    Ds18b20(1) = 1wsearchfirst()
    
    Messung:
    1wverify Ds18b20(1)                                         ' Gerät mit der SerienNr. aus Ar() auswählen
    If Err = 0 Then
       1wwrite &H44                                             ' Temperaturmessung anstoßen
       Waitms 750                                               ' warten bis Messung fertig
       1wverify Ds18b20(1)                                      ' Gerät mit der SerienNr. aus Ar() auswählen
       1wwrite &HBE                                             ' Temperatur auslesen
       Ds18b20(1) = 1wread(9)                                   ' Daten in ein Array lesen
       Dummyint = Makeint(ds18b20(1) , Ds18b20(2))
       Temp = Dummyint / 16
    
       Temp = Temp * 10
       If Temp < 0 Then
          Dummyword = Int(temp)
          Temp = Temp - Dummyword
          Dummyword = Dummyword + 1000
       Else
          Dummyword = Int(temp)
          Temp = Temp - Dummyword
       End If
       Temp = Temp * 10
       If Temp = 5 Or Temp > 5 Then Incr Dummyword
    Else
       Fehler = 1                                               
    End If
    So wie abgebildet wird die Uhr nicht gestellt, Temperatur funktioniert.
    Kommentiere ich "If _sec = 2 Then Gosub Temperatur" aus, so wird die Uhr nach ca.
    3 Minuten gestellt.

    Warum ist dies so? Ich habe gelesen, dass für 1Wire kein Timer verwendet wird.

    EDIT: Gerade für 30 Minuten weggewesen, komme wieder: Uhr noch nicht gestellt. Schalte den Laptop ein, Programmer führt Reset aus und 5 Minuten später geht die Uhr richtig. Also funktioniert es "nur" unzuverlässig, wenn die Temp-Sensoren ausgewertet werden. Aber warum....??? Ohne die Sensorenauswertung wird die Zeit immer in 3 Minuten gesynct.
    EDIT2: Das hat bisher nur einmal funktioniert.
    Geändert von Tido (15.01.2019 um 19:26 Uhr)
    MfG
    Tido

    ---------------------------------------------------
    Have you tried turning it off and on again???
    ---------------------------------------------------

Ähnliche Themen

  1. [ERLEDIGT] Probleme mit DS18B20 kann ich mir nicht erklären
    Von oderlachs im Forum Sensoren / Sensorik
    Antworten: 0
    Letzter Beitrag: 09.06.2015, 09:49
  2. ISR für TIMER0 und TIMER1 laufen nicht zusammen
    Von PhilSU im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 10.11.2012, 10:32
  3. i2c und ADC zusammen harmonieren nicht!
    Von CapSob im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 15.04.2011, 16:59
  4. lcd_i2c.lib + i2c_twi.lib laufen nicht zusammen!?
    Von Bammel im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 10.01.2010, 22:08
  5. DS1820 und DCF77 Funktionieren nicht zusammen....Hilfe!
    Von mat-sche im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 28.10.2007, 08:35

Berechtigungen

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

Labornetzteil AliExpress