BeneluxSpoor.net forum

Vraag en antwoord => Digitaal => Topic gestart door: Wouter-N op 02 January 2024, 14:41:20

Titel: DCC-EX pinnen voor bezetmelders tekort
Bericht door: Wouter-N op 02 January 2024, 14:41:20
Ik heb echt veel gelezen de afgelopen dagen, maar ik krijg het niet helder hoeveel bezetmelders ik op een Arduino Mega kwijt kan.
Met het plaatsen van het motorshield houd ik volgens mij een 30-tal pinnen over.
Maar wat als ik nu 70 bezetmelders nodig heb voor mijn baan in aanbouw?
Ik kom dan wel een uitbreiding op de I2C bus tegen waar ik twee MCP23017 bordjes kwijt kan voor nog eens 32 bezetmelders. Kom ik er nog steeds 8 tekort.
Hoe kan ik dit het beste oplossen als ik voor bezetmelding de Okkie 8 wil gaan gebruiken?
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: bask185 op 02 January 2024, 15:42:29
Citaat
Ik kom dan wel een uitbreiding op de I2C bus tegen waar ik twee MCP23017 bordjes
Elektrisch gezien, kan je er 8 op kwijt. Het is een bus systeem je kan ze zo achter elkaar hangen aan een van die I2C aansluitingen. Elke MCP heeft 3 hardware adressen waarmee je adres van 0x20 tot 0x27 kan instellen met een druppel tin. Ik weet niet of die software het ondersteunt. Ik vermoed van wel. Ik zou wel allle MCP boardjes niet te ver van elkaar af plaatsen. Die I2C bus staat niet echt bekend om de lange afstanden. Er bestaan wel chips voor om die lengte iets te buffen. Maar waarschijnlijk red je het zonder

Nico heeft tegenwoordig ook 16 voudige SMD okkies die in zo'n kastje zitten. Dan hoef je niet zo absurd veel te solderen.
https://www.arcomora.com/arloco/#:~:text=print%20%2B%20components)%20here-,OkkieNext,-(new!) (https://www.arcomora.com/arloco/#:~:text=print%20%2B%20components)%20here-,OkkieNext,-(new!))

Mvg,

Bas
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: Wouter-N op 02 January 2024, 16:14:21
Ik dacht ergens gelezen, of gezien, te hebben dat DCC-EX gelimiteerd is tot het gebruik van maximaal 2 x MCP23017.
Iemand die dat kan bevestigen en zo ja, hoe ik dan eventueel zelf de software aanpassen in deze?
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: lok1614 op 02 January 2024, 16:35:16
DCC-EX is standaard geconfigureerd voor 2 x MCP23017, echter in de myHall.ccp kan je meerdere configureren.
In de myHall.example.ccp staat de regel welke je kan aanpassen. Er kunnen er dus 8 op.

Maar kijk ook eens in de documentatie van DCC-EX, je kan een MEGA als io-expander inzetten, heb je 62 IO.
De MEGA koppel je ook via i2c aan de centrale, in de file myHall.example.ccp (mijn tip haal .example weg en pas deze aan) staat hoe je dit configureer.

Succes
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: bask185 op 02 January 2024, 16:36:54
https://dcc-ex.com/reference/hardware/i2c-devices.html#gsc.tab=0 (https://dcc-ex.com/reference/hardware/i2c-devices.html#gsc.tab=0)
https://dcc-ex.com/reference/hardware/gpio-module.html#gsc.tab=0 (https://dcc-ex.com/reference/hardware/gpio-module.html#gsc.tab=0)

Ik lees niks over een limiet van 2.

Bas
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: Wouter-N op 02 January 2024, 20:12:19
Die extra Arduino op de I2C bus geeft wel de I/O die ik goed kan gebruiken.
Zal dit eens gaan bekijken, thanks!
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: Rico [momfer] op 02 January 2024, 20:56:17
Voordat er hier allerlei misinformatie wordt gedeeld, spring ik even puntsgewijs in:


De meeste problemen met I²C hebben te maken met de op de bordjes aanwezige pull-up weerstanden en capacitieve problemen door verkeerde of lange kabels. Beide zijn oplosbaar.

Voor kleine afstanden helpt het bijvoorbeeld al om SCL en SDA draad  zo ver mogelijk uit elkaar te leggen.
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: Wouter-N op 03 January 2024, 08:05:30
Voordat er hier allerlei misinformatie wordt gedeeld, spring ik even puntsgewijs in:

  • Er zijn  standaard 2 MCP23017 en 2 PCA9685 voor gedefinieerd. Dat is om starters makkelijk op weg te helpen.


Dat dus! Maar hoe en waar kan ik de code aanpassen zodat ik meer dan twee MCP23017 printen kan gebruiken?
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: Rico [momfer] op 03 January 2024, 09:58:37
Daar hoef je geen code voor aan te passen.

Je kunt extra GPIO expanders aanmaken in myHal.cpp , maar kan dus ook zonder codeaanpassing in myAutomation.h (EXRAIL) met HAL(MCP23017, vPIN, GPIOs, ADRES)

Zie myHal.cpp_Example.txt in de installatiemap voor meer informatie of lees informatie over het aanmaken en werkend krijgen op
https://dcc-ex.com/reference/developers/hal-config.html#other-drivers

EXRAIL: https://dcc-ex.com/ex-rail/EX-RAIL-command-reference.html#hal-device-parameters-create-a-hal-device-in-myautomation-h



Kom je er niet uit, dan kan ik niet eerder dan vanavond verder helpen.
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: bask185 op 03 January 2024, 10:54:46
Zoals ik het lees, scant het ding zelf de I2C bus zodat hij minstens weet wat is aangesloten.

En verdere configuraties over wat welke pin van welke module moet doen, komt van een computer programma af? Of moet je dat hardcoderen in myAutomation.h? en dan opnieuw software uploaden?

Citaat
maar kan dus ook zonder codeaanpassing in myAutomation.h
Daar dingen invoeren is toch een code aanpassen?  ;)

Bas



Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: fozziebear op 03 January 2024, 12:11:06

Daar dingen invoeren is toch een code aanpassen?  ;)

Bas

Niet helemaal correct,alle my*.h files zijn configbestanden welke de gebruiker zelf kan invullen met behulp van voorbeelden. Dit is dus geen code aanpassen.
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: Jeroen Vreeken op 03 January 2024, 13:12:24
Het hangt maar net af van je interpretatie van het woord 'code'.

Als iemand mij verteld dat je header files moet aanpassen dan is dat voor mij 'code', het wordt immers verwerkt door de compiler. (Voor de compiler doet het er niet veel toe of het in een .h of .cpp file staat, het gaat door dezelfde parser)

Als ik het goed begrijp is jouw definitie van 'code' alleen maar datgene dat origineel in de DCC-EX distributie zit?
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: bask185 op 03 January 2024, 13:20:03
Hij doelt er denk ik op dat er heel veel macro's in zitten. Daarmee hebben ze feitelijk hun eigen taaltje (user defined language) gemaakt. Het is zodoende niet "echt" C++ code wat je daar moet neer kloppen.

Maar ik ben het met wel je eens. Je moet nog steeds letters op je toetsenbord inrammen en op de 'program' knop in de IDE rammen om iets gedaan te krijgen. Ik snap ook niet waarom ze het config bestanden en scripts noemen terwijl het gewoon doodnormale header bestanden zijn  ::) anyways my 2 cents.

Bas
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: fozziebear op 03 January 2024, 14:11:27
@jeroen: ja je hebt gelijk qua interpretatie van het woord 'code' in deze. Ben zelf absoluut geen developer maar onder code versta ik het daarwerkelijke programmeren, terwijl de my*.h dat zeker niet zijn.

@bas: ja ik doelde inderdaad op het feit van de macro's. Dus nee, geen echte C++ code, maar blijft het feit dat het geen code aanpassen is zoals je het zelf noemt.

 Maar ben het roerend met jullie eens dat de extensie .h misschien verwarrend is.
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: AlbertG op 03 January 2024, 15:57:49
Het is nog in ontwikkeling maar de EX-IOExpander is al beschikbaar:
https://dcc-ex.com/ex-ioexpander/overview.html#gsc.tab=0 (https://dcc-ex.com/ex-ioexpander/overview.html#gsc.tab=0)
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: bask185 op 03 January 2024, 16:17:36
Hoe zit dat nou als je servo's moet fine tunen op het oog? Kan je dat alleen maar hardcoderen en dan opnieuw programma flashen of kan je achteraf met een programma oid nieuwe standen opsturen zodat je ten minste kan zoeken naar de goede posities? Lijkt me zo'n gedoe allemaal?

Die PCA9685 dingen zijn opzich wel leuk aan een kant, maar aan de kant zijn ze ook 'dom' in de zin dat die niet zelf kunnen denken. Ik geloof zelf meer in standalone modules die je per module kan inregelen. Om nou elke laatste servo positie hard te coderen...

Mvg,

Bas
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: Rico [momfer] op 03 January 2024, 16:55:07
Finetunen van Servo's kan via wifi met (Android) APP EX-Toolbox.

Het kan ook eventueel met de opdracht <D SERVO vPIN Waarde> (Waarde tussen 105 en 450 zijn meest gangbaar) maar dat werkt minder intuitief.

De waardes die daaruit komen moet je als vaste waardes meegeven in de servodefinities in myAutomation.h OF in myHal.cpp, waarna je de software weer upload.

Vind je dat onhandig, dan kun je een DCC servodecoder met voorinstellingen gebruiken.
Titel: Re: DCC-EX pinnen voor bezetmelders tekort
Bericht door: Wouter-N op 04 January 2024, 09:52:35
Bedankt allen voor jullie antwoorden, ik kan weer verder