Willkommen 

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#1 von bertr2d2 , 01.05.2017 13:23

Hallo Zusammen,

bei der Internet-Recherche bin ich mal wieder über zig Nachbauten meines RPi-CAN Interfaces gestolpert *1. Diese werden zu hohen Preisen angeboten. Von dem User Derrow hier aus dem Board gibt es eine Alternative; diese verfügt aber über keine galvanische Trennung. Hier mein preiswerter, leicht nachzubauender Vorschlag:


Lässt sich auch gut in ein Gehäuse einbauen:


Nebenbei ist noch ein I2C Busextender mit aufgebaut. Im Grunde ist das ein GCA-PI01. Mit dem lassen sich sehr preiswert Rückmelder wie PI02 anbinden. Die Rückmelder versenden bei Bedarf S88-Events über ein kleines Programm das zum can2udp Paket gehört.

Ich biete die Platine (alternativ auch hier bestellbar - bitte 1,6mm als Stärke wählen) und Bauteile in begrenzter Anzahl an. Bei Interesse bitte Email oder PN an mich.
Das Angebot richtet sich ausdrücklich an erfahrene Linux-User und ist nichts für Anfänger. Es gibt kein fertiges Image nur eine kleine Beschreibung zur Inbetriebnahme.
Später wird es auch noch einen überarbeiteten Treiber geben [s]und ein Programm, das diese Kombination u.A. zu einer preiswerten CC-Schnitte (Stichwort USB OTG Serial) macht[/s] leider beherrschen RPI2+3 kein USB OTG. Schade.

Gruß

Gerd

*1 Unfreiwillig habe ich damals eine Art Fingerabdruck eingebaut: der fragwürdige Spannungsteiler 10k/18k zur Anbindung des CAN-Tranceivers MCP2551. Dieser Baustein wurde vor Jahren von Microchip als "Nicht Empfohlen für Neu-Designs" eingestuft. Trotz dessen nutzen viele diesen anstatt des lang erhältlichen MCP2562, der auch mit zwei Spannung umgehen kann. Der Spannungsteiler entfällt dadurch. Schon komisch, wie sich so etwas hartnäckig hält. tse ...


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


bertr2d2  
bertr2d2
EuroCity (EC)
Beiträge: 1.285
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#2 von bertr2d2 , 25.06.2017 14:28

Hallo,

auch wenn die Resonanz nicht so groß wie beim BPi ist, schreitet die Entwicklung auch hier voran.

Vielleicht hat sich der ein oder andere gefragt, wozu das Lochrasterfeld dient:

Es ist als variables Ein-Ausgabe Interface über Optokoppler (LTV827 bzw LTV817) gedacht. Hier 3 Ausgänge und ein Eingang. Wie für S88 gemacht Siehe auch:
https://github.com/GBert/misc/blob/master/RPi-MCP2515/S88.md

Reichelt Liste für S88/5V

Das passende s88udp incl Entprellung existiert auch schon:

1
2
3
4
5
6
7
8
9
 
pi@raspberrypi:~/railroad/can2udp/src $ sudo ./s88udp-rpi -vft 100
using broadcast address 192.168.0.255
13:35:39.496034 [0x000001DF] ->S88>UDP CANID 0x00230300 [8] 00 00 00 05 00 01 00 00
13:35:41.660905 [0x00000261] ->S88>UDP CANID 0x00230300 [8] 00 00 00 07 01 00 00 00
13:35:42.093358 [0x0000027B] ->S88>UDP CANID 0x00230300 [8] 00 00 00 07 00 01 00 00
13:35:42.794480 [0x000002A5] ->S88>UDP CANID 0x00230300 [8] 00 00 00 05 01 00 00 00
13:35:42.994412 [0x000002B1] ->S88>UDP CANID 0x00230300 [8] 00 00 00 05 00 01 00 00
13:35:43.576262 [0x000002D4] ->S88>UDP CANID 0x00230300 [8] 00 00 00 03 01 00 00 00
13:35:43.709847 [0x000002DC] ->S88>UDP CANID 0x00230300 [8] 00 00 00 03 00 01 00 00
 



Somit hat man neben dem CAN-Bus (mit Gleisbox -> CS2 Emulation) und I2C Anbindung auch die Möglichkeit S88 Module preisgünstig anzubinden.

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
EuroCity (EC)
Beiträge: 1.285
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#3 von bertr2d2 , 23.10.2017 14:05

Hallo,

die Platine gibt es nun in einer leicht modifizierten Version V1.1, wo nun auch die Anbindung des I2C-Bustreibers und die Bestückungsseite des Längsreglers 7805 korrigiert wurde:


Der CAN-Transceiver (ISO1050) ist das einzige SMD-Bauteil. Dadurch ist der Nachbau aus Hardware Sicht relativ einfach.

Der Aufbau richtet sich vor allen an Linux Erfahrene, die die Installation der Software selbst vornehmen können.

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
EuroCity (EC)
Beiträge: 1.285
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#4 von bertr2d2 , 06.12.2017 17:01

Hallo Uwe,

ich führe die Diskussion hier mal weiter.

Zitat

Hallo,

soweit ich mich da erinnern kann kommt es auch immer wieder zu Verbindungsabbrüchen zwischen RPI und CAN. Mein Vermutung ist ja das, dass SPI nicht sauber im SOC implementiert wurde.


der Broadcom SoC enthält mind. einen signifikanten SPI-Bug. Aber der Bug ist bekannt und wird umschifft. Solche Bugs sind nichts Ungewöhnliches - alle CPUs enthalten Fehler.

Ich habe vor ein paar Monaten einen CAN-Test mit 4 facher Geschwindigkeit (1 Mbit anstatt M*rklins 250Kbit) und maximalen Paketanzahl gemacht (knapp 20.000/sec). Mein RPi3 hat keine Schwäche gezeigt. Also von daher sollte bei der relativ geringen Paketanzahl je Sekunde bei M*rklin nichts anbrennen.

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
EuroCity (EC)
Beiträge: 1.285
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#5 von bertr2d2 , 31.05.2018 14:54

Hallo,

ich habe hier ein paar voll funktionsfähige RPi-Boards mit dem neuen MCP25157 aus einer 0-Serie:

anzubieten. Aus dem Board sind nebem dem MCP2517 noch ein I2C Treiber (siehe PI01) und ein isolierter S88 Anschluss.

Preis für Board, 2x Grove-Kabel und Abstandsbolzen: 25 Euro incl. Versand.
Bei Interesse -> PN oder Email an mich.
Das Angebot richtet sich an Interessenten mit Linux-Erfahrung.

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
EuroCity (EC)
Beiträge: 1.285
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#6 von bertr2d2 , 06.11.2019 12:24

Hallo,

ich habe noch einige Bausätze hier die ich gerne verkaufen würde. Inhalt ist für isolierten/galvanisch getrenntem CAN-Bus mit DCDC Wandler (nur noch GND, CANL und CANH Verbindung notwendig) mit ISO1050 für 25€ incl. Porto innerhalb Deutschlands.
I2C Treiber und S88 ist nicht enthalten können aber nachgerüstet werden.

Das Angebot richtet sich an erfahrene Linux-Nutzer mit Lötkenntnissen.

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
EuroCity (EC)
Beiträge: 1.285
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#7 von bertr2d2 , 04.03.2020 19:17

Hallo S88 Nutzer,

wer den isolierten S88 nutzt sollte zwei Leiterbahnen auftrennen (unten - mitte):



Die Spannung muss dann über P15 zugeführt werden, z.B. über den Adapter, den man bei mir bekommen kann.

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
EuroCity (EC)
Beiträge: 1.285
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 27.05.2021 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#8 von bertr2d2 , 05.01.2021 12:28

Hallo,

wer das Löten scheut, für den habe ich noch eine interessante Alternative:



Der Preis ist mit $23,99 bzw 19,90€ (welectron) sehr attraktiv. Zusammen mit einem RPi ist das wirklich günstig.

Mit einem MS2 Ersatzkabel kann man dann unmittelbar los legen :

schwarzGNDG
braunCANLL
orangeCANHH
rot18Vwird hier nicht verbunden

Wenn man die Kontakte vorsichtig durch Hochbiegen der kleine Laschen am Stecker herauszieht, dann kann man die gecrimpten Kontakte nutzen.

Selbst mit CdB Komponenten funktioniert das Interface zusammen. Über lan-schnitte kann man die CdB Komponenten sogar konfigurieren.

Die Software can2udp und damit Railcontrol, Rocrail, iTrain, WDP etc. pp. funktionieren damit genauso. Michaels (aka st-oldie) Software ist damit ebenfalls nutzbar.

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
EuroCity (EC)
Beiträge: 1.285
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet Heute | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#9 von Ronson1909 , 24.02.2021 22:17

Vielen Dank für den Tipp. Nachdem eine andere CAN Halbselbstbau-Platine offenbar kaputt ging, war das ein günstiger und unkomplizierter Ersatz.


Ronson1909  
Ronson1909
Beiträge: 4
Registriert am: 09.02.2021


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#10 von bertr2d2 , 30.04.2021 12:30

Hallo,

ich habe mir nochmal den Waveshare 2-CH CAN HAT geschnappt und die Sachen nochmal mit dem aktuellen Raspberry Pi OS (aka Raspbian) durchgespielt.

Vorweg zwei kleine Anmerkungen:
1. Wenn man den HAT gut befestigen will braucht man Abstandsbolzen M2,5 x 15mm
2. Bei mir war die Beschriftung vertauscht: CAN0 war an CAN1 und umgekehrt

Hier die Kurzanleitung zur Inbetriebnahme:

In /boot/config.txt die Zeile:

1
 
# dtparam=spi=on
 


ändern in

1
2
3
 
dtparam=spi=on
dtoverlay=mcp2515-can1,oscillator=16000000,interrupt=25
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=23
 



Datei /etc/network/interfaces.d/can0 erstellen mit

1
2
3
4
5
 
auto can0
iface can0 inet manual
pre-up /sbin/ip link set $IFACE type can bitrate 250000 restart-ms 100
up /sbin/ifconfig $IFACE up
down /sbin/ifconfig $IFACE down
 



Datei /etc/network/interfaces.d/can1 erstellen mit

1
2
3
4
5
6
 
auto can1
iface can1 inet manual
pre-up /sbin/ip link set $IFACE type can bitrate 250000 restart-ms 100
up /sbin/ifconfig $IFACE up
down /sbin/ifconfig $IFACE down
 
 



Damit sind die CAN Interfaces bereit wenn man den RPi neu startet.
Siehe nach dem Reboot:

1
2
 
ip -s -d link show can0
ip -s -d link show can1
 


Der CAN-Status ERROR-ACTIVE ist der Richtige.

Wenn man can2lan und z21emu nutzen will, geht man wie folgt vor:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
sudo apt update && sudo apt upgrade -y
sudo apt-get install apache2 git libpcap-dev
cd
git clone https://github.com/gbert/railroad
cd railroad/can2udp/src
make
sudo cp can-monitor /usr/bin
sudo cp can2lan /usr/sbin
sudo cp -r ../files/maerklin/config /var/www/html
sudo cp ../debian/can2lan.init /etc/init.d
sudo /etc/init.d/can2lan.init start
sudo /etc/init.d/can2lan.init status
 
sudo update-rc.d can2lan.init defaults
 
# Z21 Emulator
cd ~/railroad/z21/src
make
sudo cp z21emu /usr/bin/
 



Jetzt kann man den RPI und dem CAN-Hat mit seiner Lieblings-Steuersoftware nutzen. CS2 als Zentrale setzen und die IP-Adresse des RPis eintragen, falls notwendig.

Wann man den Märklin CAN-Bus an can0 angeschlossen hat kann man sich den Datenverkehr mittels can-monitor anschauen.

Nachtrag
Wer ein freie OpenSource Steuerungssoftware nutzen will, der ist ggf. an Railcontrol interessiert. Hier eine Anleitung zur Installation:

1
2
3
4
5
6
7
8
9
10
11
 
cd
git clone --depth=1 https://github.com/teddych/railcontrol.git
cd railcontrol
make -j5
sudo mkdir -p /opt/rocrail
cp railcontrol /opt/railcontrol
cp railcontrol.conf.dist /opt/railcontrol/railcontrol.conf
cp -r html /opt/railcontrol
cd /opt/railcontrol
# Jetzt sind wir fertig und können das Programm starten
./railcontrol --logfile=/tmp/railcontrol.log
 



Die grafische Oberfläche ist dann über http://<raspberrypi-ip>:8082 erreichbar.

Unter Edit-Controls trägt man folgendes ein:
Name: Gleisbox
Typ: Märklin Central Station CS2/CS3 (TCP)
IP Adresse: 127.0.0.1
und das Abenteuer kann beginnen :-)

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
EuroCity (EC)
Beiträge: 1.285
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet Gestern | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#11 von bertr2d2 , 09.06.2021 11:12

Hallo,

trotz der günstigen Platine von Waveshare biete ich wieder die Platinen zum Selbstbau an.
Vorteil:
optionales, galv. getrenntes S88

Wer Interesse an der Leerplane hat -> PN oder besser Email an mich

Gruß

Gerd


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


Chrisn86 hat sich bedankt!
bertr2d2  
bertr2d2
EuroCity (EC)
Beiträge: 1.285
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#12 von Chrisn86 , 08.01.2022 10:32

Hallo,

ich habe nun auch die Platine aufgebaut und bin nun am Einrichten unter Raspbian.
Der Witz ist er kann aber anscheinend nicht den Link zu Can0 aufbauen mit dem Befehl:

1
 
sudo ip link set can0 up type can bitrate 250000 restart-ms 100
 



ich erhalte dann nur folgende Fehlermeldung:

1
 
RTNETLINK answers: Connection timed out
 



Daraus schließe ich, das die Verbindung zum MCP2515 wohl nicht aufgebaut werden konnte, was schon verwunderlich ist.
Die boot.txt ist selbstverständlich angepasst, aber es kommt keine Kommunikation zu stande.
Vielleicht hat Jemand auch das Problem schon Mal gehabt?


Chrisn86  
Chrisn86
Beiträge: 7
Registriert am: 29.11.2020


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#13 von bertr2d2 , 08.01.2022 10:42

Hallo Chrisn68,

was sagt denn bei Dir 'dmesg | egrep "CAN|mcp"' ?

Bei mir sieht das so aus:

pi@raspberrypi:~ $ dmesg | egrep  "CAN|mcp"
[ 7.677827] CAN device driver interface
[ 7.833020] mcp251x spi0.0 can0: MCP2515 successfully initialized.


Bitte sage uns auch noch welches Board Du konkret verwendest und wie sehen Deine config.txt Anpassungen aus.

Ist bereits ein weiterer CAN-Bus Teilnehmer am Bus angeschlossen ?

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
EuroCity (EC)
Beiträge: 1.285
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 08.01.2022 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#14 von Chrisn86 , 08.01.2022 11:18

Hallo Gerd,

ich bekomme dazu folgende Antwort:

1
 
mcp251x spi0.0: MCP251x didn't enter in config mode
 



Ich gehe nun davon aus, da ich den ISO1050 noch nicht aufem Board habe das es ein Problem mit dem Thema Abschlusswiderstände für die CAN Seite ist, was ja dann auch über den ISO1050 plus 120R mit vorhanden wäre.

Folglich kann er dann auch keine Kommunikation aufbauen.

Gruß,
Christoph


Chrisn86  
Chrisn86
Beiträge: 7
Registriert am: 29.11.2020


RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#15 von bertr2d2 , 08.01.2022 11:26

Hallo Christoph,

Zitat von Chrisn86 im Beitrag #14
mcp251x spi0.0: MCP251x didn't enter in config mode

es findet keine fehlerfreie SPI Kommunikation statt. Prüfe die Verbindungen MISO/MOSI/CLOCK/CS bzw. die Quarz Schaltung des MCP2515.
Wie sehen Deine config.txt Anpassungen aus ? Welches Board verwendest Du ?

Gruß

Gerd


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


GENKI hat sich bedankt!
bertr2d2  
bertr2d2
EuroCity (EC)
Beiträge: 1.285
Registriert am: 09.10.2012
Spurweite H0
Stromart Digital

zuletzt bearbeitet 08.01.2022 | Top

RE: Raspberry Pi CAN Interface zur Gleisbox-Anbindung

#16 von Chrisn86 , 08.01.2022 11:31

Hallo,

ich benutze das Board von dir, was du mir die Woche zugesandt hast: https://github.com/GBert/misc/tree/master/RPi-MCP2515/
Von daher ist alles so beschaltet wie es auf dem Schaltplan sein sollte, bis auf den fehlenden ISO1050 ist es vollständig.

Gruß,
Christoph


Chrisn86  
Chrisn86
Beiträge: 7
Registriert am: 29.11.2020


   

Preiswerte Modellbahnsteuerung mit Banana Pi und Gleisbox
Einschränkungen ESP32 Erweiterung auf Hauptplatine?

  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
disconnected Foren-Chat Mitglieder Online 67
Xobor Einfach ein eigenes Forum erstellen
Datenschutz