RE: Eigenbau CAN Interface

#1 von EnterTain , 15.10.2017 14:08

Hallo Liebe Stummi Mitglieder,

wie schon angekündigt stelle ich heute mein CAN-USB Interface auf Teensy (3.2, 3.5 , 3.6) Basis vor. Habe vorher einen BananaPI mit MCP2562 und der CAN2LAN Software verwendet (Danke an die/den Entwickler). Nur hat mir an dieser Lösung nicht gefallen das hier ein komplettes Linux OS laufen muss, und die Treiber kompiliererei nach ging mir einfach auf den Keks. Also musste eine Interface her was schnell startet und die CAN Nachrichten auf den USB weitergibt und visa versa.

Entwurf Nr. 1
Gebaut auf Basis Arduino Due welches zwar funktioniert aber nicht schnell genug war (MFX Lok Anmeldung gingen Frames verloren). Ich gehe aber davon aus das das meiner schlecht umgesetzten Software zugrunde lag und das ich es nicht geschafft habe den Nativ USB Port zu nutzen (Hier werde ich nochmal dran gehen wenn Zeit und Lust). Das Interface wurde von RocRail ganz normal als mcs2 Zentrale (Serial) angesprochen.

Entwurf Nr. 2
Also weiter auf einem Teensy 3.6 getestet. Nach anpassung der Software auf den Teensy mit funktionieren USB Schnittstelle war es geschafft. Und siehe da "dat ding lüppt". Performance ist nun sehr gut. Hier auch wieder simple als mcs2 Zentrale im RocRail. Mit Baud Rate von 500000.

Entwurf Nr.3
Weiter Basierend auf dem Teensy 3.6. Habe ich die Software soweit angepasst das diese jetzt SLCAN sprechen kann. Idee dahinter war das diese Schnittstelle quasi Standard ist und viel Treiber und Software es schon gibt. (Linux slcand). Und ich kann die CAN2LAN Software wieder verwenden (CS2.exe)
Nun habe ich auch die Möglichkeit CAN Frames per tcpdump oder Wireshark mit zu schneiden. Was sich für den nächste Entwicklung schon zu gute gekommen ist.


Heute habe ich noch das Platinen Layout fertiggestellt und geordert zum Schnäppchen Preis von 2$ + 7.60$ versandt.

Ohne die CAN Terminierung .....







Vielleicht sucht ja einer so etwas...

Grüße EnterTain


Anlage Kopfbahnhof 6 Gleise, zweigleisige Haupstrecke. BW mit Schiebebühne und Rangiergleisen.
MS2 (Gleisbox)
Selbstbau GBM. (ESP8266)
Selbstbau USB2CAN Schnittstelle (Teensy 3.6)

Wer Rechtschreibfehler findet darf Sie das nächste mal wieder Verwenden.


EnterTain  
EnterTain
S-Bahn (S)
Beiträge: 16
Registriert am: 01.02.2016


RE: Eigenbau CAN Interface

#2 von bertr2d2 , 15.10.2017 23:44

Hallo EntretTain,

erstmal Hut ab

Zitat

Hallo Liebe Stummi Mitglieder,

wie schon angekündigt stelle ich heute mein CAN-USB Interface auf Teensy (3.2, 3.5 , 3.6) Basis vor. Habe vorher einen BananaPI mit MCP2562 und der CAN2LAN Software verwendet (Danke an die/den Entwickler). Nur hat mir an dieser Lösung nicht gefallen das hier ein komplettes Linux OS laufen muss, und die Treiber kompiliererei nach ging mir einfach auf den Keks. Also musste eine Interface her was schnell startet und die CAN Nachrichten auf den USB weitergibt und visa versa.

für den BPi gibt es zwei fertige Images, die den CAN Treiber enthalten. Zudem gibt es auch noch die Armbian-Distribution, die den CAN-Treiber mittlerweile auch integriert hat. Das Kompilieren ist also nicht notwendig.
Du hast natürlich Recht, wenn Du ein reines CAN-Interface haben möchtest ist der BPi etwas überkandidelt. Aber der BPi ist mit dem integrierten CAN-Controller mehr: eine CAN-Ethernet Bridge inclusive CS2 CAN-Gateway Emulation der auch Rocrail Server sein kann. Wenn man can2lan nutzen will muss keine weiterer Rechner laufen um z.B. die M*rklin App nutzen zu wollen. Mit dem BPi hat man auch zeitgleich einen Headless Server.
Zudem hat der BPi noch Ressourcen zur Anbindung weitere Busse wie S88, I2C und RS485.

Zitat

Entwurf Nr.3
Weiter Basierend auf dem Teensy 3.6. Habe ich die Software soweit angepasst das diese jetzt SLCAN sprechen kann. Idee dahinter war das diese Schnittstelle quasi Standard ist und viel Treiber und Software es schon gibt. (Linux slcand). Und ich kann die CAN2LAN Software wieder verwenden (CS2.exe)
Nun habe ich auch die Möglichkeit CAN Frames per tcpdump oder Wireshark mit zu schneiden. Was sich für den nächste Entwicklung schon zu gute gekommen ist.

Der Teensy ist ein tolles Teil aber auch verhältnismäßig teuer. Der preisliche Abstand zum fix und fertigen USBTin z.B. ist nur gering.
Es gibt aber auch weitere günstige Alternativen.

Zitat


Heute habe ich noch das Platinen Layout fertiggestellt und geordert zum Schnäppchen Preis von 2$ + 7.60$ versandt.

https://jlcpcb.com ?

Zitat





Ich würde zumindest die 120 Ohm CANBus-Terminierung über einen Jumper als Option ergänzen.

Gruß

Gerd


Smallest Rocrail Server Ever II ist jetzt Smallest Railroad Server Ever II
SRSEII -> SRSEII (Raider heisst jetzt Twix, sonst ändert sich nix )


bertr2d2  
bertr2d2
CityNightLine (CNL)
Beiträge: 1.547
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Eigenbau CAN Interface

#3 von EnterTain , 16.10.2017 15:08

Hallo Gert,

DANKE für die Infos

habe immer Raspbian verwendet. Das Armbian die CAN treiber mitliefert wusste ich nicht. Die Images kenne ich.. Habe das MR System Image schonmal gestest.

Die Platinen kommen von EasyEDA (wo ich auch meine GBM gebaut und bestellt habe https://stummiforum.de/viewtopic.php?f=21&t=150901)

Und stimmt... die Terminierung habe ich vergessen. Funktioniert bei mir aktuell auch ohne bzw die MS2 oder Gleisbox haben 120 Ohm drin. Müsste ich mal messen wo genau. .


Anlage Kopfbahnhof 6 Gleise, zweigleisige Haupstrecke. BW mit Schiebebühne und Rangiergleisen.
MS2 (Gleisbox)
Selbstbau GBM. (ESP8266)
Selbstbau USB2CAN Schnittstelle (Teensy 3.6)

Wer Rechtschreibfehler findet darf Sie das nächste mal wieder Verwenden.


EnterTain  
EnterTain
S-Bahn (S)
Beiträge: 16
Registriert am: 01.02.2016


RE: Eigenbau CAN Interface

#4 von EnterTain , 20.10.2017 15:49

habe die CAN Terminierung noch mit eingefügt. Danke an Gerd für den Hinweiß.


Anlage Kopfbahnhof 6 Gleise, zweigleisige Haupstrecke. BW mit Schiebebühne und Rangiergleisen.
MS2 (Gleisbox)
Selbstbau GBM. (ESP8266)
Selbstbau USB2CAN Schnittstelle (Teensy 3.6)

Wer Rechtschreibfehler findet darf Sie das nächste mal wieder Verwenden.


EnterTain  
EnterTain
S-Bahn (S)
Beiträge: 16
Registriert am: 01.02.2016


RE: Eigenbau CAN Interface

#5 von st-oldie , 21.10.2017 15:50

Hallo EnterTain,

Danke, daß du auch mal meiner Software eine Chance gegeben hast

Zitat
Habe vorher einen BananaPI mit MCP2562 und der CAN2LAN Software verwendet (Danke an die/den Entwickler). Nur hat mir an dieser Lösung nicht gefallen das hier ein komplettes Linux OS laufen muss, und die Treiber kompiliererei nach ging mir einfach auf den Keks. Also musste eine Interface her was schnell startet und die CAN Nachrichten auf den USB weitergibt und visa versa.



Eigentlich mußt du keine Treiber compilieren, es gibt ja fertige Images. Bei meiner Software gibt es ein neues Release als Source und als Image. Dann kannst du entscheiden, ein neues Image zu nehmen oder den Source. Das ist momentan auch auch der Tatsache geschuldet, daß es beim Einspielen eines Updates übers Webinterface noch keine Rückmeldung über den Erfolg gibt. Das Problem mit einem neuen Imahge ist nur, daß die Konfig verloren geht.

Aber konkret zum Linux als Basis. Zum einen hat das auch Vorteile für den Entwickler. Ich kann sogar einiges erst auf dem Host testen und hab eine sehr umfangreiche "Infrastruktur" für Programme bzw. Entwicklung zur Verfügung. Dann ist es so, daß man sehr leicht weitere Funktionalität wie z.B. ein Webinterface zur Konfiguration, ftp/sftp up-/download der cs2 Dateien u.ä. bekommt. Man hat ein richtiges Dateisystem, ... Das kann das Betriebssystem ja alles schon "out-of-the-box". Und dann kann die Software ja auch einiges mehr als nur CAN Frames von einem Interface zum anderen zu senden. Ich versuche z.B. meiner Software auch Möglichkeiten zu geben, die sie einer CS2 ähnlich machen. Also z.B. die cs2 Dateien synchronisieren.

Wenn du natürlich nur für Rocrail die Funktionalität einer Gleisbox brauchst, ist deine einfache Lösung sicherlich eine sehr gute Lösung mit weniger Overhead. Viel Erfolg und vor allem viel Spaß mit deiner Entwicklung!

Tschüß
Michael


st-oldie  
st-oldie
InterRegioExpress (IRE)
Beiträge: 458
Registriert am: 22.12.2009
Homepage: Link
Ort: Friedberg (Hessen)
Gleise Märklin K-Gleis
Spurweite H0
Steuerung Märklin Systems
Stromart Digital


RE: Eigenbau CAN Interface

#6 von EnterTain , 25.10.2017 22:16

Hallo Michael,

Danke für das Feedback.. Da hast du Recht. Images gib es und die grund Basis Linux ist super...Windows ist bei mir schon seit x Jahre ausgestorben.. Ich wollte das auch nicht schlecht Reden. Sorry wenn das so verstanden wurde. Klasse Arbeit die du da Realisiert hast, und komplett frei zur Verfügung stellst.

Ich selbst habe immer Spaß...... an dem hinterfragen bzw wissen wie etwas funktioniert.... darum auch es selbst Umzusetzen.. Erkenntnis nach 4 Monaten ... Danke wieder etwas neues gelernt.

GBM und CAN Interface waren zwei wichtige Bausteine für meine Anlage. Jetzt muss nur noch eine besser manuelle Steuerung her.. MS2 macht beim Rangieren nicht wirklich Spaß... hab da schon eine Idee angefangen. Erste Tests sehen schon mal gut aus. Das Display muss ich noch besser machen... Loks auslesen... usw..


https://github.com/entertain2017

Gruß Tain


Anlage Kopfbahnhof 6 Gleise, zweigleisige Haupstrecke. BW mit Schiebebühne und Rangiergleisen.
MS2 (Gleisbox)
Selbstbau GBM. (ESP8266)
Selbstbau USB2CAN Schnittstelle (Teensy 3.6)

Wer Rechtschreibfehler findet darf Sie das nächste mal wieder Verwenden.


EnterTain  
EnterTain
S-Bahn (S)
Beiträge: 16
Registriert am: 01.02.2016


   


  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz