User Tools

Site Tools


arduino:rcan-fr

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
arduino:rcan-fr [2021/08/03 11:41] – [Port configuration byte] phil45arduino:rcan-fr [2024/03/13 10:13] (current) – [RCAN: GC2a] phil45
Line 1: Line 1:
 ====== RCAN: GC2a ====== ====== RCAN: GC2a ======
 +
 +
  \\  \\
 {{:arduino:gc2a-module.jpg?0x240}}{{:cbus:can-extframe.jpeg?0x240}}\\ {{:arduino:gc2a-module.jpg?0x240}}{{:cbus:can-extframe.jpeg?0x240}}\\
  \\  \\
 =====Introduction===== =====Introduction=====
 +{{ :arduino:rcan.jpg?0x200}}
 La série de matériels courants __**[[:cbus:overview-fr|CAN-GC*]]**__ est basée sur les PICs MC.\\ La série de matériels courants __**[[:cbus:overview-fr|CAN-GC*]]**__ est basée sur les PICs MC.\\
 RCAN est le firmware pour les solutions basées sur le CAN sur la plateforme Arduino.\\ RCAN est le firmware pour les solutions basées sur le CAN sur la plateforme Arduino.\\
-La cible du firmware est l'Arduino Nano __**[[https://www.microchip.com/wwwproducts/en/atmega328pb|ATmega328P(B)]]**__.\\+La cible du firmware est l'Arduino Nano et le __**[[https://store.arduino.cc/products/arduino-nano-every|Nano Every]]**__.\\
  
  \\  \\
  
 =====Dépendances===== =====Dépendances=====
-{{ :arduino:rcan.jpg?0x200}} +{{:arduino:rcan:mcp_can.jpg?400}}\\ 
-La seule bibliothèque non standard Arduino utilisée est +Ajouter la bibliothèque **mcp_can** dans l'IDE Arduino pour être capable de communiquer avec la puce MCP2515.\\
-  https://github.com/coryjfowler/MCP_CAN_lib +
-pour être capable de communiquer avec la puce MCP2515.\\+
 ====Modifications==== ====Modifications====
-Deux modifications dans le code source de la bibliothèque sont à faire. Désactiver le DEBUG pour sauvegarder la mémoire, et augmenter la valeur du délai d'attente dans le fichier ''Documents/Arduino/libraries/MCP_CAN_lib-master/mcp_can_dfs.h'': (ligne 40 et 45)\\+Une modification dans le code source de la bibliothèque est de désactiver DEBUG pour sauvegarder la mémoire dans le\\ 
 +   ''Documents/Arduino/libraries/mcp_canr/mcp_can_dfs.h'': (ligne 41)\\
 <code cpp> <code cpp>
 // if print debug information // if print debug information
 +#ifndef DEBUG_MODE
 //#define DEBUG_MODE 1 //#define DEBUG_MODE 1
- +#endif
-/* +
-   Begin mt +
- */ +
-#define TIMEOUTVALUE    100+
 </code> </code>
-Le TIMEOUTVALUE de 50 à l'origine est trop bas et apporte des erreurs sur les trames envoyées dans le bus CAN. (Dépendant du trafic sur le bus CAN.)\\ +__ 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.__\\ 
-__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===== =====Carte GPIO=====
 La différence entre le version standard à base de PIC et les cartes Arduino est le schéma d'adressage FLAT, et supportent seulement les évènements longs. (évènements longs/courts sont détectés dans Rocrail automatiquement.) \\ La différence entre le version standard à base de PIC et les cartes Arduino est le schéma d'adressage FLAT, et supportent seulement les évènements longs. (évènements longs/courts sont détectés dans Rocrail automatiquement.) \\
-{{ :arduino:pin_arduino_nano.jpg?200}}+{{ :arduino:pin_arduino_nano.jpg?200}}{{ :arduino:nano-every-pinout.jpg?240}}
 Le GPIO est compatible avec le __**[[:can-gca2-fr|CANGC2]]**__. (Hors schéma d'adressage.)\\ Le GPIO est compatible avec le __**[[:can-gca2-fr|CANGC2]]**__. (Hors schéma d'adressage.)\\
 | Le Nano avec l'ATmega328**P** __ne peut pas utiliser le port A6 et A7__ comme E/S numérique, et sont seulement disponibles comme entrée avec lecture analogique. | | Le Nano avec l'ATmega328**P** __ne peut pas utiliser le port A6 et A7__ comme E/S numérique, et sont seulement disponibles comme entrée avec lecture analogique. |
  \\  \\
-====Broches d'entrées seules sur l'ATmega328P==== +====Broches d'entrées seules sur l'ATmega328P Nano==== 
-^ Broche du Nano ^ GC2a ^ ArduCAN-IO +|< >| 
-|  A6  |  10   | + Broche du Nano   GC2a  
-|  A7  |  9   |+|  A6  |  10  | 
 +|  A7  |  9  |
  
 +
 +**Note 1:** //Utilisez le __**[[https://store.arduino.cc/products/arduino-nano-every|Nano Every]]**__ pour être capable d'utiliser les ports 9 et 10 du GC2a comme sortie également.//\\
 +**Note 2:** //Pour de meilleures performances **un quartz de 16MHz** devrait être utilisé.//\\
 ====Variables==== ====Variables====
 ^ Variable Nr ^ Description ^ ^ Variable Nr ^ Description ^
Line 63: Line 65:
 ^ Bit ^ Valeur ^ Fonction ^ Remarque ^ ^ 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  |  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  | Output | Initialise the port as output. | +|  0  |  0  | Sortie | Initialise le port en sortie. | 
-|  1  |  1  | Input off delay Input seconds off delay for occupancy detectors. | +|  1  |  1  | Délai de désactivation de l'entrée Délai de désactivation de l'entrée de secondes pour les détecteurs d'occupation. | 
-|  1  |  1  | Output pulse Pulse length according the global node configuration. | +|  1  |  1  | Impulsion de sortie Longueur de l'impulsion selon la configuration globale du nœud. | 
-|  2  |  1  | Invert Invert the digital port value. | +|  2  |  1  | Inversion Inversion de la valeur du port numérique. | 
-|  3  |  1  | IR port | Not used. | +|  4  |  1  | Sync | Synchronise également la sortie avec le SYNCID |
-|  4  |  1  | Sync | Synchronise output also with the SYNCID |+
  
  \\  \\
 ====CBUS==== ====CBUS====
-//The CBUS protocol is copyrighted by Mike Bolton & Gil Fuchs.//\\ +//Le protocole CBUS est protégé par le droit d'auteur par Mike Bolton & Gil Fuchs.//\\ 
-^ CBUS->RCAN ^ Rocrail ^ Range Remark +^ CBUS->RCAN ^ Rocrail ^ Plage Remarque 
-Event node number -> CANID | Bus | 0...127 (default 127) | CBUS uses the 4 MSBits for priority. (The standard CAN Frame ID is 11 bit.) | +Numéro de l'évènement du nœud -> CANID | Identifiant du nœud | 0...127 (défaut 127) | CBUS utilise 4 MSBits pour la priorité. (L'Identifiant de la trame CAN standard est de 11 bits.) | 
-Event address -> Port | Address | 1...16 (fixed) | This is the __**[[:can-gca2-en#setup|Port Number]]**__. | +Adresse de l'évènement -> Port | Adresse | 1...16 (fixe) | C'est le __**[[:can-gca2-fr#configuration|Numéro du port]]**__. | 
-Module node number and module CANID are the same and just one value in the firmware.\\ +Le numéro de nœud du module et le module CANID sont les mêmes et juste une valeur dans le firmware.\\ 
-The CBUS learning mode is not supported and not needed.\\ +Le mode d'apprentissage CBUS n'est pas supporté et n'est pas nécessaire.\\ 
  \\  \\
-The same flat addressing scheme can be used with the PIC based boards by setting the event node numbers to the modules node number and the event addresses to the corresponding port numberand disable the short event option.\\ +Le même schéma d'adressage à plat peut être utilisé avec les cartes basées sur le PIC par configuration des numéros de nœud d'évènement sur le numéro de nœud des modules et les adresses d'événement sur le numéro de port correspondantet désactive l'option d'évènement court.\\ 
-In case the RCAN based modules are planned to be used in an existing CBUS networkit is recommended to convert the existing modules to the flat addressing scheme to make it transparent.\\+Dans le cas où les modules basés sur RCAN sont prévus pour être utilisés sur un réseau CBUS existantil est recommandé de convertir les modules existants au schéma d'adressage à plat pour les rendre transparents.\\
  
  \\  \\
 ====MBus==== ====MBus====
-Support for Märklin CAN protocol.\\ +Support pour le protocole CAN Märklin.\\ 
-  * Inputs are reported as s88 events. (0x11) +  * Les entrées sont rapportées comme des évènements s88. (0x11) 
-  * Outputs react on 0x0B with MM 0x3nnn. The dlc 8 is used as bus/address+  * Les sorties réagissent sur 0x0B avec MM 0x3nnn. Le dlc 8 est utilisé comme bus/adresse
-  * Read/Write config with 0x07 and 0x08. +  * Configuration Lecture/Écriture avec 0x07 et 0x08. 
-  * Ping is also supported as query in the CBus Node Dialog.+  * Le Ping est également supporté comme interrogation dans le dialogue du Nœud CBus.
  \\  \\
  
  \\  \\
  
-=====Serial Monitor=====+=====Moniteur Série=====
 500000bps\\ 500000bps\\
  
-Command ^Description ^ +Commande ^Description ^ 
-| usbon/usboff | Activate/deactivate the USB interface for GridConnect. (default deactivated) | +| usbon/usboff | Active/désactive l'interface USB pour GridConnect. (par défaut désactivé) | 
-| dump | Shows the EEPROM first 64 bytes +| dump | Affiche les premiers 64 octets de l'EEPROM | 
-| sod | Start of Day +| sod | Début de Journée 
-| init | Re-init all I/+| init | Réinitialise toutes les E/
-| stat | Shows the I/O state |  +| stat | Affiche l'état des E/|  
-| pub | Publish board identification and type |  +| pub | Publie l'indentification et le type de carte |  
-| loop | Set the loopback mode for this session. |  +| loop | Règle le mode loopback pour cette session. |  
-| norm | Set the normal mode. (default) |  +| norm | Règle le mode normal. (par défaut) |  
-| cbus | Switch to CBUS protocol. (125k) (default) |  +| cbus | Commute le protocole CBUS. (125k) (par défaut) |  
-| mbus | Switch to Märklin CS2 protocol. (250k) |  +| mbus | Commute le protocole CS2 Märklin. (250k) |  
-| 8m | Set MCP2515 clock speed to 8MHz. (default)  |  +| 8m | Règle la vitesse de l'horloge du MCP2515 à 8MHz. (par défaut)  |  
-| 16m | Set MCP2515 clock speed to 16MHz.  |  +| 16m | Règle la vitesse de l'horloge du MCP2515 à 16MHz. 
-l0 Set pin layout to fit the CANGC2a. (default) -> Push the reset button to make changes active. |  +gpio 16 ports E/S  |  
-l1 Set pin layout to fit the ArduCAN-I/O.  -> Push the reset button to make changes active. |  +servo 4 ports servo et 12 ports E/ |  
-| =<id> | Set the CANID. Replace <id> with a number between and 255. |  +| =<id> | Règle le CANID. Remplacer <id> avec un  numéro compris entre et 255. |  
-| #<port><config> | Configure port. Replace <port> with a character between 0...9 and a...f. \\ The <config> maybe: 0 for output, 1 for input, 2 for input with off delay, 3 for pulse output. \\ Example: "#a1" will configure port 10 as input.| +| $pppppppppppppppp | Configure plusieurs ports: Le <p> peut être: 0 pour la sortie, 1 pour l'entrée, 2 pour l'entrée avec un délai d'arrêt, 3 pour une sortie à implusion. \\ Exemple: "$1111" configurera le port 1 à 4 comme des entrées. | 
-| :SxxxxNxx...xx; \\ :XxxxxxxxxNxx...xx; | ASCII frame which will be send on the CAN bus and evaluated by the board. (GridConnect scheme as used by MERG CBUS.) \\ See chapter 10 of the MERG "Developer’s Guide for CBUS". |+| #<port><config> | Configure un port. Replacer <port> avec un caractère compris entre 0...9 et a...f. \\ Le <config> peut être: 0 pour une sortie, 1 pour une entrée, 2 pour une entrée avec délai d'arrêt, 3 pour une sortie à impulsion. \\ Exemple: "#a1" configurera le port 10 en entrée.| 
 +| :SxxxxNxx...xx; \\ :XxxxxxxxxNxx...xx;Trame ASCII qui sera envoyée sur le bus CAN et qui sera évaluée par la carte. (Schéma GridConnect comme utilisé par le CBUS MERG.) \\ Voir le chapitre 10 du guide MERG du développeur pour CBUS". |
  
-Also all CAN traffic and supported OPCs are traced in the serial monitor.\\+Aussi tous le trafic CAN et les OPCs supportés sont tracés dans le moniteur série.\\
  
-====Loopback Mode==== +====Mode Loopback==== 
-| //The original text is found in the Microchip MCP2515 manual in section 10.4.// |+| //Le texte d'origine est disponible dans le manuel du MCP2515 Microchip dans la section 10.4.// |
  
-Loopback mode will allow internal transmission of messages from the transmit buffers to the receive buffers without actually transmitting messages on the CAN bus.  +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.  
-This mode can be used in system development and testing+Ce mode peut être utilisé lors du développement et les tests de système
-In this mode, the ACK bit is ignored and the device will allow incoming messages from itselfjust as if they were coming from another node.  +Dasn ce mode, le bit ACK est ignoré et le périphérique autorisera l'arrivée des messages de lui-mêmecomme si ils venaient d'un autre nœud.  
-The Loopback mode is a silent mode, meaning no messages will be trans- mitted while in this state (including error flags or Acknowledge signals). The TXCAN pin will be in a recessive state.\\+Le mode Loopback est un mode silencieuxsignifiant qu'aucun message ne sera transmit dans cet état (incluant les drapeaux d'erreurs ou les signaux reconnus). La broche TXCAN sera dans un état de réception.\\
  
-====Monitor output example====+====Exemple de sortie du moniteur====
 <code> <code>
 MBus 0x3017 MBus 0x3017
Line 138: Line 140:
  \\  \\
  
-=====Setup=====+=====Configuration=====
 {{:arduino:gc2a.png?800}}\\ {{:arduino:gc2a.png?800}}\\
-The CBUS-IO will report itself as GC2a, module type 12.\\  +Le CBUS-IO se signalera comme un GC2a, module de type 12.\\  
-The firmware version is only visible with the SocketCAN and GC2a interface.\\+La version du firmware est seulement visible avec l'interface SocketCAN et GC2a.\\
  
  \\  \\
  
  
-====Incompatibilities==== +====Incompatibilités==== 
-  * SLiM is not supported +  * SLiM n'est pas supporté 
-  * FLiM is not supported +  * FLiM n'est pas supporté 
-  * Learn mode is not supported +  * Le mode apprentissage n'est pas supporté 
-  * The Device Addressed’ modelThis is fixed: NN -> CANID, DN -> Port 1...16 +  * Le modèle périphérique adressé’; Il est fixe: NN -> CANID, DN -> Port 1...16 
-  * The push button will not request a node number by OPC_RQNN, but will publish itself by OPC_PNN+  * Le bouton poussoir ne demandera pas de numéro de nœud par OPC_RQNN, mais publiera lui-même par OPC_PNN
  
-====Drawbacks==== +====Désavantages==== 
-With the FLAT addressing it is not possible to activate outputs with one command, NN+DN, on multiple boards(nodes).\\ +Avec l'adressage FLAT il n'est pas possible d'activer les sorties avec une seule commande, NN+DN, sur plusieurs cartes(nœuds).\\ 
-This option is not or only hardly usedand makes the setup of boards needlessly very complex.\\ +Cette option n'est pas ou peu utiliséet faire la configuration des cartes devient inutilement très complexe.\\ 
-__Tip:__ With the **[[#syncid|SYNCID]]** the outputs can be synchronised with other IDs.\\+__Astuce:__ Avec le **[[#syncid|SYNCID]]** les sorties peuvent être synchronisées avec d'autres identifiants.\\
  
  \\  \\
  
-=====Push Button===== +=====Bouton poussoir===== 
-The push button on the Arduino keeps its original functionReboot.\\ +Le bouton poussoir sur l'Arduino garde sa fonction d'origineLe redémarrage.\\ 
-After every reboot an OPC_PNN will be send to popup the CBusNode dialog in Rocview with selected node.\\ +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é.\\ 
-This feature can be used to identify a node.\\+Cette caractéristique peut être utilisé pour identifier un nœud.\\
  
  
  \\  \\
-=====GC2a as USB Interface===== +=====GC2a comme interface USB===== 
-The GC2a can be used parallel as CBus/MBus interface.\\ +Le GC2a peut être utilisé en parallèle comme interface CBus/MBus.\\ 
-It uses the same ASCII framing as the CANGC1(e) interface. (See chapter 10 of the MERG “Developer’s Guide for CBUS”.)\\+Il utilise le même format ASCII que l'interface CANGC1(e). (Voir le chapitre 10 du “Developer’s Guide for CBUS” du MERG.)\\
 {{:arduino:gc2a-usb-en.png}}\\ {{:arduino:gc2a-usb-en.png}}\\
-Line setting must be set to:+La configuration de la ligne doit être réglée à:
   * USB   * USB
-  * 500000bps (This is set automatically in case of USB type.) +  * 500000bps (Cela est réglé automatiquement en cas de type USB.) 
-  * __No__ hardware handshake (RTS/CTS)+  * __Pas__ d'établissement de liaison matériel (RTS/CTS)
   * Linefeed   * Linefeed
-With this option, the GC2a can also be used standaloneThe minimal CBUS setup.\\ +Avec cette option, le GC2a peut également être utilisé seulla configuration CBUS minimale.\\ 
-> Note: Because the [[https://en.wikipedia.org/wiki/CAN_bus#ACK_slot|ACK slot bit]] will not be set by other CAN modules, a send error will be reported, but can be ignored in standalone mode.+> Note 1Parce que le [[https://en.wikipedia.org/wiki/CAN_bus#ACK_slot|ACK slot bit]] ne sera pas réglé par les autres modules CANune erreur d’envoi sera signalée, but peut être ignorée en mode autonome. 
 +> Note 2: Pour de meilleurs performances un quartz de 16MHz devra être utilisé
  \\  \\
  
 =====SyncID===== =====SyncID=====
-The SyncID option is added to be able to synchronise input event from board with output states on board Y.\\ +L'option SyncID est ajoutée pour être capable de synchroniser l'évènement entré de la carte avec les états des sorties sur la carte Y.\\ 
-The port mapping is 1:1.\\ +La cartographie du port est 1:1.\\ 
-It can also be use to switch multiple outputs with a single Rocrail command.\\ +Cela peut également être utilisé pour commuter plusieurs sorties avec une seule commande rocrail.\\ 
-====Example==== +====Exemple==== 
-On board with ID 33 is input port switched to ON.\\ +Sur la carte avec l'identifiant 33 se trouve le port d'entrée commuté à ON.\\ 
-Another board with ID 22 hast set SyncID to 33, and will check if the corresponding port is an output and will synchronise it with the input port of board 33.\\ +Une autre carte avec l'identifiant 22 à le SyncID réglé à 33, et vérifiera si le port correspondant est une sortie et la synchronisera avec le port d'entrée sur la carte 33.\\ 
-This situation is often used for switch panels.\\+Cette situation est souvent utilisée pour les TCO.\\
  
  \\  \\
-=====Source Code=====+ 
 + 
 +=====Code Source===== 
 +  * {{:arduino:rcan:arduino-rcan.zip}}
   * https://gitlab.com/rocrail/Arduino/tree/master/RCAN   * https://gitlab.com/rocrail/Arduino/tree/master/RCAN
-  * https://github.com/coryjfowler/MCP_CAN_lib (Original with a too small timeout value and DEBUG active.) 
  
 ====Documentation==== ====Documentation====
-===Schedule and PCB===+===Programme et circuit imprimé===
   * https://gitlab.com/rocrail/Arduino/tree/master/RCAN/doc    * https://gitlab.com/rocrail/Arduino/tree/master/RCAN/doc 
  
arduino/rcan-fr.1627983700.txt.gz · Last modified: 2021/08/03 11:41 by phil45