{"id":102,"date":"2016-10-09T14:32:51","date_gmt":"2016-10-09T13:32:51","guid":{"rendered":"http:\/\/lisby.dk\/wordpress\/?p=102"},"modified":"2024-10-02T10:34:17","modified_gmt":"2024-10-02T09:34:17","slug":"2015-del-1-jmri-s88-n-og-foerste-lokomotiv-ombygning","status":"publish","type":"post","link":"https:\/\/lisby.dk\/wordpress\/?p=102","title":{"rendered":"2015 del 1  &#8211; JMRI, S88-N og f\u00f8rste lokomotiv ombygning"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">4\/1-2015:<\/h1>\n\n\n\n<p>S\u00e5 kom vi ind i 2015 og juleferien er slut. Men for en gangs skyld har jeg holdt ferie. Rigtig ferie, hvor jeg har haft en del futtogstid. Konen l\u00e6ser til eksamen, s\u00e5 jeg har kunnet bruge hele og halve dage. Sejrene er mangfoldige:<\/p>\n\n\n\n<p>1. Jeg har f\u00e5et dekoderprogrammering fra JMRI via IB-COM og Intellibox II til at fungere i samarbejde med en vis Alain Le Marchand fra Frankrig.<br>\n2. Samtidig har jeg f\u00e5et rettet til, s\u00e5 sporskifter kan styres fra JMRI via IB-COM \/ Intellibox II samt f\u00e5et en tidligere patch for tilbagemelding fra IB-COM \/ Intellibox II til JMRI, som fejlagtigt i sommers kun blev implementeret for Intellibox I, sneget med ind i JMRI kodebasen.<br>\n3. Jeg har gjort et lille hurtigt fors\u00f8g med scripts i JMRI, n\u00e6rmere bestemt en tilpasset udgave af BackAndForth.py.<br>\n4. Jeg har bygget et S88-N-P og et S88-N modul. Og de fungerer.<br>\n5. Mit gamle M\u00e4rklin 3060 lokomotiv er ombygget til DCC \/ digital drift.<br>\n6. Jeg har f\u00e5et sat str\u00f8m til et af mine indk\u00f8bte infrar\u00f8de diode \/ fototransistor par.<br>\n7. Jeg har lagt bedre og meget specifikke planer for udvidelsen af min prototypebane.<\/p>\n\n\n\n<p>Ad. 1 og 2: Weekenden op til jul gik med at f\u00e5 implementeret s\u00e5 meget dekoderprogrammering i JMRI, som jeg kunne l\u00e6se ud af RocRail kildeteksten. Men det var nok til at f\u00e5 det til at fungere &#8211; hul igennem -agtigt. Jeg indsendte det som en patch, og fik lynhurtigt respons fra Bob Jacobsen (som nok er den mest aktive person bag JMRI) og fra Alain Le Marchand.<\/p>\n\n\n\n<p>Bob implementerede straks min patch og forbedrede den med hensyn til detaljerne i indpasningen i JMRI kodebasen. Derudover spurgte han tilbage, hvorfor jeg ikke havde enablet flere programmere i JMRI end tilf\u00e6ldet var &#8211; bl.a. PoM (Programming on Main), samt skrev, hvordan jeg kunne enable dette. Jeg var ikke klogere end at IB-COM og dermed Intellibox II ikke underst\u00f8tter PoM. Men det kunne Alain oplyse, at i hvert fald Intellibox II g\u00f8r. Det har dog vist sig, at Intelliboxen ganske vist kan PoM, men IB-COM kan ikke.<\/p>\n\n\n\n<p>Henover julen (hvor jeg var p\u00e5 familiebes\u00f8g i Jylland) gjorde Alain nogle fors\u00f8g, hvor han vha. tasterne p\u00e5 sin Intellibox II og LocoNet monitoren i JMRI fik frembragt noget dokumentation for hvilke LocoNet meddelelser, der svarer til PoM &#8211; foruden at han testede min service track programmeringsfunktion. Vi var i livlig e-mail kontakt, og jeg kunne sidde hundredvis af kilometer v\u00e6k fra min IB-COM og alligevel kun vha. en iPad n\u00e5 frem til en fuld forst\u00e5else af, hvordan disse LocoNet meddelelser var sat sammen.<\/p>\n\n\n\n<p>Mandag efter jul (den f\u00f8rste af mine egentlige feriedage) og det meste af tirsdagen og onsdagen (nyt\u00e5rsaftensdag) gik med at f\u00e5 s\u00e5vel PoM til at virke som at finde ud af, at service track programming ikke kun er en ting: Der er tre modes (direct byte, register og ?????????), som har hver sin underkommando i LocoNet. Jeg ved stadigv\u00e6k ikke, hvad forskellen p\u00e5 de forskellige modes er, men jeg tror, at register mode er til visse meget gamle dekodere.<\/p>\n\n\n\n<p>Det var en ganske morsom proces, og det var et godt samarbejde med Alain, som sendte flere outputs fra LocoNet monitor, testede mine \u00e6ndringer og sluttede af med at checke det hele ind i JRMI kodebasen. Alain er nemlig registreret som JRMI udvikler, selvom han ikke er nogen haj mht. Java. Dog var Alain sidel\u00f8bende i gang med at f\u00e5 F9 &#8211; F28 til at fungere for b\u00e5de Intellibox I og II fra JMRI &#8211; en ting, som jeg slet ikke bidrog til, men som Alain gjorde grundarbejdet til, og Bob implementerede ud fra Alains mock-up kode.<\/p>\n\n\n\n<p>Ad. 3: Det var ikke meget tid, der blev til Jython kode. N\u00e6rmere bestemt har jeg ikke skrevet en linie. Men jeg har dog fundet en time eller to til at pr\u00f8ve et par eksisterende scripts. Det fungerer generelt ganske fint. Jeg fik den b\u00e5de til at b\u00e5tte i hornet og k\u00f8re min BR216 frem og tilbage mellem to sensorer.<\/p>\n\n\n\n<p>N\u00e5r det skal blive til mere, skal jeg nok begynde med at bestemme mig for, hvad jeg vil opn\u00e5, alts\u00e5 skrive en kravspecifikation. Det er ikke helt klart for mig, hvad jeg vil. Vil jeg skrive noget specifikt til min bane, eller skal det v\u00e6re generelt anvendeligt? Og i sidstn\u00e6vnte tilf\u00e6lde, skal jeg s\u00e5 selv opfinde et dataformat til at beskrive banen, eller skal jeg bruge det allerede eksisterende i JMRI? Skal mit program k\u00f8re tog p\u00e5 m\u00e5 og f\u00e5? Eller skal det v\u00e6re ud fra en k\u00f8replan? Hvordan skal programmet h\u00e5ndtere, n\u00e5r jeg manuelt k\u00f8rer med et tog? I hvert fald skal programmet holde \u00f8je med alle tog og opdatere deres position p\u00e5 banen (i mods\u00e6tning til RocRail, der kun opdaterer positionen for de tog, som programmet selv flytter rundt med).<\/p>\n\n\n\n<p>Ad 4: Nyt\u00e5rsaftensdag, nyt\u00e5rsdag og en del af fredagen gik med at bygge S88-N og is\u00e6r S88-N-P modul. &#8220;Is\u00e6r&#8221;, fordi det tog meget lang tid at designe og implementere et veroboard layout og sluttelig m\u00e5le det s\u00e5 godt igennem med et voltmeter som muligt, f\u00f8r inds\u00e6tning af diverse IC&#8217;ere. Der var kun to problemer, f\u00f8r det hele fungerede: Der var en enkelt bane p\u00e5 veroboardet, jeg ikke havde f\u00e5et afbrudt (hvilket jeg fandt ud af vha. voltmeteret), og jeg havde lidt problemer med at f\u00e5 programmeret PIC kredsene. Se mere under &#8220;Tilbagemeldingsmoduler&#8221;.<\/p>\n\n\n\n<p>Ad 5: L\u00f8rdag f\u00f8r nyt\u00e5r var sidste \u00e5bningsdag hos Spor23 alias Taastrup Togcenter. Og jeg var lige forbi for at k\u00f8be ESU LokPilot 4.0 dekodere til mit gamle M\u00e4rklin lokomotiv og mit indk\u00f8bte Lima MR tog. Ikke fordi der just var oph\u00f8rsudsalg &#8211; jeg betalte 50 kroner mere pr. stk. end jeg kunne have f\u00e5et dem for hos LokDoc. Men til geng\u00e6ld kunne jeg straks g\u00e5 i gang med ombygningen: Det tog faktisk ikke mange minutter at skille M\u00e4rklin lokomotivet ad og smide gearkassen i et glas terpentin, s\u00e5 al gammel olie kunne blive opl\u00f8st. St\u00f8rste problem var at finde ud af, hvor de to skruer, der holder motorskjoldet, sidder. Til oplysning: De sidder for oven til h\u00f8jre og for neden til venstre, selvom de er d\u00e6kket til af skidt og gammel olie.<\/p>\n\n\n\n<p>Det tog lidt l\u00e6ngere tid at anbringe en lysdiode i stedet for den originale p\u00e6re. Men skal jeg g\u00f8re det igen er det hurtigt gjort: En 5 mm lysdiode passer ganske fint ind i hullet fra den gamle p\u00e6re, og skal bare lige have en lille klat klar lim og en 1 kOhm formodstand.<\/p>\n\n\n\n<p>S\u00f8ndag (sidste dag i ferien) fik jeg smurt gearkassen med en dr\u00e5be ny symaskineolie og samlet motoren med ny magnet, 5-polet anker og motorskjold inklusive andre kul. Det tog ikke mange sekunder. Alle delene kom fra det M\u00e4rklin ombygningss\u00e6t, jeg k\u00f8bte i for\u00e5ret 2014. Fra et MFX dekoders\u00e6t, jeg k\u00f8bte samtidig, kom et 21-polet print til dekodermontering. Selve dekoderen har jeg monteret i BR216. Der er ret mange ledninger p\u00e5 s\u00e5dan et print. Men jeg loddede de ledninger, jeg ikke skulle bruge, af. P\u00e5lodning af de tilbagev\u00e6rende ledninger og fastg\u00f8relse af dekoderprintet tog lidt tid, fordi jeg aldrig har pr\u00f8vet det f\u00f8r. Men dybest set er det ikke sv\u00e6rt, og var da ogs\u00e5 overst\u00e5et p\u00e5 en timestid. Og endnu en succes var en realitet: Lokomotivet k\u00f8rer fint. Dioden lyser meget hvidt. Men det er s\u00e5dan set p\u00e6nt. Den er p\u00e5 ingen m\u00e5de bl\u00e5lig. Bare anderledes end de gl\u00f8dep\u00e6rer, jeg er vant til. De er dog nok alt for gule.<\/p>\n\n\n\n<p>LokPilot 4.0 dekoderen viste sig at fungere langt bedre p\u00e5 programmeringssporet end M\u00e4rklin MFX dekoderen i mit BR216 lokomotiv. M\u00e4rklin dekoderen er umulig at programmere, f\u00f8r man har sl\u00e5et MFX fra. Men der er overhovedet ikke noget problem med LokPilot. Dvs. lige med undtagelse af, at der ikke st\u00e5r i manualen, at de CV&#8217;er, der styrer hvordan lys og AUX udgange skal fungere, kun er tilg\u00e6ngelige, n\u00e5r man f\u00f8rst skriver v\u00e6rdien 16 i CV 31 og 0 i CV 32. Men det g\u00f8r ikke s\u00e5 meget, n\u00e5r man kan programmere fra JMRI: Den kender LokPilot og denne s\u00e6rhed, s\u00e5 man skal bare finde det rette faneblad, indl\u00e6se dekoderens indstillinger, \u00e6ndre det man vil have \u00e6ndret (vha. checkbokse m.v. med sigende labels i stedet for CV numre) og sluttelig skrive \u00e6ndringerne tilbage. Et voila: Mit Santa Fe lokomotiv lyser ikke s\u00e5 skarpt, bl\u00e6nder ned n\u00e5r den holder stille, og har for \u00f8vrigt ogs\u00e5 en mere realistisk maksimal hastighed (den dr\u00f8nede af sted med hvad der svarer til 200 km\/t, hvilket ikke er s\u00f8mmeligt for et lokomotiv fra 1950). Og det hele er gemt som en backup inde i JMRI.<\/p>\n\n\n\n<p>Ad. 6: S\u00f8ndagen gav ogs\u00e5 lige lidt tid til at lege med CNY 37, som er en lille plastik kasse med en IR diode og en foto transister i hver sin side og med en luftspalte imellem. Cirka det samme som en optokobler, bare med mulighed for at stikke et stykke papir eller en tynd plade imellem lyskilde og detektor. Jeg regnede mig frem til en formodstand til dioden (5 V drift) p\u00e5 under 100 ohm, men besluttede mig for 330 ohm og dermed mindre str\u00f8m og formentlig l\u00e6ngere holdbarhed. Og det fungerer fint. Det eneste, jeg ikke lige havde t\u00e6nkt p\u00e5, er, at denne detektionsmekanisme er inverteret: N\u00e5r lysstr\u00e5len afbrydes g\u00e5r inputtet til tilbagemeldingmodulet h\u00f8jt. Og detektionen g\u00e5r p\u00e5 et lavt input. S\u00e5 der skal en inverter ind et eller andet sted. Enten i hardware, i form af en ops\u00e6tning i tilbagemeldingsmodulet, eller i software (dvs. JMRI). S88 modulerne har ikke den mulighed. Det kan dog (hard-)kodes &#8211; jeg har kildeteksten. Uhlenbrock LocoNet modulet har m\u00e5ske muligheden. Det har jeg ikke unders\u00f8gt. JMRI har helt sikkert muligheden.<\/p>\n\n\n\n<p>Ad. 7: Ind imellem &#8211; is\u00e6r i aftentimerne &#8211; fik jeg lavet mig en indk\u00f8bsliste med sporskifter og skinner m.v., fik tegnet lidt flere sidespor p\u00e5, samt udt\u00e6nkt, hvordan jeg kan g\u00f8re en 55 cm forl\u00e6ngelse af prototypepladen fast. N\u00e6ste weekend bliver indk\u00f8bsdag. S\u00e5 er konens eksamen overst\u00e5et og vi kan tage p\u00e5 udflugt til Store Heddinge og g\u00f8re mig 1000 kroner fattigere p\u00e5 sporskifter og skinner samt et par telex koblinger til BR216.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>4\/1-2015: S\u00e5 kom vi ind i 2015 og juleferien er slut. Men for en gangs skyld har jeg holdt ferie. Rigtig ferie, hvor jeg har haft en del futtogstid. Konen l\u00e6ser til eksamen, s\u00e5 jeg har kunnet bruge hele og halve dage. Sejrene er mangfoldige: 1. Jeg har f\u00e5et dekoderprogrammering fra JMRI via IB-COM og &hellip; <a href=\"https:\/\/lisby.dk\/wordpress\/?p=102\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">2015 del 1  &#8211; JMRI, S88-N og f\u00f8rste lokomotiv ombygning<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-102","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/102"}],"collection":[{"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=102"}],"version-history":[{"count":12,"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/102\/revisions"}],"predecessor-version":[{"id":3771,"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/102\/revisions\/3771"}],"wp:attachment":[{"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lisby.dk\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}