Auteur Topic: Synoptisch bord  (gelezen 1545 keer)

Offline PeterC

  • Forumlid
  • Berichten: 3.290
    • JAL pagina
  • Voornaam: Peter
Re: Synoptisch bord
« Reactie #30 Gepost op: 22 mei 2018, 21:27:18 pm »
...Met deze start stop kan je enkel één van de 12 device instellen. Maar is het ook de bedoeling dat je deze kan gebruiken om LocoNet signaal GPON GPOFF door te sturen?...

Geert, ik praat seriëel en jij leest I²C.  Even ons communicatiekanaal aanpassen in een taal die we beiden begrijpen.

Bij het indrukken van de startknop wordt via LocoNet een OPC_GPON verstuurd. 
Bij  het indrukken van de stopknop wordt een OPC_GPOFF verstuurd op voorwaarde dat de startknop niet is ingedrukt.
Is die startknop nog steeds ingedrukt, wordt die OPC_GPOFF niet verstuurd en komt de controller in programmeermodus.
Wat doet die conctroller dan?  Led 1 laat die 1 keer knipperen, led 2 laat die 2 keer knipperen, ..., led 12 laat die 12 keer knipperen en dan terug bij led 1.

Ondertussen luistert de controller naar het netwerk en verwacht hij een OPC_SW_REQ, met een waarde tussen 1 en 12 (device 1 tem 12).
Wanneer via die OPC_SW_REQ een geldige waarde wordt ontvangen, stopt het afzonderlijk knipperen van de leds en led 1 tem 12 gaat constant blauw aan afhankelijk van de parameters van de OPC_SW_REQ.

Het te programmeren device is nu ontvangen.  De controller wacht rustig af en verwacht terug een OPC_SW_REQ. 
Deze keer met een waarde tussen 1 en 16 (de 16 verschillende toestanden die een device kan aannemen - NOP - melder - wissel - 2 kleurig sein - 3 kleurig sein, ...).

Komt er een geldige waarde in een OPC_SW_REQ opdracht, gaat de led knipperen in de kleuren van dat desbetreffende device. 
Vb bij een OPC_SW_REQ met een parameter 3, knippert de led voor een wisselinstelling.  Maw de led knippert rood/groen.

De controller blijft luisteren.  Zolang er geen bevestiging komt voor die led (OPC_SW_REQ met adres 17 = Enter), kan die led bij iedere OPC_SW_REQ waarde tussen 1 en 16 één van die 16 verschillende toestanden aannemen.

Komt er uiteindelijk een OPC_SW_REQ met adres 17 (Enter), komt dat device in zijn eerste toestand (bij een wissel is dat eerst groen). Het device verwacht nu terug een OPC_SW_REQ met het groene adres.  Eenmaal ingegeven komt de led in de volgende toestand (bij een wissel wordt dat rood). 
Terug een OPC_SW_REQ geeft het adres voor de rode (afbuigende) toestand.

En dan komt er een eigenaardigheid: alle devices verwachten 4 adressen. 
Die vier adressen zijn nodig om de software iets of wat compact en universeel te houden om voor 12 mogelijke devices - 16 mogelijke toewijzingen en 1 tot 4 adressen.
Op dat vlak heb ik gekozen om voor elk device 4 adressen toe te kennen.
Dat kan heel simpel worden opgelost.  Voor een wissel zijn slechts 2 adressen nodig.  De overige 2 adressen worden ingevuld met zogenaamde 'dummy adressen'.

Als 'dummy adres' gebruik ik adres 250.  Dat adres is nog met oude Marklin digitale toestellen bereikbaar en met moderne besturingssoftware of centrales zonder probleem te adresseren.

Na het ingeven van de 4 adressen, herbegint de cyclus met het één voor één knipperen van de led's.  Dit tot de programeertoestand wordt verlaten door terug de start toets in te drukken, deze ingedrukt houden en dan de stoptoets in te drukken.
Daarna volgt een stevige herinitialisatie:

   ;opnieuw initialiseren (quick and dirty)
   asm goto 0

Voor de niet PIC mannen: een soft reset van de controller waardoor alle nieuwe gegevens uit de EEPROM worden gelezen en de controller
met die gegevens aan de slag kan ;)


Groetjes, Peter


Offline PeterC

  • Forumlid
  • Berichten: 3.290
    • JAL pagina
  • Voornaam: Peter
Re: Synoptisch bord
« Reactie #31 Gepost op: 22 mei 2018, 23:04:15 pm »
@Geert: je wilt niet weten wat muziek er nu op de achtergrond staat  :) :) :)
Een stukje steviger dan Judas Priest  ;D ;D ;D
Groetjes, Peter


Offline PietB

  • Forumlid
  • Berichten: 4.434
    • Modelbaan van Piet.
  • Voornaam: Pieter
Re: Synoptisch bord
« Reactie #32 Gepost op: 23 mei 2018, 01:19:03 am »

Geert, ik praat seriëel en jij leest I²C.  Even ons communicatiekanaal aanpassen in een taal die we beiden begrijpen.

…..

Voor de niet PIC mannen: een soft reset van de controller waardoor alle nieuwe gegevens uit de EEPROM worden gelezen en de controller
met die gegevens aan de slag kan ;)
Dit gaat mijn hobby pet ver te boven.
Maar ik ben nog jong genoeg om wat bij te leren.  ;D
Märklin, H0 1:87 C/K-Rails Intellibox + loconet.
NS Tijdperk: III t/m VI, met DB BR01 als museumtrein.
Märklin NS1212 NS1213 - 3055 NS1139 - 3324 en DB-BR01 - 3048 - Roco NS2305 - 69456 en Kandt 691 - 69956 Fleischmann Plan V - 4472 Piko Hondekop - 57320

Offline PeterC

  • Forumlid
  • Berichten: 3.290
    • JAL pagina
  • Voornaam: Peter
Re: Synoptisch bord
« Reactie #33 Gepost op: 25 mei 2018, 19:38:14 pm »
De printer draait overuren:



De rol is nu bijna op en dat wordt u-vormige verbindingsstukken en knopjes printen (2.7 m per 18 stukjes) en dat tot ik een nieuwe rol kan beginnen.

De stuurschakeling heeft soms nog kuren.  Dit weekend dat verhelpen met enkele 100nF condensatoren op de voedingslijnen van de led's.  In mijn eerste testschakeling liep alles stabiel maar nu zitten er langere draden tussen de µC en de APA106 led's.

Voor de rest voldoet het synoptisch bord reeds aan mijn verwachtingen.
Groetjes, Peter


Offline PeterC

  • Forumlid
  • Berichten: 3.290
    • JAL pagina
  • Voornaam: Peter
Re: Synoptisch bord
« Reactie #34 Gepost op: 27 mei 2018, 21:14:40 pm »
Ik noem mijn vrij weekend geslaagd!

Het bord werkt en doet wat ik ervan verwacht had!

De bovenkant:


En natuurlijk de onderkant:


Detail:


De helderheid van de led's kan via een lokomotiefadres worden aangepast (standaard adres 99 - maar heel eenvoudig aan te passen).

Heldere (eerder felle) led's:


Gedimde led's:


Voor mij is dit project geslaagd!  Duurtesten volgen nog maar ik heb er goede hoop op!
Alleen bij een heel heldere instelling van de led's, krijg ik problemen met de voeding.  220 µF afvlakking is dan toch iets te weinig.

Wordt vervolgd!
Groetjes, Peter