I 2023 byggede vi en træterrasse i havens sydvestlige hjørne. Og allerede før det, talte vi om at anlægge jernbane i haven. Vi har nu tegnet et første udkast til, hvordan sådan en bane kan udformes. På dette billede i kort udgave. Den vil kunne forlænges en del op imod vendesløjfen. Den grå firkant er træterrassen.
Det lange stræk løber langs med hækken – med halvanden meters afstand – og indenom et stykke stakit, som udgør kanten af terrassen.
Jeg er ikke stensikker på, hvorvidt vendesporet, der går vinkelret på langsiden, skal gå inde på eller udenfor terrassen. Jeg havde egentlig tænkt, at hele terrassen skulle udgøre en stor vendesløjfe. Men det duer ikke rigtigt at skulle hoppe over sporet for at komme ind på terrassen.
Sporet inde på terrassen nederst til højre på tegningen skal nok være dobbelt. Det er endestationen. Og der skal være to tog på banen for at give lidt liv.
Terrassen er ca. 15 cm over terræn. Og banen skal nok løftes yderligere 15 cm op over terrassen, så denne kan højtryksrenses m.v., og så der ikke bliver trådt på og sparket til sporet. Og så den derved er hævet en lille halv meter over terræn i resten af haven, så robotplæneklipper eller en rive kan komme ind under.
Jeg har købt to startsæt og lidt ekstra skinner. Men jeg skal bruge temmelig meget mere: Foruden træ og maling til underlag for skinnerne, skal jeg også bruge fem sporskiftere a godt og vel 400 kr pr. stk. og 15 meter lige skinner a ca. 220 kr pr. meter. Med mindre jeg finder det brugt.
Så jeg begynder nok henne i terrasse-enden og bruger de skinner, jeg allerede har, hvilket omfatter to sporskiftere. Så jeg vil kunne lave to spor på terrasse-endestationen og en vendesløjfe. Men umiddelbart ikke vigesporet i midten og vendesporet. Og langt fra hele længden af banen. Det må komme efterhånden som jeg finder materiellet på brugtmarkedet eller efterhånden som jeg får sparet sammen.
3/4: Jeg har fundet og købt en del af de skinner, der skal bruges. Der mangler stadigvæk et par af de bittesmå LGB skinner. Men ellers er det mest tid, jeg mangler.
20/6: Det bliver nok ikke til havebane i år. Indtil videre har vi lagt indkørslen om i stedet. Og overkommandoen taler om en del ændringer af bede m.v. i haven. Desuden fik banen en noget anderledes og bedre sporplan i dag, så det bliver et “kødben”, dvs. med vendesløjfe i begge ender og med terrassen som gennemkørselsstation.
Måske bliver der tid til at lave lidt prototype på tracéen, som skal hæves tilstrækkeligt over græsplænen til at robotplæneklipperen kan køre under.
Det er efterhånden nogen år siden, jeg sidst havde gang i jernbanedriften. Så hukommelsen skal genopfriskes på et par punkter:
Hvordan er det smartest at dele sin bane op i blokke?
Hvordan var mit layout repræsenteret på skærmen, når jeg havde JMRI til at styre jernbanedriften?
Hvordan var det nu lige, at jeg havde sat mit JMRI udviklingsmiljø op? For jeg må hellere få det sat op igen. Det nytter ikke blot at installere JMRI. Der går ikke længe, før jeg får brug for at debugge eller at ændre og tilføje i Java koden.
Ovennævnte oplysninger er borte i den forstand, at jeg er gået fra Linux og over til Windows. Og jeg har ikke gemt screenshots af det, og har tilsyneladende ikke beskrevet det på disse sider.
Og så er der jo lige noget nyt, der også skal findes ud af, eksempelvis hvordan jeg bedst får inkluderet elevatoren i JMRI setup, warrant definitioner og mit Jython script til afvikling af warrants.
Udviklingsmiljøet baserer jeg på NetBeans. Det anbefaler JMRI. Og det gjorde jeg også “i gamle dage” Det har jeg noteret i en bisætning på disse sider.
Og jeg har en kopi af den XML fil, hvori mit gamle layout var defineret. Den kan jeg loade ind i JMRI, når jeg får det op at køre igen, så jeg kan se præcist, hvordan det var sat op i JMRI.
De tre etager med OBlocks, signal masts og sporskifter siger lidt sig selv. De hvide OBlocks betyder, at de er frie. De grønne er allokeret af en warrant. Og havde der været et fysisk layout forbundet, så ville der også have været nogen røde (så vidt jeg husker) OBlocks, der hvor en sensor er aktiveret, fordi et lokomotiv trækker strøm fra skinnerne.
Nederst til venstre er der tre elementer for hvert tog (se https://lisby.dk/wordpress/?page_id=2424 for en definition af, hvad et tog er): En knap (implementeret som en intern sensor i JMRI) til at starte og stoppe toget og to tekst felter (variable i JMRI), der viser hhv. status og position for toget.
Men det vides endnu ikke, om mit script til afvikling af warrants fungerer sammen med elevatoren. Det kræver meget mere fysisk bane med sensorer / blokke, DCC styrede sporskifter osv. at teste det.
25/1: Jeg begyndte dagen med at få samme information, som står på det fysiske display på elevatoren, frem på Control Panel’et via ovennævnte JMRI elevator-interface og dets JMRI variable. Og det endda med sort baggrund og store blå tal, ligesom på elevatoren selv.
Derudover brugte jeg lang tid på at mosle med skinnetilslutningen på højre side af de lige etager. Den sad en halv millimeter skævt, så de skinneender, der ligger løst inde i elevatoren, ikke kunne passere igennem. Hvilket lød meget grimt.
Som en del af det ændrede jeg lidt på kalibreringen af elevatorens højre side for etagerne 2, 4 og 6. Og det gjorde jeg inde fra JMRI’s scripting vinduer, idet jeg havde ovennævnte JMRI/elevator interface kørende, hvorfor jeg f.eks. kunne køre en kommando som:
Jeg sluttede dagen med at sætte midtertråden på skinnen til etage 5. Endnu ikke loddet.
26/1: Så er der skinner på alle etager i forreste elevatorstol. Tre med og tre uden midterleder og tilslutning:
27/1: Midtertråd sat på skinnen til etage 7. Uden lodning. Og nu har jeg vist nok “knækket koden”: Fra hver ende skal tråden gennem de to første huller og vikles rundt om svellen ved tredje hul. Resten af vejen er det lutter små stykker fra et hul til det næste. Derved kan tråden gøres nogenlunde glat, samtidig med at bunden af skinnen er flad i begge ender.
28/1: Så er der skinner på etage 7. Næste problem er, at overgangen mellem elevator og omgivelser i højre side ikke rigtigt fungerer. Skinneenderne inde i og udenfor elevatoren støder sammen. Jeg skal nok have justeret det lidt. Og så skal jeg have tilsluttet og testet IR sensorerne, før jeg kommer alt for meget længere. Desuden skal jeg have checket (udskiftet) højre end-stop switch. Kalibreringen går nogen gange helt galt i højre side. Og jeg har set den være aktiv (ved en “get position” kommando) på et tidspunkt, hvor den slet ikke burde være det.
29/1: Jeg havde kun 1/2 time. Jeg fik løsnet skruerne, som holder den fejlende switch, en smule. Så må vi se, om det gør en forskel. Jeg klippede “vingerne”, der skal fungere som guide, af skinneenden på den ene hylde. Men det gjorde ingen forskel. Og jeg forsøgte at justere enden udenfor. Men den var allerede rykket så langt ud, som den kan komme. Jeg printer en ny ende udenfor elevatoren, som er 1/2 mm kortere, og som har mindre kugler til at guide. Jeg tror ikke, at guiden er nødvendig. Det ser ikke ud til, at centreringen er et problem, der hvor jeg klippede guiden helt væk.
31/1: To problemer løst og et problem delvis løst: Defekt end-stop switch i højre side, skinneenden i venstre side af især etage 9 samt meget støj fra stepper motorerne.
Jeg skiftede end-stop switchen. Det hjalp ikke. Det viste sig, at intern pullup på GPIO 19 ikke fungerer på ESP32. Der står ikke noget om det i den dokumentation, jeg kan finde. Men en googling afslørede, at andre har konstateret noget lignende. Jeg brugte meget tid på at forsøge at løse det i software. Men uden held. Mit endelige forsøg var disse linier:
Så jeg proppede en 4,7 kohm modstand på mellem 3,3 volt i kabelforbindelsen til den ene IR modtager og kabelforbindelsen til end-stop switchen. Og problemet forsvandt. Spændingen steg fra 2 til 2,7 volt. Jeg får i øvrigt brug for at gøre noget lignende for at skaffe 3,3 volt til de nye stepper motor drivere, som jeg lige har bestilt (se det følgende). Begge dele burde selvfølgelig gøres på elektronik printet. Og hvis jeg startede forfra på det, ville jeg nok bruge alle SPI pindene som netop det, så jeg kunne få SPI kommunikation til de nye drivere. Men jeg vil meget nødig starte forfra.
Jeg tror, at problemet skyldes, at GPIO 19 pr. default er MISO (dvs. data input) benet i default SPI interfacet. Måske ville det hjælpe, hvis jeg kunne finde ud af at omkonfigurere det. Men mon ikke hardware pullup er mere stabilt i længden?
Skinneenden i venstre side på etage 9 var helt gal. Den knækkede ganske enkelt. Jeg lavede nye ender både udenfor elevatoren og inde i etage 9. Faktisk hele tre forsøg på den indvendige, før det fungerede.
Og så er der støjen. Jeg brugte det meste af aftenen i går på at læse om støj fra steppermotorer og hvordan man måske kan løse det. Og det lader til at løsningen ligger i driverne. Mine TB6600 drivere får høvl i alle mulige tests på YouTube m.v. Bl.a. fordi de driver stepperne med noget der ligner en firkant-kurve. Dvs., at stepperne kører i hak. Det hjælper at køre med microsteps. Jeg har konfigureret til 8 microsteps, og det gør en ret stor forskel.
Det hjælper sandsynligvis også at sætte hastigheden op. Men det vil jeg helst ikke. Der skal ikke kastes rundt med mine tog.
Den del af homingen, hvor mit software leder efter det præcise sted, hvor end-stop switchene ikke længere er aktiveret, foregik ved at køre 20 steps (dvs. 1/10 omdrejning) af gangen. Fordi jeg har en teori om, at det derved foregår så passende langsomt, at jeg når at stoppe ved præcis samme step hver gang. Men det larmede. Så derfor satte jeg det op til 500 steps eller 2,5 omdrejning og satte til gengæld farten ned. I første omgang alt for meget, hvilket fik det til at lyde som et maskingevær, fordi hvert eneste step betød start og stop af motorerne. Men efter kun at have halveret hastigheden, samtidig med at de 8 microstep er indført, lyder det faktisk helt tåleligt.
Men skal det være rigtig godt, skal jeg ifølge ovennævnte tests skifte driverne ud med nogen fra Trinamic. De er nemlig i stand til at interpolere helt op til 1024 microsteps, hvilket får firkanten ændret til en næsten perfekt sinuskurve. Og ydermere har de nogen patenterede modes: “Based on TRINAMICs sophisticated SpreadCycle and StealthChop choppers, the driver ensures absolutely noiseless operation combined with maximum efficiency and best motor torque.” Det lyder jo godt. Så jeg har bestilt et par stykker:
Controlleren er ikke super kostbar. Men den har en masse funktionalitet, hvor man skal bruge det serielle interface (SPI) for at konfigurere detaljerne. Men jeg har tænkt mig at bruge den uden SPI, og derfor nøjes med et subset af, hvad den kan. Hvilket bl.a. er at tilpasse sig nogen karakteristika af motoren samt ovennævnte lave støjniveau.
2/2: Stik til end-stop switche og IR sensorer loddet på. Inklusive ovennævnte pullup modtand og 3,3 volt forsyning til de nye stepper drivere. Indtil videre har switchene været forbundet vha. kronemuffer og IR sensorerne slet ikke forbundet.
Dagens software ændring: Jeg havde lavet det sådan, at hvis en IR sensor melder optaget, ville en kommando om at starte bevægelse til en ny etage blive afvist. Den betingelse har jeg fjernet. For den er ikke nødvendig. Motorerne vil alligevel ikke køre, før alle fire IR sensorer melder klart spor. Desuden viser jeg nu et “B” i displayet, sålænge der er et spor blokeret.
Da jeg til sidst ville teste det hele, fik jeg et chok. Elevatoren trak sig skæv med det samme. Heldigvis har stepperne mistet en del moment efter at jeg indførte de 8 microsteps. Så motorerne “kammede over” uden at ødelægge noget.
Efter en del debugning med min “move” kommando fandt jeg ud af, at venstre side kunne køre både op og ned på kommando, mens højresiden kørte op, uanset om jeg kommanderede op eller ned. Og hvad var der sket? Jeg havde såmænd fået revet DIR ledningen ud af en kronemuffe.
8/2: Skinne monteret på etage 9.
9/2: Sidste skinne (etage 11) i forreste elevatorstol installeret. Teknikken til at montere midtertråden er:
Slib den kant af hullerne i svellerne, der vender ind mod midten af skinnen.
Monter dernæst i hver ende et stykke tråd, der først gøres fast i den 3D-printede skinne-ende med et lille stykke gaffatape, dernæst ned gennem de første to huller og op over svellen lige efter hullet, og sluttelig ned gennem det tredje hul, hvor enden bøjes hen under næste svelle.
Monter dernæst korte stykker tråd fra hul til hul. Lav et hak, der passer ned i næste hul og bøj den rundt om svellen, hvor forrige trådstykke går ned i hullet. Trådens længde passer, når den går fra svellen før det ene hul til anden svelle efter det næste hul.
Alle “samlinger” loddes på bagsiden. Og skinnen forsynes med ledninger, hvorefter der fastgøres seks stk. underlag med gaffatape. De to yderste skrånende, de midterste fire lige.
Desuden har jeg lagt et helt skinnestykke på alle lige etager, dvs. bagerste elevatorstol, således at jeg er klar til at måle, hvor lange stykker skinne, der skal loddes på, så skinnerne kommer til at passe til stolen.
10/2: Jeg har skåret skinneforlængelser til de nederste to lige etager (12 og 10). Jeg synes, at jeg målte meget præcist ud på alle lige etager, og fandt frem til 294 mm på alle seks etager. Men skinnen bugtede sig ret voldsomt. Jeg skar derfor 1 mm af, så forlængelsen nu er 293 mm, hvorefter skinnen på etage 12 kunne være der.
11/2: Skinneforlængelser til yderligere tre etager skåret. Og skinnerne til etagerne 10, 8, 6 og delvis 4 (billedet) monteret. Altsammen stadigvæk uden midtertråd, som er langt den største tidsrøver.
13/2: Jeg har tegnet banen op med blok- og sporskiftenumre, som forberedelse til at definere layoutet i JMRI:
Og jeg er begyndt at taste ind. Jeg har foreløbig fået defineret halvdelen af OBlocks’ene inklusive Portals, Paths og sporskiftere. Men der mangler rigtig meget endnu.
På hardware-fronten er sidste skinne kommet på plads i elevatoren. Fortsat dog uden strøm/midterleder på de lige etager.
14/2: Blok-nummereringen lavet helt om. Og jeg havde også glemt et sposkifte (T10 nedenfor).
Og hvorfor er det vigtigt? Fordi jeg gerne vil, at bloknummereringen følger sensor nummereringen. Og mine sensorer udgøres af tre print med hver 16 sensorer.
Så for at undgå at trække ledningerne frem og tilbage mellem de to sider af rummet, har jeg nu gjort det sådan, at et sensormodul (B33-48) nu dækker hele væggen øverst på tegningen, et andet (B17-32) det nederste højre hjørne af tegningen og et (B1-16) på væggen nederst på tegningen.
Samtidig har jeg afsat lidt huller i talrækken til bl.a. at kunne lave en udvidelse til venstre for på et tidspunkt at lukke hesteskoen, så det bliver en oval samt hvad “man” nu ellers finder på.
Desværre betyder ændringen, at jeg spildte en time i går på at definere OBlocks m.v., som nu skal gøres om. Hvilket jeg har gjort i dag. Dvs. (se “clinic”, som jeg linker til øverst på denne side):
Start PanelPro.
Vælg Tools -> Tables -> Sensors.
Check at sensorerne fra kommandostationen er til stede eller lav nogen interne sensorer, som sidenhen kan skiftes ud med de fysiske ved at editere XML filen.
Gentag øvelsen for sporskiftere.
Åbn et nyt Control Panel.
I menuen på denne vælges Add Item -> Occupancy Table.
I det vindue, der åbnes, oprettes først alle OBlocks.
Dernæst pr. OBlock tilføjes sensornavnet og der trykkes på Paths knappen, alle paths tilføjes (hvilket kræver, at man hopper til Portal vinduet og tilføjer de nødvendig Portaler), for hver Path trykkes på Turnouts og de relevante sporskiftere tilføjes.
Derefter fik jeg placeret de første få sporskifter og blok ikoner i det nye Control Panel.
Jeg brugte lidt tid på at finde ud af, hvordan man ændrer baggrundsfarven: Hold Ctrl tasten nede og klik på baggrunden. Så åbnes en dialogboks.
Dernæst oprettede jeg de første to Signal Masts og fik også placeret dem i panelet:
I Panel Pro vælges menuen Tools -> Tables -> Signals -> Signal Masts.
Tilføj to Signal Masts (en for hver retning) for hver eneste Portal. Jeg vælger Danish Simplified systemet, Indkørselssignal, virtuelt (altså kun inde i JMRI og ikke fysiske signaler).
Gå tilbage til Occupancy Block Table vinduet og vælg signal tabellen i Tables menuen.
Gå ind i det vindue, der derved åbnes, og tilknyt fra og til Oblocks og Portal til hver Signal Mast.
Placer Signal Mast ikonerne i Control Panelet. Jeg fandt frem til, at nogenlunde passer at skalere ikonerne til 60%.
Når hele panelet er defineret skal der defineres signal mast logic ved at højreklikke på hver signal ikon og definere hvilke sensorer, sporskifter og andre signaler, der skal styre pågældende signal.
Sluttelig (fandt jeg ud af 27/3) skal Signal tabellen i Occupancy Block Table vinduet udfyldes, for at definere sammenhængen mellem Signal Masts, OBlocks og Portals, sådan at Warrants kan styres af signaler.
Lørdag 15/2: Alle lige etager kalibreret endnu en gang efter at have fået skinner. Desuden er der nu midterleder på etage 12 og 10. Og etage 8 er klar til lodning og ledning.
18/2: Så er der strøm på etage 8 og 6.
Det går knap så godt med mine nye stepper drivere, som jeg bestilte 31/1. Afsender påstod, at de blev afsendt 10/2. Men der er stadigvæk ingen track and trace information. Efter mange henvendelser har afsender nu endelig meddelt, at de ikke kan skaffe varen. Men jeg bliver nødt til at vente et par dage endnu, før jeg kan klage til AliExpress og få mine penge tilbage.
Til gengæld har jeg bestilt to andre drivere baseret på samme chip. Billigere, men ikke lige så gennemført. Det er kun et råt print, som jeg selv skal lave en kasse til (med plads og åbning til kølepladen). Se projektbeskrivelsen her.
20/2: Alle skinner har nu strøm på. Dvs. hele elevatoren er færdig +/- nogen nye stepper drivere, lidt pænere ledningsføring til ditto samt at lægge låget på elektronikboksen.
23/2: Lidt i limbo-mode. Foråret kommer snart, og så er det ikke futtogstid mere. Have-aktiviteter m.v. så småt ved at gå i gang. Jeg mangler de nye stepper-drivere for at gøre elevatoren helt færdig. Og hylderne skal males, før jeg for alvor går i gang med at bygge banen.
Så jeg har ryddet op i både garagen og tog-rummet. Dvs. lagt alt værktøj på plads og flyttet mit arbejdsbord på plads, så det ikke længere står inde under elevatoren. Der står i stedet to flyttekasser med ting og sager til at bygge banen af. De havde ellers haft ophold i entreen, siden elevatoren kom ind fra malerværkstedet.
Og så har jeg endnu en gang tænkt mig lidt om og fjernet blok 124 ovenfor. Det nytter ikke noget, at en warrant kun reserverer halvdelen af elevatoren. Så derfor prøver jeg nu i stedet at lade alle 12 etager hedde blok 24. Så må jeg holde tungen lige i munden, når jeg definerer warrants, så jeg bruger de rigtige blokke udenfor elevatoren, alt efter om toget holder på en lige eller en ulige etage.
12/3: Det meste af layoutet defineret i JMRI. Dog endnu ikke signaler og warrants. Sporskiftere redefineret i ECoS.
De nye stepper-drivere er endelig kommet til Holland. Så nu er det kun et spørgsmål om få dage.
16/3: Virtuelle Signal Masts inklusive logik defineret på den øverste halvdel af banen:
De nye stepperdrivere installeret. De gjorde elevatoren lydløs, når den står stille. Og mere lavmælt, mens den bevæger sig. Men jeg har observeret en underlig opførsel under homing, hvor den aldrig bliver færdig med at home. Jeg fik softwaren til at skrive mere information om, hvad der foregår. Men derved forsvandt problemet desværre, uden at jeg fandt ud af, hvad der i virkeligheden går galt.
Derudover har jeg monteret en gardinstang. Fruen har nemlig lovet at sy et gardin til at holde støv og sollys ude.
18/3: For at styre de to krydssporskiftere rigtigt er jeg gået over til LogixNG, som er noget nyt (for mig) i JMRI. Jeg skiftede fra Logix til LogixNG, fordi kun LogixNG tillader at sætte tilstanden af et sporskifte til “Inconsistent”. Og så er det nok meget godt at blive bekendt med LogixNG, som i det hele taget kan lidt mere.
Jeg har lavet seks conditionals for hvert sporskifte. Fire af denne type (for hver kombination af de to virtuelle sposkifteres tilstande):
Og to af denne type (for hver tilstand af det fysiske sporskifte):
Derved styrer de virtuelle sporskiftere de fysiske, samtidig med at en ændring på de fysiske invaliderer de virtuelle. Jeg bruger en intern sensor “IgnoreT5” og en timer i LogixNG til at sørge for, at en ændring af det fysiske sporskifte ignoreres, hvis ændringen skyldes ændringer af de virtuelle sporskiftere.
19/3: To konklusioner fra en hurtig lille tilføjelse af nogle få flere skinner: Det er ret smart at have de 10 mm flamingo på banen. Det er nemlig nok til at give plads til servoerne under sporskifterne. Derudover skal bredden på den bro, der skal forbinde de to sider af banen foran elevatoren alias blok 22 og 23 på tegningen ovenfor, være 14 cm, hvis det er en ren jernbanebro. Noget mere, hvis der også skal være plads til biler. Og det skal der måske? Jeg har tænkt på, at det skal være Lillebæltsbroen. Men jeg har indtil videre ikke tænkt veje ind i layoutet.
20/3: Resten af signalerne og signallogikken defineret, så der kan køres med SCWarrants. Når altså skinnerne bliver lagt. Hvilket kræver, at hylderne først kommer en tur i garagen for at blive malet. Og at broen bliver bygget og malet.
21/3: Da jeg kom hjem fra arbejde i dag, var det til en positiv overraskelse: Nuer der støvgardin foran elevatoren.
23/3: Lillebæltsbroen kan nu blive 2 cm smallere. Jeg har nemlig rykket den ene skinnestreng lidt længere væk fra elevatoren:
27/3: SCWarrants testet med nyeste JMRI version. 2 fejl, som begge er introduceret som følge af andre ændringer i JMRI, fundet og rettet. For det første var det ikke muligt at oprette en SCWarrant. Og for det andet virkede tracking af SCWarrants (dvs. visning i PanelPro af, hvor et tog under warrant kontrol befinder sig).
En tredje fejl var, at SCWarrants ikke var i stand til at finde signalerne. Og så er de ikke særlig Signal Controlled. Det viste sig dog, at det ikke var en fejl i koden. Det var bare mig, der ikke havde udfyldt signal tabellen i Occupancy Block tabel vinduet. Den tabel, som knytter blokke og portaler sammen med signaler. Det kunne have været lavet så smart, at den logik, der styrer hvilke aspekter signalmasterne skal vise, var nok. Men sådan er det med JMRI: Forskellige bidragydere kommer med hver deres funktionalitet. Og så bliver det i dette tilfælde nødvendigt med lidt dubleret data.
Desuden er der flere fejl, som jeg ikke har set på endnu. Men de skal rettes.
Når man editerer en SCWarrant åbner vinduet eksempelvis altid med “almindelig warrant” valgt. Man kan godt ændre valget, og trykker man Save bliver warranten gemt som en SCWarrant. Men næste gang man åbner den i Edit mode ser den igen ud som en almindelig warrant. Så det er mest et irritationsmoment.
Hvis man starter en SCWarrant uden at afgangs-blokken er optaget, går warrant list vinduet i baglås.
3/4: Ovenstående fejl rettet.
10/5-2025: Der er sat flere hylder op, og der er ryddet op i togrummet.
Under oprydningen røg der en hel pose med fejl- og prototype-print ud. Hvis man bliver klog af at fejle, må jeg være en vis mand nu.
24/8: Jeg fik konverteret garagen til malerværksted igen og fik de første to (ud af 4) stykker bane-underlag derud og givet grunder på den ene side:
Elevatoren er stort set færdig. Dog uden skinner. Den hænger på væggen, men der er hverken bane eller hylder rundt om den.
15/12-2024: Jeg var så heldig, at der var tørvejr om formiddagen. Derfor fik jeg savet en del 19 mm MDF i 5 cm brede “brædder”, som skal blive til kanter på hylderne ved siden af elevatoren.
20/12-2024: For at få overgangen mellem elevatoren og resten af banen til at fungere, må der nødvendigvis være noget, der kan kaldes “resten af banen”. Derfor er jeg gået i gang med at konstruere hylderne, hvor resten af banen skal bygges på. Jeg begynder med hylden i hjørnet bag højre side af elevatoren.
Udgangspunktet er 2023 del 1, hvor jeg fandt frem til at lave hylderne af 9 mm krydsfiner med kanter af 19 mm MDF. Det ene hyldesegment, som jeg byggede dengang, var dog med en hel underplade, hvilket ikke holder i virkeligheden. For den kan naturligvis ikke tages af, mens hylden ligger på hyldeknægtene. Så derfor skal MDF rammen have en vange for hver hyldeknægt, som hylden hviler på. Og pladerne skal kun være ved siden af og mellem hyldeknægtene.
Derudover troede jeg i 2023 del 1, at der skulle være to etager med skinner. Men jeg besluttede i 2023 del 2, at der med elevatoren kun skal være en etage. Og et hulrum til at skjule ledninger m.v. i.
”Brædderne” fra forleden er i dag (hvor solen også skinnede) savet i passende længde til rammer til alle hylderne. Og desuden er spidsen af en enkelt hyldeknægt savet af, så der er plads til den på højre side af elevatoren.
21/12: Rammen til hylden til højre for elevatoren limet sammen. Og der er savet et hak i en plade, så man nogenlunde kan se, hvordan det kommer til at se ud. Dvs., jeg kan netop ikke rigtigt se, fordi jeg ikke kan komme om i hjørnet. Men jeg kan godt række mobiltelefonen ind for at tage et billede:
22/12: Design af skinnender til portalsiden. Det er en viderebearbejdning af designet fra 14/12 nederst her: Elevatordesign – mekanik.
Det tager en del forsøg med at justere halve og hele (op til to) millimetre i alle fire retninger. Det er meget svært at måle præcist, så jeg fik printet en del eksemplarer, der alligevel ikke helt passer:
24/12: Det er lykkedes at få den yderste elevatorstol til at fungere med skinner (uden midtertråd) på de nederste tre etager og løse skinne-ende-plastikstykker på de tre øverste. Men skinnerne på begge sider skal skrues fast, forstået på den måde, at de skal kunne bevæge sig en anelse til siden og ud og ind, men ikke op og ned. Derfor skruer eller limer jeg skinnerne fast et lille stykke inde i og uden for elevatoren.
25/12: Der er strøm på skinnen på etage 1. Den rigtige vej via relæet i elektronikboksen.
26/12: Jeg har kørt de første vogne ud af og ind i elevatoren. Det virker fint. Og jeg har monteret midterlederen til etage 3. Jeg syntes, at det var smart at lave det som et (det blev to) langt stykke tråd, så der ikke er så mange samlinger på undersiden. Men så begyndte næste problem: Midterlederen er for høj en del steder. Og så kortslutter det, når lokomotivet får klemt slæbeskoen op på hjulakslerne. Efter at have klemt midterlederen ned mellem svellerne er der det modsatte problem, nemlig at der er nogen steder, hvor lokomotivet mister strømmen, når det kører helt langsomt. Jeg finder helt sikkert en god løsning i morgen.
28/12: Pladen limet fast på hylden til højre for elevatoren. Og der er nu også strøm på skinnen på etage 3. Midterlederen skulle løftes en anelse de steder, hvor lokomotivet ikke fik strøm i går. Der er der dog ikke strøm på skinnen udenfor elevatoren, så jeg kan endnu ikke køre hele toget fra den ene etage til den anden. Kun skubbe/trække vognene ud/ind af elevatoren.
29/12: Det var egentlig tanken at genbruge et stykke krydsfiner fra gammel bane. Se 2017 del 1. I pladen vil jeg skrue skinnerne udenfor elevatoren fast. Jeg printede derfor sporplanen for hjørnet til højre for elevatoren ud i naturlig størrelse og ville til at skrue skinnerne fast. Men jeg besluttede i stedet at bruge dagen på at konstruere denne udbygning på elevatoren, hvor skinne-enden er gjort fast:
Så er der helt styr på udkørslen fra elevatoren. Det sorte stykke er skinne-enden, som bliver skruet fast i det hvide stykke med nogen skiver, der lader det sorte bevæge sig 1/2 mm til siden. Det hvide stykke er skruet på siden af elevatoren. Og i det hvide stykke kan selve skinnen også skrues mere eller mindre fast.
30/12-2024: Alle fire udkørselsplatforme er nu printet og monteret. Alle etager i elevatoren kalibreret. Skinneenderne udenfor elevatoren genudmålt og redesignet, så der er bedre styr på midterlederen.
Men som det ses, har jeg endnu ikke udtænkt en god måde at montere skinnerne. Dels skal flex-skinnerne gøres fast i et eller andet, og dels er der en højdeforskel på 27 mm mellem oversiden af en flex-skinne på elevator-udbygningen og en Märklin skinne direkte på hylden.
Det er dog et spørgsmål, om noget som helst skal anbringes direkte på hylden. Jeg har tænkt på at lægge et 10 mm lag flamingo på hylderne, så der også kan laves lidt landskab. Måske endda en sø. Eller bare en grøft. Og hvis jeg gør det til et 20 mm lag i stedet, så er der kun en ganske lille højdeforskel.
Vi gentager lige sporplanen. Jeg ser først nu, at jeg fejlagtigt havde brugt et 24772 sporskifte i stedet for 24672 øverst til højre på sporplanen. Det måtte rettes. Dels har jeg ikke et 24772 og dels ville det ikke fungere med et slankt sporskifte.
3/1-2025: Efter mange spekulationer om, hvordan jeg kunne fastgøre flex-skinnerne til højre for elevatoren, fik jeg den lyse ide at bruge Märklin C-skinner i stedet. Og med 20 mm flamingo oven på alle hylder, så er der kun overkommelige 6 mm højdeforskel at udligne. Det krævede en kortere udgave af udbygningen uden på elevatoren.
Således blev elevatoren forbundet med omverdenen. Og det fungerer fint:
Det gav anledning til at justere hele banen en smule:
Banen passer til tog, der kan køre i begge retninger, dvs. styrevognstog eller moderne togsæt. En vendesløjfe midt på banen er ikke nok til at et lokomotivdrevet tog uden styrevogn kan køre uden at skulle bakke ind på en station. Nuvel, der kan omkøres på i hvert fald den grøn/blå station og den brune kunne ændres til at gøre dette muligt. Men det er ikke alle lokomotiver, der kan bakke uden at det ser uvirkeligt ud. Og desuden kan omkørslen vanskeligt computerstyres.
I det virkelige Danmark er det i moderne tid ikke det store problem for persontog. Alle persontog i nyere tid er enten togsæt eller styrevognstog (f.eks. MA lyntog IC3, IR4, IC4, MR, Lint, Desiro og endda gamle motorvognstog som Y-tog, skinnebusser, MO, MS/MB lyntog osv.).
Men intercitytog (MY/MZ med B og A vogne), dampdrevne tog og godstog er en helt anden sag. Et godstog bakker ikke ind på en station.
Så med mindre jeg dropper disse typer tog eller ser stort på realismen, vil jeg være nødt til at have en vendesløjfe på endevæggen (hvilket vil tillade et tog, der kører fra den ene station til den anden, fortsætter over på endevæggen, vender og kommer tilbage og kører den anden vej) eller som en direkte tilføjelse til den brune station, så et tog kan køre ind på den brune station, fortsætte ud gennem denne vendesløjfe, tilbage til brun station, ind gennem eller foran elevatoren, gennem vendesløjfen vist ovenfor og dernæst tilbage til brun station.
Dvs., at denne begrænsning kan overkommes via en udvidelse. Det kan manglen på rangeringsmuligheder derimod ikke. Men det er heller ikke det, jeg vil lege med. Jeg vil kun køre med allerede oprangerede tog.
4/1: Skeletterne til begge hylder til venstre for elevatoren limet sammen. Den ene om morgenen, den anden om aftenen. Desuden er bunden skruet af den hylde, jeg lavede i februar/marts 2023, og vanger, så den kan ligge på hyldeknægtene, limet og skruet på.
5/1: Lidt mere hyldearbejde. Toppladen limet på hylden til venstre for elevatoren. Bundplader savet ud til begge hylder i højre side og skruet på den ene af dem. Det gik en del lettere denne gang.
6/1: Flere gevindbøsninger bestilt. Det samme med nogle få små Märklin C-skinner. Og sidste top-plade limet på rammen:
7/1: Layoutet forbedret lidt, så der kan køre flere tog samtidig, og så der ikke skal bakkes helt så meget helt så langt.
9/1: Endnu et par ændringer, så skinnerne ligger lidt nærmere hinanden, og så der er flere muligheder for omkørsel og lidt rangering.
Eller
Men for at kunne foretage omkørsler skal der monteres telex-koblinger på lokomotiverne. Og jeg tror ikke, at det bliver pålideligt nok til computerstyring. Så der skal nok (på et tidspunkt) laves et aftageligt stykke til at “lukke” hesteskoen, så et tog kan køre rundt i en cirkel.
11/1: Hylder på højre side af elevatoren færdiggjort. Dvs. klar til at blive malet. Og dvs. bunden skruet på hylden nærmest elevatoren, de to hylder skruet sammen og et hul til ledninger boret/savet mellem de to hylder.
Desuden har jeg savet og monteret bund-plader under den ene af hylderne i den anden side af rummet. Dvs., jeg har boret alle hullerne men mangler 7 gevindbøsninger for at kunne skrue pladerne ordentligt på.
12/1: Jeg fik 3D-printet nogen 1,5% hældninger til svinget ud af elevatoren. Dvs. til at udligne de 6 mm højdeforskel mellem hylde og elevator på 2 x 30 graders skinner. Og hvis du tænker, at dem på billedet har mere end 1,5% hældning, så har du ret. De var et fejl-print.
18/1: De sidste hylder færdiggjort.
Desuden har jeg gen-monteret skinnerne umiddelbart til højre for elevatoren. En prøvekørsel viser, at toget (primært Lima B-vognen, men også nogen gange lokomotivet) ofte afsporer, når det kører ud og ind af hylde 1. Men tilsyneladende kører det mere stabilt ud og ind af hylde 3.
Det kan være fordi skinnerne ikke sidder fast i underlaget. Faktisk svæver de en smule over terræn alle vegne. Jeg har sat lidt dobbeltklæbende tape mellem hylde og skinne i enden af hylde 1. Og jeg har gjort understøtningen udenfor hylderne 1 mm højere.
Det ser umiddelbart ud til at hjælpe. Men jeg skal have kørt en hel del mere – nok også med et andet tog, før jeg konkluderer noget.
Software er som sædvanlig det der usynlige, der bringer det hele til live, binder alle komponenter sammen og får det hele til at fungere. Desuden skal det indeholde en WEB server, så man fra en PC eller en tablet kan styre elevatoren og se samme information som på displayet.
Kravspecifikationen:
Det skal være hårdt kodet (eller bedre: gemt på SD kort eller i intern flash memory), hvor lang afstanden er mellem de 12 etager. Der er 12 etager, fordi det er urealistisk at få de to elevatorstole og ophænget af dem præcis nok til at have 6 dobbelt-etager, hvor begge elevatorstole er præcis ud for skinnerne, så tog kan køre ud og ind. For at tage højde for små skævheder i træværk m.v. skal dette ske ud fra målinger og ikke kun ud fra CAD tegningen. Det giver et afledet krav om noget software til at foretage denne kalibrering af disse højder.
Når strømmen tændes, skal elevatoren selv finde til etage 1. Dvs. check konstant sensorer for endestop, idet der gøres følgende: Indtil elevatoren er ved endestop: Kør langsomt nedad. Derefter: Kør langsomt opad indtil endestop netop er deaktiveret. Elevatoren er nu i nul-position. Kør til etage 1 ud fra det kalibrerede antal steps. Husk, at der er to sider, der begge skal ramme samme etage.
Displayet skal vise, hvilken etage elevatoren er på (“?” under initialisering), seneste kommando (DCC eller WEB samt etage) og status (“står stille”, “kører op”, “kører ned” eller forskellige fejlmeddelelser, som f.eks. “flere etager aktive” eller “indkørsel blokeret”).
Elevatoren må ikke sættes i bevægelse, hvis der befinder sig en genstand i en af de fire “porte” ind i elevatoren.
WEB siden skal vise samme information som displayet.
Der skal konstant lyttes efter og reageres på ordrer fra både WEB side og DCC interface.
Design:
For at implementere disse krav skal der implementeres følgende objekter (definition af klasserne følger) i C++ koden på ESP32. Derudover noget JavaScript i HTML siden, som eksekveres i browseren:
To positionssensorer (PosSensor): Et endestop i hver side.
Fire IR sikkerheds-sensorer (SecSensor) til sikring af krav 4.
To stepper motorer (StepMotor).
En positionerings logik (PosLogic), der dels kan initialisere til etage 1 og dels flytte til en anden etage – begge dele koordineret mellem højre og venstre side.
Kalibreringsfunktionalitet (Calibrator), der kan bruges til at lave og gemme et antal steps i forhold til nul nivauet pr. 12 etager pr. side i en fil på SD kortet.
WEB server (WebServer), der kan kommunikere med JavaScript koden i browseren på PC/tablet og med JMRI og derved modtage kommandoer og vise status.
Display styring (Display), der kan vise status.
DCC interface styring (DccInterface), der kan modtage kommandoer.
Derudover skal der være et JMRI script, der sammen med Warrant afvikleren (se http://lisby.dk/wordpress/?page_id=2424) hele tiden ved hvilket tog, der findes på hvilken hylde i elevatoren – og hvordan toget vender.
Definition af de enkelte klasser:
Klasse: PosSensor (måske er der ikke brug for en klasse – det er vel bare en I/O pin) Metoder: Constructor, IsActive Semantik: Repræsenterer en micro switch, som bruges til at positionere (“home” hedder det vist nok på en 3D printer) elevatoren. – Constructor: Initialiserer den input port, som switchen er forbundet til. – IsActive: Returnerer sand, hvis switchen er aktiv. Ellers falsk.
Klasse: SecSensor (måske er der ikke brug for en klasse – det er vel bare en I/O pin) Metoder: Constructor, IsActive Semantik: Repræsenterer en IR sensor, som føler på, om der er et tog eller et andet fysisk objekt i en “indkørsel” til elevatoren. – Constructor: Initialiserer den input port, som sensoren er forbundet til. – IsActive: Returnerer sand, hvis IR sensoren er aktiv. Ellers falsk.
Klasse: StepMotor (Måske er det bare AccelStepper klassen?) Metoder: Constructor, Move Semantik: Repræsenterer en stepper motor, som kan bevæges et antal steps den ene eller den anden vej. – Constructor: Initialiser motoren inklusive de tre I/O porte, der bruges til motoren. – Move: Få motoren til at bevæge sig det angivne antal steps i den angivne retning.
Klasse: PosLogic Metoder: Init, Home, MoveTo, GetStatus Semantik: Logik til at bevæge hele elevatoren til en bestemt etage under anvendelse af kalibreringsdata. Sørger også for initielt at bevæge elevatoren til etage 1 vha. endestop sensorerne, samt at begge sider følges ad. Og endelig kan JMRI koden spørge, om elevatoren er i en veldefineret position og i givet fald hvilken etage. – Init: Sætter steppermotorer og sensorer op. – Home: Initialiserer elevatoren, dvs. ved anvendelse af begge endestop micro-switche og begge motorer at få elevatoren i nul-positionen og derfra vha. kalibreringsdata til etage 1. Samt sætte status og statusmeddelelser på display og WEB side. – MoveTo: Flyt elevatoren til den angivne etage. Opdater status og status meddelelser som ovenfor. – GetStatus: Bruges af JMRI til at sikre, at elevatoren står stille det rigtige sted, før toget køres ud eller ind i elevatoren. – Lock og Unlock: Bruges af JMRI koden til at sikre, at elevatoren ikke bevæges via WEB siden eller direkte på ECOS, mens tog køres ud og ind af elvatoren. Dvs. WEB og DCC kalder blot MoveTo, mens JMRI udfører en hel sekvens: MoveTo, Lock, poll GetStatus indtil elevatoren er på rette etage, kør tog ud eller ind af elevatoren Unlock.
Klasse: Calibrator Metoder: GetOffset, SetOffset, ReadFromSD, WriteToSD Semantik: Ved anvendelse af WEB serveren og JavaScript koden i browseren vises og justeres kalibreringsdata, dvs. antal steps pr. etage pr. side, som motoren skal bevæges i forhold til nul-positionen for at ramme pågældende etage præcist. – GetOffset: Returner offset for en side af en etage. – SetOffset: Sæt nyt offset (i RAM) for en etage. – ReadFromSD: Læs alt kalibreringsdata fra SD kortet (efter power up). – WriteToSD: Skriv alt kalibreringsdata til SD kortet for at bevare det efter power off.
Klasse: WebServer Metoder: Init, m.fl. Semantik: Genbrug af WebServer koden fra havetoget. Se Software til havetog. Eller rettere SDWebServer klassen her. Som så igen kræver en tilpasset version af AjaxHandler samme sted fra. AjaxHandler håndterer kommandoer fra den JavaScript kode, der kører i browseren. Dvs. de filer, der anbringes på micro SD kortet. Det handler for havetogets vedkommende om disse tre filer: index.html, togbane.css og togbane.jss, der findes her. Bemærk i øvrigt, at der ingen events flyder imellem WEB server og JavaScript koden i forbindelse med styring af havetoget. Og det er kun JavaScript koden, der sender kommandoer – herunder en GetStatus kommando med faste tidsintervaller. Der er dog også en WEB socket, som bruges til at sende log information til client siden. Den kunne sådan set godt bruges til at opdatere status på WEB siden. Det skal overvejes, hvad der er smartest. – Init: – m.fl.: Der skal implementeres nogen kald, som kun bruges af JMRI. Måske er det de samme som WEB siden bruger, altså via AjaxHandler.
Klasse: Display Metoder: Init, NewLevel, AtLevel, Homing Semantik: Et simpelt interface til at styre displayet. – Init: Initialiser display interfacet. – NewLevel: Vis bevægelsen fra en etage til en anden på displayet. – AtLevel: Vis den etage, hvor elevatoren står, på displayet. – Homing: Vis teksten “Homing..” på displayet.
Klasse: DccInterface Metoder: Init, Loop, Callback Semantik: – Init: Initialiserer NmraDcc interfacet. – Loop: Kalder videre ind i NmraDcc for at holde det i live. – Callback: Ikke en del af klassen. NmraDcc kræver, at det er en simpel funktion. Reagerer på de relevante sporskiftekommandoer ved at kalde ind i PosLogic.
Desuden kan OTAHandler klassen fra havetoget genbruges. Den gør det muligt at uploade en ny software version til ESP32 over WIFI.
Mht. DCC interfacet, så kan ECOS styre en Märklin 7686 drejeskive. Og en drejeskive og en elevator er begge noget, der kan flytte tog til en ud af flere mulige positioner. Så det er tæt nok på til at være bedre end alt andet. Jeg har fundet en beskrivelse af, hvordan den drejeskive “ser ud” på et DCC system: 7686_turntable_quick_start.pdf
Det vil altså sige, at drejeskiven optræder som et antal sporskifter. Jeg får kun brug for 6 sporskifter-definitioner, fordi elevatoren kun kan sættes i 12 forskellige stillinger:
Med hensyn til displayet er der en artikel at komme i gang på her: I2C OLED display. Vha. artiklens link til en stump kode, der læser adressen på forbundne I2C devices, fandt jeg ud af, at mit display har adresse 0x3C.
Og da jeg igen begyndte at “lege” ESP32, havde jeg glemt, at når en ESP32 skal have downloadet en ny software, skal man trykke “enable” knappen (den til højre, når USB stikket vender hen mod en) ned, når Arduino IDE er næsten færdig med at kompilere, og dernæst holde den nede indtil der ikke længere tegnes prikker efter “connecting” ordet i output vinduet. Husk endvidere, at serial monitor skal åbnes via Arduino IDE menuen. Det er ikke det samme som output vinduet.
Til motorstyringen ser det ud til, at AccelStepper er et godt bud: AccelStepper på GitHub hhv. AccelStepper hjemmeside – dog med det lille problem, at man kan vælge enten at synkronisere flere motorer eller at have styr på acceleration og deceleration. Jeg har behov for begge dele på samme tid.
I første omgang er det OK med en helt tekstbaseret side. Grafik kan altid tilføjes.
Til drift af elevatoren skal der være følgende:
Knapper til at vælge, hvilken etage, der skal flyttes til
De samme status informationer, som vises på OLED displayet
Måske noget debuginformation – en log eller lignende
Og til kalibreringen skal der være:
Et antal rubrikker med hver sin kalibreringsparameter:
Øjeblikkelig værdi
+/- knapper til at ændre værdien
Det ser sådan ud i virkeligheden (screenshot fra den “tykke” UI nævnt længere nede, men samme princip i HTML udgaven):
Mht. kalibrering:
Der er 100 mm eller 50 spindel-omdrejninger a 200 steps = 10.000 steps mellem to etager. Dvs.:
Etage 1 og 2 er 0 steps
Etage 3 og 4 er 10.000 steps
Etage 5 og 6 er 20.000 steps
Etage 7 og 8 er 30.000 steps
Etage 9 og 10 er 40.000 steps
Etage 11 og 12 er 50.000 steps
Disse tal skal kunne kalibreres for hver side. Og skulle det vise sig, at der er forskelle på opadgående retning og nedadgående retning, så må PosLogic laves, så der altid positioneres ved at stoppe lidt for lavt, og dernæst køre langsomt op til den kalibrerede position. Dvs., at der skal kalibreres på samme måde.
Det skal være sådan, at der først vælges en etage, hvorefter elevatoren bevæger sig hen til den etage, ud fra den kalibrering, der allerede findes, hvorefter kun de to relevante kalibrerings-paramtere (dvs. højre og venstre) kan ændres. Resten skal være disablede.
Og så snart en parameter ændres, skal den pågældende stepper motor bevæge sig tilsvarende.
12. oktober 2023
Software’n fungerer i store træk. Men det gør ESP32 WIFI forbindelsen ikke. Den er så svag, at jeg stort set ikke kan få den til at connecte. Og selv når forbindelsen kommer op, vil den ikke rigtigt blive oppe. Måske kan det fikses med et WIFI access point lige ved siden af elevatoren. Eller en bedre antenne på ESP32. Der kan loddes en ekstern antenne på. Eller det kan løses med en ESP32 med Ethernet port. De findes.
Men jeg overvejer i stedet at flytte WEB serveren over på PC’en. F.eks. implementeret vha. Flask. Og så ellers bruge Serial forbindelsen i ESP32 til at kommunikere mellem PC og ESP32. Og Web Serial API i JavaScript koden i browseren for at få fat i USB porten i PC enden.
Eller jeg kunne lave det som en gammeldags applikation med et user interface. For at holde mig til noget, der delvis kan genbruges inde fra JMRI, bliver det nok en kombination af Python, PySerial og TkInter. Som her.
Så må jeg senere bestemme mig for, om jeg også bruger PySerial fra JMRI, eller om jeg bruger den serielle kommunikation fra Java / Jython.
Ved at gå Web server vejen vil jeg kunne have både stand-alone applikationen (i det tilfælde browseren) og JMRI til at kommunikere med elevatoren samtidig. Det vil jeg ikke kunne med den “tykke” applikation, idet både JMRI og applikationen skal bruge samme COM/USB port i PC’en. Altså med mindre JMRI i stedet kommunikerer igennem min applikation. Eller med mindre jeg udstyrer ESP32 med et ekstra USB interface. Det kan man sagtens. Men jeg ser ikke det behov. Lad os se på use cases:
Ved automatisk togdrift har jeg ikke brug for stand-alone applikationen. Jeg kan holde øje med elevatoren både på det fysiske display og i JMRI.
Ved kalibrering har jeg ikke brug for JMRI. Den funktionalitet har jeg kun tænkt mig at implementere i stand-alone applikationen. JMRI skal kun skulle skifte etage og måske vise status.
Når jeg bare vil køre tog direkte fra ECOS, kan jeg styre elevatoren derfra. Eller fra enten stand-alone applikationen eller JMRI.
Jeg tror ikke nødvendigvis, at det er super svært. I grove træk handler det om at fjerne SDWebServer, OTAHandler og AjaxHandler. Og til gengæld indføre en AjaxOverSerial i både ESP32 enden og browser / JavaScript / Python / JMRI / Jython enden. Jeg kunne også fjerne SD kortet og i stedet gemme kalibreringsdata på PC’en. Men derved ville elevatoren ikke kunne fungere uden PC, så det ville være en dårlig ide. Men eftersom SD kortet kun ville komme til at indeholde en enkelt fil med i alt 24 long integers, så vil jeg nu nok fjerne den alligevel og i stedet bruge Preferences biblioteket og den indbyggede flash memory.
Definition af den serielle kommunikation
Alle kommandoer og svar er en linie tekst.
Kommandoer:
get status (returnerer statusinformation som defineret nedenfor)
get calibration <etage> (returnerer kalibrerede data for etagen)
get position <etage> (returnerer status og position for steppere og end-stop switche)
get lock (returnerer låsestatus)
set calibration <etage> <venstre> <højre> (sætter og persisterer kalibreringsdata for etagen)
set level <etage> (flytter elevatoren til den angivne etage)
set levelfromcalibration <etage> <venstre> <højre> (flytter elevatoren til de angivne stepper positioner)
set lock <ja/nej> (sætter låsestatus)
move <left/right/both> <steps> (flytter den ene (eller begge) stepper(e) som angivet)
reset (annullerer homing, så dette gentages ved næste “set level’)
Svar:
CALIBRATION <etage> <venstre> <højre>
LOCKED <ja/nej>
STATUS <statusinformation>
Parametre:
<etage>: et tal mellem 1 og 12
<venstre>: antal steps for venstre motor, der svarer til etagen
<højre>: antal steps for højre motor, der svarer til etagen
<ja/nej>: enten YES eller NO
<left/right/both> enten “left” eller “right” eller “both”
<steps> ved angivelse af fortegn (f.eks. +14 eller -14) menes et relativt antal steps. Uden fortegn flyttes til den absolutte position.
<statusinformation>, som er en af følgende:
BLOCKED Noget blokerer lyset for en af IR sensorerne.
HOMING 1 Elevatoren homer. På vej ned til endestop.
HOMING 2 Elevatoren homer. Leder efter det sted, hvor endestop deaktiveres.
HOMING 3 Elevatoren homer. På vej lidt højere end 1. etage.
HOMING 4 Elevatoren homer. På vej ned til etage 1.
MOVING <fra> <til>
IDLE <etage>
STATUS svaret bliver også sendt som event, når der sker en ændring, Dvs. når status skifter, når enten der bliver sendt kommandoer via DCC eller når en etageændring er udført.
19. oktober – Initialisering
Efter at jeg har prøvet at forbinde mit Python UI til elevatoren, har jeg opdaget, at ESP32 genstarter hver gang jeg genstarter UI’et (dvs. formentlig hver gang UI’et forbinder til ESP32). Det har fået mig ind på den tanke, at homing ikke er noget man selv skal styre og ej heller noget, der kun sker lige efter opstart. Det skal være just-in-time, dvs., når der bliver bedt om at skifte etage. Og selvfølgelig kun, hvis det ikke allerede er gjort.
20. oktober 2023 – Næsten alt fungerer
Nu er det hele implementeret. Og kun JMRI delen er helt utestet. Desuden er homing funktionen ikke fuldt testbar, før elevatoren findes i virkeligheden. Men motorerne kører skam jvf. ovenstående.
I dag har jeg både testet DCC interfacet og skrevet (men altså ikke testet) JMRI interfacet.
DCC interfacet havde et par fejl. For det første havde jeg ikke forbundet optokobleren rigtigt. Og for det andet kan jeg ikke bruge Märklin drejeskive definitionen i ECOS. Den kommunikerer naturligvis ikke via DCC. Så i stedet har jeg nu defineret tre signaler med hver fire aspekter. Og det fungerer fint. 7 minutter inde i denne video bruges der dog en anden opsætning af ECOS, som nok er lidt smartere: https://youtu.be/sEMklCIiHEo?si=Sb-RR_vqEFoCq4I6 Og det samme her: https://github.com/jvstrn/DCC-Controlled-Kato-Turntable
JMRI interfacet har jeg implementeret som en udvidelse af mit script til automatisk drift via warrants. Også dette har jeg lagt på GitHub til almindelig afbenyttelse.
Udvidelsen består af denne klasse, som kun instantieres i et eksemplar (i sin egen tråd), og som kommunikerer med RunTrain trådene vha. nogen Jython Queue køer. Se definitionen af interfacet samt selve implementeringen i ovenstående link.
16/9-2024: Relæmodul tilføjet
Jeg har besluttet at erstatte noget mekanik med noget elektronik og noget software. Og det er allerede gjort. Det handler om strøm til skinnerne, hvor jeg er gået væk fra mekaniske kontakter og over til relæmoduler koblet til ESP32’eren vha. en MCP23017. Opdateringen kan ses på GitHub.
28/9: IR sensorer tilføjet
Jeg besluttede mig for at dømme elevatoren blokeret indtil 20 sekunder efter, at noget er detekteret i bare en af de fire portaler.
4/10-2024: IR modtager tilføjet
Ved hjælp af Arduino biblioteket IRremote (den som shirriff har lavet), har jeg tilføjet yderligere en måde at få elevatoren til at bevæge sig til et nyt niveau, nemlig vha. fjernbetjeningen til mit TV. Så nu er der disse muligheder:
DCC
JMRI (via mit script)
USB / min serielle protokol fra min Python GUI
USB / min serielle protokol fra fra Arduino IDE’en
USB / min serielle protokol fra JMRI scripting vinduet
USB / min serielle protokol fra en terminal emulator eller lignende (ikke testet)
TV’ets fjernbetjening
WIFI / HTML siden (ikke færdigudviklet, og bliver det heller ikke)
19/10-2024: Testet med næsten samlet elevator
Det var med noget bæven, at jeg tændte for strømmen til stepperne efter at have samlet hele mekanikken. For motorerne er muligvis stærke nok til at ødelægge mekanikken, hvis den er gal med software’n.
Jeg begyndte forsigtigt med at granske PosLogic koden omkring homing. Hvor der da også var adskillige fejl.
Desuden implementerede jeg et par kommandoer på den serielle konsol til at bevæge en motor samt til at aflæse nuværende position og status på stepperne og end-stop switche. Derved kunne jeg teste, at motorerne kørte den rigtige vej, og at der ikke var byttet rundt på højre og venstre.
Men til slut måtte jeg til det og trykkede 1 på fjernbetjeningen. Det virkede skidt. Meget skidt.
I starten bevægede elevatoren sig meget lidt. Det viste sig at være nogen DIP switche på stepper driverne, der var sat til at køre 8 microsteps pr. step. Så det var nemt at løse. Men derefter kørte det for hurtigt. Jeg havde konfigureret AccelStepper librariet til at køre med en maksimal hastighed på 1500 steps pr. sekund. Det satte jeg først ned til 100, dernæst 200, så jeg kunne teste videre uden at smadre alting.
På et tidspunkt kom der meget grimme lyde og det hele satte sig fast, fordi motorerne ikke bevægede sig synkront og trak hele elevatoren skæv.
Udover mine egne kodefejl, kæmpede jeg længe med, at efter at homing funktionen havde bevæget motorerne ganske forsigtigt og fundet det eksakte sted, hvor endestop switchene deaktiveres, så flyttede den ene eller begge motorer pludselig elevatoren en centimeter eller to. Øv!
Det lod til, at AccelStepper librariet blev forvirret over, at jeg gentagne gange beder motorerne om at flytte 1/10 omdrejning (20 steps), samtidig med at der skal accelereres op og ned. Jeg endte med at initialisere AccelStepper librariet til at sætte hastigheden på motorerne til 600 steps (svarende til tre omdrejninger eller 6 mm) pr. sekund og accelerationen til et meget højt tal (50.000 steps pr. sekund pr. sekund), så der i praksis startes og stoppes så abrupt, som hardwaren fysisk er i stand til. Det betyder, at motorerne nu stopper, hvor jeg beder dem om at stoppe.
Og det betyder, at det tager et sekund at bevæge elevatoren seks millimeter. Dvs. 90 mm / 6 mm/s = 15 sekunder at bevæge elevatoren fra en etage til den næste. Og det passer meget godt i praksis. Jeg har målt det med et stopur. Der er i øvrigt kun 5 etager (eller 5×15 = 75 sekunder) fra top til bund af elevatoren.
Sluttelig har jeg rettet homing logikken og groft rekalibreret elevatoren, idet der kun er 90 mm (og dermed 9000 steps) og ikke 100 mm / 10000 steps pr. etage og idet etage 1 og 2 ligger på -2500 steps, fordi det svarer til, at endestop switchene er 25 mm inde på switch aktuatorerne.
20/10-2024: UP/DOWN knapperne på TV fjernbetjeningen implementeret.
28/1-2025: Reset kommandoen tilføjet den serielle protokol.
Desuden har jeg tegnet et diagram for en ESP32 med de to steppere (som på billedet) samt en DCC dekoder, 6 switche til at føle de 6 niveauer (som var min oprindelige ide – det skal ændres til 2 switche som endestop og 4 IR sensorer til at sikre, at ingen tog kommer i klemme) og et lille OLED display til at informere om hvad elevatoren foretager sig. Det skal gennemgås jvf. denne guide om GPIO portene.
Det ser sådan ud som “fuglerede” – minus micro-switchene:
Jeg har også overvejet en MP3 afspiller, der kunne sige noget i retning af “kører op” og “femte etage”.
Jeg får brug for mange flere switche og også nogen optiske sensorer. Det betyder, at jeg muligvis får brug for at udvide antallet af I/O porte vha. en MCP23017 IC.
23. september 2023 – Tanker om styringen
Der er langt igen:
Der skal designes færdig
Mekanikken skal realiseres
Elektronik med switche, display, DCC interface osv. skal realiseres
Selve møblet med elevatorstole, ramme, fastgørelse af mekanik etc.
Skinner og strømforsyning til samme
Software
Mekanikken skal på sin vis “bare” købes ind, 3D-printes og skrues sammen. Det er nok det mindste af det. Der er ikke så meget at rafle om. Det hele skal skrues sammen omkring V-slot profilet.
Elektronikken består af en ESP32 (hjertet/computeren), en masse switche m.v. som sensorer, et display, et DCC interface, måske ekstra I/O porte, en microSD kortlæser og måske ikke så meget mere.
Udfordringen med switchene er at få dem anbragt præcist nok til at kunne bruge dem til at vide, at skinnerne er i en højde, så et tog kan køre ud eller ind af elevatoren. Der skal således være en switch pr. etage i hver side. (Troede jeg. Men det er der ingen grund til. Se software afsnittet. Der skal kun bruges en switch i hver side, der indikerer et endestop. Softwaren skal sørge for, at hver etage kan findes præcist ud fra disse endestop positioner samt viden om, hvor mange steps, der er til de enkelte etager.) Derudover fire IR-sensor til sikring af, at toget er helt inde i elevatoren, før det tillades at sætte elevatoren i bevægelse.
Displayet skal kort sagt vise, hvad der foregår. Altså modtagne ordrer, igangværende proces og øjeblikkelig status.
DCC interfacet, som i store træk består af en optokobler og et par modstande (identisk med det, jeg allerede bruger ifbm. sporskiftedekoderne) skal bruges til at modtage kommandoer fra ECOS. Eller fra JMRI (scripts) via ECOS.
“Møblet” er præcisions-snedkerarbejde. Og det er ikke min stærke side. Så det kommer til at tage tid. Og der er en problematik omkring behov for både MDF og spånplade i flere tykkelser. Det er ikke bare at købe en enkelt plade og få den skåret ud.
Udfordringen med skinnerne er at få stabil strømtilførsel når og kun når elevatoren er i korrekt højde. Jeg har købt nogen små kontaktplader. Det skal forsøges, om de kan anbringes præcist nok til at kunne fungere. Plan B er ledninger, hvor udfordringen er at få dem ført mellem ramme og elevatorstol uden at være i vejen og uden at knække efter nogen tids brug.
13/9-2024: Tilbage til elektronikken
Jeg er kommet meget videre det seneste årstid som beskrevet andetsteds. Men i dag kom jeg tilbage til elektronikken, idet jeg – fuldstændig problemløst – skiftede den lille 0,98” skærm ud med en på 2,42”. Det gjorde lige pludselig teksten læsbar.
Desuden forsøgte jeg at få IR sensorerne til at fungere. Jeg har købt disse:
Jeg troede, at det var simple IR dioder og IR photo transistorer. Men det er kun transmitteren. Receiveren er beregnet til at modtage signaler, der er moduleret med en 38 kHz bærebølge, som det f.eks. er tilfældet med de fleste fjernbetjeninger til TV m.v. Jeg forsøgte at lave en 38 kHz firkantgenerator vha. en 555 timer kreds, så transmitteren kunne “tale samme sprog”. Men det fik jeg ikke til at fungere. Og jeg har ikke et oscilloskop, der kan fortælle mig, hvad der er galt.
14/9-2024: Firkantgeneratoren fungerer
Mit oscilloskop kan faktisk fungere op til 200 kHz. Det var bare et spørgsmål om at dreje rigtig meget på hjulet for at justere trigger niveauet. Og efter at have tilføjet et par manglende forbindelser i fuglereden og justeret på trimmer potentiometeret er det faktisk tæt på en 38 kHz firkant. Men modtageren blinker i stedet for at lyse konstant (selvom det ser fint ud på billedet), så det duer ikke. Jeg køber nogen IR foto dioder.
Selve dioderne skal anbringes i portalerne. Og måske også de to modstande. Derfra skal der føres tre ledninger til elektronikboksen. Diagrammet for en sensor er simpelt (forsøg med netop de dioder, jeg har købt, har dog vist, at modstandene skal være hhv. 100 ohm og 1 megaohm):
Gennem grundig research (dvs. få sekunder på Google) har jeg fundet frem til, at anoden (+ siden) svarer til der hvor pilen i diodesymbolet peger fra – altså opad på ovenstående tegning, mens katoden (- siden) svarer til der hvor pilen peger hen – altså nedaf på ovenstående tegning. Ydermere er katoden (- siden) det korte ben på en LED / fotodiode, hvilket også gerne skulle være der, hvor der er en flad side på den ellers runde diode.
Derudover har jeg opgivet at få anbragt de bittesmå kontakter til skinnestrøm præcist nok bag på elevatorstolene til at få dem til at fungere. I stedet bruger jeg nogen relæmoduler. Og her er der mindst to muligheder:
Anbringe relæerne bag på elevatorstolene sammen med en ESP8266 til at styre dem. Det giver behov for 6 ledninger: Stel, 5V, to til I2C og to til skinnestrømmen. Det er næsten det samme som hvis jeg bare fører skinnestrømmen op (hvilket giver 7 ledninger. Men relæerne skal være et eller andet sted alligevel, og med en ESP8266 i elevatorstolen kan jeg tilføje noget andet sjovt, f.eks. udkørselssignaler inde i elevatoren.
Lidt simplere: Anbringe relæerne i den store elektronikkasse. Så kan jeg nøjes med en MCP23017 port expander. Og jeg har allerede en MCP23017 og to relæmoduler med hhv. 4 og 8 relæer. Altså netop nok til denne løsning.
16/9: MCP23017 tilføjet
Både i diagrammet og i min fuglerede / mock-up – dog kun med et 4-relæ modul.
20/9: Fysisk opbygning
Første tanker tænkt: Jeg 3D printer nogen kasser til hhv.
Displayet (anbringes øverst til højre længst fremme i rammen). I samme kasse skal sidde et lille print med konnektorer: DB9 til elektronikboksen. Og tre-polede til hver stepper driver og hver endestop switch.
Resten af elektronikken inklusive relæer men eksklusive stepper drivere (anbringes i bunden af rammen midtfor).
Ledningssamlingerne ved enden af cable chain bag på stolene.
Den store elektronikboks skal designes, så USB stikket i ESP32 kan bruges til at forbinde elevatoren til min PC, og så der er konnektorer til alle forbindelser eksternt såvel som internt i elevatoren.
Stepper drivere skrues fast øverst lige over stepmotorerne. 20 volt strømforsyningen forbindes direkte til stepper drivere. Ingen grund til en samlekasse.
Ledninger kan føres inde i V-slots. Men jeg tænker, at det er bedre med nogen ganske almindelige kabel kanaler rundt i bagkanten af rammen. Dog er det oplagt at føre ledninger til IR sensorer og endestop switche inde i V-slots.
Jeg har forskellige konnektorer på lager:
Øverst til højre er en samlemuffe, som jeg tænker at bruge i kassen bag på stolene til at få stelforbindelsen til de seks spor samt den nede fra elektronikboksen forbundet med hinanden.
Den grønne i midten bruger jeg til at forbinde elektronikboksen til DCC, dvs. min ECOS.
3 stk. DB9 (nederst til højre) bruges i elektronikboksen til:
Forbindelsen op til toppen, dvs. stel + DIR + PUL til hver stepper driver samt de 4 forbindelser til displayet. Det giver umiddelbart 10 ledninger. Men tre af dem er stel. Så det er i virkeligheden 8. Dvs., at jeg måske kan få forbindelsen til de to endestop switche med også. For der er jo egentlig en 10’ende forbindelse i DB9 stikket i form af skærmen. Ellers må det blive DB25. Sådan nogen har jeg også.
Hver elevatorstol, dvs. 6 relæoutput med DCC+ og en ledning med DCC- Eller måske skal cable chains rent faktisk komme direkte ud af elektronikboksen uden konnektorer?
Fire stk. af de tre-polede nederst til venstre tænker jeg at bruge til IR sensorer.
Fra den øverste fordelerboks (displayet) køres forbindelserne videre til steppere og endestop switche via fire stk. af de trepolede stik til venstre på billedet.
22/9 – 24/9: Print layout design
Diagram og GPIO numre opdateret for at undgå eksterne pull-up modstande. Dels for forenklingens skyld og dels for at spare strøm:
Desuden har jeg tegnet, hvordan de ret få komponenter kan anbringes på et hulprint i el-boksen i bunden af elevatoren. Men det fungerer ikke rigtigt. Problemet er, at det ikke er særlig smart at anbringe selve elektronikken og de 3-polede konnektorer på samme hulprint. Det vil være bedre at anbringe elektronikken og dermed USB stikket vandret og konnektorerne lodret. Og for at få det gjort rigtigt må jeg hellere designe en 3D printet kasse samtidig. Og det kan jeg ikke (færdig-)gøre før jeg også har cable chains i hånden. For de skal på en eller anden måde “komme ud af” samme kasse.
26/9: IR LED og fotodioder modtaget
Endnu en lille overraskelse. Jeg havde troet, at fotodioden i ovenstående diagram ville gå i mætning så snart den fik en smule IR lys, så jeg dermed kunne bruge en digital indgang med intern pull-up på ESP32. Men det er vist ikke tilfældet. I stedet har jeg leget lidt med at læse den analoge værdi på indgangen. Og den er 4095 med mindre jeg giver den meget direkte lys med IR LED’en. Det kræver lidt mere research, før jeg er helt sikker på, hvordan jeg skal håndtere dem.
27/9: IR detektion fungerer
Der skulle lige gøres et par ændringer.
For det første bruger jeg nu GPIO 36, som ikke har intern pull-up. I går brugte jeg GPIO 4 med intern pull-up aktiveret.
For det andet ændrede jeg formodstanden til LED’en fra 220 til 100 ohm. Det kommer af, at Ali Express oplyser, at spændingsfaldet over LED’en er ca. 1,5 volt og den anbefalede strøm igennem den er 20 mA. Det giver R = U / I = (3,3 – 1,5) V / 0,02 A = 90 ohm. Det burde give mere lys ud af dioden.
Og endelig er pull-up modstanden til fotodioden nu 100 kohm i stedet for 10. Det giver bedre følsomhed.
30/9: Ny portaltype 3D printet
Dermed gik jeg fra 5 mm til 3 mm IR LED og fotodiode. Det nedsatte følsomheden, som jeg har fået tilbage ved at gå helt op på 1 Mohm som pull-up til fotodioden.
4/10-2024: IR modtager tilføjet
Jeg har som beskrevet ovenfor fået en del IR modtagere til overs. Så hvorfor ikke bruge en af dem til at modtage kommandoer fra fjernbetjeningen til mit TV? Som tænkt så gjort:
8/10: Portaler samlet
To ud af fire portaler loddet sammen i den forstand, at de to modstande, LED, fotodioden og et tre-leder kabel er forbundet:
10/10: Anbring elektronikken ovenpå
De sidste to portaler loddet sammen.
Desuden nogen nye ideer om montering af elektronikken: Indtil videre har jeg tænkt det som om skinnestrømmen skal komme fra bunden og op i elevatorstolene, fordi kabelkæderne skal have noget at ligge på. Men hvorfor kan de ikke ligge på elevatorstolene og gå op i toppen af elevatoren? Selvfølgelig kan de det.
Og når vi nu er oppe i toppen, så kan jeg lige så godt anbringe alt elektronikken – inklusive display og IR modtager – inde i samme kasse. Og den kasse kan ligge sammen med strømforsyningen til stepper motorerne oven på elevatorrammen. Derved bliver montagen af elevatoren nemmere, fordi elektronik og kosteskafte ikke slås om pladsen. Og jeg sparer et 10-leder kabel (11, hvis IR modtageren tælles med) og gør derved kablingen simplere.
Jeg er begyndt at tegne elektronikboksen. Tanken er en ret firkantet kasse, men med display og IR modtager, der går ned om kanten af rammen. Lige nu er de blot tegnet udenfor kassen. Desuden mangler der åbninger midtvejs på hver side til ledninger til skinnestrøm inde i elevatorerne, huller bagerst til stik til IR sensorer, endestop kontakter og stepper drivere samt et hul til USB stikket på ESP32 og DCC fra ECOS’en.
24/10: Print-layout og anbringelse af ledninger, stepper drivere osv. overvejet. Driverne kan ikke så godt puttes ind i elektronikboksen. De består af én stor køleplade. Så de skal kunne komme af med varmen. Jeg tænkte først på at anbringe driverne inde i rammen. Men nej. Det bliver bedst at anbringe det hele oven på. Driverne og strømforsyningen kan bare ligge løst. De går ingen steder, eftersom de vil ligge bag elektronikboksen og to kabelkanaler, som skal indeholde ledninger mellem elektronikboks og IR sensorer hhv. end-stop switche. Den røde plade på denne tegning er toppen af rammen:
Print layoutet har også fået en næste iteration, samtidig med, at jeg har besluttet mig for, at ledninger til skinnestrøm og stepper motorer skal ned gennem et par store huller midt i elektronikboksen. Lige under disse huller skal skinnestrømmen ledes gennem cable chains, der går lidt ned på bagsiden af hver elevatorstol.
26-27/10-2024: Kabinet til display og IR modtager designet og 3D printet. Desuden er elektronikken loddet sammen. Der er loddet ledninger i printet til relæmoduler, display og IR modtager, dvs. de enheder, der sidder inde i samme kasse som printet. Alle andre enheder forbindes via stik.
28/10 Elektronikken testet
Alt undtagen I2C (dvs. display og relæer) og DCC fungerede.
For I2C var alt galt. Jeg havde glemt ledningerne til 3,3 volt, data og clock. Jeg havde fået monteret 3,3 volt og stel til displayet forkert. Og jeg havde fået monteret pull-down modstande i stedet for pull-up. Det tog lidt tid at hitte ud af. Jeg testede helt uden modstandene. Og det virkede halvdelen af tiden. Det var bl.a. det, der forvirrede mig.
Og så manglede der også lige en 5 volt forsyning til DCC interfacet (dvs. optokobleren).
Alle fejlene kan i øvrigt ses på billedet ovenfor, som jeg faktisk anvendte til at finde fejlene.
11/11-24: Elektronikboksen udprintet
Låget passer lidt for godt. Jeg har haft det på og kunne kun få det af igen vha. to plastik-“brækjern”. Så der skal lige slibes lidt.
Denne side handler om konstruktionen af rammen og de to elevatorstole.
12. november 2023 – Spånplade købt
Jeg har købt to hele spånplader og en 6 mm MDF plade.
Jeg havde i forvejen tegnet præcist hvordan hver enkelt stykke skal saves ud af de i alt tre plader. Og jeg fik Bauhaus’ savværk til at save pladerne ud i tre til fire stykker, så der var plads til dem i bilen, og så jeg kan håndtere dem med min egen rundsav.
Bauhaus tager 30 kroner pr. snit. Så det ville blive rigtig dyrt at få dem til at save det hele.
Desuden har jeg bestilt en 15 mm bred tandrem og tilsvarende medløberhjul. Samt yderligere 8 beslag og skruer, så hvert medløberhjul er fastgjort i to beslag – et på hver side af V-slot profilet. Det må blive stærkt nok.
19. november – savedag
De stykker, der skal udgøre elevatorstolene, er savet ud. Inklusive de riller hvori hylderne skal sidde fast:
Der er 10 stykker, der skal sidde lodret i hver elevatorstol. I alt 20. Der er 5 riller i hvert stykke (nederste hylde udgøres af bunden af elevatorstolen). Det giver 100 riller, som skulle saves tre gange hver, fordi savbladet på min rundsav er 2 mm bredt og hylderne er af 6 mm MDF. I alt 300 snit. Det tog et par timer. Det hjalp lidt, at alle stykker er symmetriske, og at de kun findes i to højder. Dvs., at jeg kunne lave hhv. 16 og 24 snit for hver gang saven skulle indstilles.
På billedet ovenfor ses i øvrigt også den endelige form på portalerne og dermed de huller, der skal være i siderne. Det er NEM fritrumsprofilet, men 6 mm højere, så der er plads til skinner (dog ikke en Märklin C skinne, som på billedet):
25. og 26. november – Save og lime dage
Resten af spånpladen savet. Dvs. stykkerne til rammen. Nu kan garagen bruges som garage igen. Undtagen at jeg er gået i gang med at lime de første dele. Lige nu er det ene stykke til montering af mekanikken i rammen og de første fire samlinger af fronten til en af elevatorstolene sat i spænd:
Desuden har jeg savet hullerne i den ene (af fire) stolesider. Det er ikke just snorlige. Jeg har kun en helt almindelig stiksav. En CNC maskine havde været at forestrække. Men selvom det måske nok ser herrens ud, så vil det fungere:
Og så har jeg ryddet helt op i garagen, så den kan bruges som garage de næste uger, hvor det bliver koldt, og hvor weekenderne er fulde af gæster.
9/12-2023 – Samling af elevatorstol planlagt
Jeg har drømt hele natten om, hvordan jeg både gør elevatorstolene stive og stabile og alligevel er i stand til at skille dem ad og reparere skinner m.v.
Jeg er nået frem til, at der skal limes i to store “klumper”, nemlig bagside, top, bund og siden hvor spindlen skal fastgøres, hhv. front og den anden side. Disse to “klumper” skal skrues sammen, så hylderne sidder fast mellem dem uden at være limet fast:
Juleferie 16. december – 7. januar
16/12: Syg, slap og nærmest sengeliggende. Forkølet.
17/12: Lidt slap, men fik fjernet print support fra det sidste beslag til step-motor og spindel + til et par skabeloner, som jeg vil forsøge at bruge til at fræse hullerne, som togene skal køre ud af og ind i elevatorstolene. Mit fræserbord og overfræser samlet til samme formål. Og de fleste huller til dyvler, som er nødvendige for at samle bagsiderne og den resterende forside til elevatorstolene, er boret. Der mangler “kun” 24 huller.
18/12: De 24 huller boret. Og første limning foretaget: Stiverne på første bagside af en elevatorstol.
19/12: Første elevatorstol-bagside limet færdig. Og stiverne på nummer to. Desuden er hullerne i enderne af elevatorstolene, hvor tog skal køre ind og ud, nu groft savet ud og derefter fræset vha. 3D printede skabeloner og overfræseren spændt op i mit lille fræserbord. Se billeder nedenfor. Det blev et rigtigt godt resultat.
20/12: Anden bagside limet færdig og anden forside påbegyndt. Første bagside lagt ind på køkkengulvet til hærdning. De første dele er streget op til boring af huller til samling af hele elevatorstole. Nu skal jeg “bare” være helt sikker på, hvor der skal være hhv. dyvler og skruer.
21/12: Anden forside og (som afslutning på dagen) anden monteringsblok til mekanikken limet. Begge bagsider ligger nu til efterhærdning i køkkenet. Men det store tidsforbrug var at bore i alt 80 huller i 4 x top/bund til elevatorstole.
22/12: Yderligere 80 huller boret som modpart til ovennævnte. Og yderligere 64 huller, for at gøre enderne af elevatorstolene fast. Samt den ene elevatorstol limet sammen. Nu mangler den kun 28 skruer til at samle de to halvdele.
23/12 – 25/12: Jul med familien.
26/12: Bagsiden af rammen: Alle huller boret og de fire stykker, den består af, limet sammen.
27/12: Huller boret i top og sider af rammen. Den limede elevatorstol sat sammen med 28 skruer. Det krævede en hel del “udvidelser” af de fleste af de 28 skruehuller.
28/12: Huller til de fire portaler savet i siderne. Min nye “stiksav” fungerede til at save pæne firkantede huller. Skruehuller boret i bunden af rammen. Desuden ankom den brede tandrem og tilbehør fra Kina.
29/12: Jeg er lidt træt af at lave elevator. Men jeg fik da fræset lidt i rillerne på den allerede sammenlimede elevatorstol, så der er en chance for at kunne sætte hylder i. Hylderne fik jeg også savet 4 mm smallere, hvilket involverede opstilling, rengøring og nedtagning af rundsaven.
30/12: Hylderne tilpasset i længderetningen. Og den første elevatorstol samlet. Den vejer 9,9 kg. Præcis som beregnet. Det er lidt af en milepæl. Så nu tør jeg godt at lime stol nummer 2 sammen.
31/12: Garagen tømt, så bilen kunne stå under tag nytårsaften.
1/1-2024: Siderne limet på bagsiden af rammen. Desværre har jeg ikke noget, der kan presse det ordentligt sammen, så det gaber 1/2 mm her og der.
2/1: Jeg var lige en tur på arbejde. Men om aftenen fik jeg foretaget sidste limning: Toppen af rammen.
6/1: Jeg fik gjort skruehullerne ovale og fik også fræset (med Proxxon maskinen) rillerne i den sidste elevatorstol, så både den og rammen nu er skruet sammen med alle skruerne.
13/1 (dagen før Dronning Margrethe II af Danmarks abdikation): Stiverne i siderne af rammen monteret med 5 store M6 skruer hver: 4 i siden af rammen og 1 i toppen. Dermed er selve træarbejdet i pricippet færdigt. Men når det hele fungerer, piller jeg igen alt mekanik af og spartler og maler.
Vedr. 19/12, 22/12, 26/12, 30/12, 1/1 og 13/1 er her et par billeder:
For at save kanterne pæne har jeg købt en ny stiksav, der faktisk er en kædesav i miniformat:
Det hjalp dog ikke mig til at kunne save pæne huller. Derimod hjalp den mig til at save hullerne groft ud uden at skulle bore først. Den kan nemlig bruges som dyksav. Men for at gøre det pænt skulle jeg bruge min overfræser, som jeg for flere år siden købte et lille bord til, hvori jeg nu har monteret fræseren. Og så har jeg 3D-printet skabeloner, så hullerne blev helt perfekte:
Historien om, hvorfor de store stykker spånplade til at skrue V-slot profilerne på er pist væk på næste billede, kan findes på mekanik-siden.
August 2024 – Maling
6/8: Det er sommerferie. Jeg har ryddet op i garagen. Jeg har købt maling. For første gang er både ramme og begge elevatorstole placeret ved siden af hinanden. Jeg håber at få tid til at male. Men først skal vi en lille ugestid til Færøerne.
13/8: Rammen er slebet og grundet. Jeg spartlede den i vinters:
14/8: Begge elevatorstole slebet, så de værste små unøjagtigheder er elimineret og så alle kanter er nogenlunde glatte. Desuden er de skilt ad og alle kanter (det er mange) spartlet med Polyfilla:
15/8: Alle gårsdagens spartlinger slebet. Og garagen er nu fyldt til randen med dele, der skal males:
16/8: Ca. halvdelen af elevatorstolene grundet. Dvs. selve skeletterne overalt, forsiderne på kanter og yderside, men hylderne kun på kanterne:
17/8: Resten grundet (om formiddagen). Og hen under aften fik jeg givet første gang maling på skeletterne og den ene side af fronterne samt på kanterne af hylderne.
18/8Morgen: Skeletterne og kanterne af hylderne fik anden gang maling og fronterne fik første lag på den anden side.
18/8 Aften: En meget grim overaskelse, idet hylderne var klistret godt og grundigt sammen af tørret men ikke hærdet grunder. Jeg havde stakket dem og holdt dem sammen med skruetvingere for at male dem på kanterne. Og det skulle jeg ikke have gjort. De fleste er helt ødelagt. Kun én er intakt. Et par stykker kan reddes med spartelmasse. Men jeg skal have savet en hel del nye hylder. Heldigvis har jeg en del 6 mm MDF til rest. Jeg håber, at der er nok.
Til gengæld fik jeg plads til at give fronterne næste lag på den ene side og rammen første lag:
19/8: Alt undtagen de ti hylder malet færdig fra morgenstunden. Senere på dagen: Nye hylder savet og grundet på den ene side. Og sent aften på den anden side også.
20/8: Første lag maling på hylderne. Den ene side om morgenen. den and om aftenen.
21/8: Andet lag på hylderne efter samme recept. Dermed er malearbejdet slut.
8/9: Rillerne til hylderne i elevatorstolene passede lidt for godt. Der var ikke plads til maling. Men vha. sav og Proxxon fræser gennem de seneste dage har jeg nu næsten den ene elevatorstol samlet:
9/9: Den ene elevatorstol samlet. Hylderne gaber lidt i den ene ende. Men så sidder de da ikke i spænd. Og skinnerne kan sagtens dække det.
De næste trin bliver (i en eller anden rækkefølge):
Få den sidste elevatorstol samlet.
Mål efter om ramme og elevatorstolene har de rigtige eksakte mål. Modificer 3D modellen for at tage højde for afvigelser. En grovmåling viser, at den første elevatorstol er 1236 x 573 x 99 mm mod forventet 1232 x 572 x 98 mm. Den ene millimeter i højde og bredde er ikke et problem. Men de 4 mm i længden er et problem. Rammen er 1256 mm indvendig. Og hver portal (inklusive IR sensorer) fylder 12 mm ind i rammen. 1256 – 2×12 = 1232. En måling siger måske 1234 mm (usikkert og alligevel ikke nok). Det betyder, at der ikke er plads til IR følerne inde i elevatoren. Og dermed at de 3D printede portaler må designes om. Jeg vidste sådan set godt, at dette var et svagt punkt i mit design, fordi jeg kun havde efterladt en eller to millimeter luftspalte mellem elevatorstol og portal. Jeg tænker, at kun selve IR sende-dioden og IR modtage-dimsen behøver at være i portalen. Resten af de små printplader kan flyttes ind i “elektronik-kassen”. Eller måske skal sensorerne bare anbringes vertikalt i rammen i stedet for horisontalt? På den måde kan de bruge den smule luftspalte, der er, hvis portalerne kun fylder 2 mm i stedet for 12. Jeg skal bare sørge for, at de skinner, der stritter ud gennem luftspalten, ikke har for mange sveller, sådan at IR lyset kan passere gennem skinnerne, men ikke gennem et stykke rullende materiel, der holder på skinnerne.
Tilføj sensorer til elektronik-fuglereden og software. Og udskift det lille display med det lidt større, som jeg har købt.
Lav en mock-up bestående af den rigtige mekanik, hvor elevatorstolene er erstattet af nogen stykker 16 mm spånplade af samme størrelse som de yderste dele af bagsiden af stolene. Og få derved gennemtestet mekanik, elektronik og software.
Først skal jeg dog have omsat min 3D tegning til en 2D tegning med eksakte mål for anbringelse af beslag m.v. på stolene. Og måske få laserskåret en skabelon til at bore hullerne efter.
3D printning af midterlederholdere m.v. til skinnerne og monter (dvs. anbring) skinnerne m.v. inklusive elektriske forbindelser i elevatorstolene.
Omsæt elektronik fuglereden til et stykke loddet elektronik (på et hulprint) og få det anbragt i elevatoren i passende kabinet m.v.
19/9-2024: Sidste elevatorstol samlet. Denne gang tog det kun et par timer. Den fik simpelthen af grovfilen, forstået på den måde, at jeg ikke var bange for bare et tage 1/2 millimeter i hver side af furerne til hylderne – under hensyntagen til at furerne i sider og ender skulle flugte.
Jeg har også bestilt en masse skruer m.v., noget 3-leder ledning, som det der bruges til servoer og ovennævnte cable chains fra Kina.
5/10-2024: Gevindstykker i elevatorstole
Så skete endelig det, jeg længe har taget tilløb til: Efter at have fået skruer og gevindbøsninger og efter at have fundet ud at bruge TechDraw workbench i FreeCAD til at printe tegninger med mål ud tog jeg mig sammen og borede en masse huller og skruede gevindbøsninger i til beslag til spindelmøtrik, V-slotvogne, beslag til fastgørelse af tandremme og aktuatorer til endestop switche.
Det var en ret omfattende operation med redesign af både tandrems-beslag og endestop aktuatorer samt en hel del fintegning i FreeCAD. Og design og udprintning af borelærer. Samt selvfølgelig meget omhyggelig udmåling, opstregning (på malertape), boring og montering af gevindbøsningerne.
7/10: Pletmaling og indbæring
Så må træarbejdet kunne erklæres afsluttet. Jeg har pletmalet, der hvor jeg har slebet/fræset for at kunne samle elevatorstolene, og der hvor jeg borede huller i går. Desuden har jeg forkortet 2 kosteskafte, skruet de andre kosteskafte m.v. af V-slot profilerne, udskiftet beslagene i top og bund af V-slot profilerne med to-kosteskafts-udgaven samt flyttet elektronik-fuglereden over på en hylde. Altsammen har bl.a. bidraget til, at der nu er plads til elevatorstolene på mit “arbejds”-bord.
Jeg har tegnet en ny mekanik, hvor jeg holder fast i, at elevatorstolene skal udbalancere hinanden ved at være forbundet med en tandrem i hver ende. Nu er der dog ikke længere et tandhjul til steppermotoren, men blot fire ‘idler’ hjul.
Stepmotoren er til gengæld koblet til en 10 mm spindel på hele 850 mm længde. Derfor de 10 mm i diameter, så den ikke slår sig. Den har 2 mm stigning pr. omdrejning. Den trækker på den ene elevatorstol i den ene ende og på den anden elevatorstol i den anden ende.
Jeg holder fast i, at elevatorstolene kører på V-slot skinner. Nu blot 20×80 mm frem for 20×60 mm for at få bedre plads til spindlen og til at fastgøre skinnen på elevator-rammen.
“Klumpen” øverst er stepper motoren. Den er (via dens aluminiumsbeslag) skruet fast på den 3D printede blå klods, som også holder et kugleleje, hvori skruen kører rundt. Den røde metalring, som er skruet fast på spindlen, holder kuglelejet på plads oppe i klodsen.
Møtrikken til spindlen – altså møtrikken med de 2 mm stigning – er skruet ind i den næste 3D printede klump (den grønne). Den på tegningen “frie” ende af den grønne klump skal skrues fast på den ene elevatorstol, som jo er fast forbundet til den anden elevatorstol via tandremmen. Dermed kontrollerer motoren begge elevatorstole i den ene ende.
Den ferskenfarvede 3D printede klods holder endnu et kugleleje for at styre den nederste ende af spindlen sideværts.
Den lilla 3D printede klods bærer spindlen vha. den røde metalring, som “står” på et trykleje, der passer ned i klodsen.
Desværre kan makersupplies.dk ikke levere 10 mm spindler. Så jeg må ty til AliExpress med deraf følgende ricisi for dårlig service, dårlig kvalitet og ultimativt spildte penge. Men det er billigt, hvis det går godt.
Mht. elevatorstolene tænker jeg på at 3D printe enderne af elevatorstolene. Og hullet gennem rammen. Det kan gøres meget præcist. Og det giver mulighed for at anbringe micro switches og/eller IR sensorer lige så præcist. Udfordringen er naturligvis at få det gjort stærkt nok; hver ende må nødvendigvis printes i mindst tre stykker. Og enderne skal gøres solidt fast i top, bund, sider og hylder, som alt sammen er MDF / spånplade.
6. oktober 2023
2 stk. spindler netop ankommet fra Kina. Det tog 17 dage. Den ene af dem er helt lige. Og den anden er fuldt brugbar, og kan måske rettes helt op. Det drejer sig om mindre end to millimeter, den “slår ud” i den ene ende. Så jeg vil sige, at jeg slap heldigt fra mit hidtil største og dyreste indkøb i Kina.
21. oktober 2023
Efter et par ugers software udvikling, genoptog jeg CAD tegneriet i dag:
Men jeg spekulerer lidt på, om monteringen af stepper motorerne måske er for svag? Måske skulle jeg anskaffe nogen vinklede beslag i aluminium eller stål? Men så kommer motorerne meget langt ind mod V-Slot profilerne.
22. oktober 2023 – nyt topbeslag
Som svar på ovenstående bekymring har jeg designet dette 3D printede beslag:
Det bliver rent plastik. Men jeg tror på, at den er en del stærkere end den første udgave.
25. oktober – end-stop switch m.v.
Jeg har fået anbragt en microswitch på det stykke, hvori V-slot profilen er gjort fast. Der er en micoswitch i hver side, der aktiveres, når yderste elevatorstol når i top-position. Et stykke 3D print (lilla på billedet, hvor V-slot profilen er fjernet, så man kan se switchen) aktiverer switchen:
Og jeg har gentegnet hele elevatoren, hvor stykkerne til fastgørelse af mekanikken i rammen er ændret fra 19 mm MDF til 32 mm (dvs. 2×16 limet sammen) spånplade, og elevatorstolene er ændret fra variende tykkelser MDF til 16 mm spånplade. Dvs., at alt er i 16 mm spånplade, undtagen hylderne, som stadigvæk er 6 mm MDF.
Det har fået den samlede vægt fra 27,7 kg ned på 20,8 kg. Hver elevatorstol ned fra 5,9 kg til 4,7 kg. Til gengæld er dybden af elevatoren vokset et par centimeter.
Jeg har også tegnet alle stykkerne ud på hele plader. Jeg får brug for to hele 16 mm spånplader og lidt over en halv 6 mm MDF plade.
Desuden har jeg regnet på hvor lange og hvor mange skruer, jeg skal bruge. Så jeg er næsten klar til at bestille resten af mekanikken hos MakerSupplies.
28. oktober 2023
Jeg har fået tegnet kontakter og beslag til kontakter til overførsel af skinnestrøm:
Og her ses, hvordan jeg har placeret dem i elevatoren (set fra oven):
Derved har jeg friholdt pladsen mellem stolene og rammen til at anbringe IR sensorer til sikring af, at der ikke kommer et tog i klemme.
29. oktober – IR sensorer
Portaler med IR sensorer kom til at se sådan her ud:
Og anbragt i elevatoren sådan:
Nu er designet i princippet færdigt. Men jeg venter lige lidt med at købe og save spånpladerne. Og at få 3D printet diverse beslag og portaler. Man ved aldrig, hvad jeg finder på.
Måske skal portalerne ændres, så de skrues udefra. Jeg tror, at det vil gøre dem stærkere omkring IR modtageren. Og nemmere at montere.
17. november – Portaler og skinner
Portaler omdesignet, så de skrues udefra.
Et prøveprint afslører, at der ikke var plads til IR senderen. Så også dette er ændret.
Desuden afslørede det, at der ikke er plads til Märklin C-skinner i portalen. Lige i midten er portalerne 65 mm. Men pga. den buede top aftager højden ret hurtigt ud mod siderne.
NEM fritrumsprofilet siger, at man uden køreledninger (som jeg ikke skal have) skal have en højde på 59 mm over skinnerne. Märklin C skinner er 10,3 mm høje. Men bunden er kun plastik, så de kan sikkert slibes ned til det halve. K skinner er 5,2 mm. Og Piko A skinner, som jeg tidligere har brugt med god succes, har jeg målt til 4,3 mm. Dvs., at jeg har brug for en portalhøjde over et lidt bredere stykke på hhv. 69,3, 64,2 og 63,3 mm.
En 94 cm lang Piko flex-skinne koster små 50 kr. En 90 cm lang Märklin K flexskinne koster ca. 150 kr. C skinner har jeg allerede. Prisen er i øvrigt cirka som for K skinner. Men de findes ikke som flex skinner. Og udenfor elevatoren får jeg under alle omstændigheder brug for flex skinner for at få det hele til at gå op. Så det taler for ikke at bruge C skinner inde i elevatoren. Der er 12 hylder a 120 cm i elevatoren. Og 3 – 4 buer udenfor. Dvs., at der skal bruges 16 stykker flex skinne inde i elevatoren og 2 – 4 stykker udenfor. Så prisforskellen på 20 x 100 kroner siger mig, at jeg vælger Piko skinnerne. Jeg har i øvrigt allerede to, som jeg dog har klippet lidt i. De skal helst monteres samtidig med at jeg samler elevatoren. Det er noget med nærmest at flette dem ind i underlaget vha. den tråd, der skal udgøre midterlederen. Og dermed skal der bores huller i hylderne til tråden. Så jeg må hellere se at få dem bestilt. Og ligeledes noget forsølvet kobbertråd som midterleder.
Det er i øvrigt en tanke værd, om jeg skulle 3D printe en “holder” til midterlederen, så det kunne se lidt pænt ud. Ved at måle på hhv. en Märklin C skinne og en Piko flex skinne ser det ud til, at midterlederen må være op til 1,3 mm høj. Dvs., at der er plads til 0,5 mm under den forsølvede kobbertråd, som er 0,8 mm i diameter. Det skulle vel nok kunne lade sig gøre?
5. december – 3D printning
I dag fik jeg 3D printet det første af de øverste beslag. Dvs. dem, der holder motor og det øverste kugleleje. Det tog lige under 13 timer. Og kun udkravningen til motoren er for lille: 37,7 mm i diameter i stedet for de 38, som jeg tegnede i FreeCAD. Dvs., at der skal slibes 0,15 mm af hele vejen rundt. Det må kunne lade sig gøre. Men jeg må nok hellere ændre lidt i tegningen, før jeg printer det sidste beslag.
Jeg har nu 4 ud af i alt 6 beslag:
11. december 2023 – mere print
Sidste beslag til nederste kugleleje og første beslag til spindel-møtrikkerne (det røde beslag på tegningen fra 21. oktober ovenfor) printet. Førstnævnte gik godt. Sidstnævnte knap så godt: Alle skruehuller var for store og godset så tykt (30 mm), at M3x30 mm skruer ikke er lange nok. Derfor har jeg rettet tegningen til samt tegnet en version, der skal skrues fast fra indersiden af elevatorstolen. Den skal bruges til forreste elevatorstol. Men jeg venter med at printe til jeg får samlet så meget, at jeg kan måle den præcise virkelige afstand mellem spindel og elevatorstol.
Januar – april 2024
Efter at have lagt det meste af træarbejdet bag mig (der mangler finish og maling) kan jeg komme videre med mekanikken.
9/1: Første beslag til spindel møtrik printet.
14/1 (dagen hvor Hendes Majestæt Dronning Margrethe II abdicerede og Hans Majestæt Kong Frederik X blev udråbt): Var i T.Hansen for at købe skruer, fordi de på deres hjemmeside har et OK udvalg i M4 og M5 maskinskruer. Modsat Bauhaus, som har en ganske forfærdelig dårlig hjemmeside. Det var noget rod. Men jeg købte dog noget. Kunne imidlertid ikke få M3 hos T.Hansen, så var alligevel i Bauhaus, hvor jeg mageligt havde kunnet købe det hele – både i løsvægt og i kasser. Har desuden set lidt på at skrue mekanikken sammen. Fik slebet lidt i møtrikkerne på “vognene”, som elevatorstolene skal køre på. Der manglede en mm plads for at vognene kunne komme forbi de 3D-printede beslag. Desuden har jeg klippet halvdelen af de dobbelte gevindstykker over i to. De skal bruges til de plader, som skal fastholde medløberhjulene til tandremmene. Men hulafstanden passer ikke. I det hele taget skal der files lidt alle vegne.
22/1: Jeg fik fjernet en hylde, så der kan blive plads til elevatoren på mit arbejdsbord. Først skal jeg dog have monteret V-slot profilerne i rammen. Derudover fik jeg designet og printet de fleste af de beslag, der skal bruges for at fastgøre tandremmene bag på elevatorstolene. Den nye bredere tandrem er 2,5 mm pr. tand. Den første smallere tandrem er kun 2,0 mm. Og til den havde jeg købt nogen beslag af aluminium. Men de kan ikke bruges.
TOGSKINNER OG MIDTERLEDER: 24/1-2024: Jeg fik printet resten af de beslag m.v, der skal bruges bag på elevatorstolene. Og den sidste portal. Nu handler det om holdere til midterlederen på skinnerne inde i elevatoren. Og måske noget, der kan centrere selve skinnerne. Og her viser det sig, at det største problem hidtil har været, at jeg har forsøgt at printe noget med et 0,6 mm hul, som kun var 2 mm langt. Det kan ikke lade sig gøre med en “almindelig” 3D printer. Men hvis jeg gør holderne 6 mm lange, så ser det ud til at fungere.
10/2: Jeg har printet en lille prototype med tre “fødder”, der passer mellem svellerne. Men skinnerne skal jo også centreres ret nøjagtigt i elevatorstolene. Så derfor ville det være smart, hvis disse fødder gik helt ud til kanten af hylderne. Det betyder så igen, at selve midterlederholderen og fødderne skal printes hver for sig og samles rundt om skinnerne. Derfor er næste forsøg nogle svagt koniske huller i fødderne og lige så koniske dutter under selve holderen, så de to dele kan klikkes sammen. Efter et par forsøg fandt jeg frem til, at det passer med radius 1,4 og 1,5 mm på dutterne og 1,5 og 1,6 på hullerne. En FDM 3D printer er meget præcis, men det ser ud til, at PETG bulner 0,5 mm ud på den printer, jeg anvender.
11/2: Jeg grubler en del over, hvordan skinnerne skal centreres og fastgøres. En hel Piko flex-skinne er 940 mm lang. Jeg har talt, at der er 128 sveller. Og de er hver 3 mm brede. Mellemrummene er 4,3 mm. Det passer med, at 128*3+127*4,3=930,1. Og selve skinnerne stritter ganske rigtigt ca. 5 mm uden for yderste svelle i hver ende. Samme skinne kan glide hen gennem svellerne. Så de skal fikseres. Jeg tror, at epoxy lim vil være det rigtige til det formål. Jeg har købt de 10 mm lange Piko skruer til at fastgøre skinner og underlag. Det vil kræve, at jeg sætter skinnerne fast, før jeg samler elevatorstolene. Ellers kan jeg ikke få en skruetrækker på. To problemer: De vil stikke 2 mm ud på undersiden af hylderne, og hullerne til dem kommer til at sidde under midterlederen. Løsning; Skær de to mm af med Proxxon maskinen, og bor nye huller i et zigzag mønster på hver side af midterlederen. Midterlederen skal også gøres fast. Det kan gøres ved at (nogen af) fødderne på midterlederholderne fortsætter ud under skinnerne.
Mht. centrering af skinner, så kunne jeg godt tilføje et eller andet, der tvinger skinnen inde i elevatorstolen og skinnen i portalen til at være 100% ud for hinanden. Men lad os se, om det bliver nødvendigt. Det kan tilføjes, hvis problemet er der.
16/2: Jeg har designet et endestop og centreringsstykke til enderne af skinnerne i elevatorstolene. Se billede. Hermed slipper jeg for at lime og centreringen burde også være sikret.
FASTGØRELSE AF V-SLOT PROFILER18/2: De to V-slot profiler, der skal udgøre kernen i mekanikken, afkortet. Huller boret, og jeg begyndte at montere den ene af dem. Men det duer ikke. Rammen og de to massive klumper spånplade, som skulle være monteringsstykker til V-slot profilerne, er meget skæve. Jeg tror, at jeg bliver nødt til at 3D printe nogen monteringsstykker og at sætte nogen kiler bag ved dem, så det hele kan tilpasses. Jeg har målt rammens total-bredde til 1288 mm (som stemmer med min tegning) i hullerne til de yderste portaler, men 1291 mm i hullerne til de inderste portaler.
20/2: Tankespind. Jeg sparer 7 kg ved at fjerne de to spånplade-monteringsstykker. Og de 3D-printede bliver maksimalt 1 kg. Det er jo fint. Men hvordan får jeg de to V-slot profiler til at sidde lige i en skæv ramme? Jeg tænker for det første at printe de nye monteringsstykker i to dele. En del på 9 cm, som udgør hoveddelen og et stykke på ca. 1 cm, der skal udligne skævheden. Og så ellers en 140 mm gennemgående M6 bolt til at holde det hele sammen. For at tage mål til tilpasningsstykkerne tænker jeg at spænde de to V-slot profiler sammen med fire kosteskafte, som jeg skærer til i den præcise længde svarende til den ønskede afstand og boltet fast på V-slot profilerne vha. de beslag, der skal holde medløberhjulene til tandremmene. Derved kan jeg ganske enkelt stille de to V-slot profiler på bunden af rammen på en lille stabel MDF, tage målene, printe et beslag af gangen og bolte det fast. Hullerne i rammen til boltene kan jeg måle præcist ud og bore i forvejen.
24/2: De to spånplade klumper fjernet og hullerne delvis udspartlede. Nye 3D-printede og to-delte monteringsklumper designet.
25/2: Første to klumper printet. Desuden indkøbt gevindjern, kosteskafte m.v. til monteringen. De værste skævheder “skjult” ved at slibe med korn 40 på en excentersliber, så spånpladen blev en millimeter tyndere i hjørnerne. Alle kanter på rammen spartlet. Og nye huller til fastgørelse af V-slot profilerne boret.
1/3: I løbet af den seneste uge er alle de 10 store stykker af 3D printede monteringsstykker printet.
2/3: Hullerne i rammen boret op til 9 mm, så det passer med de “bolte”, jeg også har lavet i dag ud af et par meter gevindjern og nogen møbelmøtrikker. Desuden er de fire kosteskafte kortet af til 1056 mm (1288 mm totalbredde – 2×16 mm side – 2×100 mm spånplade monteringsstykker), forsynet med gevindbøsninger og skruet imellem de to V-slot profiler. Endelig er hele konstruktionen sat ind i rammen, og jeg har målt ud til og printet det første af de +/- 2 cm tykke stykker af monteringsklodserne. Jeg overvejer, om ikke der skal blive ved med at sidde kosteskafte helt for oven og helt forneden. Det vil sikre, at de to V-slot profiler forbliver parallelle.
5/3: Jeg lavede en prototype på et beslag, der kan holde præcis afstand mellem V-slot profilerne og bagsiden af rammen, og holde profilerne i den rigtige højde. Samtidig burde det holde V-slot profilerne parallelle, så der ikke er behov for kosteskaftene i den blivende løsning. Se billede.
6/3: Beslaget forbedret. Og forsynet med en flange til montering af et kosteskaft til at holde V-slot profilerne parallelle og i den rigtige afstand. Desuden fik jeg sat det andet stykke af den anden monteringsklods ind i rammen, så der nu sidder en i midten af hver V-slot profil.
7/3: En spejlvendt udgave printet. Desuden har jeg printet og monteret andet stykke på yderligere tre monteringsklodser.
8/3: De sidste beslag printet, så V-slot profilerne kan gøres fast for oven og for neden i bagsiden og i tre punkter ind i siden. Desuden har jeg forsøgt mig med at printe nogen “løse” tapper til at gå ind i V-slot profilerne, for de yderligere 4 monteringsklumper, som jeg fik printet uden disse tapper, og som der er investeret en hel del PETG plastik i.
9/3: Yderligere to kosteskafte indkøbt, afsavet til 980 mm (de 1056 mm for de andre kosteskafte – 2×20 mm bredde af V-slot profilerne – 2×18 mm for afstand mellem V-slot profilerne og flangen af de nye beslag) og monteret mellem de nye beslag. Disse beslag monteret i “bagvæggen” og det hele tilpasset. Seneste problem var lidt svær at lokalisere. De lange skruer ville ikke i alle steder. Men det viste sig blot at være fordi jeg ikke havde fået boret helt lige gennem V-slot profilerne alle steder.
10/3: De sidste stykker til montering af mekanikken i rammen udprintet. Der er op til 4 mm forskel på tykkelsen af monteringsstykkerne. Og flertallet af dem er 1 mm tykkere for inden end de er for uden. Så mit snedkerarbejde må siges at være sådan lidt “so wie so”. Men nu står mekanikken snorlige inde i den skæve ramme. Det spændende bliver, om de 12 mm luftspalte mellem elevatorstol og ramme (som også skal give plads til portalerne med IR sensorer) sammenholdt med de 4 mm skævhed bliver en udfordring.
SOMMERPAUSE Herefter gik der havearbejde i det med højtryksrensning m.v. af terrasse og drivhus. Og fruen har okkuperet garagen som maleværksted til diverse haveinventar. Men det er planen at få malet elevatoren og få sat den sammen før næste sæson. Så må vi se, hvor meget arbejde der er i at få elevatoren gjort funktionsdygtig nok til at sætte den op på væggen og begynde at bygge banen op omkring den.
14/1:
24/1:
11/2-24:
16/2:
25/2:
1/3:
2/3:
5/3:
6/3:
7/3:
8/3:
9/3:
11/3: Det allerbedste ved den nye måde at montere mekanikken i rammen kan vise sig at være, at den samlede mekanik inklusive øverste og nederste kosteskaft kan stå frit på et bord eller lignende, og kun skal sættes ind i rammen for at kunne hænges på væggen. Det gør det både lettere at få det hele til at fungere og at montere og vedligeholde elevatoren.
21-22/8-2024: Malerarbejdet og dermed alt træarbejdet er afsluttet, så nu kan jeg komme videre med den praktiske udførsel af mekanikken. Jeg begynder med beslagene øverst og nederst på V-slot skinnerne: Der var ikke plads til møtrikken på de beslag, der skal gøre V-slot skinnerne fast i siden af rammen. Og der var kun en flange til ét kosteskaft (bag V-slot skinnen). Jeg har derfor tilføjet en bue, der giver plads til møtrikken samt en flange til endnu et kosteskaft foran V-slot skinnen. Og jeg har printet de fire beslag på ny:
29-30/8: Rammen båret ind på det arbejdsbord, jeg har inde i togrummet. Så kan den stå der, mens malingen hærder færdig, og jeg fortsætter med at nyde sommeren og tænker på, hvordan jeg bedst kommer videre med projektet. Foreløbig har jeg justeret de 8 V-Slot “vogne”, så de kører uden slør og alligevel let på V_Slot profilerne.
1/9: En hylde fjernet og V-slot profiler m.v. båret ind fra garagen:
15/9-2024: Jeg har udtænkt to ændringer til mekanikken.
For det første har jeg på forhånd opgivet at anbringe kontakterne til skinnestrøm præcist nok til at få det til at fungere. Så derfor vil jeg i stedet føre ledninger op til skinnerne og slå strømmen til og fra vha. relæer.
Ledningerne vil jeg føre i såkaldte “cable chains”. Der findes 3D filer på Thingiverse, så jeg kan printe dem selv, eller jeg kan købe fra aliexpress.
For det andet har jeg redesignet portalerne, så de er flade (3 mm i stedet for 12 mm inde i elevatorrammen) og så jeg i stedet bruger simple IR dioder og fotodioder. Se træarbejde-siden for en forklaring på, hvorfor dette er nødvendigt. Og elektroniksiden, hvor historien om, hvorfor de IR sendere og modtagere, jeg oprindeligt troede, at jeg skulle bruge, alligevel ikke er velegnede til mit formål.
Det burde blive en løsning, der er rimelig ufølsom overfor udefrakommende lys, idet diode og fotodiode kommer til at sidde inde i en cylinder. Jeg skal lige overveje, om der skal laves nogen kanaler til ledningsføring, samt hvordan dioderne skal gøres fast.
Og der er et mindre problem: Skruestørrelser. Jeg havde nemlig tænkt mig at bruge 4 stk. 4 mm skruer i hver af de “vogne”, hvorpå elevatorstolene skal køre op og ned af V-slot profilerne. Der er bare ikke 4 mm huller i vognene. Der er 3 og 5 mm huller. Og et enkelt 7 mm hul. Så jeg må i tænkeboksen og dernæst på indkøb:
Jeg tænker at købe M5 bøsninger og skruer, der er lange nok til at gå helt ind i elevatorstolen, hvor jeg putter en stor spændeskive og en selvlåsende møtrik på. Og jeg bruger de to brede huller, hvilket giver masser af sideværts justeringsmulighed.
Og så er der beslagene til tandremmene og dem til spindelmøtrikkerne samt nedennævnte cable chains: Der holder jeg fast i M4 bøsninger og skruer.
29/9 2024: Ny portal designet færdig
Ovenstående portal med 3 mm IR sensor designet færdig, så der er en lille (0,1 mm) kant, så dioderne kan klikkes i og holdes fast. Desuden er tilføjet nogen ledningsholdere hele vejen rundt:
3/10-2024 V-slot vogne bag på elevatorstole
Jeg har modtaget skruer m.v., så der er ikke mange undskyldninger tilbage for ikke at få samlet mekanikken. Jeg har oven i købet fundet ud af at printe tegninger med mål på fra FreeCAD. Man skal bare bruge TechDraw workbench’en.
11/10: Den store samling påbegyndt
Jeg fik skruet diverse beslag på elevatorstolene. Inklusive grovjustering af V-slot vognene. Men jeg tror, at finjustering bliver nødvendig for at få alt til at passe sammen.
13/10 – stole anbragt på gulvet. Klar til finjustering:
14/10-2024 – Finjustering fuldført
V-slot vognene justeret ind, så de nu sidder i den helt rigtige afstand fra spindelmøtrikken og med den helt rigtige indbyrdes afstand:
Desuden har jeg skruet de beslag på V-slot profilerne, som skal sidde under spindelmøtrikkerne. De sidder foreløbig i tilfældig højde. Men det er nok til, at jeg kunne skyde begge elevatorstole ind på V-slot profilerne:
Og så dukkede næste problem op: Jeg troede, at jeg havde slebet alle møtrikkerne på V-slot vognene ned, så de kan passere beslagene. Men det er ikke tilfældet. Så jeg må have elevatorstolene med ud i garagen for at få møtrikkerne slebet lidt mere.
15/10: Klar til tandremme
Jeg havde slebet møtrikkerne. V-slot vognene skulle bare vende rigtigt. Det gør de nu. Og den ene møtrik, der ikke var slebet ordentligt, fik i bogstaveligste forstand af grovfilen.
Desuden er resten af de beslag, der skal sidde på V-slot profilerne, nu monteret:
Der er dog ikke plads til at køre elevatorstolene helt op og ned samtidig. De støder imod beslagene til remstrammerhjulene, som skal flyttes (strammes) 5-7 mm, så der bliver plads.
16/10 – der må fræses
Det bliver ikke godt at flytte beslagene 7 mm. Dels er der kun 10 mm ned til bunden henholdsvis op til toppen af rammen. Og dels er der kun 5 mm til skruen, der holder selve remstrammerhjulet, rammer beslaget (som der selvfølgelig kan fræses et hak i). Og der skal også bruges et par millimeter på at stramme tandremmen.
Så jeg må nok hellere skære et hjørne af beslagene i stedet. Men hvordan gør man det, så det ser anstændigt ud? Den metode, jeg fandt frem til, da jeg lavede hullerne i enderne af elevatorstole, tænker jeg. Dvs. spænde overfræseren op i mit lille fræserbord og 3D printe en skabelon at fræse efter. Jeg har læst at et HM fræsejern nok skulle kunne holde til at fræse i aluminium, hvis man smører lidt med noget WD40. Så det må prøves. Men det passer mig dårligt. Jeg troede lige, at jeg var næsten færdig med mekanikken.
17/10: Fræsning fuldført
Jeg fik alle remstrammere afmonteret, adskilt og fræset. Men først skulle jeg (hele natten) drømme mig frem til en måde at undgå en milliard små forbistrede aluminiums-spåner i hele garagen. Det blev til en skabelon, der fanger de fleste af de spåner, der flyver opad:
Og desuden noget så simpelt som en plastiksæk til at fange det allermeste af resten:
Den ene arm måtte nødvendigvis ind i åbningen af sækken. Så lidt slap ud. Men det tog jeg med støvsugeren efter fræsningen af hver enkelt beslag.
18/10-2024: Mekanikken skruet sammen – for det meste
Kernen af elevatoren samlet. Inklusive tandremme, spindler, motorer osv.
19/10: End-stop switch aktuatorer gjort tykkere (8 mm frem for 6 mm). Desuden er mekanik, elektronik og software for første gang testet sammen. Se mere under “software”. Mekanisk var det største problem en nærmest skrigende lyd. Spindlerne og tryklejerne skal have noget fedt. Og det ser ud som om 3D printere skal have fedt med teflon (PTFE) i. Så det skal en togelevator nok også.
20/10: PTFE fedt indkøbt og påført spindlerne og fyldt ind i tryklejerne. Det dæmpede lyden en del, selvom man stadigvæk ikke er i tvivl om, hvornår elevatoren kører.
21/10: Mekanikken sat op i rammen, så det ligner en elevator, hvor chassiset står stille og den ene elevatorstol kører op, når den anden kører ned. De seneste dage har det været den ene elevatorstol, der “stod” stille på gulvet.
Det fungerer. Men der er nogen ledninger ved portalerne, der risikerer at komme i klemme.
23/10: Tandremmene strammet op. Et par skruer sat i hver portal for at undgå at noget kommer i klemme. Ledningerne til endestop lagt op, så de heller ikke kommer i klemme. Alle 12 etager kalibreret. Og så har jeg tegnet lidt videre på layoutet, så jeg kan få anbragt elevatoren (den gule firkant) rigtigt på væggen:
3/11 – skinner inde i elevatoren
Jeg fortsatte hvor jeg slap 16/2. Endestoppet redesignet, så det centrerer i åbningen (som er rimelig præcis, fordi den er fræset ud vha. en skabelon) i stedet for siderne inde i elevatorstolen (som mangler præcision). Derfor buerne:
Desuden har jeg lavet et zig-zag spor på undersiden, så midterlederen kan låses fast:
Desuden har jeg lavet en mængde forsøg på at 3D-printe midterlederholdere, hvor “fødder” i forskellige former og størrelser kan klikkes på. Men det virker ikke. Derfor er bedste bud nu denne:
Den grå dims øverst på billedet er ikke en del af midterlederholderen. I stedet er tanken, at den kan lægges under skinnerne, så der bliver en lille “krog” omkring kanten af den hylde, hvorpå skinnerne ligger, der kan sørge for, at skinnen ikke glider sidelæns.
Jeg har ikke nogen smart løsning på at lodde ledninger på skinner og midterleder.
Jeg lader lige tankerne flyve i nogen dage, før jeg sætter i gang med massefremstillingen af disse beslag.
Der skal bruges 6 midterlederholdere til hver hylde. Det giver 72 i alt.
Og der skal bruges 2 endestop pr. hylde. 24 i alt. Og de skal muligvis ikke alle være lige lange. De udgør min eneste mulighed for at kompensere for skævheder, der måtte være, som gør, at de enkelte hylders afstand til portalen i rammen ikke er den samme. Spørgsmålet er, om det er klogest at vente til elevatoren er hængt op på væggen og samlet endeligt – inklusive alle beslag i siden, eller om jeg kan gøre det nu, hvor elevatoren står på bordet.
4/11: Alle beslag i siderne monteret, så jeg kan foretage ovenstående udmåling. Det betød, at mekanikken blev rykket et par mm til højre for neden, men ikke for oven. Og det betød, at skruerne i kosteskaft-beslagene og ind i rammen pludselig kunne sættes i. Så det føles rigtigt at lave udmålingen nu.
9/11: Udmåling foretaget. Det er ikke forfærdelig skævt. +/- 0,5 mm. Så jeg printer 3 størrelser skinneender: 17, 17,5 og 18 mm. Desuden har jeg købt stålvinkler og et stykke træ, som jeg har skåret til i længde og er i gang med at male. Begge dele skal bruges, når rammen skal skrues på væggen på samme måde som dette skab er skruet på væggen på vores badeværelse:
En stor skrue ind i væggen og en del små skruer til at fordele trækket i side og bagstykke.
16/11: Flere små nøk fremad
I den forløbne uge har jeg fået printet elektronikboksen og en del af dingenoterne til skinnerne. Og jeg har købt to meter kabelbakke til at styre ledningerne ovenpå elevatoren.
I dag har jeg fået tømt ud, der hvor elevatoren skal hænge, afmonteret de hylder, der var på væggen, samt spartlet hullerne.
Jeg har skåret de to stykker kabelbakke, som jeg skal bruge. Og jeg har været i Bauhaus og købt plugs til ophængningen. Det var svært. Hidtil har jeg brugt Fisher UX 6×35 mm plugs.
Men de fås ikke længere. I stedet har jeg købt nogen lidt kortere (6×30 mm) Fisher Duopower.
Desuden har jeg boret 22 mm huller i toppen af rammen til at føre ledninger til skinnerne neden ud af elektronikboksen. Og jeg har designet og printet nogen pyntestykker til at camouflere hullerne og danne overgang til de to cable chains, der skal føre ledningerne ned til elevatorstolene.
17/11: Endnu et nøk
Væggen er pletmalet, så jeg nu har en perfekt væg til at bore nye huller i.
De beslag, der skal holde cable chains fast på elevatorstolene, er ligeledes designet og printet ud. To gange. Første forsøg ville betyde, at jeg skulle bore/skrue ind i de dyvler, der holder elevatorstolene sammen.
Og jeg troede, at jeg nu skulle skrue alle fire beslag fast. Men jeg kan ikke komme til at bore lige op i rammen, så de beslag må vente, til jeg alligevel piller mekanikken ud af rammen for at kunne hænge elevatoren op på væggen. Og det samme med beslaget bag på forreste stol, som slet ikke kan lade sig gøre, mens elevatoren er samlet. Men et beslag fik jeg trods alt skruet fast.
18/11: Alle beslag, der holdt mekanik og ramme samlet, samt elektronikken fjernet. Desuden er en del ting flyttet ud af rummet, så der er plads til mekanikken på gulvet og samtidig til at hænge rammen på væggen.
20/11: Mekanikken hevet ud af rammen og de sidste tre beslag til cable chains gjort fast. Næste problem er ledningsføringen til IR sensorerne i portalerne. Jeg bliver nødt til at printe nogen nye, hvor det er mere plads til ledninger samt en løsning på at få ledningen ført ud til V-slot profilet, så det kan føres op til toppen af elevatoren inde i profilet:
23/11: Huller til ledninger til stepmotorer, IR sensorer og endestop switche boret i toppen af rammen. Nye portaler designet og de første eksemplarer printet og monteret.
24/11: Resten af de nye portaler printet og monteret. Alle fire IR sensorer gentestet. Kabelkanaler oven på elevatoren monteret. Støtte/bærebjælken skruet på væggen og rammen og bordet, den står på, flyttet over på den rigtige væg. Ledningsholdere til at føre IR sensor ledningerne ud til V-slot profilerne printet og monteret på V-slot beslagene.
25/11: Rammen skruet op på væggen:
27/11-2024: Mekanikken løftet op i rammen og alle skruer sat i alle beslag.
4/12-2024: Jeg har den seneste uge dels trukket ledningerne til IRSensorer og endestop switche inde i V-slot profilerne samt to gange forsøgt at gentage målingerne fra 9/11 af skævheder i elevatorstolene. Hver gang tre målinger pr. etage. Første gang fra ydersiden af elevatorstolen. Anden gang fra indersiden, hvor skinneenden jo skal støde op til. Det er stadigvæk indenfor +/- 0,5 mm. Men det er som vinden blæser. Jeg har brugt et almindeligt målebånd. Og det kan man ganske enkelt ikke med så små tolerancer.
Derfor har jeg printet lidt måleværktøj og målt igen. Nu fik jeg tre målinger, som er helt konsistente. Og stadigvæk +/- 0,5 mm.
Det er linealen for neden. Den øverste ting er til at måle bredden af åbningen i elevatorstolene.
8/12: Kabelkæderne monteret og første skinne samlet og forsynet med ledninger. Zoom ind på den røde ledning for at se, hvordan jeg strømforsyner midterlederen. Der mangler stadigvæk en hel del limklatter fra limpistolen.
9/12: Det sku’ vær’ så godt. Men det er faktisk skidt. Midterleder-metoden duer ikke. Limklatterne løfter slæbeskoen op i luften. Og selv når jeg klipper dem væk er det stadigvæk ustabilt. Slæbesko og midterleder mister for nemt kontakten.
Jeg bliver nødt til at hæve skinnerne et par millimeter for at få plads til trådene på undersiden. Jeg kunne 3D printe nogen plader? Eller bruge noget parketgulvsunderlag? Og hvad med endestykkerne? Skal de også gøres højere?
10/12: Jeg testede lige den 10 cm lange ende fra 2017, hvor tråden blot er bøjet rundt om svellerne:
Og det kører perfekt. Dog vipper det faretruende, når lokomotivet kører hen over lodningerne, som er flere millimeter høje. Så der skal nogen millimeter under svellerne for at stabilisere “opstillingen”. Men det er helt klart vejen frem. Det er oven i købet pænere end de limklatter, den anden løsning endte i.
12/12: En feriedag. Underlag til skinnerne designet og udprintet til første skinnestykke, som også er forsynet med midtertråd 2017-style. Underlaget er 1,5 mm højt. Men sidste stykke i hver ende skråner nedad, sådan at der helt ude i enden ikke er noget underlag. Alleryderst er tråden stadigvæk “klikket” ned i endestykket. Og det første stykke er tråden i et stykke, som vikles lidt op og ned af huller og sveller, så det fylder under 1 mm under svellerne.
Og lokomotivet kører uden problemer. Også over på næste skinnestykke med 1 mm gab imellem.
14/12: Skinnender i elevatoren og udenfor skulle gerne være helt lige ud for hinanden. Men hvordan sikrer jeg det? Højden er ikke noget problem. Den kan jeg justere vha. step motorerne. Men i side- og længderetningen må der gøres noget. Derfor har jeg designet en ende på skinne-enderne både på elevatorsiden og på enden udenfor elevatoren:
Der er kugler og skrå stykker, som styrer enderne sammen +/- en halv millimeter. Det forudsætter, at “landstykket” ikke er skruet fast helt henne ved elevatoren, men alligevel er næsten på rette plads. Der skal lige tænkes lidt over, hvordan jeg opnår det.
Derudover har jeg været i Bauhaus og købt MDF plade til kanter på hylderne, hvor banen skal bygges.
23 april 2023 – første dele bestilt og fintegning påbegyndt
Jeg har bestilt nogen af de stumper, der skal bruges til elevatoren, nemlig det der kan fås som billigt-skidt-og-møg fra Kina. Herunder to NEMA 23 stepper motorer med drivere. De bliver dog sendt fra Tjekkiet, så de burde dukke op indenfor endelig tid.
Derudover har jeg tænkt og tegnet anbringelsen af hele seks switche i hver side af elevatoren (en for hver hylde i hver elevatorstol) i stedet for blot en enkelt endestop. Dette for at kunne positionere hver etage præcist. Der skal være nogen 3D printede “knopper” bag på elevatorstolene, sådan at hver af de 6 niveauer passer med at netop en switch aktiveres. Det kan måske være svært at se, men denne tegning er set nedefra. De seks mintgrønne tingester er switchene. Knopperne er ikke med på tegningen. Men de grå flader er elevatorstolene:
Disse to tegninger er af hele elevatoren – med og uden den ene side af rammen:
6. maj – fintegning og beregninger
Jeg har tegnet, hvordan alle stykkerne til elevatoren kan skæres ud af hele MDF plader. Der skal bruges ca. en halv plade med en tykkelse på 6 mm til hylderne. Og hele to en halv på 19 mm. Det fik mig til at regne på, hvad det hele kommer til at veje.
Svaret er ca. 76 kg, fordelt som 49,5 kg for rammen og 13,2 kg pr. elevatorstol. Det er nok lige rigeligt.
Hvis jeg går ned til 12 mm MDF for alt undtagen det stykke, som V-slot profilerne skal skrues fast i, bliver det 52 kg, fordelt som 33,4 kg for rammen og 9,2 kg pr. elevatorstol.
Med 9 mm MDF, med V-slot monteringsstykket på 19 mm og forstærkningerne til samme på 12 mm, kommer jeg ned på 42,3 kg, fordelt som 27,3 kg for rammen og 7,5 kg pr. elevatorstol.
Det kan give visse vanskeligheder at bruge M5 skruer og 6 mm trædyvler i en 9 mm plade. Men i en 12 mm burde det kunne lade sig gøre. Så jeg tænker, at jeg måske kan samle stolene af en kombination af 6 og 9 mm plade ved at fræse spor i stedet for at bruge dyvler og ved at lime forstærkninger på, hvor der skal skrues en gevindbøsning i. Det er sådan (altså at fræse spor) fabrikken har samlet mine vitriner. Og rammen kan være 12 mm MDF plade, så jeg kan samle den med dyvler og skruer. Top og bund behøver dog ikke at være mere end 6 mm. På den måde kan jeg komme ned på 40,2 kg, 27,3 kg for rammen og 6,5 kg pr. stol.
Næste tanke er at bruge 16 mm spånplade til rammen og siderne og top og bund af stolene. Det er stærkt nok til køkkenskabe. Så det må også kunne bruges her. Dog vil jeg stadigvæk bruge MDF til de dele, der skal fræses spor i, til hylderne (som skal være tynde) og til monteringsstykkerne til V-slot profilerne. Da spånplade kun vejer et sted mellem 1/3 og 1/4 af MDF kommer jeg derved ned på 27,7 kg eller 15,9 kg for rammen og 5,9 kg pr. stol.
Og det minder mig om, at jeg nok hellere må genberegne mine to stepper motorers løfteevne. De er opgivet til 1,26 Nm. Og jeg har bestilt en 16 tands remskive. 16x2mm giver en omkreds på 32mm. Det svarer til en radius på ca. 5,1 mm. (1000 mm / 5 mm) x (1,26 Nm / 9,82 m/s2) = 25,6 kg pr. motor. De burde altså fint kunne løfte en elevatorstol – selv uden kontravægtsprincippet.
15. september – genovervejelse af tandrem versus spindler
Jeg er ikke endnu tilbage ved modeltoget. Men man kan jo godt tænke lidt, mens man klipper hæk.
Og lige nu er overvejelsen om jeg virkelig tør at betro 12 togsæt til to tynde tandremme med tilhørende remskiver? Jeg tænker, at det måske alligevel ville være smart at bruge spindler. Det vil muligvis også få elevatoren til at stå stille eller i det mindste “falde langsomt ned”, når stepper motorerne er strømløse. Jeg tænker stadigvæk på spindler med en stigning på 4 (eller måske 2) mm pr. omdrejning. Sammenlign med tandremmenes stigning på 32 mm pr. omdrejning. Dvs. enten 8 eller 16 gange så højt moment og 8 eller 16 gange så langsomt.
Så vidt jeg kan læse mig til kører en stepper motor op til 1000 omdrejninger i minuttet. Jeg kan ikke finde data for de motorer, jeg har købt. Men hvis vi regner med 500 omdrejninger pr. minut, og hvis jeg regner med at elevatoren skal bevæge sig 10 cm pr. etage bliver hastigheden:
Tandrem: 100 mm/etage / 32 mm/omdrejning = 3 omdrejninger/etage. Dvs. 3 omdrejninger/etage / 500 omdrejninger/minut = mindre end 1/2 sekund pr. etage. Teoretisk (der skal accelereres op og ned) men i hvert fald mere end hurtigt nok.
Spindel med 2 mm/omdrejning: 100 mm/etage / 2 mm/omdrejning = 50 omdrejninger/etage. Dvs. 50 omdrejninger/etage / 500 omdrejninger/minut = 6 sekunder/etage eller 36 sekunder for 6 etager. Og måske lidt mere i virkeligheden pga. acceleration op og ned. Eller mindre, fordi motoren kan køre mere end 500 omdrejninger/minut. Men det virker egentlig ganske passende.
29. september 2023 – sensorer og homing
Jeg var i gang med at designe software og kalibrering af antal steps for at ramme højderne helt rigtigt, da det gik op for mig, at der slet ikke skal være en sensor (microswitch) per etage per side. Det bliver alt for kompliceret. Og det giver ingen ekstra præcision. Den eneste fordel ville være, at man ikke altid behøver at initialisere til nulpunktet (hvilket måske tager op til 40 sekunder).
Sådan laver man heller ikke en 3D printer. Sådan en “homer” alle akser under initialisering, så man ved hvor nulpunktet er. Og til det er en enkelt end-stop microswitch ret præcis.
En anden helt ny tanke, jeg har fået, er, at det ikke er sikkert, at jeg kan få begge elevatorstole til at passe nøjagtigt med skinnerne samtidig. Dvs., at jeg nok skal se på det som 12 etager og ikke 6 dobbelt-etager.
Rent mekanisk betyder det, at jeg kun skal bruge to microswitche, nemlig en i hver side af bunden af den ene elevatorstol (eller toppen af den anden). Og disse switche skal anbringes på siden af elevatorstolen. Ikke under bunden (eller toppen) af elevatorstolen så den bliver klemt. Og switchen skal aktiveres når elevatoren er mere end f.eks. en centimeter under nederste etage, og den skal vedblivende være aktiveret i hele stolens fysiske bevægelsesrum længere nedad.
Og kalibreringen betyder, at jeg skal kende antal steps i hver side af 12 etager i forhold til nul, som er defineret som netop der, hvor endestop switchen ikke er aktiveret, når elevatoren bevæges opad. Ikke andet. For når elevatoren skal bevæges til en etage begynder jeg med at bevæge den til en position 10 mm længere nede og derefter langsomt op til det rigtige niveau. Dvs. bevægelsen er altid opad.
26. oktober 2023 – Layout overvejelser
Jeg har leget lidt med Anyrail. Hvis jeg anbringer elevatoren så langt som muligt til højre på endevæggen kan jeg få plads til at åbne den skabslåge, som er til venstre for elevatoren. Og jeg kan også få plads til en vendesløjfe, som ganske vist kommer til at spærre for den ene elevator-udkørsel:
Eller jeg kan undlade vendesløjfen og i stedet bruge alle fire elevator-udkørsler:
Jeg hælder lige nu mest til at få vendesløjfen. Men jeg lader lige ideen “simre” lidt.
11. november 2023 – vægtoverraskelse
Jeg har for et stykke tid siden gentegnet og genberegnet elevatoren, så alt undtagen selve hylderne bliver 16 mm spånplade. Og hylderne stadigvæk 6 mm MDF.
Beregningen sagde 4,7 kg pr. stol og 20,8 kg for hele træ-delen. Men: Det var baseret på Bauhaus’ oplysninger om, at en hel spånplade vejer 10,8 kg. Det viser sig bare, at det er vægten pr. kvadratmeter. Så det bliver tre gange så tungt. Men det matcher sådan set meget godt et HTH højskab på 195x60x55 cm. Inklusiv låge og 5 hylder vejer det 64 kg. Jeg har lige slået det op på deres hjemmeside. Og det hænger man gladeligt på væggen vha. nogle få store skruer.
For at få lidt mere styr på vægten vejede jeg to stykker, som udgør lidt under en halv plade. Og ud fra det siger mine beregninger, at hver elevatorstol kommer til at veje 9,9 kg og rammen 32,6 kg. Og det er uden tog, skinner og elevator-mekanik.
Den samlede vægt gør ikke så meget. Væggen i huset skal nok holde. Og 5 skruer med ordentlige plugs kan fint holde flere hundrede kg.
Men kan to tandremme og to små remstrammerhjul bære to elevatorstole på hver 10 kg? Det må vi håbe. Ifølge diverse sider kan en tandrem holde til 86 N pr. mm bredde. Det giver, at en 6 mm rem kan holde til 52 kg. Og en 10 mm til 85 kg. 16 mm svarer til 140 kg. Det burde altså gå an med de 6 mm. Men det kan godt være, at jeg skulle bestille noget kraftigere.
Jeg kan også prøve at “slanke” elevatorstolene. Jeg kan f.eks. bore en masse huller overalt. Eller 3D printe visse dele. For at forstå, hvor meget vægt, der kan spares ved 3D printning, prøvede jeg at beregne vægten af en 3D printet hylde. Det bliver ca. 300 gram. En MDF hylde vejer ca. 400 gram. Dvs., der kan spares et kg pr. elevatorstol. Måske ville jeg vha. alle mulige tricks kunne få en elevatorstol ned fra de 9,9 kg til f.eks. 7,5 kg. Men jeg tror ikke, at det er umagen værd.
Jeg er ikke kommet videre, udover at jeg har købt 100 gevindbøsninger og skruer. Og fået lavet en masse havearbejde.
Til gengæld har jeg fået ny inspiration fra to fronter.
For det første var jeg til DMJU messe, hvor jeg bed mærke i Schmalspuranlage “unteres Preßnitztal” i bunden af hal B. Ikke så meget pga. det meget flotte og naturtro landskab m.v., men mere for den flotte backdrop, som virkelig gav noget visuel dybde og som på dygtig vis blev brugt til få toget til at “forsvinde” i horisonten og dukke op i den anden side af panoramaet. Jeg fik ikke taget et billede af det. Men det er der heldigvis en, der har gjort her. Se efter “unteres Preßnitztal”.
De to ting fik mig til at tænke på, om det mon er umagen værd at bygge i to etager? Eller om jeg i det mindste skal undgå op- og nedkørsler mellem de to etager ved at bygge en elevator imellem dem? Det ville muliggøre meget større afstand mellem dem. To landskaber, måske.
Jeg vil efter den hidtidige plan kun bruge underetagen til to ting, nemlig at have vendesløjfe og at kunne parkere en masse tog. Især op- og nedkørsler vil give problemer på grund af hældninger og snævre sving. Og afsporinger, beskidte skinner og dårlige sporskiftere er ikke særlig sjovt i en skjult underetage.
Alternativet er at skjule en elevator med plads til en masse tog i flere lag bag et backdrop i bunden af min hestesko.
Jeg er endnu ikke helt enig med mig selv om, hvorvidt jeg kan undvære vendesløjfen. Det vil muligvis se lidt fjoget ud at et gammeldags lokomotiv-trukket tog kører baglæns den ene vej. Med MY, MX, MZ kan det løses med en mulighed for omløb. Men med et damplokomotiv er det hmmmm. Til gengæld vil min to-etager løsning alligevel kræve, at toget bakker ned i underetagen, rundt i vendesløjfen og – stadig baglæns – op på øverste etage igen. Så kan den for så vidt lige så godt bakke bag om backdroppet, hen over elevatoren og ud på den anden side. Nuvel, så kører den kun fra station A til B og aldrig fra B til A, som den ville kunne med vendesløjfen. Med mindre, at jeg laver en vendesløjfe på den modsatte væg. Så vil layout’et se sådan ud:
De to skinnestykker længst til højre er elevatoren. Eller rettere elevatorerne.
Jeg hælder nemlig til at bygge to elevatorer. Dels har jeg begrænset loftshøjde i forhold til den hylde, hvor toget skal køre. Så der bliver ikke plads til mange tog pr. elevator. Og dels skal der en del motorkraft og solide aksler til at løfte en elevator, der trods alt kræver en del krydsfiner (eller MDF) plade. For akslernes vedkommende især, hvis de er lange.
I kælderkøbing er problemet med den kraftige motor løst ved at han har brugt understellet fra et hæve/sænke skrivebord. Men dels har sådan et begrænset slaglængde og dels vil den nok være svær at styre præcist nok.
To elevatorer kan være hinandens kontravægte, hvis de er koblet sammen, således at den ene går ned, når den anden går op. Hertil har jeg hentet inspiration fra “The Falkirk Wheel”, som jeg en gang besøgte under en ferie i Skotland. Her udnyttes princippet til at løfte skibe op og ned i en elevator.
Mekanismen har jeg tænkt mig at bygge af de elementer, som OpenBuilds bruger til at bygge CNC maskiner af. Der opnår man god præcision vha. step-motorer. Jeg planlægger at bruge to stk. V-slot 20×60 mm profiler – en i hver side. På hver af disse profiler skal elevatorerne køre op og ned – en elevator på hver side:
Der skal være i alt fire af disse “vogne” pr. elevator. To for oven og to for neden. Og elevatorerne skal være forbundet med hinanden med en tandrem, der går hele vejen rundt, sådan at de følges fuldstændig ad, altså så den ene går præcis lige så langt op, som den anden går ned. Det vil jeg opnå ved at skrue tandremmen fast i alle fire “vogne”, så den går hele vejen rundt om V-slot profilen. I hver ende skal der placeres to remstrammere for at remmen kan komme rundt.
Når der på den måde er to elevatorer, der er i nær perfekt balance, og som ikke skal bevæges meget mere end en halv meter op og ned, kan jeg forhåbentlig nøjes med en enkelt NEMA 17 step-motor og en simpel spindel. Men jeg køber nok den mest momentstærke NEMA 17 og en spindel med en stigning på kun 4 mm pr. omdrejning. Spindlerne i en 3D printer er typisk med 8 mm stigning. Og ved at halvere den får man fordoblet kræfterne og halveret hastigheden, hvilket vist passer meget godt til en tog-elevator. Sådan en spindel hedder SFU 1204, og kan – ligesom alt det andet – købes mange steder, både i Kina og hos danske MakerSupplies.dk, hvor den kommer som et kit med lejer og det hele. Til ca. 1.000 kroner. 1204 betyder i øvrigt 12 mm i diameter og 4 mm stigning pr. omdrejning.
MakerSupplies har en NEMA 17 motor med et maksimalt drejningsmoment på 0,85 Nm. Det bør betyde, at hvis man i princippet monterer en remskive med en radius på en meter, så kan den løfte 0,85 N / 9,82 m/s2 = 0,0866 kg i en snor rundt om denne remskive. De 9,82 m/s2 er tyngdeaccelerationen på jordoverfladen.
Hvis radius af remskiven i stedet er 6 mm (halvdelen af spindlens diameter) svarende til at snoren vikles rundt om spindlen, vil motoren på en rigtig god dag kunne løfte 0,0866 * 10000 / 6 = 14,4 kg.
Spindlens omkreds er 2 * pi * 6 mm = 37 mm. Dvs., at spindlen udgør en gearing på 37 : 4, eller cirka 9 : 1. Altså burde spindel og motor kunne løfte 9 * 14,4 kg = 130 kg. Selvom det selvfølgelig er et teoretisk maksimum, må den mere end rigeligt kunne klare opgaven med at flytte to elevatorer, der nogenlunde udbalancerer hinanden.
Motoren skal drives af en step-motor driver, som forsynes med rigelig strøm fra en 24 volt spændingsforsyning, og som styres af en Arduino eller noget lignende. Og der skal nødvendigvis være en form for sensor, der kan fortælle Arduinoen, hvilken position, der er udgangspunktet. For en step-motor kan ganske vist styres meget præcist, men kun i form af et antal steps i den ene eller den anden retning. Ikke i form at en præcis position. Det kan kun en servo.
På en af mine sider fra 2016 har jeg henvist til NElevator. Det ser ikke ud til, at det blev den store kommercielle succes. Deres sidste nyhedsbrev er fra 2018. Men galleriet viser mange fine detaljer. De har også to elevatorer. Og de skriver et sted, at de er hinandens kontravægte. Det var måske oprindeligt ideen? Men det er endt med to uafhængige elevatorer med hver deres basse af en motor, der via et snekkedrev trækker en aksel, hvori elevatoren hænger i en tandrem i hver ende. Jeg kan ikke se på billederne, om der måske er en kontravægt i tandremmene. Men det er der måske.
En interessant detalje ved NElevator er den måde, de får strøm i skinnerne på elevatorerne: Der er fysiske kontakter, så der kun er strøm i den skinne, der findes i korrekt højde. Dvs., at der ikke er behov for ledninger ud i elevatoren. Og ingen tog kan få strøm til at køre ud af den forkerte etage af elevatoren. Kontakterne er en strimmel beryllium kobber, som er bøjet så snedig, at den skaber kontakt direkte på skinnerne. Eftersom jeg kører 3-skinne system kan jeg ikke direkte kopiere dette. Men jeg kan sagtens bruge princippet. Og kontakterne kan eksempelvis købes hos Mouser.
10. april
Ved nærmere omtanke duer det ikke med kun en enkelt spindel. Så vil der ikke være en mekanisme til at sikre, at begge sider af elevatorerne er i samme niveau. Og to stk. af de dyre sammen med to dyre motorer bliver for meget. Derfor bliver næste skud to af de billige spindler med 8 mm stigning og en radius på 4 mm og to motorer med et drejningsmoment på 0,4 Nm.
Omkredsen af sådan en spindel er 2 * pi * 4 mm = 25,13 mm. Det giver en gearing på 25 : 8 eller cirka 3 : 1.
Og hver motor vil (på spindlen) kunne løfte 0,4 Nm / 9,82 m/s2 * 1000 mm / 4 mm = 10,18 kg. Ganget med gearingen er det ca. 30 kg / motor. Altså stadigvæk mere end rigeligt.
Jeg kunne også spare spindlerne og lade motorerne trække på tandremmene i stedet. Det vil være mekanisk en hel del simplere. Med en remskive på 14 mm i diameter (radius 7 mm) ville hver motor kunne løfte hhv. 0,85 Nm / 9,82 m/s2 * 1000 mm / 7 mm = 12 kg og 0,4 Nm / 9,82 m/s2 * 1000 mm / 7 mm = 5,8 kg. Så måske skulle jeg køre los med to af de store motorer og remtrækket? 2 * 12 = 24 kg burde være nok.
Dvs., at mekanikken simpelthen består af to af disse:
12. april
Jeg har skitseret, hvordan to elevatorer kunne se ud inde i en stabil ramme. Jeg har tegnet den ydre ramme som 24 mm MDF, rammen om hver elevatorstol som 19 mm MDF og hylderne, hvor skinnerne skal på, som 6 mm MDF:
Bemærk, at man skal kunne se alle tog – også dem i den bagerste elevator. Derfor – og for at spare vægt – har jeg tænkt mig at save de viste store huller bag i hver elevatorstol.
Tegningen er endnu ikke helt målfast, hylderne svæver frit inde i elevatorstolene, og hele indmaden svæver ligeledes frit inde i den ydre ramme. Desuden skal togene have nogen huller at køre ud og ind af og der mangler der en akrylplade i fronten til at lukke af for støv. Og det skal besluttes, hvor der skal limes, skrues og boltes for at realisere alle samlingerne. Så der er lidt designarbejde endnu.
V-slot profilerne kan gøres fast vha. en 19 mm MDF fra top til bund i yderrammen, som gøres fast i side, top og bund af samme yderramme.
Mht. vægten, så vejer 19 mm MDF ca. 14 kg/m2. Så en elevatorstol kommer vel til at veje i omegnen af 10 kg. Stærkt afhængigt af hvor store huller, jeg ender med at save.
Yderrammen kommer til at bestå af rundt regnet 4 m2 plade. 4 * 14 * 24/19 = 71 kg. Måske skal jeg også her overveje at slanke den noget ved at save store huller i bagsiden? Jeg kunne måske halvere vægten?
15. april
Jeg har lavet ovenstående tegninger i FreeCAD. Det er et gratis og nogenlunde nemt program til 3D tegning. Men for at skitsere lidt og regne præcise dimensioner ud, er jeg gået tilbage til PowerPoint, hvor jeg har lavet dette:
Nu skal 3D tegningen opdateres med disse dimensioner. Og det skal besluttes, hvordan detaljerne skal laves. Jeg har besluttet at gå ned til 19 mm MDF til den ydre ramme. Og at elevatorstolene har både for- og bagside af 19 mm MDF, hvori der skal fræses 5 mm dybe spor til de 6 mm MDF plader, der skal udgøre hylderne.
Jeg har opgivet det med brædder og tap-samlinger. Jeg har vist købt de forkerte brædder. De buer og er i det hele taget skæve.
Næste forsøg er 19 mm MDF skåret i strimler på 9 og 5 cm. Det er snorlige. Og det er stift. Men det er noget møg at arbejde med.
Jeg har foreløbig købt mig en lille rest MDF I Silvan, som er 4 cm for kort til de korteste hylder. Jeg har skåret stykket i 5 cm strimler. Og så har jeg købt et træ-dyvelsæt i Harald Nyborg. Man kan ikke rigtigt skrue MDF sammen, så jeg forsøger mig med lim og dyvler. Første skridt er, at jeg har forlænget to af strimlerne med hver 4 cm og samtidig skåret to stykker, der skal bruges til enderne af den nederste ramme til en hylde. Hver samling består af to dyvler og noget lim:
Planen er, at lime/dyvle begge rammer til den midterste plade og skrue top og bund på med M3 eller M4 gevind skruer, hvor der er skruet gevindbøsninger ind i MDF’en:Det vil vise sig, om krydsfineren derved bliver afstivet nok, eller om der er behov for midterstivere i MDF rammerne.
18. februar
Til ovennævnte dyvler kunne jeg pga. de små dimensioner ikke rigtigt bruge den skabelon, der fulgte med dyvelsættet. Derfor måtte jeg nøjes med at måle så præcist jeg kunne, og dernæst bore huller efter en blyantstreg. Og det virkede så nogenlunde. Men det var ikke helt præcist, og det var lidt for besværligt. Derfor har jeg nu fået 3D printet nogen skabeloner, jeg har designet specifikt til netop den størrelse MDF “brædder”. Og det virker:
4. marts
Den midterste plade limet fast til rammen. Uden dyvler. De kommer i brug, når den øverste ramme skal på.
12. marts
Jeg fik 3D printet en borelære, så jeg kunne bore helt lodrette huller til gevindbøsninger og skruer til at holde den nederste plade. Det fungerede i den forstand, at hullerne er lodrette og ud for hinanden lige midt i MDF pladen. Men selve gevindbøsningerne var meget svære at skrue lige i. Dem jeg har, er meget korte, og man kan ikke styre dem med en almindelig skruetrækker. Og nogen af dem skulle oven i købet ud igen for at få renset gevindet. Men nu sidder pladen fast med 8 skruer: