Styra dekoderfunktioner baserat på statusen på en annan funktion

Boostrar, dekodrar, signaler, m.m. Montering av dekodrar i lok. Datorprogram och programmering.
Meddelande
Författare
Användarvisningsbild
daniel
Inlägg: 3094
Blev medlem: 2012-05-08, 10:15

Re: Styra dekoderfunktioner baserat på statusen på en annan funktion

#11 Inlägg av daniel » 2019-03-20, 00:14

AlexanderEhn skrev:
2019-03-19, 17:42
Frågan är sprungen ur att jag körde två motorvagnar i helgen i Grimslöv, och såg potentialen i att få till kul trafikspel om multen skulle dela på sig längs vägen och gå åt olika håll. och slås ihop på vägen tillbaka.
.....
Johnny sa att det hade gjorts på en Fremoträff på något sätt med någon mojäng som pluggades in i Loconetuttaget och delade på multen. Typ.
Jag skulle nog kunna "mojäng" som fixar något sådant. En Atmel-processor med LocoNet, t ex Per Eklunds LocoIO-kort eller något kort från Möllehem som programmeras om. Kortet läser en viss adress, t ex adress 57, och sedan styr en annan adress, t ex adress 172. Så fort något händer med adress 57 uppdateras adress 172 också av den här mojängen. Bör vara ganska enkelt att få till om man bara har hårdvaran på plats. När mojängen sitter i LocoNet-uttaget är tåget multat, när det inte sitter i LocoNet-uttaget är tåget delat.

Utmaningen är väl hur den här mojängen ska programmeras. Alltså hur man anger de båda lokadresserna.

Användarvisningsbild
AlexanderEhn
Inlägg: 707
Blev medlem: 2017-07-11, 23:47
Kontakt:

Re: Styra dekoderfunktioner baserat på statusen på en annan funktion

#12 Inlägg av AlexanderEhn » 2019-03-20, 00:39

daniel skrev:
2019-03-20, 00:14
AlexanderEhn skrev:
2019-03-19, 17:42
Frågan är sprungen ur att jag körde två motorvagnar i helgen i Grimslöv, och såg potentialen i att få till kul trafikspel om multen skulle dela på sig längs vägen och gå åt olika håll. och slås ihop på vägen tillbaka.
.....
Johnny sa att det hade gjorts på en Fremoträff på något sätt med någon mojäng som pluggades in i Loconetuttaget och delade på multen. Typ.
Jag skulle nog kunna "mojäng" som fixar något sådant. En Atmel-processor med LocoNet, t ex Per Eklunds LocoIO-kort eller något kort från Möllehem som programmeras om. Kortet läser en viss adress, t ex adress 57, och sedan styr en annan adress, t ex adress 172. Så fort något händer med adress 57 uppdateras adress 172 också av den här mojängen. Bör vara ganska enkelt att få till om man bara har hårdvaran på plats. När mojängen sitter i LocoNet-uttaget är tåget multat, när det inte sitter i LocoNet-uttaget är tåget delat.

Utmaningen är väl hur den här mojängen ska programmeras. Alltså hur man anger de båda lokadresserna.
Jag gillar det enkla och konkreta med det förslaget.

Det du skriver om hårdvaran förstår jag vad det är du menar, men jag har ingen aning om hur man får till det.

Jag har länge velat ha ett lämpligt arduinoprojekt för att testa på det. Kan detta vara lämpligt?
(Jag vet alltså inte vad "Per Eklunds LocoIO-kort" är för något, det kanske är likvärdigt arduino? Arduino skriver jag mest för att det är det enda jag känner till....)
Bygger Långenäs Långa & Långenäs Korta i N-RE. Byggtråd här!
Kalhyggena byggs tillsammans med pappa, byggtråd här!

Användarvisningsbild
daniel
Inlägg: 3094
Blev medlem: 2012-05-08, 10:15

Re: Styra dekoderfunktioner baserat på statusen på en annan funktion

#13 Inlägg av daniel » 2019-03-20, 02:41

Per Eklund, en av rallarna på americaN, gjorde för ett antal år sedan styrkort för LocoNet. Ungefär som Möllehems kort. Det är dessa LocoIO-kort jag syftar på.

Arduino kan nog funka bra, men då behöver man ett LocoNet-gränssnitt. LLJ hade för ett antal år sedan ett mönsterkort (kretskort utan komponenter) som man sedan kunde löda på några enstaka komponenter för att få gränssnittet mellan Arduino och LocoNet.

Kanske en fråga för Anders Boström, om Möllehem kan ta fram ett mönsterkort eller kretskort för gränssnittet mellan Arduino och LocoNet?

Användarvisningsbild
LLJ
Inlägg: 3869
Blev medlem: 2012-05-08, 10:27

Re: Styra dekoderfunktioner baserat på statusen på en annan funktion

#14 Inlägg av LLJ » 2019-03-20, 10:32

Daniel:s lösning låter bra. För att sända ändring av CV på en bana med en massa lok har sina risker, tänk om flera lok blir programmerade samtidigt.
En "LocoNet multrepeater" är inte svår att koda med en Arduino och ett LocoNet kort till den.

/Lars

Användarvisningsbild
AlexanderEhn
Inlägg: 707
Blev medlem: 2017-07-11, 23:47
Kontakt:

Re: Styra dekoderfunktioner baserat på statusen på en annan funktion

#15 Inlägg av AlexanderEhn » 2019-03-20, 11:51

Jag är rätt sugen på att testa! Men har ingen koll på hur jag kommer igång.

Vad behöver jag för hårdvara?
- Finns det att köpa LocoNet-kort? Kan jag göra ett själv?
- Vilken Arduino är lämplig?

Behöver Arduinon kunna "loconet-språk" eller kan logiken kodas i Arduinos språk?

Kan någon vänlig själ vägleda mig i hur kommunikationen funkar mellan Loconet och arduinon? Eller innehåller ett "LocoNet-kort" även logiken och översättning från LocoNet till Arduino? Och inte bara hårdvaran?
Bygger Långenäs Långa & Långenäs Korta i N-RE. Byggtråd här!
Kalhyggena byggs tillsammans med pappa, byggtråd här!

Användarvisningsbild
LLJ
Inlägg: 3869
Blev medlem: 2012-05-08, 10:27

Re: Styra dekoderfunktioner baserat på statusen på en annan funktion

#16 Inlägg av LLJ » 2019-03-20, 12:00

Det finns färdiga LocoNet bibliotek att ladda ner till Arduino. Fungerar till Uno och Nano, har inte prova på andra varianter.
Det kort jag använder fanns tidigare att ladda ner själva kortlayouten. Sedan fick man göra / låta göra kretskortet själv samt skaffa komponenter och kontakter.
Dock är det inte så många komponenter utan att det går att bygga på ett experimentkort om man enbart skall ha få LocoNet interface.

/Lars

PerEklund
Inlägg: 74
Blev medlem: 2012-05-09, 02:13

Re: Styra dekoderfunktioner baserat på statusen på en annan funktion

#17 Inlägg av PerEklund » 2019-03-20, 12:54

Här finns mer info runt Arduino och LocoNet
https://mrrwa.org/loconet-interface/

Jag kommer ta upp tillverkning av elektronik för MJ i någon form framöver. Håller på att bygga en Pick And Place maskin för det ändamålet.
Vet inte om det blir LocoNet relaterat än. Det är dock fortfarande bästa systemet av det som är spritt idag enligt mig, men jag vill hellst inte börja göra saker som konkurerar med Möllehem. Lite för liten marknad för det.


Vill du ha hjälp med att göra LocoNet-shields (eller interface i annat format för anslutning till arduino/valfri microprocessor) kan jag säkert hjälpa dig om du vill.

--Per

Henrik Maude
Inlägg: 95
Blev medlem: 2015-11-14, 18:18

Re: Styra dekoderfunktioner baserat på statusen på en annan funktion

#18 Inlägg av Henrik Maude » 2019-03-20, 13:19

Detta låter väldigt intressant. När jag har kört multade lok med hjälp av consist-adress har det varit problem att ljud och ljus justerats på lokens egna adresser och inte via consist-adressen.
/ Henrik Maude
barnbarns barn till Ivan Öfverholm

Användarvisningsbild
daniel
Inlägg: 3094
Blev medlem: 2012-05-08, 10:15

Re: Styra dekoderfunktioner baserat på statusen på en annan funktion

#19 Inlägg av daniel » 2019-03-20, 13:26

AlexanderEhn skrev:
2019-03-20, 11:51
Kan någon vänlig själ vägleda mig i hur kommunikationen funkar mellan Loconet och arduinon? Eller innehåller ett "LocoNet-kort" även logiken och översättning från LocoNet till Arduino? Och inte bara hårdvaran?
Dokumentet LocoNet Personal Edition beskriver protokollet på LocoNet. Dokumentet är inte helt enkelt att förstå, men vi är några som programmerar mot LocoNet på forumet och som kan hjälpa dig.

LocoNet-centralen har ett antal "slots". Varje slot har ett antal bytes av data som anger status, lokadress, m.m. För att styra ett lok börjar man med att fråga vilken slot som har den aktuella lokadressen med kommandot OPC_LOCO_ADR. Kommandot har fyra bytes:
Byte 0: 0xBF
Byte 1: (adress / 128) & 127
Byte 2: adress & 127
Byte 3: Checksumma (denna räknas ut av biblioteket som du använder, se inlägget från LLJ)

Som svar får du SLOT DATA READ (OPC_SL_RD_DATA), 10 bytes.
Byte 0: 0xE7
Byte 1: 0x0E
Byte 3: Slot-nummer
Övriga bytes har olika data, t ex lokets hastighet.

Sedan styr du lokets hastighet med OPC_LOCO_SPD och lokets riktning med OPC_LOCO_DIRF.

Användarvisningsbild
daniel
Inlägg: 3094
Blev medlem: 2012-05-08, 10:15

Re: Styra dekoderfunktioner baserat på statusen på en annan funktion

#20 Inlägg av daniel » 2019-03-20, 13:33

PerEklund skrev:
2019-03-20, 12:54
Vill du ha hjälp med att göra LocoNet-shields (eller interface i annat format för anslutning till arduino/valfri microprocessor) kan jag säkert hjälpa dig om du vill.
Jag är intresserad av några LocoNet-shields eller motsvarande. Personligen skulle jag föredra ett litet kort med två eller helst tre LocoNet-kontakter, fyra skruv-hål, lödöar för TX, RX och GND, samt komponenterna. Att jag föredrar tre LocoNet-kontakter på kortet är att jag har noterat att man ofta vill förgrena LocoNet till tre ställen och då saknar man en LocoNet-kontakt.

En shield är enkel för nybörjaren men tar onödigt mycket plats. Och i det här fallet är det bara tre ledningar mellan LocoNet-kortet och Arduinon. TX = skicka data, RX = ta emot data och GND = jord. För lödöarna önskar jag lödöar med hål så man kan trä igenom en kabel.

Skriv svar

Återgå till "El, elektronik och programvara"

Vilka är online

Användare som besöker denna kategori: 2 och 0 gäster