Elektronik overblik

Jeg vil her opsummere, hvad jeg har lært omkring elektronikken pr. efterår 2016. Derudover vil jeg opsummere og/eller give lidt flere detaljer om den del af elektronikken, som jeg selv har bygget. Beskrivelsen er endvidere efterfølgende løbende ført up-to-date.

Digitalstation

Digitalstationen er “styrepulten”. I de gamle analoge dage havde man en transformer med en knap, der kunne drejes for at bestemme, hvor hurtigt toget skal køre. Derudover havde man nogle knapper til at styre sporskifter, signaler m.v. ved siden af:

img_0098Dette og meget mere er nu bygget ind i digitalstationen:

img_0099Det er vigtigt at gøre sig klart:

  • Om digitalstationen skal kunne samarbejde med et PC-program om at styre banen.
  • Om digitalstationen skal kunne bruges uden PC.
  • Om digitalstationen skal kunne bruges sammen med en ekstra throttle (som jeg ikke kan oversætte til dansk. Hedder det styrehåndtag, ekstra styrepult, flere knapper til styrepulten, eller noget helt andet?) Se et eksempel her.
  • Om digitalstationen skal kunne bruges fra en iPad og/eller smartphone. Om ikke andet, så kan man bruge disse devices til at tilgå JMRI, som så igen kan styre digitalstationen, hvis den altså kan sluttes til PC’en.
  • Hvilke typer dekodere, der skal kunne styres (DCC, M4/MFX, FX, Delta, Seletrix osv.)
  • Hvilke interface typer, der skal være understøttet derudover, f.eks. til tilbagemeldingsmoduler, ekstra throttles, andre digitalstationer osv. Det kan f.eks. være LocoNet, S88 (kun tilbagemelding), ECoSLink, CBus osv. Overdriv dog ikke vigtigheden af dette interface. Så længe du bare har gennemtænkt valget af kombinationen af tilbagemeldingsmoduler og digitalstation.

Jeg er landet på at have to digitalstationer:

IB-COM, som kun styrer “pynten” på banen, dvs. signaler samt hvad der ellers skal være af bevægelige figurer, lys i huse og på gader og veje osv. Købt fordi jeg troede, at jeg kun ville bruge den via PC’en.

ECOS, som styrer alt det kritiske, dvs. først og fremmest lokomotiver, sporskifter og tilbagemelding. Købt fordi jeg fandt ud af, at det alligevel er meget rart at kunne bruge den både med og uden PC.

Dekoder i lokomotiver

Kører man digitalt, skal lokomotiverne have en computer ombord, som kan “tale” med digitalstationen om, hvor hurtigt lokomotivet skal køre og i hvilken retning. Desuden hvilket lys, der skal være tændt, hvilke lyde, der skal aktiveres osv. Til gengæld sparer Märklin / AC / 3-skinne folket retningsomskifteren. En god lokomotivdekoder koster i størrelsesordenen 250 kroner (dog en hel del dyrere, hvis det skal være med lyd).

img_0100Alt efter valg af digitalstation kan man tvinge sig selv til at nøjes med en dekodertype eller give sig selv friheden til at blande f.eks. Märklin MFX, Märklin FX og DCC dekodere.

Dvs., at hvis man vil kunne bruge Märklin lokomotiver uden at skifte de originale dekodere ud, skal man anskaffe sig en digitalstation, der ikke er begrænset til kun at køre DCC. Begge mine digitalstationer har multi-protokol evner.

MFX kaldes også M4. Det er ESU’s navn for dekodertypen, som de er nødt til at bruge. For selvom det egentlig var ESU, der oprindeligt gjorde opfindelsen, så var det bestilt af Märklin, som derfor har rettighederne til MFX navnet. Et tredje navn for MFX er “Märklin/Motorola neu”.

FX er, så vidt jeg kan finde ud af, protokolmæssigt det samme som også kaldes “Märklin Delta”. (Hvor man dog ikke kan sætte adressen via digitalstationen, men skal skille lokomotivet ad og ændre på nogle switche – tror jeg nok. Jeg ejer ikke en Delta dekoder). Og et tredje navn er “Märklin/Motorola alt”.

Jeg har prøvet både FX, MFX og flere fabrikater DCC dekodere (Märklin, Zimo, Lenz og ESU). Og min konklusion er, at FX dekodere ikke er gode nok. Og langt fra alle DCC dekodere er lige gode.

De vigtigste forskelle på dekodere er, hvor godt de kan styre en motor (dvs. f.eks. hvor langsomt et lokomotiv kan køre) og hvor stabile de er til at styre lys m.v. Jeg har f.eks. et togsæt, hvor funktionsdekoderen i styrevognen lever sit eget liv mht. lyset på styrevognen.

Hvis jeg har muligheden, vil jeg til enhver tid vælge ESU LokPilot eller LokSound DCC dekodere af nyeste aftapning. Som regel kan man dog ikke vælge selv, idet der jo sidder en ganske bestemt type dekoder i de lokomotiver, man køber.

Med mindre altså at man ofrer ekstra penge på at udskifte den originalt monterede dekoder, eller hvis man køber et gammelt lokomotiv uden dekoder og selv bygger det om.

Man kan i princippet godt selv bygge en dekoder til et lokomotiv. Men jeg tror aldrig, det bliver rigtig godt. Og så dyr er en ESU dekoder heller ikke.

Sporskiftedrev

Der er intet nyt i sporskiftedrev. Det havde man også i de gamle analog-dage. Da hed det bare “elektriske sporskiftere”.

Men specielt i forbindelse med computerstyring er det nødvendigt at gøre sine sporskiftere digitale, dvs. udstyre dem med både drev og dekoder.

Det nemme valg er selvfølgelig at bruge de drev, som leveres af sporskifte fabrikanten. Men så skulle jeg bruge Märklin drev, fordi jeg bruger Märklin skinner. Det gør jeg ikke, fordi de er for dyre og fordi de skifter med et lydeligt KLAK.

Viessman laver et drev uden KLAK lyde. Men de koster en bondegård.

Det gør en mini servo derimod ikke. Da jeg skrev dette, var prisen 25 kroner hos NiceLED. Den på billederne nedenfor er en lidt dyrere (men stadigvæk nærmest rørende billig) model fra rc-netbutik. Begge fås til lavere priser direkte fra Kina eller hvor det nu er – f.eks. på E-bay. Men jeg har ikke villet handle udenlands og betale mere porto og gå glip af reklamationsretten for at spare en tier pr. servo.

Dvs. indtil jeg opdagede ali-express.com. Det tager sin tid, men det bliver sendt portofrit. Og man er helt nede på under en Euro pr. servo.

Jeg vil vove den påstand, at totalpris for drev og dekoder pr. sporskifte udgør ca. 10 kroner med billigste servo og hjemmebygget dekoder, 300 kroner for originalt Märklin og 350 for Viessman drevet. De to sidstnævnte skal man lige lede lidt efter til de priser. Gang selv op med antallet af sporskiftere. Så begynder det at rive lidt i Dankortet, ikke sandt?

Såfremt det er knebent med pladsen, altså at servoen ikke må være så høj, at den går nedenfor skinnen, så overvej denne servo: https://hobbyking.com/en_us/2-4ghz-supermicro-systems-single-linear-servo.html  Jeg har ikke prøvet den.

En servo kan vha. et lille stykke 0,6 mm pianotråd monteres på de fleste sporskiftere. Dog ikke Märklin M skinner alias de gamle blik skinner. Se her, hvordan jeg monterer servoer på Märklin C skinner.

img_1744

Processed with Snapseed.
Sporskifte, drev og dekoder.

Generelt om hjemmegjort elektronik

Jeg har selv bygget noget af elektronikken. Det kan du også gøre. Men hvis du ikke har lyst, behøver du ikke. Eller du kan vælge at gøre det noget af vejen. Alle mellemting findes lige fra færdigkøbte løsninger, over byggesæt eller bare print, hvor du selv køber og lodder komponenterne på, til også selv at fremstille printplader eller – som jeg – bruge veroboards:

imageStort set alle de konstruktioner, jeg beskriver nedenfor, er baseret på micro controllere i PIC familien. Det er i princippet bittesmå computere bygget som en lille IC (populært kaldet “en chip”).

Vær ikke forskrækket: De er meget billige og andre har skrevet det program, der skal køre i PIC’en.

12F629, som anvendes i mine servo dekodere og signaldekodere er en 8-bens IC. den koster cirka 8 kroner. Der skal selvfølgelig bruges lidt flere komponenter, men der er rigtig langt op til de 220 kroner, som en ESU dekoder koster.

Dog skal der bruges en PIC programmer for at programmere PIC’en, dvs. for at downloade et færdigt program hentet fra internettet i form af en HEX fil til PIC kredsen – med mindre altså at man køber et samlesæt eller en helt færdig dekoder fra f.eks. litra.dk. En PIC programmer koster 275 kroner og man skal også helst have en ordentlig sokkel til at sætte PIC kredsen i, mens den bliver programmeret. Den koster yderligere små 200 kroner hos Reichelt. Begge dele fås dog til en brøkdel af prisen fra aliexpress.com.

Til gengæld kan man frit og gratis downloade PicKit2 softwaren fra Microchip, som fremstiller PIC kredsene. Så kan man både oversætte fra assembler kildetekst til HEX filer (og dermed ændre i programmerne, hvis man vil) og dowloade programmet / HEX filen til PIC kredsene.

Desuden skal man naturligvis have noget værktøj.

Først og fremmest skal man have en ordentlig loddekolbe – termostatstyret og med en tynd long-life spids – dvs. en loddestation. Det kan godt betale sig at købe noget virkelig godt grej. Køb f.eks. en Weller loddestation. Og nøjes ikke med den billigste. Jeg har set loddestationer til 300-400 kroner hos flere modeltogsforhandlere. De er sikkert udmærkede. Men jeg vil hellere ofre 1000 kr på noget ordentligt end 700 kr på noget, man senere fortryder.

Og få så en stor rulle meget tyndt loddetin. Og en tinsuger til når man lodder forkert eller når man skal reparere.

Et multimeter er også et must, så man i det mindste kan måle spændinger samt måle sig frem til afbrudte eller kortsluttede forbindelser. De fås enormt præcise og dermed dyre. Jeg nøjes indtil videre med Harald Nyborgs dyreste model. Den fungerer fint nok til at give et godt fingerpeg om spændinger, modstandsværdier osv. I hvert fald kan den måle kortslutninger.

Er man mere prof. end jeg er, kan man desuden købe sig fattig i strømforsyning, oscilloskop osv.

Mht. oscilloskop, så har jeg i 2018 anskaffet mig et til 150 kroner, som ganske vist er meget begrænset i båndbredde, men som snildt kan klare DCC signaler:DSO150Og så skal man naturligvis have en pincet, en bidetang og lidt mere småt håndværktøj.

Om du vil investere i alt dette eller om du hellere vil købe færdige dekodere? Det er din afgørelse.

Men jeg kan ikke se, hvordan man kan undvære loddekolbe og andet værktøj, hvis man bygger modelbane. Der er som minimum en masse ledninger, der skal loddes. Det kræver dog naturligvis lidt mindre af loddekolben.

For mit vedkommende er det dog en stor del af fornøjelsen at bygge både elektronik, software og også selve modelbanen.

Sporskifte dekoder

Alt efter om man har valgt KLAK-KLAK sporskiftedrev eller servoer, skal man bruge forskellige typer dekodere for at styre disse drev. Hos ESU (bare for at tage et eksempel – jeg sværger på, at jeg ikke får provision fra dem) hedder KLAK typen SwitchPilot og servotypen sjovt nok SwitchPilot servo.

Men som bekendt er jeg for nærig til at give over 200 kroner for en dekoder til 4 servoer / sporskifter. Så jeg bygger selv Paco’s 4-servo decoder, men med en alternativ firmware, som gør det muligt at justere endestop positionerne enkeltvis i stedet for bare at kunne styre vandringen. Firmware’n er beskrevet og kan downloades her. Brug version 3.5.

Diagrammet ser således ud:

imageJeg har købt komponenterne hos Reichelt.

En dekoder ser sådan ud (hvor jeg kun har monteret stik til 2 servoer). De to fastloddede ledninger er sluttet til digitalstationen på samme udgang som skinnerne. Det er godt nok lidt fy-fy, for man kan ødelægge print und alles, hvis man rykker forkert i ledningerne. Men ordentlige connectorer koster lige så meget som resten af dekoderen, så den risiko tager jeg:

Processed with Snapseed.Hvis man vil bygge på en rigtig printplade, så har Paco tegningen. Eller dekoderen kan købes som byggesæt eller i færdig tilstand hos litra.dk. Dog har han delt elektronikken op i flere dele – som jeg også er gået over til – se nedenfor.

Min dekoder er bygget på et veroboard (hulprint) som skitseret her:

4-servo-veroboardDe røde boller indikerer der, hvor banerne skal afbrydes. De grønne er tænkt som huller til at skrue fast med. De to grønne streger, der går skråt opad til højre er ledninger fra skinneudgangen på digitalstationen.

Da jeg adderede sporskifte nummer ca. 20 gik det imidlertid ikke længere at tage strømmen til servoerne fra ECOS’en. En servo tager ca. 200 mA, når den bevæger sig. Og det gør som regel kun en servo af gangen. Men lige når strømmen tændes, vil alle servoer bevæge sig. Og det kan ECOS ikke levere strøm nok til.

Jeg er derfor gået over til at have en separat strømforsyning til dekodere og servoer. Jeg har købt en 5V / 10A strømforsyning fra Kina. Og nu hvor jeg er begyndt med Kina-indkøbene, så har jeg også pludselig råd til at købe connectorer, så jeg er fri for at lodde ledninger direkte på printet. Det har fået mig til at modificere det hele, så diagrammer m.v. nu ser sådan ud:Servo decoder diagramServo decoder layoutCBB0EBC8-9F6C-4511-8AF7-7CE1619A0FF8Det kræver så til gengæld, at jeg sætter en adapter foran, så DCC signalet ikke kommer blæsende ind med +/- 17 V, men kun med 5V:DCC-5V-converter-v2Hvis der er behov for at drive flere dekodere end udgangen på 6N137 kan klare, så tilføj nogle buffere eller invertere (f.eks 74HC04).

Denne modifikation gør, at jeg har mindre behov for krydsfeltet beskrevet længere nede, for nu er alle dekodere forbundet “i serie” med en lang ledning. Til gengæld kræver servo dekoderne et specielt programmeringsinterface for at kunne programmeres. Interfacet svarer til de komponenter, jeg har fjernet fra dekoderne:Decoder-programmerNår en dekoder skal programmeres, piller jeg pågældende dekoder af den lange ledning ved at hive stikket ud direkte på dekoderen og i stedet forbinde dekoderen via programmeringsinterfacet til programmeringssporet.

Tilbagemeldingsmoduler

I den analoge verden har man ikke brug for tilbagemelding. Men for at en PC skal kunne styre modeltog, skal PC’en kunne holde øje med, hvor togene er henne. Tilbagemeldingsmodulerne er således indgange til digitalstationen og dermed PC’en. Eller i nogen tilfælde direkte til PC’en.

Jeg har efterhånden lagt mig fast på S88-N moduler, som beskrevet her. Se sidste del af siden.

Hvis du vil købe et færdigt modul, så har såvel Märklin som ESU færdige S88 moduler. Men det er ikke det samme som S88-N. Sidstnævnte burde være mere stabile. Jeg har ingen personlige erfaringer med det, men jeg har læst om folk, der har problemer med S88. Især hvis man bruger for lange ledninger. ESU har også ECoSDetector moduler med indbyggede strømfølere, og som passer til ECoS og kun den (altså ikke S88 moduler). De koster dog både en bondegård og spidsen af en jetjager, så med mit budget er de aldeles udelukkede.

Færdige S88-N moduler har jeg heller ikke meget viden om. Men jeg har set, at man kan købe et hos NiceLed eller hos Nettog.dk produceret af et firma ved navn Digikejs. Og det er så tilpas billigt, at jeg nok ville købe det, hvis jeg skulle starte forfra. Komponenterne til selvbyg modulerne koster også. Og ikke mindst, så koster det nemt en hel dag at bygge et modul med 16 strømfølere og et S88 modul. Så man må overveje, om man synes det er sjovt at bygge selv, eller om man hellere vil betale et par hundrede kroner ekstra og spare en dag pr. modul ved at købe færdigvaren.

Det modul, jeg linker til, indeholder strømsensorer. Samme modul findes også i en udgave uden sensorer. Det findes i øvrigt også i en LocoNet udgave i stedet for S88-N.

HEX filen til programmeringen af PIC kredsene i det modul, jeg har bygget, kan downloades hos Sven Brandt, hvor tilbagemeldingsmodulet i øvrigt også kan købes som byggesæt. Også her kan man bygge strømsensorerne ind i modulet, hvis det ønskes.

Jeg har købt printene og SMD modstandene hos litra.dk. Man kan også købe et færdigt modul samme sted. Eller modsat, så kan modulet også sagtens bygges på et veroboard. Strømsensorer fås samme sted, men på et print for sig.

Bemærk, at litra.dk selv bruger S88 og ikke S88-N. Hans S88 system indeholder et separat S88 interface, som via et RS232 interface, (der ikke findes i nogenlunde nye PC’er), forbinder sig direkte til en PC. Det modul kan ikke bruges til S88-N.

Det kan derimod S88-N-P modulet fra Sven Brandt, som jeg har bygget en forenklet udgave af på et veroboard, som beskrevet her. S88 stikket til digitalstationen ses til venstre øverst og S88-N stikket mod S88-N modulerne (som fysisk er et ganske almindeligt LAN stik/kabel) ses til højre nederst:

img_2242Det skal lige siges, at Digikejs modulerne ser ud til at kunne interface direkte til en S88 indgang i en digitalstation. Men så får man ikke den galvaniske adskillelse, som skal beskytte digitalstationen.

Sensorer

Sensorerne sidder før tilbagemeldingsmodulerne og føler, hvor på banen, der er et tog. Mine sensorer føler helt specifikt, om der bliver trukket strøm igennem en ledning. Men der findes også andre typer sensorer.

Som efterhånden beskrevet flere steder på denne side, forbinder jeg hver enkelt blok til digitalstationen via en strømsensor, som er bygget således (minus kondensatoren, som ikke er nødvendig, hvis man bruger den rette optokobler – se nedenfor):

Processed with Snapseed.Jeg har fundet ud af, at man kan beskytte optokobleren ved at bruge en lidt større modstand. P.t. kører jeg med et board med 10 ohm og et andet med 20 ohm. De fungerer lige godt. Jeg har skiftet mine optokoblere ud med CNY17/IV, fordi de har bedre optisk forstærkning end 4N25.

Jeg samler 16 sensorer på et veroboard, og monterer dem sammen med et tilbagemeldingsmodul, enten færdigkøbt (som jeg gjorde første gang):

imageeller med S88-N modulet:

img_2244Sidst i 2017 er jeg gået over til en lidt anden type optokoblere, ligesom jeg ikke længere bruger diskrete dioder, men brokoblede ensrettere:CurrentSensor-ILQ-620266E8B49-1348-4E09-9A02-52F050A8AFD5Strømføler_2Strømfølere baseret på almindelige optokoblere som f.eks. 4N25 eller CNY17, og hvor man har sparet den kondensator væk, som ses på øverste diagram i dette afsnit, giver ikke et ordentligt output til S88 modulet. Det giver noget, der ligner en firkant-spænding med skiftevis 0V og 5V. Og det er ret tilfældigt, om det bliver opfattet som et 0 eller et 1 af S88 modulet. Det viste sig ved at 14 ud af 32 sensorer holdt op med at virke hen over en sommerperiode, hvor de dårligt nok var i brug. De kan dog bringes til at fungere ved at vende IR-dioden omvendt i forhold til diagrammet ovenfor, altså at forbinde ben 1 på optokobleren til blokken og ben 2 (via 20 ohm modstanden) til DCC signalet. Se indlæggene fra medio december 2017.

Men ILQ620 detekterer strøm i begge retninger, og derfor kommer der noget der ligner et pænt DC signal på ca. 0V ud af den optokobler i stedet for ovennævnte firkant. Og dertil er brokobleren noget mere kompakt end de fire diskrete dioder.

Dekoder til signaler

Også her kan man selvfølgelig købe sig fra det, hvis man hellere vil det. Se f.eks. på SignalPilot fra ESU.

Men igen vil jeg hellere spare en masse penge, og har bygget selv. Jeg bruger samme strømforsyning og DCC adapter som til servodekoderne beskrevet ovenfor.  Faktisk er signaldekoderne hardwaremæssigt næsten identisk med servo dekoderne. Eneste forskel er, at der ikke er monteret stik til servoer, men at udgangene via en formodstand er forbundet til lysdioderne i signalerne.

De består kun af PIC kredsen og R1 og R2. Dette billede er af første hurtige prototype, hvor jeg har monteret modstandene noget sjusket:

img_1805Firmwaren er en helt anden, men også fra Paco. Se hans beskrivelse her. Og se også beskrivelsen på litra.dk. Bemærk, at jeg ikke bruger nogen form for driver til at drive signalerne. Jeg bruger PIC kredsens udgange direkte. Det kan jeg gøre, fordi jeg kun tilslutter en eller maksimalt to lysdioder pr. udgang. Se mere på min side om signaler. Se også mere samme sted om hvordan jeg bruger tre NAND gates (dvs. en IC med fire NAND gates) til at få de to nederste grønne lysdioder i signaler med højre/venstre visning til at fungere korrekt. For disse signaler bruger jeg en hel dekoder til at styre hovedsignalets 4 lysdioder og 1/4 af en anden dekoder + nævnte NAND kreds til at styre retningsviseren.

Til de første prototyper har jeg programmeret CV værdier vha. min PIC programmer ved at sætte CV værdierne inde i kildeteksten (ASM filen) og generere min egen HEX fil pr. dekoder.

I mellemtiden har jeg dog lavet programmeringsadapteren til servodekoderne. Og den kan naturligvis også bruges til signaldekoderne.

Signaler

Jeg har ikke endnu bygget et signal færdigt.

Jeg har lavet et par prototyper, fordi jeg troede, at jeg kunne gøre noget smart. Se beskrivelsen her.

imageMen næste gang gør jeg det rigtigt. Se her. Jeg er ikke længere bange for lakeret kobbertråd. Det er mere solidt, end man skulle tro. Og det er forbavsende let at arbejde med.

Kabling

Når man har flere digitalstationer, en masse dekodere til sporskifter og signaler, tilbagemeldingsmoduler osv. samt når man overvejer både almindelig drift og programmering af dekodere – både førnævnte og dem i lokomotiverne, så bliver kablingen ikke helt så simpel som bare at tilslutte den røde og den grønne ledning fra digitalstation til skinner.

Jeg har en del omskiftere for at vælge, hvad jeg vil have i normal drift og hvad der skal være i programmerings-modus, og fra hvilken af de to digitalstationer, det skal være:

hoveddiagramSom det ses har jeg valgt, at mine signaldekodere overhovedet ikke kan programmeres, som allerede nævnt tidligere.

Og med flere sporskiftedekodere end på min prototypebane er det ikke praktisk med en omskifter for hver af dem. I stedet har jeg lavet et patch-panel, hvor jeg kan flytte et enkelt stik for den dekoder, der skal programmeres. Her behøves IB-COM programmering i øvrigt ikke mere. Nu kan JMRI lige så vel bruge ECOS til programmering:

hoveddiagram-3-etager

Og med den separate strømforsyning og programmeringsinterface til dekoderne er patch-panelet såmænd heller ikke særlig nødvendigt mere. Men nu har jeg det og beholder det.