BeneluxSpoor.net forum

Vraag en antwoord => Algemeen => Topic gestart door: Dick Klaassen op 28 June 2021, 12:49:36

Titel: Loconet via USB mbv Visual Studio
Bericht door: Dick Klaassen op 28 June 2021, 12:49:36
Ik ben redelijk handig in programmeren in Basic in combinatie met Arduino. Zo heb ik een eigen GUI gemaakt voor DCC++. Ik bedien daarmee mijn locs en de wissels.(http://C:\Users\hp\Desktop\Scherm.jpg).
Op dit moment is er nog geen terugmelding van de baan. Ik wil daarvoor LocoNet gaan gebruiken en de bezetmelders van Arcomora (Arloco). Is er iemand die weet hoe je dat aanpakt, welke signalen LocoNet verzendt en ontvangt?
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: jowi op 28 June 2021, 13:37:10
Staat hier niks tussen?
https://github.com/topics/loconet

Of deze: https://github.com/chrissharp/LoconetToolbox
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: bask185 op 28 June 2021, 15:04:32
@Dick

Het is wat gangbaarder om Loconet over TCP in je applicatie te krijgen dan dat je het over USB doet. Ik raad je aan om een ethernet shield te kopen op alie als je er nog geen heb, die zijn niet zo duur. Veel andere dingen zoals marklin central stations en roco z21 werken hier ook mee volgens mij.

Ik zou om te oefenen eerst deze sketch proberen. Ik moet er zelf nog aan beginnen, maar dat duurt nog een maand of twee voordat ik daar ben.
https://github.com/ClubNCaldes/LoconetEtherBuffer/blob/master/LocoNetEtherBuffer/LocoNetEtherBuffer.ino (https://github.com/ClubNCaldes/LoconetEtherBuffer/blob/master/LocoNetEtherBuffer/LocoNetEtherBuffer.ino)

De benodigde libaries staan ook ergens op die github pagina. Behalve dat deze sketch de informatie over TCP heen en weer stuurt, wordt ook veel informatie via USB uitgepoept. Je kan dus je arduino op loconet aansluiten en op de computer via USB en dan kijken wat voor instructies je binnen krijgt op Loconet via de seriele port.

Je kan deze sketch waarschijnlijk ook strippen van het ethernet gedeelte en reverse-engineeren naar dat wat jij wilt. Ik denk dat deze een leuke is om mee te beginnen.

Ik hoop dat je er iets mee kan. Vergeet ook vooral niet om je bevindingen en resultaten hier te delen  ;)

Mvg,

Bas
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: jowi op 28 June 2021, 15:43:02
Ik ben redelijk handig in programmeren in Basic in combinatie met Arduino.
Nu ben ik je even kwijt. Je hebt het over basic in combinatie met Arduino? Maar Arduino sketches zijn c++ ?
Verder heb je het over visual studio, dus dan denk ik dat het over vb.net hebt?

Wat doe je nou precies en wat wil je?
Of gebruik je de visual studio extension voor Arduino? Maar ook daar werk je dus niet in basic maar in c++...
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: bask185 op 28 June 2021, 16:04:52
De arduino is hier slechts hardware interface tussen Loconet en computer. De arduino regelt de loconet bus zelf en sluist de informatie van loconet door over of USB of TCP naar een computer applicatie gemaakt in VB. En andersom moet het dan ook werken. Dat je vanuit VB een instructie stuurt die de arduino dan voor je op de loconet bus zet.


Je kan overigens ook de arduino er uit laten. In theorie moet het ook werken met slechts een losse usb-TTL converter en deloconet hardware (dus dat beetje elektronica wat je nodig om met loconet te kunnen werken, een opamp en een transistor en wat weerstandjes). Dan moet dat ook werken. Maar je moet dan zelf veel meer aanklooien aan de VB kant van het verhaal. Wat ik van Jowi's links zie, heeft men dat al werkend in C# gekregen. ..grapje, slecht advies

De arduino als brug is met een standaard programma toch wel zo makkelijk. Plus je kan die arduino altijd nog hergebruiken om bijvoorbeeld een fysiek schakelpaneel of een throttle te maken ofzo.

Mvg,

Bas
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: Karst Drenth op 28 June 2021, 16:48:19
Citaat van: bask185
Je kan overigens ook de arduino er uit laten. In theorie moet het ook werken met slechts een losse usb-TTL converter en deloconet hardware (dus dat beetje elektronica wat je nodig om met loconet te kunnen werken, een opamp en een transistor en wat weerstandjes). Dan moet dat ook werken.

theoretisch "correct", praktisch niet bruikbaar. Met name de collision-detection en (multiple)access fases van het LocoNet protocol krijg je op deze manier niet voor elkaar. De constraints liggen daar in het micro-seconden (us) bereik... ;)

@Dick Klaassen

Een goed LocoNet USB Interface is de LocoNetIF van RoSoft.  In VB gewoon een "ComPort" op je Form slepen, instellen op 19.200 N.8.1 en HW Flowcontrol en gaan met die banaan.

De LocoNet commandoset kun je hier: https://www.digitrax.com/static/apps/cms/media/documents/loconet/loconetpersonaledition.pdf vinden :)

Grtzz & suc6,
Karst
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: meino op 28 June 2021, 17:57:45
Maakt Loconet niet gebruik van Canbus voor de communicatie? Zou je dan in dat geval niet met een goedkoop MCP2515 kaartje aan de Arduino het een en ander kunnen doen? De MCP2515 neemt dan alle protocolaire zaken, zoals collision detection en error handling over.

Groet Meino
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: bask185 op 28 June 2021, 18:05:54
Citaat
Maakt Loconet niet gebruik van Canbus voor de communicatie?
Nee. Ze gebruiken Rs232 voor de timing. Je gebruikt ook de Tx/Rx pinnen. En op elektrisch vlak is het 1 lijn die met een opamp en een transistor aan de Tx/Rx hangen. Het geheel is half duplex, werkt op ~10V en het lijkt in dit opzicht een beetje op rs422.

Ze maken verder ook gebruik van ethernet technieken om berichten te versturen. Volledig met collision avoidance en detection.

Het is eigenlijk echt net een LAN.

Bas
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: meino op 28 June 2021, 20:26:20
Maar dat zegt me nog niet veel, omdat Canbus ook sterk lijkt op Ethernet met Collision avoidence en detectectie. Dat is dus ook een echte Lan en ook net als veel andere hardware in wezen half duplex. Hoe de fysieke koppeling met de bus gebeurd weet ik niet (daar heb ik geen interesse in) Alhoewel ik betwijfel of dat RS232 is, dat is tenslotte een serieële koppeling die voor zover ik weet een beperkte afstand kan overbruggen. Voor grotere afstanden dacht ik dat je beter RS485 kunt hebben. Maar eigenlijk vindt ik dat tegenwoordig te primitief om een LAN mee te bouwen, doet met teveel denken aan het geknutsel met SLIP over 14kb modems uit de grijze oudheid.

Maar goed, ik weet het dus ook niet, vooral omdat de informatie op het WWW bijzonder summier is.
Overigens is er een bibliotheek beschikbaar om een Arduino te koppelen, https://www.arduino.cc/reference/en/libraries/loconet/ (https://www.arduino.cc/reference/en/libraries/loconet/), in de bijbehorende documentatie is ook een schema beschikbaar voor de aansluiting.

Groet Meino
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: Ronaldk op 28 June 2021, 20:38:46
Voor arduino is dit ook een goede webzijde om eens je licht op te steken: Pgahtow: LocoNet (https://pgahtow.de/w/Loconet). Daar kan je alles vinden om je Arduino te koppelen aan LocoNet. Mogelijk kan je daar ook iets mee om te kijken naar het omzetten naar PC.

Groet Ronald.
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: bask185 op 28 June 2021, 22:18:58
Maar dat zegt me nog niet veel, omdat Canbus ook sterk lijkt op Ethernet met Collision avoidence en detectectie. Dat is dus ook een echte Lan en ook net als veel andere hardware in wezen half duplex. Hoe de fysieke koppeling met de bus gebeurd weet ik niet (daar heb ik geen interesse in) Alhoewel ik betwijfel of dat RS232 is, dat is tenslotte een serieële koppeling die voor zover ik weet een beperkte afstand kan overbruggen.
Nee echt waar, ze gebruiken Rs232 voor het timing gedeelte. De uart draait op iets meer dan 16 kbps. Alleen voor de elektra gebruiken ze dus een opamp en een transistor om met hogere spanningen de data te versturen. Ze gebruiken de middelste 2 polen voor dit signaal en de 2 polen daaromheen zijn de ground. De buitenste 2 polen voeren een verzwakt baanspanningsignaal waarmee je A boosters kan synchen en B overige apparaten zoals throttles mee kan voeden.
(https://images.beneluxspoor.net/bnls/LocoNet_Shield_Schema.png)

In het digitrax docu van Loconet hebben ze het over kabellengtes die niet minder zijn dan die van een rs485 bus. Het schijnt echt geweldig te zijn voor EMC enzo. Hoewel ik betwijfel of het beter dan Rs485 is... Wat jou mcp can chips doen aan communicatie en timing en het hele networking enzo, dat doet hier de arduino en alle andere loconet apparaten. En ja dat is omslachtig, maar het werkt wel.  Ik ben het met je eens dat can bus of rs485 makkelijker zou zijn geweest. Xnet werkt ook met Rs485.

Dus ja ik geloof dat If it works, it aint stupid hier van toepassing is  ;D.

Bas
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: meino op 28 June 2021, 22:42:57
Bas

Ik geloof je zonder meer. Maar dat zijn hardware zaken waar ik eigenlijk niet echt in geïnteresseerd ben. Verder, RS232 associeër ik met D pluggen, daar heb ik héél lang geleden iets te veel aan gesoldeerd om printers en modems aan de praat te krijgen.
Het grote voordeel van die MCP2515 kaartjes is, dat je de hele afhandeling van het protocol en hardware niet op de Arduino hoeft te doen, ik gebruik zelf 500Kbs als snelheid van de Canbus, dat is het maximum dat de betreffende kaartjes zonder problemen aankunnen. Dat bied  me daardoor extra ruimte om iets meer te gaan doen dan alleen bezetmeldingen en wissel/sein standen. Maar goed, dat valt buiten de context van dit draadje.

Groet Meino
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: Dick Klaassen op 29 June 2021, 10:12:28
Dank voor je reactie, ik heb, denk ik inderdaad iets gevonden waar ik mee verder kan.
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: Dick Klaassen op 29 June 2021, 10:30:56
Dit is wat gedaan heb. En ja, daar heb je (op de Arduino) ook c++ voor nodig, maar daar ben ik een stuk minder handig in.
Visual Studio is een programmeeromgeving waarin je zowel C als Basic kunt gebruiken, ik doe dat laatste.

(https://images.beneluxspoor.net/bnls/Scherm-60dad8ceb218a.jpg) (https://images.beneluxspoor.net/bnls/Scherm-60dad8ceb218a.jpg)

Ik ben nu begonnen met de hardware, kijken hoever ik kom.

Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: Karst Drenth op 29 June 2021, 10:41:40
Netjes ! (y)
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: Dick Klaassen op 29 June 2021, 10:47:28
@bask185 : Dat is precies wat ik in gedachten had.
Dank zij jullie kan ik nu weer verder; kom er nog op terug.
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: **Jelle** op 04 July 2021, 23:39:06
Ik zag dat er al een oplossing gevonden was, maar ik drop hier toch even de setup zoals ik die gebruik:

Visual Basic 2010 --> Loconet over TCP met LbServer versie 12 --> usb/TTL omzetter --> LocoBuffer

Informatie over de locobuffer vind je hier: http://www.locobuffer.com/
De MAX233 heb je niet nodig, ik heb de usb/TTL omzetter rechtstreeks aan de PIC hangen en dat werkt uitstekend.
Ook interessant: https://sites.google.com/site/phgiling2/the-mgv-family/mgv85
Het schema van deze site heb ik gebruikt, ook hier weer zonder de MAX.
Ik heb geen idee of er ook een Arduino uitvoering bestaat van de Locobuffer (aangezien je daar al mee werkt).
Titel: Re: Loconet via USB mbv Visual Studio
Bericht door: Hans1963 op 05 July 2021, 20:09:28
Er is op Youtube wel een interressante serie over Arduino's en Loconet van Italiaan Luca Dentella.
Ook de locobuffer komt hierbij aanbod. Binnenkort (najaar) eens in verdiepen.
Al zijn codes, beschrijvingen en Eagle files zijn te downloaden in Github.

https://www.youtube.com/watch?v=BdRhHBKUpPE (https://www.youtube.com/watch?v=BdRhHBKUpPE)