Table of Contents
SocketCAN
Introduction
La carte interface MCP251x Pi01CAN nécessite un Raspberry Pi 2/3/4 avec PiOS 32bit ou 64bit.1)
SocketCAN est seulement disponible si le serveur Rocrail tourne sur le même Raspberry Pi que le PiCAN.
La communication avec RCAN2) est directe et binaire; Aucune conversion ni-directionnelle n'est nécessaire entre le MERG Gridconnect ASCII framing.
L'alimentation 12V continue pour les unitées CANGC* connectées peut être fourni avec un GCA-08. Voir Câble de connexion pour plus d'information.
Documentation
Interface Pi01CAN
Les composants peuvent être laissés de côté si la connexion RocNet n'est pas nécessaire. (Juste écrire une remarque au cas où il serait commandé chez GCA.)
Configuration Raspi
config.txt
Modifier le fichier suivant en tant que super utilisateur, sudo, avec un éditeur de texte de votre choix.
/boot/config.txt
Retirer le commentaire '#' de cette ligne:
before modify
#dtparam=spi=on
après modification
dtparam=spi=on
Ajouter les lignes suivantes à la fin de ce fichier:
dtoverlay=mcp2515-can0,oscillator=16000000,interrupt=25 dtoverlay=spi-bcm2835-overlay
Redémarrage
sudo shutdown -r now
Interfaces
Modifier le fichier suivant en tant que super utilisateur, sudo, avec un éditeur de texte de votre choix.
/etc/network/interfaces
Ajouter les lignes suivantes à la fin de ce fichier: (La ligne commentée '#' est optionnelle.)
# CAN Interface auto can0 iface can0 inet manual pre-up /sbin/ip link set $IFACE type can bitrate 125000 restart-ms 100 up /sbin/ifconfig $IFACE up down /sbin/ifconfig $IFACE down
Si le Pi-CAN doit être utilisé avec MBUS, la vitesse de transmission doit être réglée à 250000.
Vérification
pi@keltenbahn:~ $ dmesg | egrep -i "can|spi" [ 3.998382] CAN device driver interface [ 4.051102] mcp251x spi0.0 can0: MCP2515 successfully initialized.
Configuration Rocrail
- Sélectionner le type SocketCAN
- Régler le nom d'hôte(nom du périphérique) à can0 (Si non configuré: le can0 sera utilisé.)
Vérifier le nom du périphérique
Vérifier le nom du périphérique par l'utilisation de la commande ifconfig sur le Raspberry Pi:
pi@keltenbahn:~ $ ifconfig can0: flags=193<UP,RUNNING,NOARP> mtu 16 unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
CANService
Comme alternative au fonctionnement de Rocrail sur le Raspberry Pi, il est également possible d'utiliser le CANService.
Il se comporte comme un GC1e.
Carte CAN Alternative
Ce Shield CAN Bus AZDelivery MCP2515 à faible coût peut être utilisé comme alternative si seul le CAN est nécessaire:
La Configuration Logiciel du Raspberry est la même que celle du Pi01-CAN, excepté pour l'oscillateur:
oscillator=8000000
Vérifiez sur la carte la fréquence imprimée sur le cristal:
Cette exemple affiche 8000 kHz → 8000000 Hz
Pour les vitesses CAN au dessus de 125kHz il est recommandé de remplacer ce cristal par un type 16MHz. (oscillateur=16000000)
Câblage | |||
Shield | Rpi | Numéro(s) de la broche du Rpi | Remarque |
---|---|---|---|
VCC | 5V | 2, 4 | Avec 3V3 il recevra, mais ne peut pas envoyer de paquets CAN. |
GND | Masse (Ground) | 6, 9, 20, 25, 30, 34, 39 | |
CS | GPIO 8 (CE0) | 24 | |
SO | GPIO 9 (MISO) | 21 | |
SI | GPIO 10 (MOSI) | 19 | |
SCK | GPIO 11 (SCLK) | 23 | |
INT | GPIO 25 | 22 |
Notes:
- Cette carte n'est pas isolée. (ISO1050)
- Il manque une connexion à la terre sur la borne à vis, et il est fortement recommandé de connecter la terre du câble CAN à la broche GND de cette carte pour éviter l'électricité statique qui pourrait détruire l'électronique.