- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 16

Thema: RN Controll & DCF-RS232 Wandler DCF-RS1

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.12.2008
    Ort
    Köln
    Beiträge
    460
    Hi Dirk,

    vielen lieben Dank für die Tipps. Ich habe mich die letzen Tage nochmal mit dem Probelm befasst, aber keine Lösung gefunden. Ich bin da echt am verzweifeln.

    Ich habe den 27kOhm Widerstand wie er im Schaltplan ist eingebaut. Zusätzlich habe ich jetzt einen 100nF Kondensator und einen 20yF Elko direkt am IC zwischen GND und VCC.

    Das IC ist auf einer Steckplatine und die Rn-Controll ist davon 30cm entfernt. Einen Pullup von 10k habe ich auch mal in die Leitung mit reingemacht, keine Verbesserung.

    Die LED am IC leuchtet und ich kann mit der RN Controll auch was abfragen, bekomme aber immer nur Folgendes raus:

    Heute haben wir denn 227.3.2 5:223:240 Wochentag 246

    Ich komme da einfach nicht mehr weiter. Das Signal von DCF Empfänger habe ich direkt am IC mit dem Oszzi gemessen, das ist sauber und gut.

    Gruß Dominik

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Bad Bramstedt
    Alter
    45
    Beiträge
    1.369
    Zeig oder verlinke mal bitte das ganze Programm das Du aktuell benutzt. Das Programm ist für RN-AVR Universal - hast Du das ggf berücksichtigt?

    Erscheint diese Daten im Terminal oder auf einem Display am Board.
    Kommt immer die selbe Telegramm oder ändert es sich z.B. im Bereich der Sekunde? Ist eine Prüfsumme mit dabei? Ändert sich der Wochentag aufwärts?

    Welchen Mode hast Du gewählt? Stell den nochmal zum testen um, jenachdem wie er jetzt schon ist.

    GND des DSF Empfängers ist auch mit der Schaltung verbunden, nicht nur GND des IC's?

    Ich vermute eine Routine greift nicht richtig auf die Daten zu, oder die Daten liegen falsch vor und werden somit falsch ausgegeben.

    Berichtige oder prüfe bitte die Variable "uhr_z eitumstellung" auf richtige Schreibweise.

    Gibt es sonst Fehlermeldungen von Bascom? Dazu sollte natürlich die Fehlerausgabe in Bascomeinstellungen eingestellt sein.

    Ansosnten muss das "Sternzeit" sein
    Geändert von HeXPloreR (18.06.2014 um 15:27 Uhr)

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.12.2008
    Ort
    Köln
    Beiträge
    460
    Hallo,

    ersmal hier das Programm:

    Code:
    '##############################################################
    'DCF_Decoder3.bas
    '
    'Das Programm liest die Uhrzeit aus dem digetalen DCF-Decoder aus
    'und gibt die Zeit über RS232 aus
    'Den digitalen DCF Decoder gibt es nur bei Robotikhardware.de
    'Es muss lediglich PIN PD7 mit dem DOUT Pin des Chips DCF-RS1 verbunden werden
    'Natürlich auch GND und VCC
    '
    'Wenn ein USB Modul an RN-AVR UNIVERSAL angesteckt oder eingelötet wurde
    'dann wird das Ergebnis  über USB zu einem virtuellen COM Port übertragen
    'und kann auch mit allen Programmen oder Terminalprogramm empfangen werden
    '
    ' (c) Frank roboternetz.de
    'Bezug: www.robotikhardware.de
    'Weitere Beispiele auf DVD oder im www.Roboternetz.de und rn-wissen.de
    '######################################################################
    Declare Sub DCF_UhrzeitLesen()
    '$programmer = 12                'MCS USB  (Zeile weglassen wenn anderer Programmer)
    
    $regfile = "m32def.dat"
    
    $framesize = 32
    $swstack = 32
    $hwstack = 64
    $crystal = 8000000                                          'Quarzfrequenz
    $baud = 9600                        'Baudrate (Übertragungsgeschwindigkeit)
    
    'Baud = 9600
    
    Config Pind.6 = Output                                      'LED
    Led1 Alias Portd.6
    'Diese Variablen enthalten nach dem Abruf die Uhrzeit und Datum Informationen
    Dim uhr_sek As byte
    Dim uhr_min As byte
    Dim uhr_std As byte
    Dim uhr_tag As byte
    Dim uhr_monat As byte
    Dim uhr_jahr As byte
    Dim uhr_wochentag As byte
    Dim uhr_sommerzeit As byte
    Dim uhr_zeitumschaltung As byte
    Dim uhr_sync As byte
    dim bstart as byte   'Enthaelt Byte Zeilenanfang  immer 126
    dim bende as byte    'Enthaelt Byte Zeilenanfang  immer 127
    dim zeitgueltig as byte
    zeitgueltig=0
    wait 1
    Do
       DCF_UhrzeitLesen
       if zeitgueltig=1 then
         Print "Heute haben wir den: "; uhr_tag;".";uhr_monat;".";uhr_jahr;" ";uhr_std;":"; 
    uhr_min;":";uhr_sek;" Wochentag:";uhr_wochentag
         if uhr_sommerzeit=1 then print "Es gilt Sommerzeit!"
         print "Die Uhr wurde von "; uhr_sync; " Minuten per Funk verglichen"
         print
       endif
       Wait 3
       toggle led1
    Loop
    'Hilfsfunktion
    'Diese Funktion ruft der Zeit im binären Modus ab
    'und uerbergibt diese den globalen Uhr Variablen
    Sub DCF_UhrzeitLesen()
       Config Pind.5 = Input
    
       if Pind.5 =1 then 'DCF Uhrzeit bereits vorhanden?
    
         'Kurz auf GND setzen um DCF Decoderzeit ausgeben zu lassen
         Config PORTD.5 = output
    
         PORTD.5=0
    
         waitus 1
         Config Pind.5 = Input
    
         Open "comd.5:2400,8,n,1" For input As #1
    
         Inputbin  #1,bstart,uhr_tag,uhr_monat,uhr_jahr,uhr_std, 
    uhr_min,uhr_sek,uhr_wochentag,uhr_sommerzeit,uhr_zeitumschaltung,uhr_sync,bende
         Close #1
         Config Pind.5 = Input
    
         uhr_tag=uhr_tag-65
         uhr_monat =uhr_monat-65
         uhr_jahr =uhr_jahr-65
         uhr_std=uhr_std-65
         uhr_min =uhr_min-65
         uhr_sek  =uhr_sek-65
         uhr_wochentag  = uhr_wochentag-65
         uhr_sommerzeit=uhr_sommerzeit-65
         uhr_zeitumschaltung=uhr_zeitumschaltung-65
         uhr_sync=uhr_sync-65
         zeitgueltig=1
      else
         Print "Zeit noch nicht verifiziert!"
         zeitgueltig=0
      endif
    end sub
    -Die Daten sende ich per RN-Controll auf das Terminal in Bascom AVR auf meinem PC. Dort ändert sich auch im Bereich der Sekunden garnichts. Es kommen immer die selben Werte.

    - Einen Mode am IC habe ich nicht gewählt - Also Pin 1 nicht beschaltet = als Text ausgeben, wobei ich die Anleitung so verstanden habe das der Mode Pin nur für Pin 5 ist, der 1mal die Minute die Daten per RS232 aussendet.
    Ich habe jedoch Pin 7 "DOUT" Mit der RN Controll verbunden um die Daten geziehlt im Birärcode abzugragen.

    - GND ist mit dem Empfäger und dem IC verbunden. Ich nutze für beides die 5V DC die an der RNControll zur verfügung stehen.

    - "uhr_z eitumstellung" ist richtig geschrieben

    - In Bascom kommen werden keine Fehler angezeigt. Sobald ich einen falschen Befehl zum testen in den Code reinschreibe, wird ein Fehler angzeigt = Fehlerausgabe in Bascomeinstellungen aktiviert?!

    Ich hoffe wirklich das ihr mir weiterhelfen könnt. Ich kann einfach nicht verstehen, woran der Fehler noch liegen könnte

    Viele Grüße
    Dominik

  4. #4
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Bad Bramstedt
    Alter
    45
    Beiträge
    1.369
    Hallo,

    naja bleibt ja nicht mehr viel übrig was man aus der Ferne abfragen kann: Die RN-Controll läuft sicher mit 8Mhz?

    Was mir beim Code und Beschreibung lesen aufgefallen ist, das in der Info von Port D7 gesprochen wird, im Code selbst aber nur Port D5 als input umgeschaltet wird - von D7 keine Spur mehr?

    Also prüfe nochmal Deinen Aufbau diesbezüglich.
    Schreibe in die Sub direkt unter den Aufruf: Sub DCF_UhrzeitLesen() mal ein Print "Sub DCF" ...um zu sehen ob die Sub überhaupt angesprungen wird.

    Ich fühle das irgendwo da der Fehler sein muss

    Viele Grüße
    Jörg
    Geändert von HeXPloreR (19.06.2014 um 19:35 Uhr)

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    11.12.2008
    Ort
    Köln
    Beiträge
    460
    Hi,

    ja die RnControll läuft mit nem 8Mhz Quarz. Ich habe es auch mal mit nem 16Mhz Quarz getestet, das brachte keine besserung.
    Pin D7 ist an der RNControll mit dem PizzoSummer belegt, daher nutze ich D5.

    Das SUB wird auch aufgerufen, ich habe mal nen Print befehl reingemacht und der erscheint auch im terminal.

    Wenn das IC noch keine Zeit hat, kommt im Terminal die Meldung das die Zeit noch nicht verifiziert ist, allso soweit ok.
    Das Problem ist dass sobald die zeit "erkannt" wurde nur müll rauskommt.

    Ich glaube langsam das IC von Robotikhardware, bzw. der Attiny (ist gar kein IC sondern ein Attiny) ist defekt!
    Der TX Pin der 1x pro Minute die Zeit aussenden sollte ist permanent auf +5V (habs an nem Osszi beobachtet).
    Wenn ich denn Pin an meinen Max232 anschließe und das Terminal am PC passend einstelle kommt auch nichts an

    Langsam verliere ich die Lust. Das ist jetzt mein 3ter DCF Empfänger, 2 von Conrad wurden defekt geliefert und jetzt ist das blöde IC von Robotikhardware hin. Den Conde gibts nicht zufällig irgendwo hier im Forum?

    Gruß Dominik

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Bad Bramstedt
    Alter
    45
    Beiträge
    1.369
    Hast Du den Motortreiber auf der RN-Controll entfernt? Der benutzt ja D5 mit...vielleicht holst Du Dir dadurch eine Störung rein.

    Ich würde nochmal versuchen den kompletten Aufbau wie in der Anleitung beschrieben aufzubauen und dann Pin 1 Mode in binär ändern.
    Auch würde ich mit dem TX Ausgang arbeiten anstatt dem DOUT. Wenn man den Hinweisen in der Anleitung vertraut, dann muss man da viel zu viele Dinge beachten um überhaupt was sinnvolles heraus zubekommen.

    Hast du einen PON-Pin am DCF-Empfänger?

    Ansosnten weiß ich so jetzt auch nichts mehr.


    Viel Erfolg
    Jörg

  7. #7
    Hallo,
    nachdem ich die gleichen Probleme mit dem Chip hatte und ich ihn fast schon aus Wut in die Tonnen gehauen hätte, fand ich dann doch noch die? (eine) Lösung. Der Bascom Code nutzt die Binär!-Ausgabe des Chips. Unscheinbar im "Handbuch" versteckt, steht aber unter PIN1-Mode: unbeschaltet wird die Ausgabe als Text ausgegeben!
    Hammer, das war's. Nachdem ich den PIN 1 mit GND verbunden habe, kam fast zeitgleich die richtige Ausgabe auf meinem LCD.
    Anbei mein Bascom-Code
    Declare Sub Dcf_uhrzeitlesen()

    '$programmer = 12 'MCS USB (Zeile weglassen wenn anderer Programmer)
    '$prog &HFF , &HFF , &HD9 , &HFE 'Fusebits richtig programmieren (Quarz ein,Jtag aus)

    $regfile = "m8adef.dat"
    '$framesize = 32
    '$swstack = 32
    '$hwstack = 64

    $framesize = 128
    $swstack = 128
    $hwstack = 128

    $crystal = 3686400 'Quarzfrequenz

    $baud = 9600 'Baudrate (Übertragungsgeschwindigkeit)
    Baud = 9600


    Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2

    Config Lcd = 20x4
    Cursor Off Noblink
    Cls

    Config Pinb.3 = Output 'LED
    Led1 Alias Portb.3



    'Diese Variablen enthalten nach dem Abruf die Uhrzeit und Datum Informationen
    Dim Uhr_sek As Byte
    Dim Uhr_min As Byte
    Dim Uhr_std As Byte
    Dim Uhr_tag As Byte
    Dim Uhr_monat As Byte
    Dim Uhr_jahr As Byte
    Dim Uhr_wochentag As Byte
    Dim Uhr_sommerzeit As Byte
    Dim Uhr_zeitumschaltung As Byte
    Dim Uhr_sync As Byte

    Dim Bstart As Byte 'Enthaelt Byte Zeilenanfang immer 126
    Dim Bende As Byte 'Enthaelt Byte Zeilenanfang immer 127

    Dim Zeitgueltig As Byte

    Wait 1
    Zeitgueltig = 0
    Do
    Dcf_uhrzeitlesen
    If Zeitgueltig = 1 Then
    Locate 1 , 1
    Lcd "abgeglichen "
    Print "Heute haben wir den: " ; Uhr_tag ; "." ; Uhr_monat ; "." ; Uhr_jahr ; " " ; Uhr_std ; ":" ; Uhr_min ; ":" ; Uhr_sek ; " Wochentag:" ; Uhr_wochentag
    Locate 2 , 1
    Lcd Uhr_tag ; "." ; Uhr_monat ; "." ; Uhr_jahr
    Locate 3 , 1
    Lcd Uhr_std ; ":" ; Uhr_min ; ":" ; Uhr_sek ;
    Locate 4 , 1
    Lcd "Wochentag: " ; Uhr_wochentag
    If Uhr_sommerzeit = 1 Then Print "Es gilt Sommerzeit!"
    Print "Die Uhr wurde von " ; Uhr_sync ; " Minuten per Funk abgeglichen"
    Print
    Else
    Locate 1 , 1
    Lcd "nicht abgeglichen"
    End If
    Wait 3
    Toggle Led1
    Loop




    'Hilfsfunktionen



    'Diese Funktion ruft der Zeit im binären Modus ab
    'und uerbergibt diese den globalen Uhr Variablen
    Sub Dcf_uhrzeitlesen()
    Config Pinb.2 = Input
    If Pinb.2 = 1 Then 'DCF Uhrzeit bereits vorhanden?
    'Kurz auf GND setzen um DCF Decoderzeit ausgeben zu lassen
    Config Portb.2 = Output
    Portb.2 = 0
    Waitus 1
    Config Pinb.2 = Input

    Open "comB.2:2400,8,n,1" For Input As #1
    Inputbin #1 , Bstart , Uhr_tag , Uhr_monat , Uhr_jahr , Uhr_std , Uhr_min , Uhr_sek , Uhr_wochentag , Uhr_sommerzeit , Uhr_zeitumschaltung , Uhr_sync , Bende
    Close #1
    Config Pinb.2 = Input
    Uhr_tag = Uhr_tag - 65
    Uhr_monat = Uhr_monat - 65
    Uhr_jahr = Uhr_jahr - 65
    Uhr_std = Uhr_std - 65
    Uhr_min = Uhr_min - 65
    Uhr_sek = Uhr_sek - 65
    Uhr_wochentag = Uhr_wochentag - 65
    Uhr_sommerzeit = Uhr_sommerzeit - 65
    Uhr_zeitumschaltung = Uhr_zeitumschaltung - 65
    Uhr_sync = Uhr_sync - 65
    Zeitgueltig = 1
    Else
    Print "Zeit noch nicht verifiziert!"
    End If

    End Sub
    tschau
    Wolfgang

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    03.09.2014
    Beiträge
    12
    Hallo Dominik

    ich hatte auch Probleme mit der Seriellen Übertragung von dem RN Controll zum PC über die RS232 Stifte.Versuche mal Direkt RX/TX am Mega abzugreifen.


    Udo

  9. #9
    Bastler89
    Gast
    Hallo habe auch Probleme mit dem Decoderchip!
    es gibt Tage da läuft das Programm stabil aber zu ca 80% wird nur schrott aufm Display bzw vom Decoderchip ausgegeben. Habe ein Oszi am TX Ausgang hingehängt und alle 140 Bits ausgelesen und ausgewertet ( Es kommen schon falsche Werte vom Decoderchip). Kann mir jemand sagen wo hier der Fehler ist? Antenne (von Conrad am besten für solche Zwecke bewertet) und Decoderchip werden mit 3.3V betrieben und hab angeschlossen wie auf Schaltplan. In den Kommentaren habe ich hier jetzt mal gelesen von Pull-Up Widerstand bei Pin 3? Brauch ich dort einen weil im Schaltplan ist keiner bzw der Pull-Up im Schaltplan (R2) brauch man diesen nur wenn man den DOUT Pin benutzt oder auch bei TX Ausgang?

Ähnliche Themen

  1. DCF 77 Empfang
    Von karlmonster im Forum PIC Controller
    Antworten: 5
    Letzter Beitrag: 03.05.2008, 13:54
  2. Dcf
    Von coolmann1056 im Forum Robby CCRP5
    Antworten: 6
    Letzter Beitrag: 18.02.2007, 13:20
  3. DCF-Empfänger
    Von *René1988 im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 8
    Letzter Beitrag: 22.06.2006, 12:14
  4. dcf - 77 assemblercode
    Von NickD im Forum Elektronik
    Antworten: 15
    Letzter Beitrag: 05.08.2005, 20:23
  5. DCF-77
    Von x-ryder im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 04.09.2004, 13:41

Stichworte

Berechtigungen

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

Solar Speicher und Akkus Tests