MODELLJERNBANEFORENINGEN I NORGE (MJF) - forum

  FAQ FAQ  Søk i forum   Arrangement   Registrer ny bruker Registrer ny bruker  Logg inn Logg inn

Programmeringssporet

 Svar Svar Side  <1 567
Forfatter
  Tråd Søk Tråd Søk  Innstillinger for tråd Innstillinger for tråd
Johannn Se rullemeny
Medlem i MJF
Medlem i MJF


Medlem siden: 09 april 2011
Land: Norge
Status: Utlogget
Points: 139
Innstillinger for innlegg Innstillinger for innlegg   Thanks (0) Thanks(0)   Sitér Johannn Sitér  SvarSvar Direkte Link til dette innlegget Sendt: 27 oktober 2018 kl. 11:36
For 17 euro vil du truleg ta dette uten importavgift og mva då du bør få dette langt under 350kr med frakt.
Norsk H0 2005-, Digitrax Xephyr Xtra, Z21, foreløpig lagra i skap pga oppussing, samt settrackbane sporadisk oppsatt for at junior skal få køyre tog.
Til toppen
programmeringssporet Se rullemeny
Veteran
Veteran


Medlem siden: 12 desember 2013
Status: Utlogget
Points: 405
Innstillinger for innlegg Innstillinger for innlegg   Thanks (0) Thanks(0)   Sitér programmeringssporet Sitér  SvarSvar Direkte Link til dette innlegget Sendt: 28 oktober 2018 kl. 20:45
Hei,

Takk for info.

Desverre er conrad.com ganske dyre på frakt : 45 euro (40 euro på ordre over 200 euro).
og så kommer mva og omkostninger i Norge i tillegg.  Dette er nok best for store ordre.

conrad.se med levering poste restante Strømstad er nok et bedre alternativ. Da koster Arduinoen SEK 229 (inkl svensk mva).  frakt sek 96 (fri over sek 500). Men da må den hentes på hverdager før kl 1700 på postkontoret der (men har hørt rykter om at det kan videresendes til butikk i kjøpesenter med lørdagsåprent)

For noen år siden brukte jeg firmaet https://posterestantestromstad.no/ . Der kostet det kr 80 å hente varer, men nå starter de på sek 100. - og så har de ofte stengt på lørdager. (men har opplevd at hvis man ikke følger instruksjonene, slik at pakken blir sendt i eget navn, kan de ikke hente ut pakken, slik at jeg måtte hente den på Konsum selv - og da ble det uten gebyr)
Til toppen
programmeringssporet Se rullemeny
Veteran
Veteran


Medlem siden: 12 desember 2013
Status: Utlogget
Points: 405
Innstillinger for innlegg Innstillinger for innlegg   Thanks (0) Thanks(0)   Sitér programmeringssporet Sitér  SvarSvar Direkte Link til dette innlegget Sendt: 03 desember 2018 kl. 01:01
Da ble det en liten ekstraferie.

Jeg har nå fått koblet opp alle fire IR sensorene, men kun med en midlertidig ledning mellom modulene.  Slik ser det ut nå :



På det første forsøket oppdaget jeg at skinnene ikke var helt riktig tilpasset, slik at jeg måtte sette inn to 55 mm skinnestykker for å koble sammen modulene.

Nederst til høyre, kan man også se at jeg har  laget et lite enkelt betjeningspanel, som jeg kan bruke til å kjøre manuelt, men jeg sakl også lage funksjonalitet for å lese og skrive CV’ er, starte automatisk kjøring, og måle strømforbruk og spenning.  Bildet under er litt uskarpt, men det viser panelet med tre små trykknapper og en liten styreknapp (opp, ned, venstre, høyre og trykk):



Jeg har også forsøkt å koble til to LED displayer – men da oppdaget jeg at LCD displayet er opp ned, men det er kun en liten programvare endring som må til for å endre det :



Etter at jeg fikk tilpasset skinnene, slik at jeg kan kjøre, med kun sirkelen, slik at avstanden mellom alle sensorene er identiske har jeg gjort litt prøvekjøring.  Lokomotivet jeg brukte var en DB V100 fra startsettet.  Jeg kjøpte det for ca 3 år siden, men det var omtrent ubrukt, slik at jeg gjorde en tyve minutters innkjøring på step 36, først forover og deretter bakover.  Deretter sto lokomotivet stille i omtrent  30 minutter, før jeg gjorde en ny prøvekjøring på step 36.  Grafene under viser først innkjøringen, hvor hver runde tok mellom 7,4 og 7,2 sekunder.  Under er grafen fra den andre kjøring, og vi kan se at det virkelig hjelper å kjøre inn lokomotivet.  Det siste stolpediagrammet viser rundetider med de blå stolpene for sensor 211 og de grønne stolpene for sensor 221. (90 grader fra hverandre).  Hensiktet med dette var å få en ide om forskjellene i rundetider var reelle eller om det var litt unøyaktighet i tidtakingen.  I og med at de blå og grønne følger hverandre ganske bra – tyder det på at lokomotivet fortsatt kjører litt ujevnt.  Men her må jeg teste mere med forskjellige lokomotiver for å få noen konkrete konklusjoner.





Endret av programmeringssporet - 03 desember 2018 kl. 01:08
Til toppen
programmeringssporet Se rullemeny
Veteran
Veteran


Medlem siden: 12 desember 2013
Status: Utlogget
Points: 405
Innstillinger for innlegg Innstillinger for innlegg   Thanks (0) Thanks(0)   Sitér programmeringssporet Sitér  SvarSvar Direkte Link til dette innlegget Sendt: 22 desember 2018 kl. 01:31
Da er det Juleferie - og slik ser feriemodulen ut nå :



Lengst bort kan vi se Modul 21

Den inneholder :
  • Arduinoen som kjører DCC++.
  • En Raspberry Pi 3+, som foreløpig ikke er brukt.
  • Bak denne er det plassert et Can-Bus grensesnitt - som foreløpig ikke er koblet opp.
  • Til høyre for Arduinoen er det en 12 Volt spenningsstabilisator med en Rød Lysende Led.
  • Foran denne er det en dobbel sporbeleggsensor for blokk 213, og 214  - resten av anlegget (foreløpiig er alt koblet til 214)
  • Helt bak til høyre, kan vi se strøminngangen, som nå er koblet til Laboratoriestrømforsyningen, em den kan også kobles til en standard ROCO digitalstrømforyning.
  • Foran spenningsinntaket, er det også en DC-DC isolert spenningskonverer som leverer strøm til sporbeleggsensorene.
  • Vi kan også se de to IR sensorerene, koblet til Arduinoen sensor 211 og 212.

På denne modulen har jeg sett hvor mye plass elektronikken tar på et N-Skala anlegg.

Helt foran i bildet kan vi se 180 grader svingmodulen 22.

Elektronikken her er litt mindre, kun to IR-sensorer nr 221 og 222,  Disse er normalt koblet til Arduinoen, men ikke på dette bildet - da avstanden er lengre enn ledningene.

Til Venstre i Bildet kan vi se rettstrekningen med sidespor, modul  23.

Dene modulen skal kobles opp som programmeringsspor, men status nå er at sporene er isolert, og koblett til en sort rekkeklemme, hvor alle sporene er koblet sammen, slik at sporene kan prøvekjøres.  Neste skritt er å montere et rele, slik at programmering kan innkobles.  På modulen har jeg også plassert en 4 kanals Can-Bus basert sporvekselkontroller, men denne manger fortsatt oppkobling, og noen integrerte kretser (microkontroller, can-controller, spenningsdobler).  Vi kan også se CAN-Bus - USB kortet som jeg bruker for programmering av microkontrolleren.

Modulen er 111 mm x 3,5 Lang  (ca 40 cm).

Til Høyre i Bildet kan vi se Bakre stasjon, modul 24 - som er et speilbilde av modul 23.

Her er sporene isolert likt men, alle ledningene er koblet til en topolet rekkeklemme, fordi jeg foreløpig ikke har tenkt å legge inn programmeringsspor funksjonalitet i denne modulen.

Andre ting som er endret siden forrige ferie, er at skinneinnfestingen er endret.  Skinnene er nå løftet 3mm, slik at de kommer i samme høyde som Kato skinner.

Fokus nå er å få til sporvekselstyringen, akrivere programmeringssporet og koble til Raspberry Pi, slik at testing av programvare for automatisk styring kan påbegynnes.

Deretter skal sporbelegg kobles opp på alle modulene, og så skal jeg vurdere om jeg trenger flere IR sensorer.

Jeg har også planer om to nye moduler : en snumodul og en fotoboks modul.








Endret av programmeringssporet - 22 desember 2018 kl. 02:09
Til toppen
programmeringssporet Se rullemeny
Veteran
Veteran


Medlem siden: 12 desember 2013
Status: Utlogget
Points: 405
Innstillinger for innlegg Innstillinger for innlegg   Thanks (0) Thanks(0)   Sitér programmeringssporet Sitér  SvarSvar Direkte Link til dette innlegget Sendt: 03 januar 2019 kl. 01:02
Det er enkelt å koble et rele til en Arduino, men det er en del detaljer å passe på.  Hver gang jeg skal koble opp et rele, må jeg derfor sjekke ganske mye dokumentasjon.  Denne gangen har jeg dokumentert hvordan det skal gjøres - slik at det blir lettere neste gang.  Her er koblingsskjemaet jeg har brukt :




Deretter er det bare å definere at den logiske utgangen 230 er koblet til Digital Pinne nr 7,  i DCC++ med denne kommandoen :


< Z 230 7 0 >

Det er også greit å lagre dette permanent med EPROM kommandoen :

< E >

Deretter styres relleet med kommandoene ( på og av)

< Z 230 1 >
< Z 230 0 >


Den Arduinobaserte Digitalsentralen DCC++ har du utganger.

Den ene utgangen er DCC signal for kjøring.  Den andre er alltid DCC signal for programmering.  Jeg kan derfor programmere CV'er på programmeringssporet samtidig som togene kjører på andre spor.  For å få til dette på en sikker måte, deler jeg anlegget i tre, og styrer dette med et 4 polet rele:

1. Programmeringssporet, som normalt er koblet til kjøresignalet, men som kobles til programmeringsutgangen når releet er aktivert.

2. Et isolatorspor som er ved siden av programmeringssporet,  Dette er normalt koblet til kjøresignalet, men blir strømfritt når releet aktiveres.

3. Resten av anlegget - dette er alltid koblet til kjøresignalet.

Her er et bilde av modulen, hvor jeg også har tegnet inn koblingene :




På bildet over, er programmeringssporet øverst til venstre ( hvit og gul ledning).  Deretter det isolerte sporet (Sporvekselen) med orange og grå ledning).  Ved å plassere to sporveksler på denne måten, får jeg en ytterligere sikring av programmeringssporet - ved programmering.


En av hovedgrunnene til å bygge dette transportable og modulbaserte anlegget, er å bruke det til utprøving av styringsprogramvaren min.  Til dette trenger jeg også en sporsløyfe.  Her er et første oppsett, hvor anlegget dekker kravene.  Jeg mangler foreløpig relestyringen, så det er et kort sporbrudd midt i bildet  - slik at jeg unngår kortslutning.





Endret av programmeringssporet - 20 januar 2019 kl. 22:53
Til toppen
programmeringssporet Se rullemeny
Veteran
Veteran


Medlem siden: 12 desember 2013
Status: Utlogget
Points: 405
Innstillinger for innlegg Innstillinger for innlegg   Thanks (0) Thanks(0)   Sitér programmeringssporet Sitér  SvarSvar Direkte Link til dette innlegget Sendt: 24 februar 2019 kl. 22:33




Endret av programmeringssporet - 24 februar 2019 kl. 22:50
Til toppen
programmeringssporet Se rullemeny
Veteran
Veteran


Medlem siden: 12 desember 2013
Status: Utlogget
Points: 405
Innstillinger for innlegg Innstillinger for innlegg   Thanks (0) Thanks(0)   Sitér programmeringssporet Sitér  SvarSvar Direkte Link til dette innlegget Sendt: 24 februar 2019 kl. 22:49
Etter juleferien, har FeriemoduleN hatt et fast tilhold på høyre siden av skrivebordet (Under Sidesporsmodulen).

Her har jeg god plass til 4 av modulene (totalt 44 x 79 cm).
Nå begynner også basismaskinvaren og programvaren å fungere.

I dag kjørte jeg for første gang et lokomotiv automatisk basert på et skript på modulen.  Tidligere har jeg kun benyttet JMRI på denne modulen.  Her er et som viser hvor 4 ir-sensorer er plassert (216,217,226 og 227).  For øyeblikket er kun 216 og 217 i bruk.
Jeg har også montert en Time of Flight (TOF) sensor som måler hvor på spor2 lokomotivet er.
Det er også kun sporveksel 241 som har montert motor.




Her er skriptet jeg benytter.

[QMX DEBUG OFF]
WAIT SEC 005
[QMX I2C SCAN]
WAIT SEC 005
[QMX I2C 000 VLX DISTANCE]
WAIT SEC 005
:SBFA0N90000000F1;
WAIT SEC 005
:SBFA0N91000000F1;
WAIT SEC 005
<t1 2 0 0>
[QMX]
WAIT SEC 005
[QMX DEBUG OFF]
WAIT SEC 005
<1>
WAIT SEC 005
:SBFA0N90000000F1;
WAIT SEC 005
<t1 2 50 1>
WAIT STATUS DETECTOR 216 001
:SBFA0N91000000F1;
WAIT SEC 000 250
WAIT STATUS DETECTOR 217 001
WAIT STATUS DETECTOR 216 001
WAIT STATUS DETECTOR 217 001
WAIT STATUS DETECTOR 216 001
WAIT STATUS DETECTOR 217 001
WAIT STATUS DETECTOR 216 001
WAIT STATUS DETECTOR 217 001
WAIT SEC 001 100
<t1 2 0 0>
WAIT SEC 005
<t1 2 50 0>
WAIT STATUS DETECTOR 217 001
WAIT STATUS DETECTOR 216 001
WAIT STATUS DETECTOR 217 001
WAIT STATUS DETECTOR 216 001
WAIT STATUS DETECTOR 217 001
WAIT STATUS DETECTOR 216 001
WAIT SEC 006 350
<t1 2 0 0>
WAIT SEC 005
:SBFA0N90000000F1;
WAIT SEC 005
<t1 2 50 0>
WAIT STATUS DETECTOR 216 001
WAIT SEC 006 350
<t1 2 0 0>
WAIT SEC 001
:SBFA0N91000000F1;
WAIT SEC 001
[QMX I2C 000 VLX DISTANCE]
WAIT SEC 001
[QMX I2C 000 VLX DISTANCE]
WAIT SEC 001
[QMX I2C 000 VLX DISTANCE]
WAIT SEC 001
<t1 2 0 0>
<0>
WAIT SEC 005

Dette er en blanding av DCC++ kommandoer.  De som starter med : <
mine proprietære kommandoer, som starter med : [
og kommandoer til sporveksel, som kommuniserer over CAN-Bussen, og starter med kolon.

Forklaring av de viktigste kommandoene :
WAIT SEC : Vent antall sekunder før neste steg, kan også inneholde mikrosekunder.
WAIT STATUS DETECTOR nnn 001 : Vent til sensor detektere tog.
[QMX I2C 000 VLX DISTANCE] : Sjekk posisjon (avstand fra buffer) i spor 2.
:SBFA0N91000000F1; : Legg over veksel F1 (241) til posisjon 1.
:SBFA0N90000000F1; : Legg over veksel F1 (241) til posisjon 0.
[QMX DEBUG OFF] og [QMX I2C SCAN] er for initialisering av firmware/I2C bussen.

DCC++ kommandoer :
<1> og <0> ,kjørestrøm på og av.
<t1 2 50 1> : Styr lokomotiv : Slot 1, dcc adresse 2, step 50, retning 1 - er forover.

Sekvensen på kjøringen er :
1. Lokomotivet starter fra spor 2
2. Kjører forover ut på hovedsporet.
3. Kjører tre runder før det stopper på spor 1.
4. Kjører bakover i to runder før det igjen stopper i spor 1.
5. Kjører bakover i en runde til, men stopper nå i spor 2.

En detaljert gjennomgang av scriptet :
0a : De fire første linjene er initaliering.
0b : [QMX I2C 000 VLX DISTANCE] Sjekk posisjon til lokomotiv i spor 2 - posisjonen brukes ikke, men logges.
0c : De neste linjene, frem til <1>, er for initialisering, testing av sporveksel og slå på kjørestrøm.

1a : :SBFA0N90000000F1; - Legg om sporveksel 241, til spor 2.

2a: <t1 2 50 1> Kjør fremover.
2b: Vent til toget paserer sensor 216, og legg om sporveksel 241 til spor 1 :SBFA0N91000000F1;

3a: Kjør tre runder ved å vente på sensor 216 og 217 fire ganger.
3b: vent 1,1 sekund etter siste passering av 217 før lokomotivet stoppes <t1 2 0 0> på spor 1.

4a: gjenta tilsvarende prosess for å kjøre bakover.
4b: Ved siste pasering av 216, vent 6,35 sekunder WAIT SEC 006 350 før toget stopper i spor 1.

5a: Legg om sporveksel 241 til spor 2.
5b: start lokomotivet bakover.
5c: vent på sensor 216, og fortsett i 6,35 sekunder, før toget stopper i spor 2.

6a: Legg om sporveksel til spor 1. :SBFA0N91000000F1;
6b: mål avstanden til buffer [QMX I2C 000 VLX DISTANCE] tre ganger med 1 sekunds mellomrom.
6c: slå av kjørestrømmen med <0>

Planen videre :
1. Se hva jeg kan få ut av analyser av loggene fra kjøringene.
2. Definere en virtuell modell av modelljernbanen, slik at jeg kan automatisere styringen, uten detaljerte script.




Endret av programmeringssporet - 24 februar 2019 kl. 23:27
Til toppen
 Svar Svar Side  <1 567
  Del innlegg   

Forum: Forumtillatelser Se rullemeny

Forum Software by Web Wiz Forums® version 11.06
Copyright ©2001-2016 Web Wiz Ltd.

Denne siden ble generert på 0,063 sekunder.