Auteur Sujet: Les SATELLITES AUTONOMES : Une solution simple pour la gestion de réseaux.  (Lu 10866 fois)

LocoFred

  • Newbie
  • *
  • Messages: 8
    • Voir le profil
Re : Les SATELLITES AUTONOMES : Une solution simple pour la gestion de réseaux.
« Réponse #105 le: février 20, 2024, 04:44:26 pm »
Bonjour et merci à tous,
je me lancerais bien dans la fabrication de quelques modules (3 ou 5) pour commencer et tester, mais il me manque encore quelques infos...
Peut-être ont-elles déjà fait l'objet de réponses, mais ou je ne les ai pas trouvées, ou je ne les ai pas comprises...
Il y aurait dans les tuyaux ou dans les tiroirs une "V2" des satellites autonomes, mais encore en développement ?..
Et si j'ai bien compris, celle-ci, la "V1" est opérationnelle et l'on peut se lancer dans sa fabrication ?..

1°/ Cette "V2" des satellites autonomes, est-ce une amélioration apportée et proposée sur les différents fils de discussion (en particulier "Les SATELLITES AUTONOMES: évolutions du socle initial") ou ferait-elle l'objet d'un "Post" à elle seule ?..

2°/  Pour ce qui est de la commande des aiguilles adressée au satellite par le bus can, j'en ignore tout de la mise en œuvre :
J'imagine (mais j'ai peut être trop d'imagination), qu'il doit falloir insérer un nouveau nœud dans le bus qui relie déjà les satellites et les deux cartes Main et watchdog,
mais alors, si c'est bien le cas, à quoi est relié ce nœud ?..
Une carte capable de générer le message de changement de direction et de l'envoyer à la bonne adresse, ou une "manette" de pilotage reliée à la centrale qui serait capable de faire la même chose en plus des commandes destinées aux locos ?
Pour ma part, je préférerais la solution d'une carte à laquelle je pourrais envoyer un signal via un TCO physique (bouton poussoir) et qui serait capable de transmettre mes ordres aux aiguilles concernées...
Cette solution existe-t-elle ? (Au regard de toutes vos inventions, j'ai du mal à imaginer le contraire)...
Où puis-je la trouver avec ses explications, schémas, Gerber, codes, etc ?..
Locoduino est un grand bazar (au bon sens du terme), super bien achalandé, mais dans lequel j'ai encore un peu de mal à m'y retrouver...

3°/ Pour ce qui est de l'utilisation d'une centrale compatible RailCom®, peut-on se lancer dans la fabrication de "La Box" comme ça semblerait être proposé dans le post
"Détection RailCom© avec ESP32 (ou Arduino)" (https://www.locoduino.org/spip.php?article334) ou vaut-il mieux faire confiance au projet de Christophe,
"Une station DCC compatible RailCom" (https://forum.locoduino.org/index.php?topic=1352.0) ?..
Quelqu'un pourrait-il également m'indiquer le lien à suivre pour envisager la fabrication de la centrale idoine ?..
Une fois encore, je présume qu'il y aura un nouveau "nœud" reliant la centrale à notre bus ?..

Et pour terminer,

4°/ Pour faire circuler les informations du can et le 12/24v, de quels câbles avons-nous besoin ?
     - RJ45 (4 paires) ou RJ12 (3 paires) ?
     - Câbles droits ou croisés ?
     - Blindés ou non ? (J'ai bien vu toutes les interventions et croisements de fers, mais je n'ai pas réussi à me faire une opinion...
     - Quelles sont les identifications de chaque fil ?

Pour tous ceux qui le souhaiteraient, je suis prêt à m'associer à une commande de PCB, avec ou sans les fournitures concernées,
pour la fabrication de 3 ou 5 cartes satellites,
la même quantité pour les cartes de détection du signal Railcom©
et 2 pcb pour la Main et la Watchdog... Et plus si affinités...

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 932
  • HO avec DCC++
    • Voir le profil
Bonjour et merci à tous,
je me lancerais bien dans la fabrication de quelques modules (3 ou 5) pour commencer et tester, mais il me manque encore quelques infos...
Peut-être ont-elles déjà fait l'objet de réponses, mais ou je ne les ai pas trouvées, ou je ne les ai pas comprises...

Bonjour Frédéric,

Tu trouveras ci-dessous les réponses à tes questions toujours très pertinentes.

Il y aurait dans les tuyaux ou dans les tiroirs une "V2" des satellites autonomes, mais encore en développement ?..
Et si j'ai bien compris, celle-ci, la "V1" est opérationnelle et l'on peut se lancer dans sa fabrication ?..

C’est vrai que cette « évolution » que Laurent a lancée aurait mérité un peu plus d’explications sur son positionnement et sa raison d’être. Je ne doute pas qu’il le fera sur le fil de son projet. C’est vrai que la dénomination V2 n’est pas appropriée et je ne sais d’ailleurs pas comment elle est apparue.

De ce que moi j’en comprends, il s’agit d’une version « plus musclée » qui correspondrait mieux à de plus grands réseaux (on parle de cantons de 3 mètres !!!), qui prendrait en charge plus d’équipements (plus d’aiguilles par exemple) et chercherait à améliorer ce qui pourrait éventuellement l’être dans mon projet.

Mais comme je l’ai dit, Laurent t’apportera mieux que moi ces réponses.

Pour ce qui est des satellites autonomes (pas v1), oui elle est opérationnelle, cela fait maintenant six mois environ que je la teste sur mon propre réseau.

2°/  Pour ce qui est de la commande des aiguilles adressée au satellite par le bus can, j'en ignore tout de la mise en œuvre :
J'imagine (mais j'ai peut être trop d'imagination), qu'il doit falloir insérer un nouveau nœud dans le bus qui relie déjà les satellites et les deux cartes Main et watchdog,
mais alors, si c'est bien le cas, à quoi est relié ce nœud ?..
Une carte capable de générer le message de changement de direction et de l'envoyer à la bonne adresse, ou une "manette" de pilotage reliée à la centrale qui serait capable de faire la même chose en plus des commandes destinées aux locos ?
Pour ma part, je préférerais la solution d'une carte à laquelle je pourrais envoyer un signal via un TCO physique (bouton poussoir) et qui serait capable de transmettre mes ordres aux aiguilles concernées...
Cette solution existe-t-elle ? (Au regard de toutes vos inventions, j'ai du mal à imaginer le contraire)...
Où puis-je la trouver avec ses explications, schémas, Gerber, codes, etc ?..
Locoduino est un grand bazar (au bon sens du terme), super bien achalandé, mais dans lequel j'ai encore un peu de mal à m'y retrouver...

Ce qu’il faut essentiellement avoir présent à l’esprit, c’est que les satellites autonomes privilégient la communication par le bus CAN à toutes autres forme de communication quand cela est possible. Le TCO n’échappe pas à la règle.

Donc je te redis clairement ce que j’ai dis déjà la dernière fois, les satellites reçoivent en effet les ordres de commande des aiguilles sous forme de messages CAN.

Il y a plusieurs façons d’envisager un TCO, il peut être virtuel, sur tablette ou écran ou bien physique avec de vrais boutons, de vraies leds etc… Le fait de communiquer en CAN permet au satellite autonome de répondre à toutes les formes choisies.

Puisque tu penses TCO physique, voici comment je procéderais. Les boutons de commande des aiguilles étant des boutons poussoirs répartis sur le tableau avec une lisibilité et une ergonomie maximale. Mais en tant que graphiste, tu dois savoir faire. Pour le micro contrôleur, je choisirais un Mega pour avoir d’emblée beaucoup d’entrées (boutons…) et de sorties (leds…).

Je choisirais un shield CAN (plutôt un Seeed Studio) qui fonctionne à 1Mbs : https://wiki.seeedstudio.com/CAN-BUS_Shield_V2.0/

Ce Mega avec son shield s’insèrent dans le bus CAN très simplement en reliant les fils du précédent et du suivant. Il devient de cette façon un nouveau nœud du bus CAN mais sans rien de plus.

Selon que l’on appuie sur tel ou tel bouton, le programme du Mega détecte que la commande est adressée à tel ou tel satellite et que cela concerne le servo 0, 1, 2 ou 3 du satellite. Et il allume alors la led correspondante.

Voilà, je ne veux pas faire trop long mais tu as ici le principe général pour un TCO physique. Il y en a eu un article, il y a longtemps mais c’était en xpressnet : https://www.locoduino.org/spip.php?article42

Ca peut te donner une idée.

Je suis très partant pour réaliser le programme pour un bus CAN si tu réalises la partie « physique ». Ce sera un bon sujet à partager.


3°/ Pour ce qui est de l'utilisation d'une centrale compatible RailCom®, peut-on se lancer dans la fabrication de "La Box" comme ça semblerait être proposé dans le post
"Détection RailCom© avec ESP32 (ou Arduino)" (https://www.locoduino.org/spip.php?article334) ou vaut-il mieux faire confiance au projet de Christophe,
"Une station DCC compatible RailCom" (https://forum.locoduino.org/index.php?topic=1352.0) ?..
Quelqu'un pourrait-il également m'indiquer le lien à suivre pour envisager la fabrication de la centrale idoine ?..
Une fois encore, je présume qu'il y aura un nouveau "nœud" reliant la centrale à notre bus ?..

Décidément, tu sais aborder les bons sujets !

Oui les satellites autonomes ont besoin sur le réseau d’une centrale DCC qui puisse générer un cutout. A l’heure actuelle, la Box ne dispose pas de cette faculté.

Alors, je ne parlerai pas de « confiance » pour la station que j’ai réalisée mais simplement d’option à ce stade. Oui cette station, couplée à une carte LMD18200 est la seule qui puisse être aujourd'hui utilisée avec les satellites autonomes. Mais cette station, qui fonctionne, était au départ un sujet de recherche et d’expérimentation en attendant Railcom sur la Box. Je ne souhaite pas en assurer le support ni les évolutions. Elle peut cependant être adopté en sachant qu’il faudra un jour basculer et que cela n’induit aucun cout qui ne soit réutilisable comme le LMD18200.

Dans un second temps, comme la version Railcom de DCC Ex sera disponible sur Mega (l’est peut-être déjà en Beta), je pense que ce sera une bonne évolution. Toujours avec un LMD18200

L’insertion de cette station dans le bus CAN se fera aussi simplement que montré plus haut et deviendra alors un nœud CAN également.

Et pour terminer,

4°/ Pour faire circuler les informations du can et le 12/24v, de quels câbles avons-nous besoin ?
     - RJ45 (4 paires) ou RJ12 (3 paires) ?
     - Câbles droits ou croisés ?
     - Blindés ou non ? (J'ai bien vu toutes les interventions et croisements de fers, mais je n'ai pas réussi à me faire une opinion...
     - Quelles sont les identifications de chaque fil ?

Pour tous ceux qui le souhaiteraient, je suis prêt à m'associer à une commande de PCB, avec ou sans les fournitures concernées,
pour la fabrication de 3 ou 5 cartes satellites,
la même quantité pour les cartes de détection du signal Railcom©
et 2 pcb pour la Main et la Watchdog... Et plus si affinités...

Il s’agit de câbles RJ45 de catégorie 5 ou 6. Pas de câble croisé (mais cela existe-t-il encore ?). En catégorie 5 ou 6 je crois qu’ils sont d’office blindés. C’est du basique, ce qu’il y a de plus courant et de moins cher (moins d’un €).

En utilisant ces câbles tu n’as pas de soucis d’identification des fils, sauf option particulière que je ne recommande pas mais je te donnerai alors l’identification si tu procèdes ainsi.

Comme tu es le premier à te lancer, je te propose de t’accompagner pas à pas et effectivement de faire des commandes groupées. J’allais justement envoyer une commande de PCB, je peux en mettre 5 de plus.

Par ailleurs, j’ai tous les composants en quantité et je dois envoyer une nouvelle commande (pour ce projet et d’autres).

Ce que je te propose pour tout ce qui est de nature perso, c’est d’échanger en MP.

Christophe
« Modifié: février 21, 2024, 03:46:00 am par bobyAndCo »

laurentr

  • Hero Member
  • *****
  • Messages: 580
    • Voir le profil
Re : Les SATELLITES AUTONOMES : Une solution simple pour la gestion de réseaux.
« Réponse #107 le: février 20, 2024, 11:20:34 pm »
Bonsoir

Je répondrai volontiers aux différentes questions dans le post dédié aux évolutions.

J'y ai actualisé les premiers chiffrages sur la base d'une réalisation "en volume" (tirage de 80 pièces)
Pour le moment cela reste très compétitif mais il reste encore à chiffrer une partie du montage... c est en cours! De bonnes surprises ne sont pas à exclure.

Ltr

laurentr

  • Hero Member
  • *****
  • Messages: 580
    • Voir le profil
Re : Les SATELLITES AUTONOMES : Une solution simple pour la gestion de réseaux.
« Réponse #108 le: février 21, 2024, 03:37:14 pm »
Bonjour Christophe

J'ai une question à propos du mode DISCOVERY et de l'état de la LED.

Lorsque l'on associe une paire de satellites le fait de presser 1 bouton sur le premier va faire clignoter la led de celui ci.

Cet état de clignotement reste présent sur chaque satellite dont 1 bouton est pressé tant que le processus d association n'est pas achevé.
Le processus d'association bascule la led en allumage FIXE une fois le processus d'appairage achevé ET que 1 bouton sur chaque satellite reste pressé.

Elle est OFF ensuite en fois les boutons relâchés.

C est bien cela? ( elle est OFF en utilisation normale)


Si par "accident" un bouton d'appairage est pressé sans autre binôme dans le processus de découverte il n'y a pas de modification des attributions existantes?

Que se passe t il si un satellite n'a pas de voisin? (soit horaire soit antihoraire) C'est le cas d'une voie en impasse par exemple.( tiroir ou gare terminus)
J'imagine que le soft gèrera le ralentissent dans la zone traitée par ce satellite et arrêtera le train une fois le capteur ponctuel horaire atteint. C'est bien cela?
Pour un mouvement dans le sens de circulation opposé, y a t il des critères à avoir?

Tout mouvement des lors que les sécurités de "bloc automatique" sont respectées sont autorisées dans une zone d'un satellite donné?

Ltr




bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 932
  • HO avec DCC++
    • Voir le profil
Re : Les SATELLITES AUTONOMES : Une solution simple pour la gestion de réseaux.
« Réponse #109 le: février 21, 2024, 03:54:43 pm »

Lorsque l'on associe une paire de satellites le fait de presser 1 bouton sur le premier va faire clignoter la led de celui ci.

OUI


Cet état de clignotement reste présent sur chaque satellite dont 1 bouton est pressé tant que le processus d association n'est pas achevé.

OUI


Le processus d'association bascule la led en allumage FIXE une fois le processus d'appairage achevé ET que 1 bouton sur chaque satellite reste pressé.


OUI

Elle est OFF ensuite en fois les boutons relâchés.


OUI

C est bien cela? ( elle est OFF en utilisation normale)

OUI

Si par "accident" un bouton d'appairage est pressé sans autre binôme dans le processus de découverte il n'y a pas de modification des attributions existantes?

NON

Que se passe t il si un satellite n'a pas de voisin? (soit horaire soit antihoraire) C'est le cas d'une voie en impasse par exemple.( tiroir ou gare terminus)
J'imagine que le soft gèrera le ralentissent dans la zone traitée par ce satellite et arrêtera le train une fois le capteur ponctuel horaire atteint. C'est bien cela?


OUI, s'il n'y a aucun satellite identifié à la sortie d'un canton (en fonction de la position des aiguilles éventuellement) on est dans le même cas que pour un canton occupé, le signal se met au rouge, le train frein puis s'arrête !


Pour un mouvement dans le sens de circulation opposé, y a t il des critères à avoir?


Pas comprendre la question

Tout mouvement des lors que les sécurités de "bloc automatique" sont respectées sont autorisées dans une zone d'un satellite donné?

Les commandes des trains ne suivent pas la signalisation qui n'est la que pour la décoration. Le satellite déduit des possibilités en fonctions de son environnement (position des aiguilles, occupation ou non de cantons voisins (jusqu'à +2). Ce sont ces états qui conditionnent si l'on peut appliquer tel ou tel ordre à une locomotive et qui déduisent la signalisation adéquate.
« Modifié: février 21, 2024, 03:56:46 pm par bobyAndCo »

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 932
  • HO avec DCC++
    • Voir le profil
Re : Les SATELLITES AUTONOMES : Une solution simple pour la gestion de réseaux.
« Réponse #110 le: février 21, 2024, 05:30:04 pm »
Pour ma part, je préférerais la solution d'une carte à laquelle je pourrais envoyer un signal via un TCO physique (bouton poussoir) et qui serait capable de transmettre mes ordres aux aiguilles concernées...
Cette solution existe-t-elle ?

Pour répondre au souhait de LocoFred de réaliser un TCO « physique », avec des boutons poussoirs pour changer la position des aiguilles sur les satellites autonomes, j’ai écrit ce petit programme qui fait le job.

Je suis parti d'un postulat qui est que nous avions 10 aiguilles (donc 10 boutons)
const uint8_t nb_btn = 10;           // Nombre de boutons
Que la première broche utilisée (sur un Mega) est la broche 20.
const byte firstBtnPin = 20;         // Première broche de connexion des boutons
Que les boutons actionnent dans l'ordre les aiguilles des satellites comme suit :
  btn[0].sat = 11; btn[0].aig = 0;
  btn[1].sat = 11; btn[1].aig = 1;
  btn[2].sat = 12; btn[2].aig = 0;
  btn[3].sat = 12; btn[3].aig = 1;
  btn[4].sat = 12; btn[4].aig = 2;
  btn[5].sat = 13; btn[5].aig = 0;
  btn[6].sat = 14; btn[6].aig = 0;
  btn[7].sat = 14; btn[7].aig = 1;
  btn[8].sat = 15; btn[8].aig = 0;
  btn[9].sat = 16; btn[9].aig = 0;

La bibliothèque CAN utilisée est acan2515 de Pierre Molinaro : https://github.com/pierremolinaro/acan2515/tree/master

Le shield CAN recommandé est celui de SEED Studio : https://wiki.seeedstudio.com/CAN-BUS_Shield_V2.0/
qui autorise 1Mbps de débit.

Sur un Mega, il sera nécessaire de respecter le brochage suivant :



Voici le code que vous pouvez aussi télécharger :



/*
    Etude du programme pour des commandes d'aiguilles à partir de boutons poussoirs sur un TCO (physique)
    à destination des satellites autonomes
    Ce programme est destiné à fonctionner sur Arduino Uno ou Mega.

    Les broches sont commutées sur HIGH à l'état repos de boutons poussoirs par activation des résistances PULLUP internes
    Elles sont commutées sur LOW par l'appui sur le bouton poussoir lorsqu'elles reçoivent un signal à la masse (GND)
    Cet état LOW correspond au bouton appuyé.
   
    v 0.0.1 - 21/02/2024

    copyright (c) 2024 christophe.bobille - LOCODUINO - www.locoduino.org
*/

const byte thisNodeId = 252;         // N° de nœud CAN du TCO sur le bus

const uint8_t nb_btn = 10;           // Nombre de boutons
const byte firstBtnPin = 20;         // Première broche de connexion des boutons
const uint32_t delayDebonce = 100;   // Delay du debonce (en millisecondes)
const uint32_t delaySendMsg = 2000;  // Delay entre l'envoi de messages CAN (en millisecondes)


class Button
{
private:

public:
  byte ID;
  byte pin;
  bool pressed;
  uint32_t lastDebounceTime;
  uint32_t lastTimeSendMsg;
  byte sat;
  byte aig;
  Button();
};

Button::Button()  // Constructeur
  : ID(0),
    pin(255),
    pressed(false),
    lastDebounceTime(0),
    lastTimeSendMsg(0) {}

Button btn[nb_btn];  // Instances de Button

/************************ ACAN *****************************/
// If you use CAN-BUS shield (http://wiki.seeedstudio.com/CAN-BUS_Shield_V2.0/) with Arduino Uno,
// use B connections for MISO, MOSI, SCK, #9 or #10 for CS (as you want),
// #2 or #3 for INT (as you want).
#include <ACAN2515.h>
static const byte MCP2515_CS = 53;  // CS input of MCP2515 (Arduino Mega)
static const byte MCP2515_INT = 2;  // INT output of MCP2515 (Arduino Mega)
ACAN2515 can(MCP2515_CS, SPI, MCP2515_INT);
static const uint32_t QUARTZ_FREQUENCY = 16UL * 1000UL * 1000UL;  // 16 MHz

CANMessage frame;  // Instance de CANMessage
/**********************************************************/

void setup() {
  Serial.begin(115200);

  /************************ ACAN *****************************/
  //--- Begin SPI
  SPI.begin();
  //--- Configure ACAN2515
  Serial.println("Configure ACAN2515");
  ACAN2515Settings settings(QUARTZ_FREQUENCY, 1000UL * 1000UL);  // CAN bit rate 1000 kb/s
  const uint16_t errorCode = can.begin(settings, [] {
    can.isr();
  });
  if (errorCode != 0)
  {
    Serial.print("Configuration error 0x");
    Serial.println(errorCode, HEX);
  }
  /************************ ACAN : paramètres du messages *******************/
  // Structure de l'identifiant des messages CAN : https://www.locoduino.org/IMG/png/satautonomes_messageriecan_v1.png
  const byte prio = 0x03;     // Priorité la moins élévée
  const byte commande = 0xE1; // Identifiant des commandes d'aiguilles pour les satellites autonomes
  const byte resp = 0x00;     // Ceci n'est pas une réponse


  frame.id |= prio << 27;        // Priorite 0, 1 ou 2
  frame.id |= commande << 19;    // commande appelée
  frame.id |= thisNodeId << 11;  // ID expediteur
  frame.id |= resp << 2;         // Response
  frame.ext = true;                 // Identifiant long (29 bits) = true
  frame.len = 2;                     // Nombre d'octets de données du message
  /**********************************************************/


  for (byte i = 0; i < nb_btn; i++)
  {
    btn[i].ID = i;
    btn[i].pin = firstBtnPin + i;
    pinMode(btn[i].pin, INPUT_PULLUP);
    Serial.print("setup btn : ");
    Serial.println(i);
  }

  // Exemple d'aiguilles à commander
  // sat désigne sur quel satellite s'applique la commande
  // aig désigne sur quelle aiguille de ce satellite s'applique la commande
  btn[0].sat = 11; btn[0].aig = 0;
  btn[1].sat = 11; btn[1].aig = 1;
  btn[2].sat = 12; btn[2].aig = 0;
  btn[3].sat = 12; btn[3].aig = 1;
  btn[4].sat = 12; btn[4].aig = 2;
  btn[5].sat = 13; btn[5].aig = 0;
  btn[6].sat = 14; btn[6].aig = 0;
  btn[7].sat = 14; btn[7].aig = 1;
  btn[8].sat = 15; btn[8].aig = 0;
  btn[9].sat = 16; btn[9].aig = 0;
}

void loop()
{
  for (byte i = 0; i < nb_btn; i++)
  {
    // Le bouton est détecté comme appuyé
    if (LOW == digitalRead(btn[i].pin))
    {
      // L'état pressed est vrai et le delay de debonce est dépassé
      if (btn[i].pressed && millis() > btn[i].lastDebounceTime + delayDebonce)
      {
        // Le delai par rapport au dernier envoi est dépassé
        if (millis() > btn[i].lastTimeSendMsg + delaySendMsg)
        {
          // Envoi du message CAN de commande
          frame.data[0] = btn[i].sat;  // ID satellite destinataire
          frame.data[1] = btn[i].aig;  // Aiguille à commuter
          const bool ok = can.tryToSend(frame);
          if (ok)
            btn[i].lastTimeSendMsg = millis();
          else
            Serial.println("Send failure");         
        }
        btn[i].lastDebounceTime = millis();
      }
      btn[i].pressed = true;
    }
    else
      btn[i].pressed = false;
  }
}

« Modifié: février 27, 2024, 01:55:54 am par bobyAndCo »

rNe

  • Newbie
  • *
  • Messages: 30
    • Voir le profil
    • Le blog à René
Carte ESP32 universelle + CAN
« Réponse #111 le: février 25, 2024, 06:00:49 pm »
Bonjour à tous et compliments pour votre brainstorming (c'est mieux que orage de cerveaux  :D).
Je souhaite réaliser un réseau mettant en oeuvre les satellites autonomes https://www.locoduino.org/spip.php?article348. Pour cela j'ai besoin de réaliser les cartes main et watchdog et en plus la centrale DCC compatible Railcom. Je cherche désespérément dans les topics et le forum le schéma de cette carte ESP32 universelle et la manière de la raccorder au LMD18200.
Pouvez-vous m'indiquer un lien ?
Un lien sur le fichier Gerber ou un site marchand pour le circuit imprimé me ferai également gagner du temps; sinon tant pis je me mettrai au travail sur Kicad...
Un grand merci d'avance.
Cordialement
Cordialement

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 932
  • HO avec DCC++
    • Voir le profil
Re : Carte ESP32 universelle + CAN
« Réponse #112 le: février 26, 2024, 04:30:18 am »
Bonjour,

Pour le lien sur le PCB de la carte ESP32 universelle, il est ici : https://forum.locoduino.org/index.php?topic=1648.msg17802#msg17802

ou plus directement ici : https://www.locoduino.org/IMG/zip/esp32_can_v6_38_pins_gerber-2.zip

Tu notes bien que tous ls composants ne sont pas obligatoirement à commander.

Le fil pour la centrale DCC Railcom est ici : https://forum.locoduino.org/index.php?topic=1352

Le programme de la centrale est téléchargeable ici : https://github.com/BOBILLEChristophe/DCCxx-ESP32-Railcom

Bien lire le readme sur la première page du Github qui donne les pins à raccorder. En particulier pour le CAN qui utilise le broches 22 et 23 au lieu de 4 et 5 habituellement.

#define CAN_RX GPIO_NUM_22
#define CAN_TX GPIO_NUM_23

Pour les autres broches :

#define PIN_PWM GPIO_NUM_12 // ENABLE (PWM)
#define PIN_DIR GPIO_NUM_13 // SIGNAL (DIR)
#define PIN_BRAKE GPIO_NUM_14 // CUTOUT (BRAKE)
#define CURRENT_MONITOR_PIN_MAIN GPIO_NUM_36 // Mesure de courant

Pour les composants, s'il t'en manque ou si parfois il faut commander de trop grosses quantités, tu me fais signe car j'ai pas mal de réserve.

Attention aussi à commander les bons ESP32 (wroom, 2cœurs, 240Mhz, 38 pins) En cas de doute, ne pas hésiter à m'envoyer le lien.

Je vais aussi relancer une commande de PCB pour les satellites (mais ce n'est pas ce qui coute le plus cher).

Et n'hésite surtout pas à partager si tu as des questions, des problèmes ou si tout fonctionne bien pour en faire profiter tout le monde.

Christophe

rNe

  • Newbie
  • *
  • Messages: 30
    • Voir le profil
    • Le blog à René
Re : Les SATELLITES AUTONOMES : Une solution simple pour la gestion de réseaux.
« Réponse #113 le: février 26, 2024, 10:45:45 am »
Bonjour et merci Christophe.
Je ne manquerai pas de revenir vers toi si pb rencontrés.
Pour l'instant j'essaie de définir mon système et tes renseignements vont me permettre d'y voir plus clair.
Merci encore
Cordialement

LocoFred

  • Newbie
  • *
  • Messages: 8
    • Voir le profil
Re : Les SATELLITES AUTONOMES : Une solution simple pour la gestion de réseaux.
« Réponse #114 le: février 26, 2024, 06:45:59 pm »
Citer
Pour répondre au souhait de LocoFred de réaliser un TCO « physique », avec des boutons poussoirs
Servi sur un plateau...
Merci Christophe !..

LocoFred

  • Newbie
  • *
  • Messages: 8
    • Voir le profil
Re : Les SATELLITES AUTONOMES : Une solution simple pour la gestion de réseaux.
« Réponse #115 le: février 27, 2024, 12:31:55 pm »
Citer
Je suis parti d'un postulat qui est que nous avions 10 aiguilles (donc 10 boutons)
Peut-on envisager de commander jusqu'à 30 aiguilles par "Mega" ?..
Broches 20 à 49 ?..
Voire plus (broches 3 à 13) ?..
Bon, je suis un peu gourmand, mais comme "qui peut le plus peut le moins",
mieux vaut savoir tout de suite à quoi s'en tenir non ?..
 ;D

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2902
  • 100% Arduino et N
    • Voir le profil
Re : Les SATELLITES AUTONOMES : Une solution simple pour la gestion de réseaux.
« Réponse #116 le: février 27, 2024, 02:32:22 pm »
Avec quelques composants additionnels on peut faire tout ce qu’on veut :

Mon TCO est animé par un Arduino MEGA 2560 qui gère :
- 20 inverseurs d’aiguilles = 20 pattes : AG1 à AG20 sur 21 bornes avec Gnd
- 36 Leds vertes (positions aiguilles) : 5 x 74HC595 chainés = 3 pattes
- 36 Leds rouges (occupations) : 5 x 74HC595 chainés = +1 patte
- 35 Détecteurs occupation = 35 pattes
- 36 bornes avec Gnd (y.c. va-et-vient)
- Bus CAN = 5 pattes (port SPI)
- Console = 2 pattes (port USB)
AU TOTAL = 68 pattes sur 70 !

https://forum.locoduino.org/index.php?topic=290.msg3411#msg3411
« Modifié: février 27, 2024, 02:34:04 pm par Dominique »
Cordialement,
Dominique

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 932
  • HO avec DCC++
    • Voir le profil
Re : Les SATELLITES AUTONOMES : Une solution simple pour la gestion de réseaux.
« Réponse #117 le: février 27, 2024, 03:18:14 pm »
Voilà qui me semble une optimisation optimale de ce que l'on peut faire pour un TCO avec un MEGA.

@Dominique, je ne comprends pas 5 x 74HC595 chainés = 3 pattes ? Je pensais que l'on ne pouvait enchainer que deux 74HC595.

Combien de leds peuvent-être allumée en même temps ? Ou, ce qui est la question exacte, quel est le courant maxi nécessaire pour les leds ?

Christophe

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2902
  • 100% Arduino et N
    • Voir le profil
Re : Les SATELLITES AUTONOMES : Une solution simple pour la gestion de réseaux.
« Réponse #118 le: février 27, 2024, 03:26:36 pm »
Effectivement, on peut chainer beaucoup de 74HC595.
J'ai essayé avec 10 au début mais c'était lent et avec 2 chaines de 5 c'est très rapide.

Toutes les leds peuvent être allumées en même temps, avec les limitations des leds et des sorties du 595. C'est un registre à décalage avec ses propres Latch internes. !
J'ai une animation au démarrage, genre sapin de Noel. Ca en jète !

Tout le programme dans un seul .ino est en PJ, si ça peut aider...

Cordialement,
Dominique

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 932
  • HO avec DCC++
    • Voir le profil
Re : Les SATELLITES AUTONOMES : Une solution simple pour la gestion de réseaux.
« Réponse #119 le: février 27, 2024, 03:32:02 pm »
La question était en fait, si toutes les leds sont allumées en même temps, cela représente quelle valeur de courant "tiré" sur le MEGA en même temps ?