Nieuws:

Modelspoormagazine, 100% modelspoor

Hoofdmenu

Dani's World - Een nieuwe adem...

Gestart door dani, 03 mei 2013, 10:40:18 AM

Sattrickske

Geen probleem, 'k wou maar zeker zijn dat je zelf wist hoe het moest.  Anders zou het serieus effe vloeken worden en een heel stuk herbeginnen ;)

dani

Bedankt om het toch even op te merken, maatje !   Dat had me 'indien ik me toch had vergist in bestelling ) inderdaad een pak ergernis kunnen bezorgen.

Intussen zijn de MAX232 chips geleverd en kan ik verder aan mijn protoboardje.  Yesss !
De 7 segments displays zijn er nog niet, maar ik heb geduld.
De kruik is te water gegaan...
De kruik is niet meer.

dani

Ik heb even het volledige schema uitgetekend met al de Arduino en andere randapparaten die aan de PC zullen hangen voor de sturing.
Ik ga toch eens moeten kijken naar een soort "bus" sturing.

ter verduidelijking heb ik er ook nog eens het totaaloverzicht van de baan bij gezet, dan zie je waar de nummertjes van de rode "bollekes" in het Arduino overzicht naar verwijzen.



De kruik is te water gegaan...
De kruik is niet meer.

PietB

Citaat van: dani op 30 mei 2013, 15:01:10 PM
Ik ga toch eens moeten kijken naar een soort "bus" sturing.
Is Ethernet daar niet toepasbaar?

grt Piet.

dani

Ethernet zou zeker een optie zijn, maar dan moet ik op al de "master" Arduino's  een Ethernet shield gaan installeren .  Kleine investering, ik geloof ergens een 11-13 euro per arduino.

Misschien heeft de I2C bus wel mogelijkheden, die zit er geloof ik standaard op en dat is een 2-wire bus als ik me niet vergis.  Dat zal ik even verder moeten bestuderen...
De kruik is te water gegaan...
De kruik is niet meer.

Gerolf

I2C of RS485 of 1-wire lijken me handiger dan ethernet. Snelheid heeft trouwens niet zo'n groot belang  ;)
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

conducteur

Is IIC niet meer plaatselijk? bv op een pcb tussen ic's onderling?
Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

PietB

Citaat van: dani op 30 mei 2013, 16:53:32 PM
Kleine investering, ik geloof ergens een 11-13 euro per arduino.
Neem dan ook in overweging dat Ethernet bijzonder ongevoelig is voor storingen van buiten af.
Wat ik er van heb kunnen lezen is I2C een relatief simpel 2 draad systeem een data channel en een clock signaal.
En het zou jammer zijn als er iemand in huis een licht aanschakelt of de koelkast slaat aan en een van je wissels zou niet omlopen, of juist wel.
Ik denk dat je misschien toch op dat punt wat meer aandacht aan de betrouwbaarheid van communicatie moet besteden.

grt Piet.

Sattrickske

Citaat van: conducteur op 30 mei 2013, 18:07:07 PM
Is IIC niet meer plaatselijk? bv op een pcb tussen ic's onderling?
Nope, niet noodzakelijk, I²C is een communicatie protocol.  In den beginne (begin '80) was het voorzien op 100kHz (bus snelheid).  Het is enkele keren opgewaardeerd en tegenwoordig (sinds 2012, versie 4.0) kan je tot 5MHz gaan.  Ik heb er vroeger heeeel veel mee gewerkt...
Het werkt met 2 draden (eigenlijk 3 als je massa meerekent): SCL (klok) en (SDA).  Een van de devices is de master en die genereert de klok, alle anderen zijn slaves.   Zowel de master als de slaves kunnen data ontvangen en verzenden.  Met een beetje software handigheid kan je de master verplaatsen naar een slave, waardoor de oorspronkelijke master plots een slave wordt.  Het aantal devices en de lengte van de draden zijn beperkt door:
1) het aantal addressen (7-bit of 10-bit), dus 128 of 1024 devices
2) de capaciteit van de bus, mag niet hoger dan 400pF zijn, anders worden de pulsen te zwaar vervomd.
De handleiding (white paper) stelde dat je niet verder kon dan 1 meter; maar ik heb er 12 jaar geleden al eens 10 meter uitgehaald, zonder buffers.  Met buffers/line drivers kan je veel verder gaan; hoe hoger je klok snelheid, des te korter dienen je kabels te worden.

Sattrickske

Citaat van: bossie op 30 mei 2013, 20:41:30 PM
Citaat van: dani op 30 mei 2013, 16:53:32 PM
Kleine investering, ik geloof ergens een 11-13 euro per arduino.
Neem dan ook in overweging dat Ethernet bijzonder ongevoelig is voor storingen van buiten af.
Wat ik er van heb kunnen lezen is I2C een relatief simpel 2 draad systeem een data channel en een clock signaal.
En het zou jammer zijn als er iemand in huis een licht aanschakelt of de koelkast slaat aan en een van je wissels zou niet omlopen, of juist wel.
Ik denk dat je misschien toch op dat punt wat meer aandacht aan de betrouwbaarheid van communicatie moet besteden.

grt Piet.
Klopt Piet, maar je kan het zelf in de hand houden.  Gebruik gewoon dezelfde techniek in je I²C als met je ethernet kabel: checksum, acknowledge, ...  Allemaal foefel truucjes die je makkelijk met wat software kan bekomen en onzen Dani is daar ne krak in...

PietB

Citaat van: Sattrickske op 30 mei 2013, 21:01:42 PM
Gebruik gewoon dezelfde techniek in je I²C als met je ethernet kabel: checksum, acknowledge, ...  Allemaal foefel truucjes die je makkelijk met wat software kan bekomen en onzen Dani is daar ne krak in...
Dat laatste is zeker!
Maar die capaciteit 400pF is wel erg klein, en dan de whitepaper met zijn 1 meter......
Dan heb jij storingsvrij 10 meter gehad, maar bij een Ethernet infra is dat allemaal toch wat betrouwbaarder, dunkt mij, al was het alleen maar vanwege de CSMA/CD implementatie
Ik denk dat je bij I2C ook geen lange UTP kabels om die reden kunt gebruiken, of valt dat mee.
STP zal wel helemaal out of the question zijn?

grt Piet.

Sattrickske

Klopt een UTP kabel voor I²C brengt helemaal geen soelaas.  Het probleem zit 'm in pull-up weerstanden die in I²C gebruikt voor de SCL en SDA; elke bekabeling die je maar kan bedenken zal altijd een een capaciteit veroorzaken waardoor je schakeling automatisch een RC-filter wordt (met de R van de pull-up en de C van kabel + belasting).  De pulsen worden vervomd want de RC-filter gedraagt zich als een low-pass filter.  En eenmaal je pulsen te zwaar vervormd zijn: foetsie signaal...
Als we Dani z'n filsofie gaan volgen, zal UTP geen oplossing bieden; eerst een vooral een extra Arduino shield en bovendien nog wat I/O pinnetjes kwijt.

Ik zie nog een paar andere mogelijkheden... Bv. waarom geen DCC protocol bovenop een RS-485?  Ik heb niet veel ervaring met RS-485, maar moet perfect haalbaar zijn.

conducteur

Wat bedoel je daarmee, dcc op rs 485? Wil je de dcc info via rs485 versturen? Wat is het nut daarvan?
Rian 2-Rail DCC NMBS TPIII
Grote Modeltreinruilbeurs Blankenberge Pasen 2016
Zaal Forum

Sattrickske

Citaat van: conducteur op 30 mei 2013, 22:10:45 PM
Wat bedoel je daarmee, dcc op rs 485? Wil je de dcc info via rs485 versturen? Wat is het nut daarvan?
Yep DCC via RS-485.  RS-485 is geen protocol, enkel een wiring om serieel data te kunnen versturen.  Maar data zonder protocol gaan versturen is zinloos.  Door DCC te gebruiken (is maar een idee) zou Dani z'n modules ook kunnen aanspreken via een centrale (ECOS, CSII, ...).
En terwijl ik dit schrijf bedenk ik ineens een alternatief: DCC van de sporen halen via een opto-coupler, geen extra draden meer nodig... de 'bus' is dan gewoon je baan...

dani

hele interessante ideetjes allemaal, zeker de moeite waard om verder te onderzoeken.
ik herinner me uit een vorig leven (lees : vorige werkgever zowat 15j geleden) dat rs 485 zowat vergelijkbaar is met rs 232 maar dan symmetrisch dus met 4 draden ipv een gedeelde gnd.  daarmee haalden wij makkelijk 100 m in een fabrieksomgeving over shielded kabel.

ik ga me eens verder in de materie verdiepen.   dcc opent ook mogelijkheden, zeker via de ecos.

mijn huidig "protocol" heeft ook al checks ingebouwd in de vorm van ACK/NAK datagrammen  en terugmelding van de ontvangen bevelen en de uitgevoerde commando's.
De kruik is te water gegaan...
De kruik is niet meer.