Doel:€250.00
Donaties:€50.00

Per saldo:€-200.00

Steun ons nu!

Laatst bijgewerkt
op 03-01-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Piko NS 2015 stroomafname probleem door meino
Vandaag om 18:57:31
Bauarbeiten im gange door ruudns
Vandaag om 18:50:26
MARDEC, de Multifunctionele ARduino dcc DECoder. door NTeering
Vandaag om 18:39:49
Mijn eerste H0-modeltreinbaan in aanbouw door aad52
Vandaag om 17:40:42
HSM D1715 door vpeters1984
Vandaag om 17:34:25
Beekdaelen in H0 door Stieven76
Vandaag om 17:17:41
Punt- en hartstukken door FritsT
Vandaag om 17:11:38
Al mijn goede ideeën... door Monobrachius
Vandaag om 17:10:33
Gebruik je Arduino zonder te "programmeren" ;) door Rsd1000
Vandaag om 17:07:59
Welke Vallejo kleur voor drijfstangen van een DB stoomlocomotief? door Ronald69
Vandaag om 17:04:52
Toon hier je nieuwe (model-) spooraanwinst(en)... door Ronald69
Vandaag om 16:54:22
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 15:58:15
US diorama in H0 door VAM65
Vandaag om 15:22:05
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door spoorijzer
Vandaag om 15:08:30
Kleine Baan in H0 (≤ 0.5m²) door Jack Black (NS1220)
Vandaag om 15:06:14
U-vorm beperkte ruimte (H0 C-rails) door Jelmer
Vandaag om 14:58:04
Onlangs gespot - gefotografeerd, de links door Jeroen Water
Vandaag om 14:33:00
N spur scenery elementen maken van gips of klei? door Dave.......
Vandaag om 14:30:06
De overeenkomst tussen een Ovaalramer en een Motorpost. door RK
Vandaag om 14:28:54
Onlangs gespot - gefotografeerd, de foto's door mass am see
Vandaag om 14:18:46
BMB-Module: “Corfe Castle Station” door Hans van de Burgt
Vandaag om 14:07:52
welk jaar ging Marklin OVP voor wagons van blauw naar wit door Railman
Vandaag om 13:40:42
GSS Jubileumbaantje (0e / 0n30) door MacArthur
Vandaag om 12:55:30
NTM P1 in Schaal-1 door MaraNCS
Vandaag om 11:39:38
Rio Grande Southern - Lizard Head Pass door Hans GJ
Vandaag om 11:30:20
Variaties op Station Zetten Andelst in HO door Duikeend
Vandaag om 10:54:40
De IJmuider spoorlijn - korte geschiedenis en plaatjes door Vislijn
Vandaag om 10:42:29
Internationale Spoor 0 en 1 dagen in Gießen, 23 en 24 maart, 2024 door bernhard67
Vandaag om 08:42:53
De Hondsrugbaan door mass am see
Vandaag om 08:15:11
Pfarrerwinkel bahn door Jelmer
Vandaag om 08:00:19
  

Auteur Topic: Wisselbedieningstableau met Arduino mega voor DCC; hulp gevraagd  (gelezen 6452 keer)

meino

  • Online Online
  • Berichten: 2088
Re: Wisselbedieningstableau met Arduino mega voor DCC; hulp gevraagd
« Reactie #30 Gepost op: 21 mei 2020, 22:15:12 »
Misschien een gekke vraag. Ik meen me te herinneren dat je op het XpressNet een Master mag hebben en meerdere slaves. Ik weet dat er ook voor de Arduino 2 bibliotheken ion omloop zijn, een voor een Arduino als master en een voor een Arduino als slave. Is het misschien zo, dat zowel Koploper als het paneel zich als master gedragen waardoor ze afzonderlijk werken maar niet beide tegelijkertijd?

Groet Meino
A clean desk is a sign of an empty mind

Kranenberg
De CanBus komt naar Kranenberg

Hans sprinter

  • Offline Offline
  • Berichten: 1520
  • Vriend van vlaflip
Re: Wisselbedieningstableau met Arduino mega voor DCC; hulp gevraagd
« Reactie #31 Gepost op: 21 mei 2020, 22:49:33 »
Meino, nee, Arduino noch Koploper zijn master, maar hebben een Xpressnet nummer tussen 1 en 31. In dit geval is de Muis de master...
Ik denk dat je de situatie met een Multimuis door elkaar haalt. Bij de Lenz centrale is deze Master, en kan de Xpressnet bus volgens de oude
specificatie 350mA levereen, terwijl dit voor V3.6 meer lijkt te zijn. Ik voed nu 4 Mega's als TCO en dat geeft bij de MM geen problemen.
Ik heb dus een aardig schakelboxje werken, helaas nog niet alle schakelaars binnen, maar alles werkt al en is getest.
Ik heb eigen printen laten maken in China, en die werkten eerst ook niet, maar daar bleek een foutje in de schema's te zitten,
veroorzaakt door een onduidelijk moeder schema. Fout opgespoort, en alles werkt op de Xpressnet bus voeding en mijn arduino sniffer detecteerd alle commando's
correct. Ik gebruik de basis van https://www.gadis.cz/dcc/tco.htm
Helaas was dat maar tot 256 wissels geschikt en heb uj deze uitgebreid tot 1024. Ook de railstraten werken en ik heb een vrij programmeerbare versie gemaakt.
Leuk spul en werkt erg makkelijk!
Groetjes, Hans

PS: de capaciteit van de ATmel op de Multimuis is erg beperkt, hetgeen zich uit in ophangen. Als je de muis blijft gebruiken zul je inderdaad conflicten blijven ondervinden.
Deze worden met name door koploper veroorzaakt. Wat deze op de bus "flikkert" is ongelooflijk, en het lijkt erop of alle locomotieven uit koploper constant worden aangestuurd,
en die hoeveelheid kan de muis weer niet aan. Helaas zelf moeten ondervinden tijdens het testen. De muis slaat geregeld vast, oorzaak het gekoppelde koploper. Even een arduino sniffer aan je DCC hangen, dan herken je zo wat er gebeurd....

meino

  • Online Online
  • Berichten: 2088
Re: Wisselbedieningstableau met Arduino mega voor DCC; hulp gevraagd
« Reactie #32 Gepost op: 21 mei 2020, 23:53:18 »
Is het niet zo dat de master dan de ExpresNet nummers toewijst? En hoe gebeurd dat, volgorde van de connectoren? Het lijkt er dan op dat de Arduino code van het paneel daar niet goed mee omgaat en op de een of andere wijze het zelfde ExpressNet nr als Koploper aanneemt. Ik ga er van uit dat Koploper hier wel  goed mee overweg kan.

Groet Meino
A clean desk is a sign of an empty mind

Kranenberg
De CanBus komt naar Kranenberg

Remco_Nzo

  • Offline Offline
  • Berichten: 274
Re: Wisselbedieningstableau met Arduino mega voor DCC; hulp gevraagd
« Reactie #33 Gepost op: 22 mei 2020, 00:11:44 »
Ik verdenk de 120 ohm weestand op de Ali module.

In de documentatie van Lenz staat
The ends of the XpressNet Network lines A and B should be
connected to the resistor, which is enclosed with the LZV100. The
resistor has a value of 120 Ohm

In het schema http://pgahtow.de/wiki/index.php?title=XpressNet zie je ook dat deze optioneel is.

Ik denk niet dat je meerdere van die 'terminators' tegelijk (dus parallel) tussen A/B moet leggen.
Mijn vermoeden is dat er al 1 zit in de PC interface-module. Dus losse TCO + MM gaat prima, PC module er nog bij -> totale weerstandswaarde te laag.

Remco.
« Laatst bewerkt op: 22 mei 2020, 00:14:11 door Remco_Nzo »
N-spoor in de koelkast gezet - nu heerlijk bezig met LGB op zolder (dcc, multimaus, massoth, mardec, arloco)

Juroen

  • Offline Offline
  • Berichten: 408
Re: Wisselbedieningstableau met Arduino mega voor DCC; hulp gevraagd
« Reactie #34 Gepost op: 22 mei 2020, 08:15:14 »
Ik ga met beide suggesties aan de slag:

1) in de code van de arduino een ander Xpresnet-adres instellen
2) eens kijken hoe ik de 120 Ohm weerstand uit mijn Max484 bordje kan halen.

Ik heb nog een derde bedacht:
3) een kijken hoe het met RocRail werkt. Ik heb een deel van mijn baan en enkele loc's in RocRail. Het is niet voldoende om de baan mee te besturen maar kan ik er eens wat mee proberen.

Overigens,
Het MAX485 bordje heeft aan de uitgang naar de arduino vier weerstanden van 10k naar VCC.
Die staan niet op het schema ven pgatow.

Hopelijk kan k later vandaag weer verslag doen van mijn bevindingen.

Groet, Juroen

Juroen

  • Offline Offline
  • Berichten: 408
Re: Wisselbedieningstableau met Arduino mega voor DCC; hulp gevraagd
« Reactie #35 Gepost op: 22 mei 2020, 16:28:26 »
Beste meedenkers,

Hierbij een bericht over de testjes van vandaag.

1) In de code van de arduino een ander Xpresnet-adres ingesteld
Het was adres 15, gewijzigd in 29: geen verandering.

2) Gekeken hoe het met RocRail werkt.
In eerste instantie werkt RocRail goed, na aansluiten van mijn bedieningspaneel geeft RocRail in het veld linksonder allerlei foutmeldingen. Wissels en lokomotieven via RocRail bedienen werkt niet meer. XpressnetLi opnieuw geconfigureerd om een en ander weer werkend te krijgen.

3) De 120 Ohm weerstand uit mijn Max484 bordje gehaald
Ha, ha, dit begint erop te lijken: (y) Koploper actief, en nu blijft alles werken.
Er treden geen foutmeldingen meer op, de XpressnetLi blijft in bedrijf.
Ook kan ik Koploper netjes afsluiten en weer opstarten.

Er is nog één ding wat niet werkt:
Als ik met het bedieningspaneel wissels bedien, dan laat Koploper dit niet zien.
Als ik met een multimaus (master of slave) wissels bedien, dan laat Koploper dit wel zien.

Ik denk dat ik hier voorlopig mee kan leven; het is wel mooi zo.  ;D
Waarschijnlijk gaat het over een tijdje toch kriebelen; dan zal ik eens de Tsjechische site gaan bekijken .

Nogmaals alle meedenkers bedankt.

Groet, Juroen

Remco_Nzo

  • Offline Offline
  • Berichten: 274
Re: Wisselbedieningstableau met Arduino mega voor DCC; hulp gevraagd
« Reactie #36 Gepost op: 22 mei 2020, 18:41:24 »
Je schrijft 1 ding nog niet werkt - en mijn vermoeden is dit patroon in de code

Citaat
        sendSwitchCommand(turnout,1,1);
        sendSwitchCommand(turnout,1,0);

Dit is volgens de spec omdat je een opdracht voor het aanzetten van de magneet moet geven, en even later weer een opdracht om de magneet uit te zetten. Er zijn zat decoders die dat met een korreltje zout nemen en zelf wel bepalen hoelang ze de magneet bekrachtigen (en dus dat uitzet bericht gewoon negeren), maaaaaaaaaaar
Ik heb ook gevallen gelezen waarbij er apparaten op de bus het 'negeerden/oversloegen' als de aan/uit te snel achter elkaar kwam.
Het is maar net hoe dat merk de specs geinterpreteerd en geimplementeerd heeft.

Dus je zou die theorie eens kunnen testen door in je ino op alle plekken waar er meteen achter elkaar twee sendSwitchCommands worden aangeroepen daar een korte delay tussen te stoppen. Ik heb in mijn code ontdekt dat een delay van bijvoorbeeld 10ms nog te weinig was in mijn situatie. Ik heb hem (uit mijn hoofd) nu op 100ms staan.

Remco.
N-spoor in de koelkast gezet - nu heerlijk bezig met LGB op zolder (dcc, multimaus, massoth, mardec, arloco)

Juroen

  • Offline Offline
  • Berichten: 408
Re: Wisselbedieningstableau met Arduino mega voor DCC; hulp gevraagd
« Reactie #37 Gepost op: 22 mei 2020, 21:13:03 »
Remco,

In de ino van nzin vind ik nergens een tweetal opvolgende instructies.

Wel staan er enkele delays in met verschillende waarden (bv 1, 10, 20) die eenzelfde functie hebben (bij een wissel-instructie). Die heb ik allemaal eens op 150 gezet.

Dat was geen succes, het leidde er toe dat de commando's vertraagd doorkomen.
Irritant. Ook leidde dit niet tot terugmelding in Koploper.

Ik heb ze nu allemaal op 20 ms gezet en het werkt naar wens, maar nog zonder visuele terugmelding in Koploper.
Zoals ik eerder vandaag al schreef, ik kan ermee leven.

Ook met mijn zoon nog even gespeeld; de een bediende de wissels en de ander reed met een trein.
Leuk tweemansbedrijf.

Groet Juroen

meino

  • Online Online
  • Berichten: 2088
Re: Wisselbedieningstableau met Arduino mega voor DCC; hulp gevraagd
« Reactie #38 Gepost op: 22 mei 2020, 22:45:05 »
Juroen

een vraagje, Als Koploper een wissel omzet, krijgt de Arduino dat via een XpresNet cpmmando te horen. Maar als jij via een drukknop de Arduino een wissel laat omzetten, meld de Arduino dat dan ook d.m.v een XpressNet commando aan de Centrale?
Mijn ervaring is dat als de Centrale dat weet, dat Koploper dat dan ook weet. Ik heb de indruk dat de centrale niet geinformeerd wordt.

Groet Meino
A clean desk is a sign of an empty mind

Kranenberg
De CanBus komt naar Kranenberg

Remco_Nzo

  • Offline Offline
  • Berichten: 274
Re: Wisselbedieningstableau met Arduino mega voor DCC; hulp gevraagd
« Reactie #39 Gepost op: 23 mei 2020, 00:45:26 »
@Meino,

het programma in de arduino is een xpressnet-slave, net als de multimaus. Hij stuurt dus geen DCC opdrachten naar de wissels, maar X-BUS pakketjes naar de centrale -> en die maakt daar DCC opdrachten van voor de wisseldecoder.
Lang antwoord voor : ja (maar begrijp nog steeds niet waarom het uitmaakt)

@Juroen,
ALs je in de toekomst toch eens het verder wilt gaan onderzoeken : ke zou met een tweede arduino de 'xpressnet-monitor' sketch kunnen laden en dan 'opnemen' wat de x-bus precies ziet als je de wissel omzet met de multimaus en wat hij ziet met het omzetten door TCO. Je zou daar (als het goed is) geen verschil in de logging mogen zien.

Maar leuk dat het gelukt is. Veel plezier met spelen toegewenst
Remco.
N-spoor in de koelkast gezet - nu heerlijk bezig met LGB op zolder (dcc, multimaus, massoth, mardec, arloco)

Juroen

  • Offline Offline
  • Berichten: 408
Eind goed, al goed?

Ik kon het nog niet loslaten. Vooral de opmerking van Remco:

Je schrijft 1 ding nog niet werkt - en mijn vermoeden is dit patroon in de code

Dit is volgens de spec omdat je een opdracht voor het aanzetten van de magneet moet geven, en even later weer een opdracht om de magneet uit te zetten.

Vervolgens ben ik op een Frans forum eens gaan neuzen en kwam ik uit op onderstaande draadje:

http://forum.locoduino.org/index.php?topic=266.15

Daar constateert iemand dat er in de code die ik gebruik een stukje ontbreekt. Ik heb dat toegevoegd zoals ik denk dat het het bedoeling is. Et voila:
1) de wissels kan ik bedienen met multimaus, Koploper en mijn TCO;
2) als ik met mijn TCO de wissels bedien zie ik dat terug op multimaus en Koploper;
3) ik kan Koploper netjes afsluiten en weer opnieuw opstarten.
 (y)

Wat heb ik veranderd?

Oude code:

  // --- Commande pour Boutons à levier --------------------------------------------
  for (int i = NbrePoussoirs*2 +1; i < NbrePoussoirs*2 + NbreLevier +1; i++)
    {
    if (BtEtat != BtEtatAncien)
      {
        Serial.print("Aiguillage ayant l'adresse DCC "); Serial.print(Aig);
        Serial.print(" (Arduino "); Serial.print(Bt);
        BtEtatAncien = BtEtat ;
        XpressNet.setTrntPos (0x0, Aig-1, BtEtat );
        delay (20);
      }
    }

Nieuwe code (in vet de wijziging (een -8 en een regel):

  // --- Commande pour Boutons à levier --------------------------------------------
  for (int i = NbrePoussoirs*2 +1; i < NbrePoussoirs*2 + NbreLevier +1; i++)
    {
    if (BtEtat != BtEtatAncien)
      {
        Serial.print("Aiguillage ayant l'adresse DCC "); Serial.print(Aig);
        Serial.print(" (Arduino "); Serial.print(Bt);
        BtEtatAncien = BtEtat ;
        XpressNet.setTrntPos (0x0, Aig-1, BtEtat-8 );
        delay (20);
        XpressNet.setTrntPos (0x0, Aig-1, BtEtat );
        delay (20);

      }
    }

Groet Juroen

Remco_Nzo

  • Offline Offline
  • Berichten: 274
Re: Wisselbedieningstableau met Arduino mega voor DCC; hulp gevraagd
« Reactie #41 Gepost op: 23 mei 2020, 18:47:04 »
 (y)
Remco.
N-spoor in de koelkast gezet - nu heerlijk bezig met LGB op zolder (dcc, multimaus, massoth, mardec, arloco)