Benutzer-Werkzeuge

Webseiten-Werkzeuge


elektronik:bahnhofsuhr_moba_time_in_betrieb_nehmen

Eine MOBA-Time Uhr für die Deutsche Bahn als Hofbeleuchtung

In Arbeit

Heute (06.2022) ist auf Platte eine Uhr der Deutsche Bahn von MOBA-Time gekommen.

Zur Zeit kann diese Uhr nach längeren Warten wieder erworben werden über ⇒ https://bahnshop.de/db-originale/sonstiges/1749/bahnhofsuhr-db?c=218 und kommt nach ca. 4 Wochen per Spedition an.

Zustand ist wie beschrieben, aber im großen und ganzen alles ok, eine Beleuchtung ist allerdings tatsächlich nicht dabei.

Lieferzustand noch auf der Palette: MOBA-Time Uhr für die Deutsche Bahn

Die original Beleuchtung ist eine Ringleuchte mit 40w, die mit Gummi Bänder in der Mitte der Uhr befestigt war, die Bänder sind aber vorhanden.

In meinen Model ist dazu alles noch vorhanden, nur die Röhre fehlt, wohl um Transportschäden und damit Umweltprobleme zu vermeiden


Hersteller

DCF 77 – Funkempfänger AD 450 / 650

Im Original wird/kann die Uhr mit einen DCF 77 – Funkempfänger wie den AD 450 /650 betrieben.

Bürk/Mobatime AD-450 / AD-650

Siehe dazu:

Hier wird diese auch angeboten: http://www.zeittechnikshop.de/AD-450


Uhrwerk in Betrieb nehmen

Für den Betrieb des Uhrwerks benötigt man eine DCF77 Empfänger der die DCF77 Impulse an die Uhr weitergibt.

Mehr zu DCF77 siehe ⇒ Mit dem Raspberry ein DCF 77 Modul abfragen.

In der Uhr ist noch eine Ansteuer-Platine vorhanden, für die Beleuchtung und auch für den den DFF77 Empfänger.

 Ansteuer Platine MOBA-Time Uhr für die Deutsche Bahn

Anscheinend ist hier alles bereits vorhanden, sieht so aus als ob auch eine Ansteuerung für den Empfänger vorhanden ist, auf der Platine ist ein Optokoppler PC817 von Sharp verbaut (Datenblatt https://html.alldatasheet.com/html-pdf/43368/SHARP/PC817/1156/9/PC817.html ).

Eine DCF77 Empfänger für die Uhr "enablen"

siehe dazu ⇒ https://phalos-werkstatt.de/2017/05/23/moba-time-bahnhofsuhr/ und https://www.youtube.com/watch?v=p8g5dikwfJU

Nach einigen Experimenten mit zwei verschiedenen DCF77 Empfänger, einmal ein Pollin Modul und einmal von ELV funktioniert es mit der in der Uhr bereits verbauten Platine ganz einfach. Ohne weitere Beschaltung Masse des Moduls auf Masse des Daten Eingangs der Platine der Uhr und Signal auf den Signal Eingang der Uhr Platine.

Aber nur mit dem Modul von ELV ( DCF-Empfangsmodul DCF-2 ⇒ https://de.elv.com/dcf-empfangsmodul-dcf-2-091610 ) mit Kondensator (10pf) nach Masse funktioniert es dann nach viel Geduld und probieren.

Die Uhr benötigt ein paar Minuten um sich zu synchronisieren, was die Fehlersuche nicht einfacher werden lässt.

Interessanter weise blinkt nun die LED auf der Platine NICHT sichtbar, mit dem Pollin Modul blinkt diese, aber die Uhr synchronisiert sich nicht.

DCF77 Takt simulieren

Synchronisation mit Serial Time Telegram (IF 482)

Etwas Doku zum Protokoll ⇒ https://www.mobatime.com/wp-content/uploads/2018/09/BE-800163.10-FU-BU-192-.pdf

Code Beispiel ⇒ https://git.cccgoe.de/birko/ESP32-Paxcounter/-/blob/v1.7.31/src/if482.cpp

Auch das ist mir nicht auf Anhieb mit gelungen, die Frage ob das wirklich nur RS232 oder mit RS485 laufen muss, mangels RS485 Adapter nur mit RS232 getestet, ist aber schwer zu debuggen was da nun am Ende nicht funktioniert hat.

Hier mein erster sehr einfacher Code um das generell zu testen:

import serial
from datetime import datetime
import time
 
#5.1 Standard Time Telegram (IF 482) with Local Time
 
#Definition: Time telegram (ASCII), terminating at the designed second in the telegram:
#9600 bit/s, 7 data bits, even parity, 1 stop bit. Jitter < 50 ms.
#Format:
#Byte Nr. Designation Sign HEX Code
#1 Stat sign        O      4F
#2 Supervision 1)   A or M 41 or 4D
#3 Time-Season 3)   W, S or L 57, 53 or 4C
#4 Year tens        0 .. 9 30 .. 39
#5 Year units       0 .. 9 30 .. 39
#6 Month tens       0 or 1 31 or 31
#7 Month units      0 .. 9 30 .. 39
#8 Day tens         0 .. 3 30 .. 33
#9 Day units        0 .. 9 30 .. 39
#10 Monday .. Sunday 2) 1 .. 7 31 .. 37
#11 Hours tens      0 .. 2 30 .. 32
#12 Hours units     0 .. 9 30 .. 39
#13 Minutes tens    0 .. 5 30 .. 35
#14 Minutes units   0 .. 9 30 .. 39
#15 Seconds tens    0 .. 5 30 .. 35
#6 Seconds units    0 .. 9 30 .. 39
#7 Telegram end     CR     0D
#1) 'A': Correct time code reception from the transmitter. 'M': No time signal has been received during
#more than 12 hours (Time will be taken over at 'A' and 'M').
#2) Weekday not evaluated by BU 190(t).
#3) Winter, Summer or Local time: Will be checked but not evaluated.
 
def getTimeTelegram():
# current date and time
    now = datetime.now()
 
    timestamp = datetime.timestamp(now)
    #print("timestamp =", timestamp)
 
    year=now.year
    #print("year =", year)
 
    month=now.month
    #print("month =", month)
 
    day=now.day
    #print("day =", day)
    day_of_week=now.isoweekday()
    #print("day_of_week =", day_of_week)
 
 
    hour=now.hour
    #print("hour =", hour)
 
    minute=now.minute
    #print("minute =", minute)
 
    second=now.second
    #print("second =", second)
 
    # 
 year_tens=str(year)[2]
    year_units=str(year)[3]
 
    if  month > 9 :  
        month_tens=str(month)[0]
        month_units=str(month)[1]
    else:
        month_tens=str(0)
        month_units=str(month)[0]
 
    if day > 9 :  
        day_tens=str(day)[0]
        day_units=str(day)[1]
    else:
        day_tens=str(0)
        day_units=str(day)[0]
 
    dayofweek=str(day_of_week)
 
    if hour > 9 :
        hours_tens=str(hour)[0]
        hours_units=str(hour)[1]
    else:
        hours_tens=str(0)
        hours_units=str(hour)[0]
 
    if minute > 9:
        minutes_tens=str(minute)[0]
        minutes_units=str(minute)[1]
    else:
        minutes_tens=str(0)
        minutes_units=str(minute)[0]
 
    if second > 9:
        second_tens=str(second)[0]
        second_units=str(second)[1]
    else:
        second_tens=str(0)
        second_units=str(second)[0]
 
    #print("-- Info  :: Time String is \n year_tens {0}\n,year_units {1}\n,month_tens {2}\n,month_units {3}\n,day_tens {4}\n,day_units {5}\n,dayofweek {6}\n,hours_tens {7}\n,hours_units {8}\n,minutes_tens {9}\n,minutes_units {10}\n,second_tens {11}\n,second_units  {12}\n".format(year_tens,year_units,month_tens,month_units,day_tens,day_units,dayofweek,hours_tens,hours_units,minutes_tens,minutes_units,second_tens,second_units))
 
 
 #Stat sign
    data=bytes.fromhex('4F')
    #Supervision
    data=data+bytes.fromhex('41')
    #Time-Season
    data=data+bytes.fromhex('57')
    #Year
    data=data+bytes.fromhex('3'+year_tens)
    data=data+bytes.fromhex('3'+year_units)
    #month
    data=data+bytes.fromhex('3'+month_tens)
    data=data+bytes.fromhex('3'+month_units)
    #Day tens
    data=data+bytes.fromhex('3'+day_tens)
    data=data+bytes.fromhex('3'+day_units)
    #Monday .. Sunday 2)
    data=data+bytes.fromhex('3'+dayofweek)
    #Hours
    data=data+bytes.fromhex('3'+hours_tens)
    data=data+bytes.fromhex('3'+hours_units)
    #Minutes
    data=data+bytes.fromhex('3'+minutes_tens)
    data=data+bytes.fromhex('3'+minutes_units)
    #Seconds
    data=data+bytes.fromhex('3'+second_tens)
    data=data+bytes.fromhex('3'+second_units)
    #Telegram end
    data=data+bytes.fromhex('0D')
    # telegram of the format IF 482 (length: 17 characters)
 
    return data
 
# Open the serial port for communication
ser = serial.Serial(
    port="COM7", baudrate=9600, bytesize=7, parity=serial.PARITY_EVEN ,  timeout=4, stopbits=serial.STOPBITS_ONE
)
 
###########   
i=0
n=6000
 
###########
data_before=getTimeTelegram()
 
# send the data
while i <= n:
    i = i + 1
    #time.sleep(0.3)
    data=getTimeTelegram()
    #if data != data_before:
    print(data)
    ser.write(data)
    #debug if we hava 17byte
    #length = len(data)
    #print(length)
    data_before=data
    time.sleep(0.3)
 
#######################
ser.close()

Kommt am Ende zwar die korrekte Bit Folge heraus (wenigstens nach Spec) aber das Timing passt dann wohl nicht.

Da nun aber DCF77 funktioniert, versuche ich als nächstes das Protokoll am Out Port des Uhrwerkes auszulesen, evlt. lernt man was daraus.


Beleuchtung

In der Uhr ist die Ansteuerung einer Neon Röhre inkl. Starter, Trafo und Stecker noch vorhanden.

 MOBA-Time Uhr für die Deutsche Bahn Beleuchtung

Der Stecker sieht nach der Norm „G10Q“ aus, es könnte sich um eine T9 L 40W/840 Leuchtstofflampe in Ringform gehandelt haben. Diese haben einen Durchmesser von 406,0 mm und einen Rohrdurchmesser von 29 mm und wohl eine Helligkeit von ca. 3000 lm.

Mögliche Ersatz Modelle:

Alternativ wäre hier eine LED Leuchte wohl interessanter wie die „Noxion Avant LED T9 rund (EM/Direct) 20W 2200lm - 840 Kaltweiß | 40cm - Ersatz für 40W “ ⇒ https://www.beleuchtungdirekt.de/noxion-avant-led-t9-rund-em-direct-20w-2200lm-840-kaltweiss-40cm-ersatz-fur-40w-8719157034562 , allerdings bisher nur diese Lampe mit 2200lm und keine Hellere gefunden.

Auf den Abstrahlwinkel achten! Die Noxion Avant LED T9 rund strahlt leider nur in eine Richtung ab! D.h. eine Seite der Uhr ist relativ dunkel am Ende!


Quellen

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
"Autor: Gunther Pipperr"
elektronik/bahnhofsuhr_moba_time_in_betrieb_nehmen.txt · Zuletzt geändert: 2023/01/16 21:15 von gpipperr