OverWeg is een project op basis van een Attiny85, een van de kleinste telgen microcontrollers uit de Arduino familie. De Attiny85 moet worden geprogrammeerd met de OverWeg sketch. Ik doe dat met een 'gewone' Arduino Uno waar ik de Arduino sketch 'arduino as ISP' in heb geprogrammeerd.
Wil je het graag zelf (na)maken? Hoe ISP(In system programming) met een arduino precies werkt wordt hier prima uitgelegd.
En de sketch OverWeg kun je downloaden van mijn Github account. Ook eventuele updates naar latere versies zijn hier te vinden. Prima als je zelf ermee wilt stoeien of aanpassen, voor commerciële doeleinden neem dan even contact op.
Voor de opslag van instellingen gebruik gemaakt van standaard arduino library EEPROM. Gewoon een handige library die een best wel ingewikkeld gebeuren afhandelt.
Voor een overweg zijn er heel veel wachtperiodes. Wachten op een led dat aan of uit moet. Wachten totdat na vrijmaken sensor de overweg weer vrij mag enz enz. Daarom gebruik gemaakt van een aantal 'publieke timers' die door meerdere processen in het program kunnen worden gebruikt. void sequences() en settimer()
De pulsbreedte naar de servo's moet gewoon heel stabiel zijn in duur, daarvoor een van de ingebouwde timers gebruikt.
Een attiny85 heeft maar een 5-tal pinnen die je kunt gebruiken, vandaar een shiftregister. Met void shift() wordt 1 byte voor 8 extra output pinnen periodiek naar het schuifregister 'geschoven'.
Schakelaars en sensoren worden met hardware samengevoegd en serieel aangeboden op pin 4 van de attiny85. Met void read() wordt dit weer uit elkaar geplozen en de status van de schakelaars en sensoren bepaald.
In void loop() alleen nog maar een timer die 1000x per seconde een langzaam proces void slow() start.
De snelle processen, servo puls b.v., worden aangestuurd door een ingebouwde timer en ISR(TIMER1_COMPA_vect) .
Een printje met daarop een heleboel Dupont pinnen voor aansluitingen, een schroefconnector voor 12V voeding en drie drukknoppen. Optioneel nog een 5 soldeer eilanden voor een ISP programmer. (om de attiny85 te kunnen updaten).
Een attiny85 op een ic-voet. Een quad opamp LM324 die wordt gebruikt voor 4 led drivers. Een 595 shiftregister om de attiny85 8 extra outputs te geven. Een LM321 single opamp als 5e led driver. 6 mini-transistoren geschakeld als NAND om de status van de schakelaars en sensoren om te zetten in serieel signaal.
Twee 7805 liniare voeding ic's. Een voor de servo's en een voor de rest. Gebruik maken van maar 1 7805 voor beide processen geeft issues als de servo's gaan draaien, dan gaat de attiny85 op tilt. Dus apart ieder proces zijn eigen lineaire voeding IC, de 7805 filtert alle storingspulsen die de servo's veroorzaken eruit. Gebruik wel goede servo's die geen van de bekende issues hebben...de SG90 van TZT (fabrikant) zijn uitstekend en heb ik altijd bij me op de beurzen.
Ik heb gekozen om het mogelijk te maken de leds apart met anode en cathode op de pcb te verbinden. Gevolg 28 pinnen voor 14 leds. De leds worden in 5 groepen aangestuurd door led drivers.
De juiste manier om alle leds in serie met elkaar te verbinden bij gebruik van 10 aansluitingen ** en led drivers, of de warboel van weerstanden en draden die ontstaat bij de 4-draads aansluiting hard op de 5V met serieweerstanden, kan reden zijn voor niet-electronica-experts om af te haken.
Daarom, om het voor iedereen uitvoerbaar te maken, heb ik voor deze methode gekozen.
**Opmerking. Voor wel-electronica-experts is deze 10 aansluitingen methode wel te gebruiken met OverWeg.
Iedere led komt met zijn twee pootjes op twee pinnen. Lange pootje altijd links, korte pootje rechts.
Op bladzijde OverWeg, de aansluitingen is dat in schema getekend.
Dat geeft dan een hoop aansluitingen, met schroefconnectors krijg je dan een grote print met ritsen connectors, maar mijn idee was juist een klein printje wat je nog ergens in de scenery kan weg moffelen. Vandaar de keuze voor de dupont pinnen. Er zijn plugjes, 3-4 of 6, die op de pinnen passen. (heb ik mee op Houten) Maar voor vaste opstelling zijn de draden ook direct op de pinnen te solderen. Beste oplossing zijn de Dupont stekkers die met een speciale krimptang aan de draden zijn te zetten. Nevenstaand setje heb ik er voor gekocht in het verre China. Wel twee avondjes oefenen met veel geduld. Op YouTube zijn meerdere filmpjes met technieken te vinden.
Een rode led brand als de overweg is gesloten, een groene als open. Rechts naast de aansluitingen voor de sensoren 3 pinnen OUT + -. Dit is een uitgang de out gaat naar 5V als de overweg is gesloten. De 5V en - te gebruiken als voeding voor bv. een relaismodule of een audio player die het belgeluid kan maken.
Audio speler ben ik nog mee bezig , wordt volgt.
Daar dus naast 4 aansluitingen voor sensoren M 5V -. Ook hier de 5V en - bedoeld als voeding voor sensoren. Alle soorten sensoren zijn te gebruiken. Infra rood, zoals op de demo, maar ook hall sensor of een 'schakelrail'. Als je maar zorgt dat er 5V op de M aansluiting komt als de sensor actief is.
Boven die aansluitingen voor de sensoren zit dan nog een 2 pins aansluiting met wit en open rondje als aanduiding. Linker pin is de schakelaar aansluiting, rechter pin is 5V. Hierop kun je een tuimelschakelaar aansluiten om de overweg handmatig te kunnen openen en sluiten. Voor digitale rijders kan ook een decoder zodat je de overweg met DCC kan bedienen. Project DCCmonitor is hier perfect voor geschikt en heb je nog 15 adressen over voor andere zaken.
Bovenaan zitten alle aansluitingen voor beide kanten van het spoor. Een AHOB bestaat uit twee identieke delen ieder aan een kant van het spoor.
Voor ieder deel is er dan zo een rits aansluitingen.
Eerst 1 paal met het andreaskruis, dan de paal zonder het andreaskruis en daarnaast de 6 aansluitingen voor de 3 leds in de boom.
De drie pins aansluiting daar weer naast is voor de servo. Puls 5V GND.
Als je niet alle leds in een deel nodig hebt, dan moet je in plaats van een led een doorverbinding maken. Het beste met een speciaal jumpertje. (heb ik bij me op de beurzen). Gebruik je maar 1 deel , kant, van het spoor dan moet in ieder geval de constant led van de niet-ingebruik boom worden overbrugt. Daarom, en ook als voorbeeld, is een jumper standaard daar al op gedaan. Bij gebruik van twee kanten moet deze jumper er af.
De overige leds van de kant die niet wordt gebruikt hoeven niet te worden overbrugt met een jumper.
Ook denkbaar dat je meer knipperende leds wil. Al gezegd 5 led drivers, iedere driver voor knipper leds heeft nu 3 leds in serie. Ongeveer een 5MA wordt door de driver gestuurd, een rode led heeft dan ongeveer een forward voltage van 2.2V dus met een 12V voeding kunnen er op 1 driver max. 5 leds in serie worden geplaatst.
Voor hoe het moet gaan werken daar hebben we het grote voorbeeld voor. Trein komt aanrijden, activeert een sensor, bel gaat rinkelen, rode lampen op de palen en op of in de slagbomen gaan om en om knipperen. Een vaste lamp op de top van de boom gaat branden. Na een paar seconden zakken de bomen en sluiten de rijbaan af. Trein passeert de overweg en bereikt een eind verderop een tweede sensor. Slagbomen gaan weer open, paar seconden nadat de bomen weer omhoog staan gaan alle lampen en het belgeluid uit.
Voor het project OverWeg dus sensoren aan beide zijden van de overweg op het traject. Ongeveer bij H0 schaal 1 meter afstand. Na activeren van een van de sensors, dus van links of van rechts, wordt deze melder als de start melder aangeduid. De melder aan de andere kant van het traject als de sluitmelder. Leds gaan knipperen en na een paar seconden sluiten de bomen.
Een lange timer wordt gestart. Deze lange timer is het vangnet. Net als in het grootspoor gaat het wel eens mis. Als voorbeeld een trein die op de overweg stopt en daarna weer terug rijdt. Komt zo niet langs de sluitmelder dus blijft de overweg dicht. Deze lange timer opent na ongeveer twee minuten de overweg. Maar meestal gaat het gewoon goed, de trein bereikt de sluitmelder, deze start een korte timer, iedere keer dat de sluitmelder wordt geactiveerd wordt de timer gereset. Is de trein helemaal voorbij gereden dan loopt de timer af en gaat de overweg open.
Maar dan een heel lange trein, locomotief is al bij de sluitmelder maar er rijden nog steeds karretjes voorbij de startmelder, simpel opgelost de korte timer wordt ook gereset door de startmelder.
Alleen een trein die er langer over doet dan 2 minuten om het traject volledig af te leggen, ja dan gaat het mis....gaat de overweg open. En zeker is dat ook gelijk aan het grootspoor. Zelf meermaals meegemaakt met een vrachttrein waar het aantal karretjes nooit leek op te houden, opeens gingen de bomen weer open en reed het restant van de trein over een geopende overweg.
Voor enkelspoor werkt dit prima, ongeacht de richting die de trein rijdt wordt de overweg gesloten en weer geopend.
Meeste spoorwegen hebben tegenwoordig dubbelspoor. Ook dit gaat prima met OverWeg, nu zijn er alleen 4 sensoren nodig. Voor ieder spoor 2.
We onderscheiden 2 typen dubbelspoor. Eerste als een gewoon traject, trein rijdt van Amsterdam naar Haarlem over het ene spoor en van Haarlem naar Amsterdam over het andere spoor. Tweede type is zoals in een kopstation of rangeer terrein. Bij eerste soort rijden de treinen op de sporen altijd tegengesteld, bij het tweede type (meestal) dezelfde richting. Meestal, want als de trajecten te lang zijn, een trein rijd het station in en een andere trein rijd het station uit... dan moet je testen wat het beste resultaat geeft. Type 1 of type 2.
Bij het tweede type van het kopstation plaats je aan beide einden van het traject sensoren op dezelfde melder. Dus M1M1 & M2M2.
Bij het eerste type van gewoon traject plaats je aan beide einden van het traject sensoren op verschillende melders. Dus M1M2 & M2M1
Daarom zitten er dus aansluitingen voor 4 sensoren voor 2 melders op OverWeg.
Het sluiten van de overweg gaat dus volledig automatisch bij gebruik van sensoren/melders.
Handmatig kan de overweg ook gesloten worden met een tuimelschakelaar, aan te sluiten op de twee pinnen boven de aansluitingen van de sensoren.
Om de overweg met DCC te bedienen deze pinnen S en 5V, staat een open en dicht rondje erbij op de print, kun je aansluiten op een decoder uitgang, als die 5V geeft zoals DCCmonitor. Wel dan de GND van DCCmonitor en de GND van OverWeg met elkaar verbinden om een gemeenschappelijk minpool te maken.
Met een commerciële decoder zoals van Märklin of ESU is het het beste de decoder een relais te laten schakelen, het maakcontact van het relais dan gebruiken om de twee bovengenoemde pinnen met elkaar te verbinden.
De volgorde bij het sluiten en openen van de overweg is eenvoudige seriële logica, bij sluiten leds knipperen, leds constant branden, start timer.... na afloop timer start 2 willekeurige timers voor de twee servos......na afloop per willekeurige timer...start beweging servo 1 of servo 2. Bij openen overweg start weer de willekeurige timers die dus op verschillende momenten de bomen openen, ziet er gewoon veel beter uit als de bomen willekeurige fracties van seconden na elkaar bewegen. Na bereiken open positie van beide bomen...start weer timer die na aflopen de leds allemaal uitzet.
Stuur me een email voor meer info en beschikbaarheid, of bezoek de stand op de Houten modelspoor beurs.