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

N spur scenery elementen maken van gips of klei? door Paul552
Vandaag om 12:35:08
Hengelo in 1981-1982, maar dan anders: Kassenberg in N door spoorijzer
Vandaag om 12:33:37
Toon hier je nieuwe (model-) spooraanwinst(en)... door Sven
Vandaag om 12:28:41
De overeenkomst tussen een Ovaalramer en een Motorpost. door RK
Vandaag om 12:25:12
U-vorm beperkte ruimte (H0 C-rails) door eitreb
Vandaag om 12:16:32
Al mijn goede ideeën... door Karst Drenth
Vandaag om 11:42:58
NTM P1 in Schaal-1 door MaraNCS
Vandaag om 11:39:38
US diorama in H0 door Wim Vink
Vandaag om 11:35:28
Mijn eerste H0-modeltreinbaan in aanbouw door Jack Black (NS1220)
Vandaag om 11:33:00
Rio Grande Southern - Lizard Head Pass door Hans GJ
Vandaag om 11:30:20
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 11:27:15
Bauarbeiten im gange door Dave.......
Vandaag om 10:55:26
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
Onze Nederlandse Stoomlocomotieven (nieuwe druk) door R v/d Hoven
Vandaag om 09:24:48
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
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
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
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
  

Auteur Topic: Haarsem aan Zee H0  (gelezen 42303 keer)

bask185

  • Offline Offline
  • Berichten: 4004
Haarsem aan Zee H0
« Gepost op: 21 november 2018, 21:04:26 »
Mede treinfans,

Gedurende de bouw van mijn eerdere treinbaan werd ik onzeker of ik die nog zo wilde hebben. Ik had hem weliswaar goed ontworpen en hij voldeed aan al mijn eisen en de eisen van m'n collega's op de modelspoorclub, maar mijn eisen begonnen te veranderen nadat ik mijn rangeerstukje had gemaakt en deze niet helemaal fysiek paste bij de rest van de baan.

Ik was ondertussen ook veel draadjes aan het bekijken op dit forum waarvan ik er nu een paar volg. De baan 'Hoekdam' is voor mij een grote inspiratiebron geweest. Ik was ook baanplannen aan het bekijken op internet en ik was baanplannen aan het ontwerpen in AnyRail, iets wat ik erg leuk vind om te doen. Ik heb ontzettend veel uren achter mijn computer gespendeerd, banen te ontwerpen. En nadat Eurospoor voorbij was gekomen, heb ik een compleet ander ontwerp waar niet eens al mijn materieel nog oppast en waarop ik geen rondjes kan rijden.

Wat ook van erg grote invloed is geweest op mijn overslag, is de drang om weer eens te rijden. Ik heb over de jaren best veel materieel gekocht waarvan sommige nog niet hebben gereden of zelfs nog niet zijn omgebouwd naar 3-rail. En ik heb met mijn rangeerstukje ondervonden dat modules erg fijn, snel en makkelijk bouwen. Op Eurospoor heb ik een mooie geel grijze 6400 gekocht en dat maakt mijn verzameling van geel grijze diesels redelijk compleet. Ik heb nu een Sik, Bakkie, 2200, 2400 en 6400. Verder heb ik ook nog een splinternieuwe (2e hands) Fleischman mat'64 van Eurospoor en een wat oudere (M* delta tijdperk) 1600 loc.

De modelspoorclub waar ik lid van ben, doet verder ook helemaal niks meer met grote modulebanen. En het is mijn wens om dat, in naam van mijn club, mijn eigen baan neer te zetten op plaatsen zoals Eurospoor. Daarbij is mijn rangeerbaantje ontworpen ook voor kinderen zodat zij ook eens kunnen rangeren. Toen er op de laatste open dag op de club een jongetje zei: "ik wil rangeren", toen antwoordde ik met: "daar wordt nu aan gewerkt".

Op dit forum heb ik ook gemerkt dat een naam voor mens baan toch wel extra sfeer geeft aan een modelbaan en daarom was ik aan het brainstormen over namen. Helaas woonde ik mijn eerste 16 levensjaren minimaal 15km van het dichtstbijzijnde station in Noord Holland. De naam die ik bedacht heb, is daarom vrij willekeurig (en nog niet bezet  ;) ).

Dus zo doende wil ik mijn (hopelijk) laatste ontwerp en bouw presenteren van mijn nieuwe baan 'Haarsem aan Zee'. Haarsem aan Zee is een niet al te groot Nederlands dorp aan de kust rond het jaar 1975. Het dorp heeft een chemische industrie gebied en een haven met een rangeerterrein en een 2 sporig kopstation. Er rijden voornamelijk korte goederentreinen en er pendelen een paar passagiers treinen.

Op het moment heb ik nog maar drie bakken gemaakt die nog op schragen staan. Ik ben op het moment druk bezig om voor deze drie bakken goede onderstellen te maken. Bij een tekort aan inspiratie ben ik gaan zoeken en zo doende vond ik 'Team Mitropa' waar best veel leuke dingen instaan over het bouwen van module bakken.




Het baanontwerp in AnyRail:


Het is een heel simpele baan waarbij het niet langer mogelijk (hadden alle eerdere ontwerpen wel) is om rondjes te rijden. Er komen aan de linker kant 8 sporen te liggen waarvan 4 een bedekt schaduwstation vormen en de andere 4 sporen vormen een 2e rangeer terrein. Goederen treinen kunnen op verscheidene plaatsen kop maken en rangeren terwijl er af en toe een passagiers trein pendelt van het schaduwstation naar het kop station.

Uiteindelijk wordt de baan of in ieder geval delen volledig geautomatiseerd, maar in de tussen tijd wil ik gewoon..... rijden met m'n mooie geel-grijze diesel collectie (en misschien toch een paar 'futuristische' Br185/186, heb nog een mooie geel grijze 1900 van Piko  :laugh: ).

Tegen de tijd dat mijn eerste drie bakken onderstellen en rails hebben, post ik een update.

Mvg,

Bas.

Train-Science.com
Train-Science github
It ain't rocket science ;-)

MDG

  • Offline Offline
  • Berichten: 253
  • Voor elk probleem bestaat een oplossing
Re: Haarsem aan Zee H0
« Reactie #1 Gepost op: 21 november 2018, 21:16:19 »
Ben benieuwd naar je vorderingen komende tijd.
Leuk ook om de helft van het ‘schaduwstation’ gewoon zichtbaar te bouwen.
Ga het zeker volgen (y)

Succes!

Max
Max de Groot

Mijn draadje; Vrije vertaling Nedstaal H0
https://forum.beneluxspoor.net/index.php?topic=91123.0

Ronald1974

  • Gast
Re: Haarsem aan Zee H0
« Reactie #2 Gepost op: 22 november 2018, 08:11:32 »
Ben ook benieuwd naar je vorderingen.
Genoeg spooraansluitingen met de nodige rangeer bewegingen.
Veel bouw plezier.

M.v.g. Ronald.

bask185

  • Offline Offline
  • Berichten: 4004
Re: Haarsem aan Zee H0
« Reactie #3 Gepost op: 25 november 2018, 21:22:51 »
Druk weekend achter de boeg, ik dacht die onderstelletjes, 4 uurtjes werk tops... Ik zat er naast.



Ik heb nu drie onderstellen gemaakt, waarvan er 2 al op staan. Ik ben erg tevreden over het resultaat, want er zit bijna geen beweging in.



Ik heb het ook zo simpel als mogelijk gehouden. De poten hebben elk een 8mm busje onderin waarin een bout kan, daarmee kan ik de hoogte instellen. Ik heb de bouten er nog niet in gedraaid. En ik heb metalen pennetjes gebruikt om de bak op zijn plaats te houden. Ik wil dezelfde pennetjes ook gebruiken om de modules onderling te verbinden in combinatie met een bout en een vleugelmoer om de boel bij mekaar te houden. Het geheel is erg robuust geworden er zit bijna geen beweging in. De poten zijn 1.20m lang en dat geeft me een erg grote werk hoogte. Ik heb voorheen alleen maar met schragen gewerkt. Dus dit is wel een stukje hoger dan ik gewend ben.

De poten voor de derde bak zijn ook klaar die moet ik alleen nog onder de bak zelf zetten. Ik moet van de grote plaat met m'n 10 opstelsporen (de plaat van post #1 met de draden er uit) nog een stukje vanaf zagen. Ik denk dat ik de plaat zo laat als deze is. Het is dikke MDF plaat met balken er onder om het doorbuigen te verminderen. Ik wil hiervoor ook een onderstelletje maken op dezelfde wijze. Als ook die plaat staat, hoef ik voor de onderstellen alleen nog maar de 2 achterste sporen te maken. Deze ga ik aan de middelste rangeermodule vast zetten met de metalen pennetjes en 2 bouten + vleugelmoeren.

Maar eerst ga ik zo snel mogelijk de 3e bak opzetten, rails uitleggen en lekker rijden  (y)

Train-Science.com
Train-Science github
It ain't rocket science ;-)

bask185

  • Offline Offline
  • Berichten: 4004
Re: Haarsem aan Zee H0
« Reactie #4 Gepost op: 17 januari 2019, 13:49:58 »
Het is tijd voor een update!






Om te beginnen, heb ik heerlijk gereden en bijna alle rails ligt. Alleen het station ontbreekt nog  (y). Ik kon ook mooi mijn nieuwe materieel testen. Ik zal eerdaags wat mooie foto's maken van het spul.

Alleen mij favoriete trein, de Re460 met de Ew IV rijtuigen zijn niet helemaal uit die tijd.... of plaats  ::) Maar met z'n stuurstand kan hij wel pendelen. En zoveel pendelende passagierstreinen heb ik nog niet  :-\

Er zijn een paar grote veranderingen in mijn baantje gekomen.
- de poten zijn verlaagd naar een meer 'normale' en werkbare hoogte
- het schaduwstation heeft toch niet een rangeer gedeelte gekregen  :-\
  * Bij het aanleggen kwam het sporenplan gewoon niet uit. 
  * Ik had ook geen engelse wissel meer over.
  * Ik dacht ook niet dat het mooi zou worden omdat rangeerterrein dan zich in een U vormige bak zou bevinden
  * bijkomend voordeel is dat er nu geen wisselaandrijvingen meer in hoeven
  * ik heb veel meer ruimte voor scenery boven het schaduw station.
- Ik heb stiekumpjes toch wel een trein regel programmaatje geschreven...


Ik heb ook alle draadjes aan de rails aangesloten en vele contact rails gemaakt. Ik heb een zooi ontkoppelrails gekocht, 6 stuks voor 14€ P/S  (y)

Ik heb uit China ook de paar nodige elektronica dingetjes gekocht. Er komen drie arduino Nano's onder de baan met een beetje randapparatuur die later met mijn programma kunnen communiceren.

Een grote klus die ik nog wil doen, is het inbouwen van extra contact rails halverwege het schaduw station. Het is namelijk zo dat vanwege de lengte van meeste treintjes (4 korte wagonnetjes) er toch wel twee achter elkaar passen. Pas als het schaduw station af is, wil ik de stations plaat gaan maken.

Een andere grote klus is het inbouwen van alle wisselmotoren. Bij alle wissels muv die van het industrie spoor heb ik alle mechanismes weggehaald en ik heb er grote gaten onder geboord. Hieronder komen de micro servomotors die later de wissels zullen aandrijven. De motoren kostten me maar 1,70€ p/s en de driver nog geen 4,- €. En ik ben bang dat de M* aandrijvingen er uit fikken, desalniettemin komen deze wel in het industrie spoor te liggen omwille kosten besparing.

De wissels van het schaduw station krijgen geen aandrijvingen. Ik ben erg tevreden over de huidige werking. Ik moet er alleen op letten dat ik ten alle tijden 5 van de 6 sporen bezet houd.

Ik hoop dat mijn elektronica spoedig binnenkomt zodat ik daar ook mee aan de slag ben. Ik ben al wel druk bezig met het programma van mijn arduino's. Ik ben naar een werking toe aan het programmeren dat ik elke arduino van hetzelfde programma kan voorzien die ik dan via een terminal kan configureren. Ik hoef 1 malig te vertellen, welke apparaten aan welke pinnen zitten opdat de arduino's dat kunnen opslaan in het EEPROM geheugen. Het trein programma houdt bij in een tekst bestand hoe alle wissels stonden en waar alle treinen staan (mits dit laatste ook lukt) de bezetmelders worden namelijk ook voor wagons gebruikt.

Ik ben zelf erg tevreden met mijn voortgang. En ik hoop echt de wisselaandrijvingen en mijn arduino netwerk een groot succes worden.

Als ik later ooit ga verhuizen, wil ik misschien toch eens de overstap naar 2 rail maken. Maar ik ben nog steeds in dubio. Die C-rails vind ik zelf echt afgrijselijk en ik vind K-rails ook niet perfect. Die flex rails zijn vooral erg stug vanwege de middelgeleider. Maar de C-rails die ik heb zijn wel erg makkelijk om mee te werken, massa detectie (dus wagon detectie, geen steekflenzen tussen de rails, makkelijk isoleerbaar en makkelijk draadjes solderen aan de onderkant van de rails vind ik wel erge grote voordelen ten opzichte van 2 rail. Het grootste probleem wat ik heb met C-rails is dat de bielzen zodanig laag in het ballastbed liggen dat het erg moelijk is om hier goed strooisel tussen te krijgen, het is mij dan ook niet goed gelukt. Dus als iemand voor dit probleem nog tips heeft, ik hoor ze graag!  En de standaard afstand tussen niet-slanke wissels en R1 en R2 van 7.75cm vind ik te groot. Aan C-rails kan ik goedkoop komen, maar K-rails blijft toch erg duur. En dat is eigenlijk de voornaamste reden om naar 2-rail over te stappen. Meer keuze aan rails en goedkopere rails. Voor een nieuwe baan wil ik in ieder geval slanke wissels gebruiken en die heb ik nog niet. Maar goed dit is een probleem voor in de toekoms.

Ik hoop dat ik spoedig weer een update kan doen. Ik wil in ieder geval een paar foto's maken van mijn materieel :angel:

Bas


Train-Science.com
Train-Science github
It ain't rocket science ;-)

bask185

  • Offline Offline
  • Berichten: 4004
Update: Haarsem aan Zee H0
« Reactie #5 Gepost op: 17 februari 2019, 15:57:45 »
Ik heb nu eindelijk alle rails liggen en aangesloten  (y). Het baanplaan onderging nog een kleine wijziging in de vorm van een extra station aan de 'oost' zijde.


Het hoofdspoor loopt nu niet dwars door de chemische industrie heen maar naar het oostelijke kopstation. De R1 keerlus is nu vervangen door R2 bogen. Ik denk niet dat ik ooit nog in de toekomst R1 bogen in het zicht laat.

Ik heb ook voor het eerst K flex rails in bogen gelegd verschrikkelijke klus is dat.
Deze rails ligt op 4mm kurkstroken en is, op advies, niet vast gezet met railschroeven maar met een lijmpistool.

station west



Het krappe schaduwstation.


De zeer professorische maar goed werkende verbinding met de naburige module.



Station Haarsem Oost

Beide stations zijn ook voorzien van ontkoppelrails zodat getrokken treinen kunnen kop maken.

Ik moet qua aansluitingen alleen nog de contactstukjes maken in de K-rails maar het lukt me niet om hier draden aan te solderen, wel aan de flensjes tussen de rails. Hiervoor ga ik dun ijzerdraad gebruiken. Dat is een truukje die op de modelspoorclub heb geleerd  :angel:

De bedrading en servomotor besturing van Haarsem West moet helaas 'bovengronds' geschieden omdat ik er onder geen ruimte voor heb. Dus dat moet ik met de scenery verwerken.

Ik ben tot nu toe erg tevreden over mijn baantje. Vooral de pendelbaan layout vind zonder R1 keerlusjes vind ik erg mooi geworden. Ik wil de baan ook nog gaan voorzien van niet-functionele bovenleidingen. Ik heb ooit (~10j geleden) een partij (helaas Duitse) bovenleiding portalen en draden van M* gekocht en ik heb er niet erg veel mee gedaan, slechts 2 ovaaltjes bedraad. Ik denk dat ik (hopelijk) nu ook voldoende heb om in ieder geval de hoofdlijn volledig te elektrificeren, want het is best prijzig spul allemaal.

Gr,

Bas.
Train-Science.com
Train-Science github
It ain't rocket science ;-)

bask185

  • Offline Offline
  • Berichten: 4004
Re: Haarsem aan Zee H0
« Reactie #6 Gepost op: 11 oktober 2019, 14:33:36 »
Het is weer een lange tijd geleden dat ik voor het laatst een update gedaan heb. Ik was erg druk bezig met de software voor het schakelpaneel.

Omdat ik in mijn leven teveel draadjes gelegd, gezien en gesoldeerd heb, probeer ik nu om het draadgebruik zo veel mogelijk te beperken. Daarom maak ik graag gebruik van IO extenders voor de arduino's. En ik ben ook fan van kopertape geworden.

Dit is de achterkant van mijn schakelpaneel. Ik gebruik de kopertape voor de massa. En elk object heeft nu slechts 1 draadje naar het middenprintje toe. Op dit printje zitten 2 Mcp23017 I2C IO extenders met elk 16 general purpose IO. Zo kan ik dus 32 ledjes/knopjes aansluiten en het printje heeft slechts 4 verbindingen met de arduino. Er komt een derde IO extender om alle bezetmelders (massa detectie) op aan te sluiten.

De elektronica topologie ziet er als volgt uit:

Tussen de arduino's komt een 4 polige RS485 bus met de massa, 2 data lijnen en de baan spanning. Zo heb ik ook meteen de ringleiding liggen. Per arduino wordt de baanspanning gelijkgericht en omlaag getransformeerd naar 5v. Elke arduino kan maximaal 8 mcp23017 extenders en 8x 16 kanaal servo drivers aansturen dmv de I2C de bus. Met de mcp23017 kunnen, leds, terugmeld draadjes, druk knopjes en magneetartikelen (met een uln2803 er tussen) aangestuurd worden. Op de bus komt ook de DCC centrale (ook een arduino) te liggen. Deze DCC centrale voedt ook de hele elektronica keten.

Om de DCC centrale en alle treintjes aan te sturen, gebruik ik een zelf gemaakte handregelaar of mijn telefoon met een bluetooth verbinding.

Ik heb ook al plannen liggen om printjes te maken voor de hele boel die je in elkaar kan klikken. En die met een mooi kabelsysteem werkt. Je kan met deze topologie bijna overal onder je baan een IO apparaat leggen. Ik wil ook voor de mcp23017 printjes ook insteekprintjes maken met kroonsteentjes. Zodat je makkelijk je draadjes kan vastmaken. En zo komt er ook een tussen printje met een ULN2803 die je tussen de mcp en de kroonstenen kan prikken zodat je ook magneet artikelen kan schakelen.


De reden waarom het zo ontzettend lang heeft geduurd met de software is omdat ik persé ingewikkeld wilde doen. De software moest namelijk modulair zijn. Elke arduino in het systeem heeft exact hetzelfde programma, ze zijn nu nog via de terminal configureerbaar. Ik wil dit echter via het computer programma kunnen doen. Elke arduino krijgt dan 1 input, en als ik die input maak dan weet de arduino dat hij in de configureerbare modus staat. En dan kan ik nieuwe IO inleren. De arduino's hebben zelf namelijk geen ID en zijn zodoende niet apart benaderbaar. Daarom moet ik elke arduino met een input vertellen dat hij ingesteld wordt. Om dit via het programma te doen, geeft wat meer grafische mogelijkheden. Ik vind het erg vervelend om via de arduino's seriele monitor de teksten te regelen. De monitor kan namelijk geen dingen zoals backspace aan. En ik wil dat je gewoon een cursor heb met een menuutje zodat je heel natuurlijk je rail items kan inleren.


Elk object op het schakelpaneel komt overeen met een object in het programma. Als ik op een knopje (geheugen cel voor wisselstraat) druk, gaat dat ledje branden, en de informatie wordt naar de computer gestuurd. De computer maakt dan de corresponderende geheugencel groen en gaat vervolgens instructies uitdelen voor alle wissels die gelinkt zijn aan deze wisselstraat.

De volgende stap is nu om de de servo drivers aan te praat krijgen en om de servo's onder de baan te bouwen. Als eerste wil ik het rangeergedeelte doen zodat ik ff lekker wagonnetjes kan rangeren  :angel:


Train-Science.com
Train-Science github
It ain't rocket science ;-)

meino

  • Online Online
  • Berichten: 2087
Re: Haarsem aan Zee H0
« Reactie #7 Gepost op: 11 oktober 2019, 14:55:44 »
Ziet er goed uit.
Aangezien ik met een zelfde soort exercitie bezig ben, alleen maak ik gebruik van de CanBus, heb ik een vraagje, welke Arduino gebruikt u. Ik heb zelf wat issues met de UNO bij het gebruik van objecten. N.l. het feit dat het dynamisch geheugen slechts 2K groot is. Daardoor ontstaan er snel conflicten tussen de globale datagebruik en het lokale datagebruik waarbij lokale data globale data overschrijft, resulterend in vreemd en onverklaarbaar gedrag in de schets.

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

Kranenberg
De CanBus komt naar Kranenberg

ikbenerevenniet

  • Offline Offline
  • Berichten: 379
Re: Haarsem aan Zee H0
« Reactie #8 Gepost op: 11 oktober 2019, 17:39:37 »
De arduino's hebben zelf namelijk geen ID

Dat kun je doen door 3 inputpins te gebruiken, die die je verbindt met +5 resp. GND: elke Arduino krijgt zo z'n eigen code; zo kun je met 3 pins 8 A.'s een ID geven. Kost je helaas wel 3 pins...
Een andere manier is om elke A. op een vast adres in EEPROM een code te schrijven.

Zie ook arduino.cc.

bask185

  • Offline Offline
  • Berichten: 4004
Re: Haarsem aan Zee H0
« Reactie #9 Gepost op: 11 oktober 2019, 21:59:22 »
Ziet er goed uit.
Aangezien ik met een zelfde soort exercitie bezig ben, alleen maak ik gebruik van de CanBus, heb ik een vraagje, welke Arduino gebruikt u. Ik heb zelf wat issues met de UNO bij het gebruik van objecten. N.l. het feit dat het dynamisch geheugen slechts 2K groot is. Daardoor ontstaan er snel conflicten tussen de globale datagebruik en het lokale datagebruik waarbij lokale data globale data overschrijft, resulterend in vreemd en onverklaarbaar gedrag in de schets.

Groet Meino

Beste Meino,

Ik gebruik een UNO. En ik maak gebruik van de EEPROM. Daar leg ik alle objecten in vast. Op het moment heb ik alleen wissels, bezetmelders en geheugencellen (voor de wisselstraten). Daarbij heb ik ruimte gereserveerd voor alle mogelijke objecten. Elke wissel heeft 5 bytes voor de ID, IO, 2 servo standen en de state. De andere objecten hebben slechts 2 bytes nodig voor de ID en de IO.  Aanvankelijk laadde ik de hele EEPROM naar variabelen toe. Ik had 3 verschillende arrays van structs voor de objecten. De arrays heb ik uitgefaseerd door in alle loopjes telkens de bytes van de EEPROM uit te lezen en te gebruiken.

Dat ziet er nu ongeveer zo uit:
byte element;
for(element = 0; element < elementAmmount; element++) {
unsigned int eeAddress = element * detectorSize + detectorAddress;  // memoryAddress to detectorAddress is reserved for memories (128 bytes)
EEPROM.get(eeAddress, detector);
if(detector.IO == IO) { // if IO matches IO of a detector item
sendDetectorState(detector.ID, state); } }

Ik zit echter ook op 74% van de 2kb die ik heb en ik weet nog niet precies waardoor die geconsumeerd worden, maar het zijn in ieder geval niet de rail objecten.  ;)
Ik gebruik natuurlijk de Serial, de Wire en de EEPROM libraries van arduino, dus daar wordt ook al een deel geheugen naar toe gedelageerd.

Als ik ooit meer geheugen nodig heb, ga ik er grotere I2C eeproms opzetten. En dan kan ik er ook nog 4 aanhangen en dan heb ik 1Mb aan geheugen  ::)

Dat kun je doen door 3 inputpins te gebruiken, die die je verbindt met +5 resp. GND: elke Arduino krijgt zo z'n eigen code; zo kun je met 3 pins 8 A.'s een ID geven. Kost je helaas wel 3 pins...
Een andere manier is om elke A. op een vast adres in EEPROM een code te schrijven.

Zie ook arduino.cc.

Toen ik hiermee begon, wilde ik ook aanvankelijk een ID aan alle arduino's toekennen. Daarbij kwam ik al gauw in de knoop. Het enige waar ik namelijk geïnteresseerd in ben zijn de ID's en IO's van de objecten en niet zozeer welk object op welke arduino zit. Als ik een wissel met een bepaald ID wil aansturen, dan stuur ik naar alle arduino's een wissel instructie, de ID en de stand die hij moet aannemen. Anders zou ik ook nog moeten bijhouden in het computer programma op welke arduino welke wissel zit. Dat kan wel, maar nu hoeft dat niet. En als de arduino's informatie doorsturen op de bus, dan is het niet nodig

Omdat ik IO extenders gebruik, heb ik nog alle IO van de arduino's ter beschikking voor eventueel andere zaken zoals fading ledjes oid. Dus ik kan er makkelijk 1tje gebruiken voor een soort inleer-mode
Train-Science.com
Train-Science github
It ain't rocket science ;-)

ikbenerevenniet

  • Offline Offline
  • Berichten: 379
Re: Haarsem aan Zee H0
« Reactie #10 Gepost op: 11 oktober 2019, 22:17:54 »
Aha, ik begrijp nu dat het een bewuste keuze was.

ikbenerevenniet

  • Offline Offline
  • Berichten: 379
Re: Haarsem aan Zee H0
« Reactie #11 Gepost op: 11 oktober 2019, 22:24:06 »
for(element = 0; element < elementAmmount; element++) {
 unsigned int eeAddress = element * detectorSize + detectorAddress;

Waarom staat "unsigned int eeAddress" in de for-loop? Dan wordt de rest van de regel toch ook maar eenmaal uitgevoerd??
« Laatst bewerkt op: 11 oktober 2019, 22:26:55 door Erik Baas »

meino

  • Online Online
  • Berichten: 2087
Re: Haarsem aan Zee H0
« Reactie #12 Gepost op: 12 oktober 2019, 00:19:53 »
Wat is daar mis mee? unsigned int eeAddress zit binnen de scope van de for loop, dat betekend dat hij alleen binnen de for loop bekent is. Standaard C/C++

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

Kranenberg
De CanBus komt naar Kranenberg

ikbenerevenniet

  • Offline Offline
  • Berichten: 379
Re: Haarsem aan Zee H0
« Reactie #13 Gepost op: 12 oktober 2019, 00:33:12 »
Dat was mij niet bekend, weer wat geleerd. Je spreekt beter C dan ik, met Nederlands is het kennelijk net andersom...  ;-p

meino

  • Online Online
  • Berichten: 2087
Re: Haarsem aan Zee H0
« Reactie #14 Gepost op: 12 oktober 2019, 00:34:46 »
Ik zit echter ook op 74% van de 2kb die ik heb en ik weet nog niet precies waardoor die geconsumeerd worden, maar het zijn in ieder geval niet de rail objecten.  ;)

Dan word ik zenuwachtig. Global data wordt door alle literals, statics en data die buiten de scope van methods en functies gedefinieerd is gebruikt. Ik probeer dit beneden de 45% te houden. Maar dat hangt ook van je programmeer stijl af. Als je al je variabelen buiten de scope van je methods hebt gedefinieerd (dus global) en weinig binnen de scopevan een method hebt staan dan kan het werken. Misschien ter overvloede, methods komt uit de Object Oriented wereld en zijn de functie aanroepen van een class.

een voorbeeld
static int counter;

void functie(int par1, int par2)
{
   for (int tel=0; tel<10 tel++)
  {
     ..
  }
}

dan staat counter op het global gedeelte van de heap, terwijl tel op het local gedeelte terecht komt.
Als je met echte objecten (classes) werkt wordt er nog meer van het local gedeelte van de heap gebruik gemaakt.

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

Kranenberg
De CanBus komt naar Kranenberg