PiCAN 2: CAN-Bus-Karte für Raspberry Pi (OBD II)
21. Mai 2019
über
über
Ein PiCAN 2 HAT verleiht Raspberry Pi die volle CAN-Bus-Fähigkeit: CAN v2.0B mit 1 Mb/s und schnellem (10 MHz) SPI-Interface. Es verwendet den CAN-Controller MCP2515 von Microchip und den CAN-Transceiver MCP2551.
Der Anschluss erfolgt über DB9 oder über eine dreipolige Schraubklemme. Der SocketCAN-Treiber ist einfach zu installieren. Für die Anwendung erscheint die Verbindung als can0 .Die Programmierung erfolgt in Python oder C.
Das Video zeigt OBD2-Datenprotokolle in Echtzeit, die mit PiCan 2 zusammen mit Raspberry Pi durchgeführt wurden. Hier werden sowohl RPi als auch PiCan 2 über den OBD2-Port mit Strom versorgt. Der RPi lässt auch via USB mit versorgen.
Dieser CAN-Befehl ./cansend can0 7DF#0201050000000000000000 sendet eine CAN-ID (7DF) gefolgt von einer Abfrage der Kühlmitteltemperatur (02 01 05). Um den Datenverkehr in einem CAN-Bus-Netzwerk zu überwachen, verwendet man normalerweise den Befehl ./candump can0.
Dieser Befehl funktioniert aber bei möglicherweise einigen Fahrzeugen nicht, da ein Gateway den OBDII-Port vom CAN-Netzwerk trennt. Ist dies der Fall, senden Sie zuerst eine OBDII-Anfrage wie bei der obigen Abfrage der Kühlmitteltemperatur.
Vergessen Sie nicht, das Anwendungsprogramm zu beenden, bevor Sie den RPi ausschalten, damit er die Protokolldatei auf der Speicherkarte schließt!
Der Anschluss erfolgt über DB9 oder über eine dreipolige Schraubklemme. Der SocketCAN-Treiber ist einfach zu installieren. Für die Anwendung erscheint die Verbindung als can0 .Die Programmierung erfolgt in Python oder C.
Das Video zeigt OBD2-Datenprotokolle in Echtzeit, die mit PiCan 2 zusammen mit Raspberry Pi durchgeführt wurden. Hier werden sowohl RPi als auch PiCan 2 über den OBD2-Port mit Strom versorgt. Der RPi lässt auch via USB mit versorgen.
Vor dem Ausschalten das Programm schließen
Schließen Sie einfach das (optionale) Netzteil an, warten Sie auf das Hochfahren des RPI 2 oder 3 und beobachten Sie die Aufzeichnung aller verfügbaren Informationen (z. B. Geschwindigkeit, Drehzahl, Temperatur...).Dieser CAN-Befehl ./cansend can0 7DF#0201050000000000000000 sendet eine CAN-ID (7DF) gefolgt von einer Abfrage der Kühlmitteltemperatur (02 01 05). Um den Datenverkehr in einem CAN-Bus-Netzwerk zu überwachen, verwendet man normalerweise den Befehl ./candump can0.
Dieser Befehl funktioniert aber bei möglicherweise einigen Fahrzeugen nicht, da ein Gateway den OBDII-Port vom CAN-Netzwerk trennt. Ist dies der Fall, senden Sie zuerst eine OBDII-Anfrage wie bei der obigen Abfrage der Kühlmitteltemperatur.
Vergessen Sie nicht, das Anwendungsprogramm zu beenden, bevor Sie den RPi ausschalten, damit er die Protokolldatei auf der Speicherkarte schließt!
Technische Daten:
- CAN v2.0B mit 1 Mb/s
- Hochgeschwindigkeits-SPI-Schnittstelle (10 MHz)
- Standard- und erweiterte Daten- und Remote-Frames
- CAN-Anschluss über handelsüblichen 9-pol. Sub-D-Stecker oder Schraubklemme
- Kompatibel mit OBDII-Kabel
- Lötbrücke zum Einstellen einer anderen Konfiguration für den DB9-Stecker
- 120-Ω-Terminierung möglich
- Anschlussmöglichkeit für ein serielles LCD
- LED-Anzeige
- Plöatz für zwei Mini-Taster
- Vier Befestigungslöcher, entsprechen der Pi-Hat-Norm
- SocketCAN-Treiber, erscheint als can0 für die Anwendung
- Interrupt-RX auf GPIO25
Mehr anzeigen
Weniger anzeigen
Diskussion (0 Kommentare)