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

De overeenkomst tussen een Ovaalramer en een Motorpost. door BartvD
Vandaag om 09:32:19
Onze Nederlandse Stoomlocomotieven (nieuwe druk) door R v/d Hoven
Vandaag om 09:24:48
Mijn eerste H0-modeltreinbaan in aanbouw door Wim Vink
Vandaag om 09:16:55
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door Jeroen Water
Vandaag om 08:53:16
Internationale Spoor 0 en 1 dagen in Gießen, 23 en 24 maart, 2024 door bernhard67
Vandaag om 08:42:53
Variaties op Station Zetten Andelst in HO door tothebeach
Vandaag om 08:21:31
US diorama in H0 door Jelmer
Vandaag om 08:19:18
De Hondsrugbaan door mass am see
Vandaag om 08:15:11
Pfarrerwinkel bahn door Jelmer
Vandaag om 08:00:19
M.s.v. De Percee bouwt aan nieuwe clubbaan door J. Moors
Vandaag om 01:00:05
30 maart Modelspoorbeurs Houten & HCC Kennisdag door WimM
Vandaag om 00:42:50
Raadplaatje door Magic
27 maart 2024, 23:27:03
Ronald en Wanda's "Southern Comfort" swamp layout! door Ronald Halma
27 maart 2024, 23:17:30
Rio Grande Southern - Lizard Head Pass door Rody v. G.
27 maart 2024, 23:03:46
Al mijn goede ideeën... door MartinRT
27 maart 2024, 22:57:39
Bouw van materieel 40 treinstellen door Pauldg
27 maart 2024, 22:45:06
Martijn's rariteitenkabinet door Martijn193
27 maart 2024, 22:30:17
Beekdaelen in H0 door Link
27 maart 2024, 22:17:23
Les Billards du Vivarais door Hans1963
27 maart 2024, 22:08:52
"Litter Bin" voor Brits spoor en Britse modelspoorprojecten door BrightonBelle
27 maart 2024, 21:57:24
Bauarbeiten im gange door puntenglijder
27 maart 2024, 21:57:02
Kleine Baan in H0 (≤ 0.5m²) door Jack Black (NS1220)
27 maart 2024, 21:47:16
Lima Koploper ombouwen door Menno 1846
27 maart 2024, 21:31:51
Piko NS 2015 stroomafname probleem door brutus
27 maart 2024, 21:16:45
Zwederbaan door nighttrain1
27 maart 2024, 20:44:09
opbouw treinbaan weer opgepakt door teun van drunen
27 maart 2024, 19:21:25
NTM P1 in Schaal-1 door FritsT
27 maart 2024, 18:59:12
PB models: koplopers (voorbespreking) door Marnit
27 maart 2024, 18:58:04
Aachenau West door 741230
27 maart 2024, 18:55:45
Gebruik je Arduino zonder te "programmeren" ;) door bask185
27 maart 2024, 18:22:53
  

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

meino

  • Offline Offline
  • Berichten: 2087
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

  • Offline Offline
  • Berichten: 2087
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

  • Offline Offline
  • Berichten: 2087
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)