Doel:€250.00
Donaties:€88.00

Per saldo:€-162.00

Steun ons nu!

Laatst bijgewerkt
op 03-06-2025

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Raarrrr. Mobile Station 2 doet raarrrr… door Bahn-AG
Vandaag om 22:14:23
ESU Loksound V4 Plux22 door W. Dagevos
Vandaag om 21:28:17
US diorama in H0 door Wim Vink
Vandaag om 21:25:50
Nieuwe ruimte voor baan na ca. 30 jaar door ruudns
Vandaag om 21:21:28
Toon hier je nieuwe (model-) spooraanwinst(en)... door Dave.......
Vandaag om 21:19:38
Mooi weer om buiten te spelen door sncf231e
Vandaag om 21:18:52
Mijn eerste H0-modeltreinbaan in aanbouw door grossraumwagen
Vandaag om 20:43:42
Ombouw Hornby LMS Class 2P 4-4-0 naar NS 2100 door puntenglijder
Vandaag om 20:41:41
Plan E - 2023 oplage door spoorzeven
Vandaag om 20:34:36
Magneet koppelingen voor Bemo door henk
Vandaag om 19:47:45
Ervaringen met bezorgdiensten (PostNL, DHL, etc) door NL-modelspoor
Vandaag om 19:45:11
EifelBurgenBahn door Reinout van Rees
Vandaag om 19:43:33
M.s.v. De Percee bouwt aan nieuwe clubbaan door hmmglaser
Vandaag om 18:54:45
Postwagen Hbbkkss Schaal-0 door FritsT
Vandaag om 18:38:07
Ombouw/Pimpen Bolle neuzen door Bor de Wolf
Vandaag om 17:32:25
De overeenkomst tussen een Ovaalramer en een Motorpost. door Frits C
Vandaag om 17:25:33
De Hasseberg (spoor nul op 9mm) door spoorijzer
Vandaag om 17:20:42
"Southern Pacific's Coos Bay Branchline in H0", een nieuwe thuisbaan. door Ronald Halma
Vandaag om 17:13:47
De bouw van een modulebaan met Nederlands landschap. door Anton Maris
Vandaag om 16:48:40
Minibaan Visserskaai H0 door Scratchbuilt
Vandaag om 16:32:11
Hulp bij update Mobile Station 2 door Prutsert
Vandaag om 14:34:22
Het Boemeltje door Sikko
Vandaag om 14:16:25
Polderbaan(tje) 0,3m2 door Reeks77
Vandaag om 13:01:23
Onlangs gespot - gefotografeerd, de foto's door Jeroen95
Vandaag om 11:48:48
19 Toen door R1954
Vandaag om 11:35:11
Lichtprintjes NS2400 door hmmglaser
Vandaag om 10:58:08
Roco 290 digtaliseren door Henk Veenstra
Vandaag om 10:31:27
Ervaringen met veilingsites enzo (Marktplaats, Ebay, Catawiki, etc). door René 4312
Vandaag om 09:52:09
De bouw van mijn modelbaan in Thailand door 741230
Vandaag om 09:05:10
Länderbahn en Reichsbahn locomotieven. door puntenglijder
13 June 2025, 23:53:36
  

Auteur Topic: Kranenberg, een exercitie in code 70  (gelezen 303844 keer)

Klaas Zondervan

  • Online Online
  • Berichten: 26556
    • Pagina van klaas
Re: Kranenberg, een exercitie in code 70
« Reactie #1320 Gepost op: 22 January 2024, 16:07:40 »
Maar S88 is notoir slecht met het omgaan met lange kabels.
s88 is dan ook geen bus, maar een ringteller. Het is een klassieke schakeling met CMOS die voor terugmeldingen wordt gebruikt. Maar oorspronkelijk was het de bedoeling dat alle IC's bij elkaar op één print zouden zitten. Bij s88 worden signalen over langere afstanden van het ene naar het andere IC gestuurd zonder enige buffering. Voor de uitgangen kan dat nog wel, maar voor de ingangen is het funest.
De voedingsspanning van 5V is ook te laag gekozen, te storingsgevoelig. Ze hadden beter meteen kunnen kiezen voor 12V.
Projecten:
Dubbelom
Halte Assel
Geluk, dat is vooraan staan als de overweg gesloten is.

bask185

  • Offline Offline
  • Berichten: 4910
Re: Kranenberg, een exercitie in code 70
« Reactie #1321 Gepost op: 22 January 2024, 16:29:44 »
Dat loconet protoctol heeft idd een paar aparte dingen ja ;D. Het werkt goed hoor, daar niet van. Ik gebruik en programmeer het zelf voor menig ding waaronder een centrale. Alle data is 7 bits. Er zit ook een pakketje in met 8 data bytes en dan heb je een extra byte waarin alle MSBs staan. De hogere loc functies zitten om die reden ook raar. 20 en 28 zitten weer een apart pakketje en dat soort dingen. En dan heb je nog het hele slot systeem om met throttles om te gaan. Dat was even wennen, maar er zitten ook weer voordelen in zoals adressen dispatchen  (y). En de manier hoe de zgn opcode bytes in elkaar steken vind ik wel goed bedacht. De bekabeling icm stroomsturing zit m.i. ook goed in elkaar.

Als ik je verhaal zo lees, heb je een goede, als niet de best mogelijke, keuze gemaakt. S88 is idd no bueno voor lange afstandjes. En als er dan niks anders beschikbaars is, dan moet je wat.

Maar voor veel dingen geldt meestal: If it works, it ain't stupid  ;)

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

meino

  • Offline Offline
  • Berichten: 2312
Re: Kranenberg, een exercitie in code 70
« Reactie #1322 Gepost op: 24 January 2024, 15:47:20 »
Als ik je verhaal zo lees, heb je een goede, als niet de best mogelijke, keuze gemaakt. S88 is idd no bueno voor lange afstandjes. En als er dan niks anders beschikbaars is, dan moet je wat.

Heb jij een idee voor een betere oplossing? Daar ben ik wel benieuwd naar n.l. Het heeft best veel discussies en het afwegen van voor en tegens gekost voor ik deze weg op gegaan ben.

Groet Meino

Dave.......

  • Offline Offline
  • Berichten: 4332
Re: Kranenberg, een exercitie in code 70
« Reactie #1323 Gepost op: 24 January 2024, 16:14:26 »
Ikzelf heb op mijn baan ook S88, met de ethernetkabel.
Geen probleem bij mij, ik heb er 8 nu en er zit best wat meters tussen.
Met hartelijke groet.
Dave

Rheinburg tijdperk V/VI

meino

  • Offline Offline
  • Berichten: 2312
Re: Kranenberg, een exercitie in code 70
« Reactie #1324 Gepost op: 24 January 2024, 16:52:12 »
Dave

dat was eigenlijk ook wel mijn ervaring, ik had ook een aantal Arduino's met cat5 kabel verbonden voor de S88. Daar ook geen problemen mee. Maar dat gold niet voor iedereen, er kwamen, ook op dit forum, genoeg problemen langs. Aangezien ik toch bezig was om een eigen bus te ontwikkelen en aan te leggen, gelijk de S88 geconcentreert in een Arduino (die dus nu een shiftregister met 6x16 bits heeft) welke met een cat5 kabel van 50cm met de centrale verbonden is. Dat werkt tot nu toe perfects.

Groet Meino

bask185

  • Offline Offline
  • Berichten: 4910
Re: Kranenberg, een exercitie in code 70
« Reactie #1325 Gepost op: 24 January 2024, 17:11:03 »
S88n heeft me vijf clubavonden gekost om tot de conclusie t komen dat het niet ging werken. Doe ik nooit meer  >:(

Citaat
Heb jij een idee voor een betere oplossing?
Toen waarschijnlijk niet. Ik zou dan net als jij ook zelf een bus in elkaar geflanst hebben. Ik was aanvankelijk ook bezig met een RS485 bus maar het kostte me veel te veel tijd en frustraties en toen was ik er mee gestopt.

Wellicht dat ik had gekeken naar een andere centrale zoals lenz ofzo maar dan zou je ze ook alles moeten inkopen en dan is het goodbye €€€. Dus ik snap de afwegingen. Hoeveel mag het kosten? Hoeveel tijd wil je aan kwijt zijn? Zelf een loconet of bidib library kloppen doe je immers niet ff in een avondje na werk. :-X

Wat je misschien interessant vind, voor zowel thuis als voor werk ben ik bezig met een nieuwe bus. Het is een cyclische bus waarbij elk apparaat elke byte bijna direct doorstuurt naar het volgende apparaat via RS485. En het laatste apparaat stuurt het weer door naar de centrale. Zo heb je weinig overhead en je kan outputs en inputs er op laten lopen. Elke transmissie bevat een bericht voor elke slave. Een slave kan die uitlezen voor outputs of hij zijn inputs op de bus zetten. Ik kan ook de bus zo makkelijk scannen op apparaten en er zitten checksums in verwerkt. Ik heb er tzt al grootse plannen voor  ;D en het is wel leuk om te bedenken natuurlijk.

Voor grote treinbaan zou ik vandaag de dag loconet gebruiken omdat je tegenwoordig wel een open source library kan vinden op internet. Zelf de printjes laten bestucken en dan zit je op ~€10,- per stuk ofzo. Ik ben in contact met digitrax, maar volgens mij mocht ik van ze mijn terugmelder project ook als open-source versie releasen. Dat moet ik even navragen. Maar dan hebben we straks alles wat we nodig hebben goedkoop beschikbaar  (y)

Mvg,

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

meino

  • Offline Offline
  • Berichten: 2312
Re: Kranenberg, een exercitie in code 70
« Reactie #1326 Gepost op: 24 January 2024, 21:09:55 »
Toen waarschijnlijk niet. Ik zou dan net als jij ook zelf een bus in elkaar geflanst hebben.
Ik heb niks in elkaar geflanst. Ik gebruik standaard MCP2515 kaartjes, die de volledige transport laag implementeren, die ook verder ook zorg dragen voor Collision detection (CSMA/CD). Dus je bied simpelweg een bericht aan, en de bibliotheek zorg via SPI er voor dat het bericht door de MCP2515 (2,70 - 6,90euro) op de bus gezet wordt. Verder in de Canbus ken je geen connecties tussen zender en ontvanger. Dus ook geen acks en ander gezeur. Voor de ontvangst van berichten poll je het kaartje. Een kind kan de was doen zo simpel.

Wellicht dat ik had gekeken naar een andere centrale zoals lenz ofzo maar dan zou je ze ook alles moeten inkopen en dan is het goodbye €€€. Dus ik snap de afwegingen. Hoeveel mag het kosten? Hoeveel tijd wil je aan kwijt zijn? Zelf een loconet of bidib library kloppen doe je immers niet ff in een avondje na werk. :-X
Dat is zeker een belangrijk punt geweest.

Wat je misschien interessant vind, voor zowel thuis als voor werk ben ik bezig met een nieuwe bus. Het is een cyclische bus waarbij elk apparaat elke byte bijna direct doorstuurt naar het volgende apparaat via RS485. En het laatste apparaat stuurt het weer door naar de centrale. Zo heb je weinig overhead en je kan outputs en inputs er op laten lopen. Elke transmissie bevat een bericht voor elke slave. Een slave kan die uitlezen voor outputs of hij zijn inputs op de bus zetten. Ik kan ook de bus zo makkelijk scannen op apparaten en er zitten checksums in verwerkt. Ik heb er tzt al grootse plannen voor  ;D en het is wel leuk om te bedenken natuurlijk.
Als je hobby is om ingewikkelde zaken te maken is het zeker een leuke exercitie. Maar IMHO het zal zeker geen vervanging voor de Canbus, Cbus, Loconet of het protocol van Marklin kunnen worden. Als je dit ook wilt doen in een zakelijke omgeving, dan moet ik het sterk afraden, je komt in een moeras van problemen terecht. Waarom? RS485 is net als RS232 een point to point verbinding (geen bus). In je voorgestelde concept wordt de bus gevormd door alle nodes die constant de data doorgeven. Het doet me sterk denken aan de IBM Tokenring waarmee IBM probeerde in de 90er jaren een alternatief voor Ethernet te verkopen. Technisch werkte het goed, maar de performance was gewoon bagger. Verder een ander probleem waar jij ook mee te maken krijgt is, dat als een node in de ring om wat voor reden dan ook, stopt, dat dan de hele ring dood is. IBM had dus speciale hardware in de aansluiting van een node in de ring om bij uitval van de node, de aansluiting als het ware kort te sluiten. Ik spreek uit ervaring, wat een ellende om een Sun Sparc systeem werkend te krijgen in deze omgeving, gelukkig hadden we ieder nacht een paar uur om wat bestandjes door de ring naar een mainframe te krijgen.

Voor grote treinbaan zou ik vandaag de dag loconet gebruiken omdat je tegenwoordig wel een open source library kan vinden op internet. Zelf de printjes laten bestucken en dan zit je op ~€10,- per stuk ofzo. Ik ben in contact met digitrax, maar volgens mij mocht ik van ze mijn terugmelder project ook als open-source versie releasen. Dat moet ik even navragen. Maar dan hebben we straks alles wat we nodig hebben goedkoop beschikbaar  (y)
Daar ben ik het volledig met je eens. Ik heb ook naar Loconet gekeken, maar ik kon de kosten voor mijn baantje niet verantwoorden. Verder zijn er ook nog de Cbus kits van merg.org.uk. Maar ook daar speelde het kosten aspect een rol.

Groet Meino

meino

  • Offline Offline
  • Berichten: 2312
Re: Kranenberg, een exercitie in code 70
« Reactie #1327 Gepost op: 26 January 2024, 11:32:42 »
Soms zit het mee, soms zit het tegen.
Eindelijk alles aangesloten, wissels servo's en bezetmelders. Servos afgeregeld en aanstuurbaar via DCC, Koploper geconfigureerd, blijkt een Arduino de geest gegeven te hebben. Als ik de schets oplaad dan werkt hij even om binnen 30 minuten te stoppen. Ik had al het gevoel dat er een probleem was omdat het uploaden van de schets ook al moeizaam verliep. Dus de staat van 5 bezetmelders worden niet doorgegeven. Dat levert dus problemen op bij het automatisch rijden. Gelijk een nieuwe Arduino besteld in Duitsland (dan hoef ik niet een paar maanden te wachten uit China, kost 5-6 euros meer, maar dat heb ik er wel voor over). Jammer is alleen dat juist deze Arduino op een lastig te bereiken plek zit, Murphys law?
Nou ja, we prutsen volgende week gewoon weer verder.

Groet Meino

Dave.......

  • Offline Offline
  • Berichten: 4332
Re: Kranenberg, een exercitie in code 70
« Reactie #1328 Gepost op: 26 January 2024, 17:42:28 »
Ja, nee het is nooit op een plek waar je makkelijk bij kunt natuurlijk  :-X
Met hartelijke groet.
Dave

Rheinburg tijdperk V/VI

Klaas Zondervan

  • Online Online
  • Berichten: 26556
    • Pagina van klaas
Re: Kranenberg, een exercitie in code 70
« Reactie #1329 Gepost op: 26 January 2024, 19:33:40 »
Dat is de reden waarom ik alles zo veel mogelijk naar de voorrand van de baan haal. Dat gedoe onder de baan en op lastig bereikbare plekjes heb ik wel een beetje gehad.
Projecten:
Dubbelom
Halte Assel
Geluk, dat is vooraan staan als de overweg gesloten is.

meino

  • Offline Offline
  • Berichten: 2312
Re: Kranenberg, een exercitie in code 70
« Reactie #1330 Gepost op: 26 January 2024, 21:19:27 »
Klaas, ik kan je alleen maar heel erg gelijk geven. Als ik bij het begin had geweten wat ik nu weet, dan had ik ook veel zaken anders aangepakt. Maar goed dat is water onder de brug zoals de Engelsen zeggen en zal ik voorlopig even door moeten gaan met hoe ik het nu heb. Ik probeer wel door alle verbouwingen zaken aan te pakken en makkelijker bereikbaar te krijgen, maar dat is niet altijd mogelijk, helaas.

Overigens liep ik vandaag nog tegen een naar probleempje aan. De nieuwe wissels worden door servo's aangestuurd. Dat gebeurt met een Arduino. Ik dacht dat ik alles al uitgetest had, maar vandaag bleken er 2 wissels (dus servo's) het niet te doen. Vreemd want die had ik wel getest. Alles nagelopen, ze hadden spanning. Ik stond op het punt om de bedrading weer los te maken, maar eerst eens de pinnen van een werkende en een niet werkende servo op de Arduino om te wisselen. OK, het probleem verplaatste zich, dus ligt het aan de pin? Vreemd zou niet moeten. Toch eens op het internet zoeken of er pinnen zijn die je niet kunt gebruiken op een UNO voor servo's, ja pin 9 en10. maar het ging bij mij om pin 7 en 8, dus dat zou het niet moeten zijn. Toch nog even verder kijken, een UNO kon dus maximaal 12 servo's aansturen. Het duurde even voor het kwartje viel, ik had de code gereorganiseerd en in de betreffende schets werden nu 14 servo objecten aangemaakt, die werden weliswaar niet alle 14 actief gemaakt, maar ze waren er wel, en de twee servo's die het niet deden waren de laatste 2 uit de aray. Kortom weer wat geleerd, zorg dat je op een UNO nooit meer dan 12 servo objecten aanmaakt.

Groet Meino
« Laatst bewerkt op: 26 January 2024, 21:30:57 door meino »

bask185

  • Offline Offline
  • Berichten: 4910
Re: Kranenberg, een exercitie in code 70
« Reactie #1331 Gepost op: 26 January 2024, 22:35:30 »
Citaat
Ik heb niks in elkaar geflanst.
Wat ik bedoelde was dat je wel "eventjes" iets voor elkaar heb gekregen. Het was een compliment  ;)

Citaat
RS485 is net als RS232 een point to point verbinding (geen bus).
Dit klopt niet. 485 is wel een bus. Xnet en Rbus draaien er ook op. Anyways mijn bus wordt de makkelijkheid zelve  :P. Het zijn juist die ellendige PLC dingen met ellendige software wat pas ingewikkeld is. Hebben mensen C uitgevonden en dan gaan we Structured Text, Logic ladder en Function Blok Diagrammen gebruiken  ::). Ik vind het ook geen ramp als de bus hangt door een defecte apparaat, want onze machines kunnen sws niet hun werk doen als er ook maar IO defect is. Met een bedrijven netwerk zou dat wel vervelend zijn.

Citaat
zorg dat je op een UNO nooit meer dan 12 servo objecten aanmaakt
Dit klopt idd wel. Je kan echter wel meer dan 12 servo's aansturen alleen niet tegelijkertijd. Als je servo's na het omzetten van sein of wissel afschakel met detach() ben je opzich vrij om dat zelfde servo object te attach()'en aan een andere pin. Zolang je niet meer dan 12 wissels/seinen exact tegelijk wil bedienen, kan je op die wijze dynamisch pinnen aan servo objecten koppelen en ontkoppelen. Ik denk dat dit 1 a 2 uurtjes coderen is.

Volgens mij zit er in de servo constructor een static variabele die bijhoudt hoeveel servo objecten aangemaakt zijn. Als het limiet overschreden wordt.... je hebt gezien wat er dan gebeurt  ::)

Wellicht nog een leuk feitje over de library. Ik weet ook dat de pulsen achter elkaar plaatsvinden. Dat betekent ook als je gelijktijdig 12 servo's naar 180 graden stuurt dat de frequentie gaat afnemen omdat 12 x 2ms (180 graden) groter is dan 1 50Hz periode (20ms). Zodoende variëren de frequenties ook een heel klein beetje wanneer de puls lengtes aangepast worden. Het effect van dit allemaal is alleen niet merkbaar. It doesn't hurt

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

meino

  • Offline Offline
  • Berichten: 2312
Re: Kranenberg, een exercitie in code 70
« Reactie #1332 Gepost op: 26 January 2024, 23:25:22 »
Dag Bas

Ok weer wat geleerd over RS485. Maar wat hebben Structured Text, Logic ladder en Function Blok Diagrammen met een bus en protocollen te maken. Ik heb ruim 40jaar in de IT gezeten, maar daar nog nooit mee te maken gehad, wel met dingen als flowcharts (lang geleden) en UML (IMHO ook zo'n doodgeboren concept), leuk om proposals en documentatie mee op te leuken. maar niet echt een verbetering om systemen te ontwerpen.
Alhoewel, het concept van scenarios die de interactie tussen actors beschrijven wel handig zijn. Omdat die een uitstekende basis voor het eisenpakket en de uiteindelijke testscenarios kunnen zijn. Alleen bieden ze heel weinig houvast voor het object oriented ontwerp van een systeem.

Wellicht nog een leuk feitje over de library. Ik weet ook dat de pulsen achter elkaar plaatsvinden. Dat betekent ook als je gelijktijdig 12 servo's naar 180 graden stuurt dat de frequentie gaat afnemen omdat 12 x 2ms (180 graden) groter is dan 1 50Hz periode (20ms). Zodoende variëren de frequenties ook een heel klein beetje wanneer de puls lengtes aangepast worden. Het effect van dit allemaal is alleen niet merkbaar. It doesn't hurt
Ik moest even nadenken, wat heeft frequentie te maken met servo aansturing, maar ja het servo object herhaald de puls voor de servo aansturing. Dat weet ik, omdat ik als een servo zijn positie bereikt heeft, ik het servo met een detach() weer afschakel. Dat doe ik omdat servo's de neiging hebben om te gaan jitteren als je ze met een attach() aan laat staan.

Groet Meino
« Laatst bewerkt op: 26 January 2024, 23:32:03 door meino »

meino

  • Offline Offline
  • Berichten: 2312
Re: Kranenberg, een exercitie in code 70
« Reactie #1333 Gepost op: 02 February 2024, 21:59:45 »
Nu de schaduwstations klaar zijn, is het tijd om ze uit te proberen, dus we laten weer treinen rijden over Kranenberg. Dat leverde toch wel wat kleine probleempjes op, zoals draden die toch in een bocht te dicht op het spoor zitten, kleine oneffenheden in de puntstukken van sommige wissels en wielen die net te krap of the ruim zijn met hun "back-to-back" afstand.
Ook moest er het een en ander aangepast worden in Arduino code, zoals de Arduino's die de seinbeelden maken in het Seinstelsel46. Dat gaf me gelijk de gelegenheid om een voorsein en en hoofdsein definitief in te stellen.
Dus wat foto's en een filmpje van de situatie zoals die nu is.





<a href="https://www.youtube.com/v/93LVHwZAo9g" target="_blank" class="new_win">https://www.youtube.com/v/93LVHwZAo9g</a>

Ik denk er over om nog wat dieper in te gaan op de werking van de Arduino's betreffende de seinen uit het stelsel 46, maar dat ga ik in een apart draadje nog doen.

Groet Meino


Mark Lin

  • Offline Offline
  • Berichten: 226
  • De trein laat heel wat sporen na.
Re: Kranenberg, een exercitie in code 70
« Reactie #1334 Gepost op: 02 February 2024, 23:08:31 »
Een genot om naar te kijken. (y)
Dit smaakt naar meer.

Groet, Mark
H0 2R= NS IVa
H0 2R= NS IIb
H0 2R= DB IIIb

Laag-Baarlo https://forum.beneluxspoor.net/index.php?topic=93480