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/06 16:00] – [Push Button] 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 67: Line 69:
 |  1  |  1  | Impulsion de sortie | Longueur de l'impulsion selon la configuration globale du nœud. | |  1  |  1  | Impulsion de sortie | Longueur de l'impulsion selon la configuration globale du nœud. |
 |  2  |  1  | Inversion | Inversion de la valeur du port numérique. | |  2  |  1  | Inversion | Inversion de la valeur du port numérique. |
-|  3  |  1  | Port IR | Pas utilisé. | 
 |  4  |  1  | Sync | Synchronise également la sortie avec le SYNCID | |  4  |  1  | Sync | Synchronise également la sortie avec le SYNCID |
  
Line 74: Line 75:
 //Le protocole CBUS est protégé par le droit d'auteur par Mike Bolton & Gil Fuchs.//\\ //Le protocole CBUS est protégé par le droit d'auteur par Mike Bolton & Gil Fuchs.//\\
 ^ CBUS->RCAN ^ Rocrail ^ Plage ^ Remarque ^ ^ CBUS->RCAN ^ Rocrail ^ Plage ^ Remarque ^
-| Numéro de l'évènement du nœud -> CANID | Bus | 0...127 (défaut 127) | CBUS utilise 4 MSBits pour la priorité. (L'ID de la trame CAN standard est de 11 bits.) |+| 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.) |
 | Adresse de l'évènement -> Port | Adresse | 1...16 (fixe) | C'est le __**[[:can-gca2-fr#configuration|Numéro du port]]**__. | | Adresse de l'évènement -> Port | Adresse | 1...16 (fixe) | C'est le __**[[:can-gca2-fr#configuration|Numéro du port]]**__. |
 Le numéro de nœud du module et le module CANID sont les mêmes et juste une valeur dans le firmware.\\ Le numéro de nœud du module et le module CANID sont les mêmes et juste une valeur dans le firmware.\\
Line 108: Line 109:
 | mbus | Commute le protocole CS2 Märklin. (250k) |  | mbus | Commute le protocole CS2 Märklin. (250k) | 
 | 8m | Règle la vitesse de l'horloge du MCP2515 à 8MHz. (par défaut)  | 8m | Règle la vitesse de l'horloge du MCP2515 à 8MHz. (par défaut) 
-| 16m | Règle la vitesse de l'horloge du MCP2515 à 16MHz.  |  +| 16m | Règle la vitesse de l'horloge du MCP2515 à 16MHz. 
-l0 Règle la disposition des broches pour s'adapter au CANGC2a. (par défaut) -> Appuyez sur le bouton de réinitialisation pour rendre les changements actifs. |  +gpio 16 ports E/S  |  
-l1 Règle la disposition des broches pour s'adapter au ArduCAN-I/O.  -> Appuyez sur le bouton de réinitialisation pour rendre les changements actifs. +servo 4 ports servo et 12 ports E/ 
 | =<id> | Règle le CANID. Remplacer <id> avec un  numéro compris entre 1 et 255. |  | =<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'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. |
 | #<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.| | #<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". | | :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". |
Line 167: Line 169:
  
  \\  \\
-=====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.1628258458.txt.gz · Last modified: 2021/08/06 16:00 by phil45