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.
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.)
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
sudo shutdown -r now
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.
pi@keltenbahn:~ $ dmesg | egrep -i "can|spi" [ 3.998382] CAN device driver interface [ 4.051102] mcp251x spi0.0 can0: MCP2515 successfully initialized.
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
Comme alternative au fonctionnement de Rocrail sur le Raspberry Pi, il est également possible d'utiliser le CANService.
Il se comporte comme un GC1e.
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: