arduino:rcan-fr
Differences
This shows you the differences between two versions of the page.
— | arduino:rcan-fr [2025/01/13 17:24] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== RCAN: GC2a ====== | ||
+ | |||
+ | \\ | ||
+ | {{: | ||
+ | \\ | ||
+ | =====Introduction===== | ||
+ | {{ : | ||
+ | La série de matériels courants __**[[: | ||
+ | RCAN est le firmware pour les solutions basées sur le CAN sur la plateforme Arduino.\\ | ||
+ | La cible du firmware est l' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | =====Dépendances===== | ||
+ | {{: | ||
+ | Ajouter la bibliothèque **mcp_can** dans l'IDE Arduino pour être capable de communiquer avec la puce MCP2515.\\ | ||
+ | ====Modifications==== | ||
+ | Une modification dans le code source de la bibliothèque est de désactiver DEBUG pour sauvegarder la mémoire dans le\\ | ||
+ | '' | ||
+ | <code cpp> | ||
+ | // if print debug information | ||
+ | #ifndef DEBUG_MODE | ||
+ | //#define DEBUG_MODE 1 | ||
+ | #endif | ||
+ | </ | ||
+ | __ Il est très important de désactiver le DEBUG_MODE sinon il n'y a pas assez de mémoire disponible. L'IDE Arduino IDE se plaindra à propos de cela, et RCAN redémarrera continuellement.__\\ | ||
+ | \\ | ||
+ | |||
+ | =====Carte GPIO===== | ||
+ | La différence entre le version standard à base de PIC et les cartes Arduino est le schéma d' | ||
+ | {{ : | ||
+ | Le GPIO est compatible avec le __**[[: | ||
+ | | Le Nano avec l' | ||
+ | \\ | ||
+ | ====Broches d' | ||
+ | |< >| | ||
+ | ^ Broche du Nano ^ GC2a ^ | ||
+ | | A6 | 10 | | ||
+ | | A7 | 9 | | ||
+ | |||
+ | |||
+ | **Note 1:** //Utilisez le __**[[https:// | ||
+ | **Note 2:** //Pour de meilleures performances **un quartz de 16MHz** devrait être utilisé.// | ||
+ | ====Variables==== | ||
+ | ^ Variable Nr ^ Description ^ | ||
+ | | 0 | SYNCID | | ||
+ | | 1 | Octet de configuration du nœud | | ||
+ | | 2...17 | ||
+ | | 18...19 | ||
+ | | 20 | CANID | | ||
+ | |||
+ | ====Octet de configuration de nœud==== | ||
+ | ^ Bit ^ Valeur ^ Fonction ^ Remarque ^ | ||
+ | | 0 | 1 | sauvegarde d' | ||
+ | | 1 | 1 | évènements courts | Pas utilisé. | | ||
+ | | 2,3 | 0,0 | Durée d’impulsion de 250ms | | | ||
+ | | 2,3 | 1,0 | Durée d’impulsion de 500ms | | | ||
+ | | 2,3 | 0,1 | Durée d’impulsion de 1000ms | | | ||
+ | | 2,3 | 1,1 | Durée d’impulsion de 2000ms | | | ||
+ | | 4 | 1 | Signale tous à SoD | Signale également les valeurs d' | ||
+ | |||
+ | |||
+ | ====Octet de configuration de port==== | ||
+ | ^ Bit ^ Valeur ^ Fonction ^ Remarque ^ | ||
+ | | 0 | 1 | Entrée | Initialise le port comme entrée avec résistance de tirage interne. \\ La carte GC2a fournira également des réseaux de résistances de 10 kOhm parce que la valeur des résistances de tirage interne est trop élevée. | | ||
+ | | 0 | 0 | Sortie | Initialise le port en sortie. | | ||
+ | | 1 | 1 | Délai de désactivation de l' | ||
+ | | 1 | 1 | Impulsion de sortie | Longueur de l' | ||
+ | | 2 | 1 | Inversion | Inversion de la valeur du port numérique. | | ||
+ | | 4 | 1 | Sync | Synchronise également la sortie avec le SYNCID | | ||
+ | |||
+ | \\ | ||
+ | ====CBUS==== | ||
+ | //Le protocole CBUS est protégé par le droit d' | ||
+ | ^ CBUS-> | ||
+ | | Numéro de l' | ||
+ | | Adresse de l' | ||
+ | Le numéro de nœud du module et le module CANID sont les mêmes et juste une valeur dans le firmware.\\ | ||
+ | Le mode d' | ||
+ | \\ | ||
+ | Le même schéma d' | ||
+ | Dans le cas où les modules basés sur RCAN sont prévus pour être utilisés sur un réseau CBUS existant, il est recommandé de convertir les modules existants au schéma d' | ||
+ | |||
+ | \\ | ||
+ | ====MBus==== | ||
+ | Support pour le protocole CAN Märklin.\\ | ||
+ | * Les entrées sont rapportées comme des évènements s88. (0x11) | ||
+ | * Les sorties réagissent sur 0x0B avec MM 0x3nnn. Le dlc 8 est utilisé comme bus/ | ||
+ | * Configuration Lecture/ | ||
+ | * Le Ping est également supporté comme interrogation dans le dialogue du Nœud CBus. | ||
+ | \\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | =====Moniteur Série===== | ||
+ | 500000bps\\ | ||
+ | |||
+ | ^ Commande ^Description ^ | ||
+ | | ? | Information sur la version | | ||
+ | | usbon/ | ||
+ | | dump | Affiche les premiers 64 octets de l' | ||
+ | | sod | Début de Journée | | ||
+ | | init | Réinitialise toutes les E/S | | ||
+ | | stat | Affiche l' | ||
+ | | pub | Publie l' | ||
+ | | loop | Règle le mode loopback pour cette session. | | ||
+ | | norm | Règle le mode normal. (par défaut) | | ||
+ | | cbus | Commute le protocole CBUS. (125k) (par défaut) | | ||
+ | | mbus | Commute le protocole CS2 Märklin. (250k) | | ||
+ | | 8m | Règle la vitesse de l' | ||
+ | | 16m | Règle la vitesse de l' | ||
+ | | gpio | 16 ports E/S | | ||
+ | | servo | 4 ports servo et 12 ports E/S | | ||
+ | | =<id> | Règle le CANID. Remplacer <id> avec un numéro compris entre 1 et 255. | | ||
+ | | $pppppppppppppppp | Configure plusieurs ports: Le <p> peut être: 0 pour la sortie, 1 pour l' | ||
+ | | #< | ||
+ | | : | ||
+ | |||
+ | Aussi tous le trafic CAN et les OPCs supportés sont tracés dans le moniteur série.\\ | ||
+ | |||
+ | ====Mode Loopback==== | ||
+ | | //Le texte d' | ||
+ | |||
+ | > Le mode Loopback autorisera la transmission interne des messages tampons de transmission aux tampons de réception sans réellement transmettre de messages sur le bus CAN. | ||
+ | > Ce mode peut être utilisé lors du développement et les tests de système. | ||
+ | > Dasn ce mode, le bit ACK est ignoré et le périphérique autorisera l' | ||
+ | > Le mode Loopback est un mode silencieux, signifiant qu' | ||
+ | |||
+ | ====Exemple de sortie du moniteur==== | ||
+ | < | ||
+ | MBus 0x3017 | ||
+ | pinlayout=0 | ||
+ | CAN bps=250, MCP2515 8MHz | ||
+ | hash 0x0F27 | ||
+ | : | ||
+ | : | ||
+ | : | ||
+ | </ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | =====Configuration===== | ||
+ | {{: | ||
+ | Le CBUS-IO se signalera comme un GC2a, module de type 12.\\ | ||
+ | La version du firmware est seulement visible avec l' | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | ====Incompatibilités==== | ||
+ | * SLiM n'est pas supporté | ||
+ | * FLiM n'est pas supporté | ||
+ | * Le mode apprentissage n'est pas supporté | ||
+ | * Le modèle ‘périphérique adressé’; | ||
+ | * Le bouton poussoir ne demandera pas de numéro de nœud par OPC_RQNN, mais publiera lui-même par OPC_PNN | ||
+ | |||
+ | ====Désavantages==== | ||
+ | Avec l' | ||
+ | Cette option n'est pas ou peu utilisé, et faire la configuration des cartes devient inutilement très complexe.\\ | ||
+ | __Astuce:__ Avec le **[[# | ||
+ | |||
+ | \\ | ||
+ | |||
+ | =====Bouton poussoir===== | ||
+ | Le bouton poussoir sur l' | ||
+ | Après chaque redémarrage un OPC_PNN sera envoyé pour faire apparaître la boîte de dialogue CBusNode dans Rocview avec le nœud sélectionné.\\ | ||
+ | Cette caractéristique peut être utilisé pour identifier un nœud.\\ | ||
+ | |||
+ | |||
+ | \\ | ||
+ | =====GC2a comme interface USB===== | ||
+ | Le GC2a peut être utilisé en parallèle comme interface CBus/ | ||
+ | Il utilise le même format ASCII que l' | ||
+ | {{: | ||
+ | La configuration de la ligne doit être réglée à: | ||
+ | * USB | ||
+ | * 500000bps (Cela est réglé automatiquement en cas de type USB.) | ||
+ | * __Pas__ d' | ||
+ | * Linefeed | ||
+ | Avec cette option, le GC2a peut également être utilisé seul; la configuration CBUS minimale.\\ | ||
+ | > Note 1: Parce que le [[https:// | ||
+ | > Note 2: Pour de meilleurs performances un quartz de 16MHz devra être utilisé. | ||
+ | \\ | ||
+ | |||
+ | =====SyncID===== | ||
+ | L' | ||
+ | La cartographie du port est 1:1.\\ | ||
+ | Cela peut également être utilisé pour commuter plusieurs sorties avec une seule commande rocrail.\\ | ||
+ | ====Exemple==== | ||
+ | Sur la carte avec l' | ||
+ | Une autre carte avec l' | ||
+ | Cette situation est souvent utilisée pour les TCO.\\ | ||
+ | |||
+ | \\ | ||
+ | |||
+ | |||
+ | =====Code Source===== | ||
+ | * {{: | ||
+ | * https:// | ||
+ | |||
+ | =====Fichiers HEX===== | ||
+ | * https:// | ||
+ | ====Documentation==== | ||
+ | ===Programme et circuit imprimé=== | ||
+ | * https:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ |