BeneluxSpoor.net forum

Vraag en antwoord => Digitaal => Topic gestart door: Monobrachius op 20 February 2022, 14:17:23

Titel: Arduino Loconet werkt niet
Bericht door: Monobrachius op 20 February 2022, 14:17:23
Ik wil een aantal Loconet projectjes uitproberen.
Één daarvan is de Loconet-noodstop (wordt ook gemaakt door de HCC, maar niet open voor niet-leden), waarbij ik ook eens de PCB bestukking van JLCPCB wilde uitproberen.
Dus een printje ontworpen, waarbij hieronder het relevante Loconet gedeelte staat. Het noodstop gedeelte werkt ondertussen zoals ik het wil, maar ik probeer Loconet uit met een Intellibox 1 en ik krijg er helemaal niets uit.

In vergelijking met de Philippe Gahtow (https://pgahtow.de/w/Loconet#/media/Datei:Arduino-LocoNet_Interface.png) en Timo Engelgeer (eerste versie), gebruik ik ipv een LM311N een LM311DR (aangezien alleen deze beschikbaar was bij JLCPCB). Ik ben geen electrotechnicus, dus het is mogelijk dat ik hier een verkeerde keuze heb gemaakt.
Ook is de BC547 transistor vervangen door een BC847 (smd).
(https://images.beneluxspoor.net/bnls/Loconet-Arduino-Uno-62123b312b718.png) (https://images.beneluxspoor.net/bnls/Loconet-Arduino-Uno-62123b312b718.png)
In deze versie van de print is Xpressnet en de Joystick interface helemaal weggelaten.

Als ik de board met Arduino Nano aansluit op aan de Intellibox 1 (via zowel Loconet-T als -B, kabel is zespolige x-bus kabel van Roco, straight). De Arduino wordt gevoed vanuit USB (en niet Loconet).
Als er niets gebeurd, brandt de Loconet-Rx lamp erg zwakjes. Als ik de waarde uitlees, zegt de arduino echter dat het een 0 is, wat zou kunnen kloppen, want ik meet 1.8V. Als ik waardes verander op de intellibox (bijvoorbeeld track power uit/aan), verandert er niets.
Als ik op de print een verandering maak, zie ik de Loconet-Tx led aangaan, maar op de Intellibox verandert er niets.
De sketch is die van Timo Engelgeer (https://github.com/Merdeka/Arduino-ModelRail/tree/master/Loconet_Master_Switch met wat kleine aanpassingen aan de pinnen&logica van de leds/knoppen).

Kortom, het gaat ergens fout, maar ik heb geen idee waar... Ik denk in de ontvanger.
De Intellibox heeft vroeger gewerkt met een maus-adapter, dus Loconet heeft gewerkt.

Heeft iemand ideeën waar het mis gaat?

Henk
Titel: Re: Arduino Loconet werkt niet
Bericht door: bask185 op 20 February 2022, 14:35:42
Ik heb zelf nog niet met loconet gespeeld.

Die spanning van 1.8V vind ik raar. Dat is buiten TTL bereik. Spanning onder de ~0,7V wordt als 0 gezien en spanning boven de ~2.8V als een 1.

Alles tussen deze grenzen is ongedefinieerd. Die opamp fungeert als een Schmidt trigger om te voorkomen dat ruis op de lijnen resulteert in deze ongedefinieerde spanningen.

Ik zou om te beginnen je circuit checken en zoveel mogelijk nameten. Vervolgens raad ik een logger programma aan om te kijken of je überhaupt informatie binnen krijgt over loconet.

Die BC 847 moet volstaan. Als ik thuis ben, kan ik verder naar je circuit kijken.

Mvg,

Bas
Titel: Re: Arduino Loconet werkt niet
Bericht door: Monobrachius op 20 February 2022, 16:57:17
Bas, bedankt voor het meekijken.

Die spanning van 1.8V vind ik raar. Dat is buiten TTL bereik. Spanning onder de ~0,7V wordt als 0 gezien en spanning boven de ~2.8V als een 1.
Alles tussen deze grenzen is ongedefinieerd. Die opamp fungeert als een Schmidt trigger om te voorkomen dat ruis op de lijnen resulteert in deze ongedefinieerde spanningen.
Ik vond het ook opmerkelijk. Als 14V die binnenkomt al als 0 wordt gezien, dan wordt hij als hij naar 0 wordt getrokken  (dat doet de Loconet-Tx) zeker ook een 0. Dit verklaart wel waarom hij niets ziet.
Wat ik wel vreemd vind is dat het andersom ook niet werkt. Dus als ik met het device een loconet-Tx message trigger, dan ziet de Intellibox ook niets...

Vervolgens raad ik een logger programma aan om te kijken of je überhaupt informatie binnen krijgt over loconet.
De Loconet monitor heb ik ook uitgeprobeerd. Zelfde resultaat: niets.

Ik zou om te beginnen je circuit checken en zoveel mogelijk nameten.
De weerstanden heb ik gecheckt. Die kloppen.
Ik ga later nog meten wat er bij de opamp binnen komt aan ingangsvoltage (zal wel ergens rond de 4.7V liggen).
Misschien kan ik ook op de opamp zien welk type het is (ik weet wat ik heb besteld, maar of dat er ook op zit...).
Titel: Re: Arduino Loconet werkt niet
Bericht door: Karst Drenth op 20 February 2022, 17:29:10
Hoi,

Voor zover ik snel kan zien op de iPhone, mist er een pull-up aan de output van de 311.

Die heeft namelijk een open-collector uitgang.
De LN-RX Led maakt het nog erger, die werkt als pull down…


Grtzz,
Karst
Titel: Re: Arduino Loconet werkt niet
Bericht door: bask185 op 20 February 2022, 18:23:48
Citaat
Voor zover ik snel kan zien op de iPhone, mist er een pull-up aan de output van de 311
Ik zie deze niet de schema's die ik tegen kwam, ik denk dat Rx pin gebruik dient te maken van de interene pull-up weerstand.

Citaat
De LN-RX Led maakt het nog erger, die werkt als pull down…
Dit is waarschijnlijk de boosdoener idd.

Led of weerstand er af knippen, dan doet hij het misschien weer  ;)

Bas
Titel: Re: Arduino Loconet werkt niet
Bericht door: Monobrachius op 20 February 2022, 21:53:52
Voor zover ik snel kan zien op de iPhone, mist er een pull-up aan de output van de 311.

Die heeft namelijk een open-collector uitgang.
De LN-RX Led maakt het nog erger, die werkt als pull down…

Ik zie deze niet de schema's die ik tegen kwam, ik denk dat Rx pin gebruik dient te maken van de interene pull-up weerstand.
Dit is waarschijnlijk de boosdoener idd.

Led of weerstand er af knippen, dan doet hij het misschien weer  ;)

Dat was hem inderdaad!
Helemaal vergeten dat ik de Loconet-Rx led er origineel niet in zat en dacht dat de opamp reageerde als een LM741, niet realiserend dat het een open collector uitgang had.
Weerstand los en het was opgelost.

Mijn dank is groot!

Henk
Titel: Re: Arduino Loconet werkt niet
Bericht door: bask185 op 21 February 2022, 08:12:42
Ik wist niet eens dat er open collector opamps bestonden:-[  Bij een 'normale' opamp was die led geen probleem geweest.

Ik wou dat ik dit eerder wist, nu moet ik met deze nieuwe kennis een paar print ontwerpjes aanpassen  ;D

Bas
Titel: Re: Arduino Loconet werkt niet
Bericht door: Karst Drenth op 21 February 2022, 23:45:58
De LM 311 is een comparatir en geen OpAmp ;

Comparators hebben doorgaans open collector uitgangen. En schakelen “logisch”. Terwijl OpAmps lineair versterken.

Grtzz,
Karst
Titel: Re: Arduino Loconet werkt niet
Bericht door: Hans sprinter op 22 February 2022, 07:36:27
Uit de oude doos:
LM741 is wel een opamp, gebruikt ipv CA3130.
Vervangend is eventueel de 4-voudige LM324, wat een quad opamp is.
Oude meuk ben ik nog wel in thuis zo uit mijn hoofd... 8)
Uit de tijd dat je nog TTL en CMOS had.
Succes, Hans
Titel: Re: Arduino Loconet werkt niet
Bericht door: Monobrachius op 22 February 2022, 10:28:49
Ik heb nog wat gemeten en ik zie dat de Loconet-Rx 5.2V is, wat je op een arduino niet wil.
Dit komt door R12, die in het oorspronkelijke design het voltage optrekt naar het Loconet signaal.
Volgens mij zou het onderstaande het moeten oplossen.

Ik heb zowel de pull-up resistor erin gezet (R12 in aangepast design) als de led andersom gezet en gevoed met 5V. Sommigen zouden geen behoefte hebben aan een led en dan heb je altijd nog R12 voor de pull-up.
(https://images.beneluxspoor.net/bnls/Loconet-LM311-corrected-6214ad3775531.png) (https://images.beneluxspoor.net/bnls/Loconet-LM311-corrected-6214ad3775531.png)

Klopt dit?

edit: plaatje veranderd, diode stond verkeerd om
Titel: Re: Arduino Loconet werkt niet
Bericht door: bask185 op 24 February 2022, 14:01:16
Ik wist niet eens dat comperators en opamps verschillende dingen waren. Ik gebruikte altijd lm358 opamps als een comperator voor gebruik met LDRs. Maar ik moest er altijd Bc547s achterhangen omdat die geen open-collector uitgang hebben. En dat kostte me 4 componenten  ::) I was doing it wrong.

Inmiddels research gedaan en geleerd dat ik LM393 moet aanschaffen  :police:

Bas

Titel: Re: Arduino Loconet werkt niet
Bericht door: Karst Drenth op 24 February 2022, 14:10:34
 (y)