Uhr stellen bei weißer CPU - CPU reagiert nicht auf Kommando

  • Hallo,

    die ********* (liebe) Uhr im Treff As lässt sich nicht stellen.

    die CPU reagiert nicht auf **ZEIT*:20181703202150

    zur Kontrolle habe ich am roten Stecker "Serielle Daten" direkt an der CPU das Signal abgegriffen und wider in den PC geschickt.

    Was gesendet wird kommt am Stecker an und wird zurück gelesen. Der Aufbau ist in den Bildern zu sehen.

    habe es mit 4800 und 9600 versucht.

    irgendwas läuft schief... ;denk

  • Hi!

    Die Baudrate von 4800 ist korrekt. Daten- Paritäts- und Stoppbits sehen auch in Ordnung aus.

    Versuche mal folgendes: (so eintippen ["(Enter)" = Eingabetaste] und die aktuelle Uhrzeit/Datum einsetzen)

    OK (Enter)
    OK (Enter)
    **ZEIT*:hhmmTTMMJJWWss (Enter)

    Zu den Angaben im Detail:
    hh = Stunden
    mm = Minuten
    TT = Tag des Monats
    MM = Monat des Jahres
    JJ = Jahr
    WW = Wochentag (0 = Sonntag, 6 = Samstag)

    Dann sollte die Uhr gestellt sein.

    Liebe Grüße
    René

    =)

  • Wie sind eigentlich die Pegelverhältnisse an den Anschlüssen ?

    Den PC hast du über einen TTL <-> RS232 Adpater angeschlossen ?

    Auf deinen Foto (Stevy gab den Tip) ist nichts an der Steuereinheit angeschlossen.

    Also verbindest du deinen PC mit der fünfpoligen Diodenbuchse, die in der Gehäuseöffnung endet ?

    Stephan

  • Hallo Rene,
    danke für die Antwort


    "**ZEIT*:hhmmTTMMJJWWss (Enter)

    Zu den Angaben im Detail:
    hh = Stunden
    mm = Minuten
    TT = Tag des Monats
    MM = Monat des Jahres
    JJ = Jahr
    WW = Wochentag (0 = Sonntag, 6 = Samstag)

    Dann sollte die Uhr gestellt sein."


    was ich hatte:
    ok dann hatte ich bis jetzt Datum und Uhrzeit in der Reihenfolge vertausch (**ZEIT*:20181703202150)
    hatte zuerst das Jahr mit 2018 da fällt ja die 20 weg...2018 Jahr 17 Tag 03 Monat 20 Uhr 21 und 50 Sek

    so zu deinem:

    ist es richtig das ss (ich vermute Sekunde) am Schluss kommt ?
    generell ist bei einstelligem Wert die Frage mit führender 0 ? Monat: also 03 oder ohne 3 - ich vermute mit, da vermutlich immer 2 Byte pro Angabe reserviert sind

    Beispiel Datum :

    Sonntag 13 Uhr und 58 Minuten und 44 Sekunden 18.03.2018


    setzt sich das dann so zusammen:
    **ZEIT*:
    hh =13
    mm=58
    TT=18
    MM=03
    JJ=18
    ww=00 für Sonntag
    ss=44 Sekunden

    Ergebnis: **ZEIT*13581803180044 ein 22 stelliger String


    hab ich Dich so richtig verstanden ?


    da mit dem OK werde ich testen (also OK senden, OK senden,*ZEIT*.... senden)

  • Hallo Stephan,


    ich benutze diesen USB COM Adapter

    ein Adapter gebaut (9-Pol auf DIN) welches Masse und TX auf Pin 5 und 2 der weißen CPU zur Verfügung stellt.
    Das TX Signal kommt an Pin SSE am Stecker der CPU an (das Bild mit Drähten im roten Stecker) das habe ich durch ziehen des Steckers an der CPU und einstecken des RX vom PC und Rücklesen geprüft.

    Der rote Stecker ist schon drauf gewesen bei den versuchen die Uhr zu stellen. Das Bild zeigt die Rücklese Tests.


    zu den Pegeln,
    was der Adapter liefert muss ich noch raus bekommen. Werde das mit OSSI messen dann weiß ich es .

    welchen Pegel erwartet den die weiße CPU an SSE ?

  • Hallo!

    Ja, du hast das korrekt interpretiert. Sekunden werden immer mit zwei Ziffern angegeben. Bei einem Wert unter 10 sind führende Nullen zu beachten. Also 00, 01, 02 und so weiter.

    Bitte beachte auch den Hinweis von kuehbox!
    Wie schließt du deinen TTL-zu-RS232-Konverter an? Die Signale müssen an der Steuereinheit anliegen. Der Stecker, den du abgezogen hast kommt vom Datenport (Entweder 5Pol-DIN oder 9Pol-DSUB) und geht zur CPU - nicht von der CPU ab. Wenn du uns erklärst, wie du deinen Wandler angeschlossen hast wissen wir auch, ob hier vielleicht der Grund für die fehlende Reaktion der CPU liegt.

    Die CPU erwartet TTL-Pegel von 5 Volt.

    Liebe Grüße
    René

    =)

  • Hallo,

    das die Sekunden "alleine" nach dem Wochentag am Schluss kommen finde ich komisch ...aber gut es ist wie es ist.


    "Wie schließt du deinen TTL-zu-RS232-Konverter an? "

    Ich habe einen USB RS-232 COM Kabel Seriell Konverter
    was hat der mit TTL zu tun? mach doch RS232 ?

    zum Anschluss:

    PC->USB->SUBD-9POL->SUBD-9POL->DIN5->Stecker an CPU
    wobei SUBD-9-Pol auf DIN5 selbst gebaut ist.

    Skizze im Anhang

    Selbstbaukabel:
    ich stecke den Din5 Stecker in den Treff As und den 9Pol in den USB Adapter


    zu den Pegeln:
    "Die CPU erwartet TTL-Pegel von 5 Volt."

    also (TTL: 0 : V < 0,4V 1 : V > 2,4V)

    so ?:
    0 V für log 0 und 5 V für log 1
    oder
    -5 V für log 1 und + 5 V für log 0


    LG Marcus

  • Hallo.

    Du kannst dich der Sekunden wegen ja mal bei adp melden und fragen, weshalb die so komisch am Ende der Zeichenfolge stehen. Oder zweifelst Du an der Richtigkeit meiner Aussage?

    Benutze weiterhin einen RS232 zu TTL-Konverter für die Kommunikation mit dem Gerät. Vorsicht auch mit den 40 Volt, die an der Buchse anliegen. Nicht, dass du Dir den USB-RS232 Adapter kaputt machst.

    Auf dieser Webseite findest Du eine schöne Bauanleitung für einen Konverter.
    http://www.baersch-online.de/pcadapter.htm


    Damit wird die Kommunikation sehr wahrscheinlich funktionieren.

    Liebe Grüße
    René

    =)

  • Nicht dass schon die Optokoppler auf der weissen CPU mit den 40V durch einen Kabelbruch-Kurzschluss abgeschossen wurden. Dann nimmt die weisse CPU gar nichts mehr an ;frown


    So ist das Format korrekt, aber das <CR> am Ende nicht vergessen ;}

    Bitte keine allgemeine Fragen per PN, die nicht auch im Forum selbst von der ganzen Community gelöst werden können!!!
    KEIN PN-SUPPORT!!!
    BITTE BEACHTEN:
    Bitte überlege, wenn du mir eine PN (private Nachricht) schreiben willst, ob deine Frage nicht offen im Forum besser aufgehoben ist!
    Mehr User können so deine Frage sehen und helfen. Ich hingegen bin nicht jeden Tag hier online.

  • Hallo Rene,



    habe meinen USB RS-232 COM Kabel Seriell Konverter gemessen:


    der macht 0-5 V was ich nicht erwartet habe, das der NUR positive Pegel liefert.


    ich dachte bis jetzt RS232 wäre immer mindestens −3 V…+3 V üblicherweise −12 V und +12 V


    wenn ich den http://www.baersch-online.de/pcadapter.htm Adapter dazwischen schalte komme ich mit 0-5V vom USB Am MAX an was dann auch nicht geht oder ?

    bei dem baerch Adpater wird Pin 7 wird über den Pull up auf Pin 1 als 20 V hochgezogen also bekommt SSE 20 V ?
    jetzt macht es mich ganz fertig: "Die CPU erwartet TTL-Pegel von 5 Volt."


    ;wtwa

  • Hallo Montico,

    so einen Drucker wollte ich mir nicht wirklich zulegen...
    wobei...um herauszufinden wie es der macht damit es geht um ihn dann wieder los zu werden könnte ich mir noch überlegen..

    schade das Du so weit weg bist .. wird nix werden mit vorbeikommen...


    Lg Grüße
    Marcus

    Einmal editiert, zuletzt von HeimBarSpieler (21. März 2018 um 00:34)

  • So die Bastelstunde ist vorüber muss schnell ins ;bett


    aber noch zur Bastelstunde:


    Riiko den Hinweis mit den Optokoppler habe ich mir angeschaut.

    1.) CPU Deckel ab und Ossi an Pin 4 (Emitter) angeklemmt
    2.) vom PC über den USB-TTL Adapter das Steckbrett mit dem 0-5V Pegel vom USB Dings den ULN2003 an 1B versorgt
    3.) das Signal 1C vom ULN2003 dann mit 1K PullUp auf sie 20V von der ADP CPU hochgezogen (baerch Tip von Rene)
    4.) diesen dann über die DIN5 zur CPU geschickt und dann am Pin 4 des Optokoppler gemessen was da passiert wenn ich im Terminal auf dem PC senden drücke
    5.) das Ergebnis ist im Anhang zu sehen


    ich schaffe es also vom PC bis hinter den Optokoppler auf die [definition=7]Backpanel[/definition].
    wenn ich "NUR" die 5 Volt vom USB Dings ohne ULN2003 sende passiert am Optokoppler Emitter NIX

    gute Nacht

    LG Marcus

  • Hallo Marcus.

    TTL-Signale unterscheiden sich von RS232-Signalen. Siehe hierzu: https://www.mikrocontroller.net/articles/RS-232

    Deshalb ist auch ein MAX232 in der Schaltung vorhanden. Der ULN2003 dient neben der Invertireung der Signale auch dem Anheben auf den entsprechenden Pegel. In diesem Fall erwartet der Automat, man möge mir die Fehlinformation verzeihen, 20 Volt TTL-Signale. Es gibt jedoch auch Geräte, bei welchen 5V-TTL-Pegel anliegen müssen.

    Bitte lies dir die Beschreibung des Ausleseadapters nochmal durch und baue entsprechend einen MAX232 ein. Dann klappt es auch mit dem Senden der Zeitsignale an den Automaten.

    Liebe Grüße
    René

    =)

  • Die Uhr ist gestellt ;dance
    ;hüpf


    danke für die Mithilfe!


    so klappt es bei mir:
    Der Emitter vom Optokoppler hat Ruhelage 0V
    20 Volt TTL-Signale erzeugt mit ULN2003
    Format: **ZEIT*13581803180044 ein 22 stelliger String
    es geht bei mir ohne OK und <CR> nur der 22 stellige String

    der Zeitpunkt des Senden ist wichtig !! wann genau hab ich noch nicht ganz raus irgendwann beim CPU Hochlauf und den Zeitpunkt Münzsperre

    ich werde mit jetzt SSA anschauen, ich möchte wissen ob und was die CPU antwortet


  • Zum Zeitpunkt habe ich folgendes beobachtet:
    Am besten funktioniert es, wenn der Automat frisch eingeschaltet wurde und komplett hochgefahren ist (nach dem der Münzsperrmagnet angezogen hat).
    Dann darf kein Spiel gelaufen sein, sonst macht das Programm dicht und "hört" nicht mehr auf den Zeitsetz-Befehl. So meine Beobachtungen.
    Den SSA habe ich auch noch nicht abgehorcht ;frage Ich hab die Uhr immer stumpf mit der weissen Tastatur überprüft ;tölf

    Bitte keine allgemeine Fragen per PN, die nicht auch im Forum selbst von der ganzen Community gelöst werden können!!!
    KEIN PN-SUPPORT!!!
    BITTE BEACHTEN:
    Bitte überlege, wenn du mir eine PN (private Nachricht) schreiben willst, ob deine Frage nicht offen im Forum besser aufgehoben ist!
    Mehr User können so deine Frage sehen und helfen. Ich hingegen bin nicht jeden Tag hier online.

  • Den Beobachtungen zum Zeitpunkt kann ich nur zustimmen.

    Warum die CPU es trotzdem nur fast immer annimmt bleibt mir ein Rätzel..

    Nochmal DANKE !

    ich bin happy, es funzt... ;dance auf Steckbrett hab ich keine Lust, ich werde mir das vernünftig bauen.


    zum SSA:

    ich habe mir das angeschaut:
    die CPU antwortet !

    Wenn die CPU "hochgefahren" ist und der Service Schalter in Mittelstellung ist dann bekommt man den geschickten String wieder zurück.
    Eine richtige "Quittung" konnte ich nicht feststellen, wobei ich die Antwort als Anzeichen für "übertragen" heranziehe.

    Das beste Ergebnis habe ich erzielt wenn ich den String einfach mehrfach hintereinander zur CPU schicke dann klappt es fast immer.

    übrigens heute war ;grill

  • Hallo,
    ich habe das gleiche Problem. Als Terminalprogramm nutze ich das gleiche wie oben auf den Bildern.

    Diverse Versuche waren bisher erfolglos. In den Tiefen des Netzes habe ich auch einen anderen, englischen Zeitsetz-Befehl gefunden.

    Zitat

    **Time*:20063112231059

    Dieser bringt auch keinen Erfolg, so dass ich mit dem Befehl aus Post 15 weiter probiere. Ich bin soweit, dass der Super Herz As den gesendeten Befehl zurück schickt. Das klappt nach etwas Wartezeit nach dem Einschalten etwa drei mal. Ich habe es mit CR und ohne probiert. Dass die Baud-Rate stimmt, erkennt man daran, dass der zurück gesendete Befehl mit dem gesendeten übereinstimmt.
    In welche Stellung muss der Serviceschalter, falls das überhaupt Bedeutung hat?

    Kann ich die im Gerät gesetzte Uhrzeit auch ohne Servicetastatur, durch brücken der PINs am Tastaturanschluss, ähnlich wie die Initialisierung, abfragen?
    Ach ja, mein Gerät ist ein Super Herz As.

    Vielen Dank im Voraus.

  • Hallo,

    ich habe es geschafft. Da im englischen Beispiel ein Doppelpunkt mit bei war und hier von einm 22-stelligen Befehl gesprochen wurde, habe ich beides kombiniert.

    Zitat

    **ZEIT*:13581803180044

    mit abschließendem CR hat bei meinem Automaten die Uhr gestellt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!