- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 13

Thema: DCF77-Zeit sekundengenau Geräte ein- und ausschalten / Unterstützung gesucht !

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    30.09.2014
    Beiträge
    13

    DCF77-Zeit sekundengenau Geräte ein- und ausschalten / Unterstützung gesucht !

    Hallo,

    mit einem DCF-Modul, dem DCF-RS1-Wandler und einem entsprechenden Controller möchte ich sekundengenau 3 Geräte abwechselt / zyklisch für 5 Minuten ein- bzw. ausschalten (dauerhaft).

    Eigentlich müßte dies doch ohne großen Aufwand möglich sein? Das Auslesen der Minuten und Sekunden sehe ich als schwierigsten Teil an. Dann auch die Frage, wird an den Ausgängen TTL-Technik angesteuert.... ? Zur ezit bin ich dabei das Programm / Projekt in Worte zu fassen - zu beschreiben um daraus die erforderlichen Befehle zu "generieren".

    Über jede Info, wie ich dies mit Hardware- als auch Software realisieren kann, bin ich sehr dankbar, da ich erst in das Thema "Programmieren in Bascom Basic" eingestiegen bin - bitte daher um etwas Geduld bei meinen Anfragen

    Grüße aus der Nähe von Bremen
    Peter

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.214
    Für das Auslesen der DCF Daten dürfte sich für Bascom eine Library finden lassen.
    Dort sollten dann die einzelnen Werte in Variablen abgelegt sein, die Du dann für dein Programm übernehmen kannst.

    Ich nehme mal an, das Du 220V Geräte schalten willst. Das diese Spannung Lebensgefährlich ist dürfte Dir klar sein, Du solltest also schon wissen, was Du da tust.
    Zur Ansteuerung deiner ( 220V ??? ) Geräte kannst Du ein Solid State Relais verwenden.
    Ein Controller wird vermutlich nicht genug Strom für die LED im SSR bringen, deshalb würd ich da nen kleinen FET wie z.B. nen BS170 als Treiber verwenden.

    Ein SSR braucht üblicherweise noch eine externe Beschaltung - Welche, das hängt von der zu treibenden Last ab und sollte sich im Datenblatt finden lassen.

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.11.2013
    Ort
    Home
    Beiträge
    213
    Hallo Peter,

    kleiner Schnipsel.

    ' DCF77 auf PinB.0 gelegt
    Config Dcf77 = Pinb.0 , Timer = 1 , Debug = 1 , Check = 1 , Inverted = 1 ', Gosub = Sectic
    'Hinweis: [Gosub=Sectic] wird jede Sekunden gestartet wenn aktiv.Natürlich muss du dann diese Sub anlegen.

    ' Datumsformat festlegen
    Config Date = Dmy , Separator = .

    'Synchronisiere die Uhrzeit mit dem DCF77 Zeitsignal..."
    'Auf die Synchronisierung der Uhrzeit mit dem DCF77 Zeitsignal warten.
    'dann muss Dcf_status.7 = 0 sein.
    'Hinweis: Für programmier Arbeiten/Test einfach Status auf 1 setzen
    'somit musst Du nicht die ca. 3 Minuten warten bis synchron Erfolgreich
    'beendet wird und Programm weiterläuft. Ist DCF angeschlossen wird trotztem
    'die Zeit übernommen.[DCF läuft ja im Hintergrund]
    'ich lasse Status immer auf 1 denn Time ist durch 16 MHz Takt sehr genau
    'auch wenn DCF77 mal kein "sauberes Signal empfängt" wird ja trotztem getaktet.
    'Bei Datenerfassung mit Zeitstempel natürlich auf 0 setzen.

    While Dcf_status.7 = 1
    ' Dcf_status.7 wird auf 1 gesetzt sobald die Zeit erfolgreich synchronisiert wurde
    ' aktuelle Zeiten (intern und DCF) sowie den Status zum Terminal ausgeben
    Print "Dcf : " ; "Uhr " ; Time(dcf_sec) ; " " ; "Datum " ; Date(dcf_day) ; " Status " ; Dcf_status.7

    Locate 1 , 1 'Cursor auf 1 Zeile, 1 Spalte
    Lcd "DCF77 Synchron start"
    Locate 3 , 1 'Cursor auf 3 Zeile, 1 Spalte
    Lcd " Datum " ; Date$
    Locate 4 , 1 'Cursor auf 4 Zeile, 1 Spalte
    Lcd " Zeit " ; Time$
    Wend

    Print "Uhrzeit erfolgreich synchronisiert ! " ; Time$ ; " " ; Date$
    Locate 2 , 1 'Cursor auf 2 Zeile, 1 Spalte
    Lcd " Status OK "
    Wait 3
    Cls 'Anzeige löschen

    Gruß
    Fred

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    30.09.2014
    Beiträge
    13
    Hallo Fred,

    vielen Dank für die Programmzeilen!

    Die Aus- und Einschaltzeiten werde ich mit LEDs zum Testen "überwachen".

    Werden in Deinen Zeilen z.B. der Zustand... "... wenn der Wert für Minuten 00 und der Wert für Sec. 59 wahr ist, dann schalte den Ausgang xy auf high (einschalten) oder auf low (ausschalten) abgefragt? In meiner Programmbeschreibung gibt es in jeder Stunde 24 Schaltzustände, da ich 3 Geräte jeweils alle 5 Minuten - beginnend in der 00 Minute und 00 Sekunde - ein- bzw. ausschalte (und dies in einer Endlosschleife)!
    Zur Auswertung der Zeit benötige ich eigentlich weder Datum noch Wochentag noch Stunde....?? oder liege ich da falsch?
    Minuten und Sekunden müsste ich als "WERT" oder Zahl ermitteln und bei zutreffendem Wert eine Schaltaktion veranlassen , z.B. ... if minutenwert=00 und SecWert=59 then Dcf_status.7 = 1 (LED leuchtet bzw. Gerät wird eingeschaltet) und dies für alle anderen Schaltzeitpunkte.

    Ich hoffe ich habe Deine Programmzeilen richtig interpretiert.

    Nochmals vielen Dank für Deine Infos!

    Herzliche Grüße aus der Nähe von Bremen
    Peter

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.11.2013
    Ort
    Home
    Beiträge
    213
    Hallo Peter,

    sende einfach mal deine Wertetabelle.
    Z.B. sind 5 Minuten um setze Portpin auf L oder H oder Verknüpfe mehrere Portpin wenn
    Portpin1 gleich 1 dann setze Portpin2 /3 auch auf 1 oder erst nach 24 Stunden setzen usw.

    Gruß
    Fred

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    30.09.2014
    Beiträge
    13
    Hallo Fred,

    im Anhang sende ich Dir die Schaltzeiten-Tabelle. Nach Zuweisung der Ein-Ausgänge und Schleifenüberwachung, welche Minute und Sec. gerade aktuell ist, würde ich auf dem Testboard immer eine von 3 LEDs für 5 Minuten leuchten sehen. Noch bin ich dabei mir diverse Befehle von Bascom in ihrer Funktion klar zu machen.
    Für weitere Ideen und Hinweise bin ich immer dankbar. Ich hoffe mein Projekt in den nächsten Monaten Realität werden zu lassen.

    In diesem Sinne einen sonnigen 3. Oktober !

    Herzliche Grüße aus der Nähe von Bremen
    Peter

    Schaltzeiten_3_Geraete.pdf

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    14.11.2013
    Ort
    Home
    Beiträge
    213
    Hallo
    Hallo Peter,

    mit dieser Config bekommst du die Variablen Date$ und Time$ übergeben.
    Config Dcf77 = Pinb.0 , Timer = 1 , Debug = 1 , Check = 1 , Inverted = 1 ', Gosub = Sectic
    Wichtig ist noch je nach DCF77 die Inverted Einstellung. Viele benötigen [Inverted = 0]

    Nun brauchst du nur noch Time$ auswerten.
    Kleiner Ansatz:

    If Time$ = „00:00:00“ And Time$ < “00:05:00” Then
    Set Portpin1
    Else
    Reset Portpin1
    End If

    Gruß
    Fred

Ähnliche Themen

  1. Port über Taster ein und ausschalten
    Von Projekt 2252 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 17
    Letzter Beitrag: 17.05.2012, 23:19
  2. Motor ein und ausschalten
    Von Bruchpilot90 im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 4
    Letzter Beitrag: 29.01.2010, 15:10
  3. Led mit Taster ein- und ausschalten
    Von Nullinger im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 30.01.2009, 14:00
  4. Glühbirne nach Zeit ausschalten
    Von timbow82 im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 15.06.2008, 06:29
  5. Zeitgesteurtes ein und ausschalten, Verständnisproblem
    Von Accenter im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 04.02.2008, 13:32

Stichworte

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress