Eddenouden.nl Contact Blog home
 
Digitaliseren modelspoor H0
 
 

Modelspoor digitaliseren met Arduino

Arduino opent een hele nieuwe wereld qua technische mogelijkheden op de digitale modelbaan. Het vereist echter wel enige affiniteit met elektronica (modules en componentniveau) en met programmeren (C++). Heb je deze basiskennis niet en wil je jezelf die kennis ook liever niet eigen maken, kies dan voor kant-en-klare oplossingen!

Als je wel Arduino kennis wil opdoen dan kun je bv op de volgende websites terecht:

 

Input en output

Een Arduino is een microprocessor board (ATmega chip). Zo'n processor heeft inputs en outputs. Er komt via een input iets binnen, de processor doet daar iets mee (programma) en dat veroorzaakt weer iets aan de outputzijde. Men spreekt ook wel eens van GPIO: general purpose input & output. Er zijn overigens best situaties denkbaar waarbij je geen inputs hebt. Stel dat je bv een programma gebruikt dat, zodra je de Uno inschakelt, verschillende LED's in een bepaalde volgorde steeds aan en uit zet, dan zijn er geen inputs nodig.

Aan de inputzijde kun je bv denken aan:

  • Drukknoppen
  • Potentiometers
  • Toestenbordjes
  • Allerlei sensoren
  • Infrarood ontvanger
  • Et cetera

En aan de outputzijde komen dan bv:

  • LED's
  • Cijferdisplay's
  • Beeldschermpjes
  • Relais
  • Transistoren of mosfets
  • Motordrivers (bv een motor shield)
  • Servo's (via een servo shield)
  • Et cetera

Arduino boards kunnen ook prima communiceren met elkaar en met andere apparaten:

  • Bluetooth
  • Wifi
  • Wireless 433 Mhz en 2,4 Ghz
  • Ethernet
  • SeriŽle communicatie, RS232 en RS485
  • Infrarood
  • CAN-bus
  • Et cetera

Let op - Arduino boards werken op 5v USB-stroom of via een externe 6-9-12v adapter (let op: de maximale voedingsspanning voor een Nano is 9v). Ook bv een 9v batterij of een modelbouwaccu functioneert prima als voedingsbron. De outputpinnen van elke Arduino kunnen per board maximaal 200ma gezamenlijke stroom leveren. Dat is niet zo veel (dat zijn bv maar 10 LED's, en die zijn al erg zuinig qua stroom).

Bij meer stroomverbruik reset het board zichzelf. En bij stelselmatige overbelasting gaat een Arduino ook gewoon een keer stuk. Hardware die je aan de outputzijde aansluit (bv relais, transistor, mosfet, motor shield, servo shield, etc) heeft dus vaak een eigen externe stroomvoorziening (adapter) nodig!

 

Programmering

De programmering van een Arduino board werkt vaak met libraries en altijd met een sketch:

  • Een library is een extra stukje software dat ingewikkelde programmacode omzet naar een voor mensen veel beter te begrijpen formaat. In plaats van een hele serie ingewikkelde coderegels, wordt een gemakkelijk te begrijpen instructie bv: startloc5(vooruit, snelheid30, frontlicht-aan); (dit is geen juiste syntax, maar het gaat even om het voorbeeld). De library vertaalt zo'n eenvoudige instructie dan naar ingewikkelde programmacode voor het Arduino board.
     
  • Daarnaast heeft een Arduino board een sketch nodig. Dat is een computerprogramma dat het board precies vertelt wat er gedaan moet worden. Zo'n sketch schrijf je meestal op een PC (of je gebruikt een kant-en-klare sketch) en die upload je daarna naar het Arduino board. Op de website Arduino.cc kun je de software downloaden die je daarvoor nodig hebt (een zg. IDE, een Integrated Development Environment).

 


Arduino Uno

 

Veel gebruikte Arduino libraries voor modelspoor (centrales, terugmelders, decoders) zijn:

Library Protocol Link
DCC DCC Link
DCC++ DCC Link
DCC++ EX DCC Link
Railuino DCC MM Link
Motorola-Marklin MM Link

 

Tip - Ook hier zie je weer terug dat DCC verreweg het meest gebruikte protocol is.

Naast deze typische libraries voor modelspoor zijn er nog veel meer Arduino libraries die geschikt zijn voor toepassing bij modelspoor. Dan moet je bv denken aan sturing van LED's, kleine displays, relais, mosfets (schakeltransistoren voor hoge stromen), servo's, et cetera. De mogelijkheden zijn bijna eindeloos.

 

Verschillende modellen

Hoewel er vele modellen Arduino boards bestaan, is de essentie terug te voeren op 3 typen:

  • Arduino Nano
  • Arduino Uno
  • Arduino Mega

 

De Nano is het kleinste board:

  • Chip ATmega328
  • CPU 16 mhz
  • 8 analoge pins
  • 14 digitale pins, waarvan 6 PWM
  • 1 kb eeprom
  • 2 kb SRAM
  • 32 kb flash (programmageheugen)
  • Aansluiting: breadboard of PCB
  • Werkspanning 7-9v, of 5v USB
  • Je kiest voor een Nano als je weinig inbouwruimte beschikbaar hebt


Arduino Nano

 

De Uno is het bekendste board:

  • Chip ATmega328
  • CPU 16 mhz
  • 6 analoge pins
  • 14 digitale pins, waarvan 6 PWM
  • 1 kb eeprom
  • 2 kb SRAM
  • 32 kb flash (programmageheugen)
  • Aansluiting: Dupont stekers
  • Werkspanning 7-12v, of 5v USB
  • Je kiest voor een Uno als je gemakkelijk wilt aansluiten met jumper wires (Dupont)


Arduino Uno

 

En de Mega is het krachtigste board:

  • Chip ATmega2560
  • CPU 16 mhz
  • 16 analoge pins
  • 54 digitale pins, waarvan 15 PWM
  • 4 kb eeprom
  • 8 kb SRAM
  • 256 kb flash (programmageheugen)
  • Aansluiting: Dupont stekers
  • Werkspanning 7-12v, of 5v USB
  • Je kiest voor een Mega als je veel inputs en outputs nodig hebt en/of indien het programma (de sketch) erg groot is


Arduino Mega

 

In een ander blog heb ik Arduino informatie gepost over projecten die ik zelf, ook los van modelspoor, gebouwd heb. Klik hier om dat blog te openen.

 

 

Kernpunten Arduino

1. Een Arduino is een processor board met inputs, een programma en outputs.

2. Je programmeert het board met libraries en een sketch in C++ via bv een PC.

3. Aan de outputzijde gebruik je meestal relais, mosfets, servo's, etc om dingen te schakelen.

4. Er zijn 3 basismodellen: Nano, Uno en Mega.
 
5. Baanonderdelen die je met Arduino bouwt kosten vaak minder dan 1/10 van de prijs van een kant-en-klare module. Dat scheelt echt veel!
 

 

 

Volgende pagina: analoog versus digitaal

 

 

Inhoudsopgave van dit blog

Home Startpagina van dit blog
   
Arduino Introductie Arduino technologie
   
Inleiding Analoog versus digitaal
   
Keuze 1 De baan, 2-rail of 3-rail
   
Keuze 2 Digitale protocollen voor besturing
   
Keuze 3 De centrale: verbinding baan en besturing
   
Keuze 4 Locdecoders
   
Optie 5 PC of tablet als centrale
   
Optie 6 Wissels, ontkoppelen en seinen
   
Optie 7 Terugmelding en bezetmelding
   
Optie 8 Stroomblokken
   
Optie 9 Accessoiresturing
   
Afsluiting Disclaimer en bronvermelding
   
Contact Verstuur feedback, stel een vraag