Auteur Sujet: Informations sur BUS CAN pour commande centrale DCC arduino  (Lu 316 fois)

racdavnathewe

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Informations sur BUS CAN pour commande centrale DCC arduino
« le: novembre 18, 2021, 04:36:08 pm »
Bonsoir,
Je ne vois pas, ne comprends pas, comment dire à ma centrale DCC de faire ralentir, et ou arrêter, une locomotive.
Une motrice est détectée sur un canton, sur le canton précédent, celle qui suit doit ralentir et s'arrêter au feu.
Pourriez-vous m'éclairer ?
Merci

Tony04

  • Sr. Member
  • ****
  • Messages: 421
    • Voir le profil
Re : Informations sur BUS CAN pour commande centrale DCC arduino
« Réponse #1 le: novembre 18, 2021, 05:58:27 pm »
Bonsoir racdavnathewe,

tu vas attaquer la partie la plus "intelligente" d'un réseau commandé par Arduino.

Il va falloir fouiller sur Locoduino pour en apprendre d'avantage, mais pour commencer, voici l'instruction qui va commander la vitesse d'une loco en langage C dans DCCpp:

DCCpp::setSpeedMain(1, adresse_loco, 128, vitesse, sens);

où "adresse_loco" est un nombre qui sera l'adresse DCC de ta loco, "vitesse" la vitesse entre 0 et 126 (et non 127 comme stipulé),  et "sens" un 0 ou un 1 pour définir le sens de marche

Tu as toutes les instructions dans "c:\Program Files (x86)\Arduino\libraries\extras\Doc\index.html"

Bon courage car tu vas en avoir besoin je pense.

Cordialement
Antoine

racdavnathewe

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Informations sur BUS CAN pour commande centrale DCC arduino
« Réponse #2 le: novembre 18, 2021, 07:33:32 pm »
Bonsoir Tony04,
Merci pour ta réponse.
Si je comprends ce que tu me dis, le capteur de présence envoi une variable à la centrale DCC.
Mais comment le détecteur sait-il qu'il s'agit de tel ou tel motrice ?

Tony04

  • Sr. Member
  • ****
  • Messages: 421
    • Voir le profil
Re : Informations sur BUS CAN pour commande centrale DCC arduino
« Réponse #3 le: novembre 18, 2021, 09:07:27 pm »
Et voila l'une des questions que nous nous sommes tous posé, et chacun a sa réponse. En fait c'est tout le travail de l'Arduino gestionnaire dont tu trouveras une très bonne explication ici:
https://www.locoduino.org/spip.php?article153
https://www.locoduino.org/spip.php?article154
https://www.locoduino.org/spip.php?article271
https://www.locoduino.org/spip.php?article132

Petite question par curiosité, pourquoi as-tu mis ce fil dans "Bus CAN" ? Te doutais-tu déjà que ce serait un passage obligé ?




Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2454
  • 100% Arduino et N
    • Voir le profil
Re : Informations sur BUS CAN pour commande centrale DCC arduino
« Réponse #4 le: novembre 18, 2021, 10:34:04 pm »
C’est sans doute parce que les messages Can correspondant aux événement du réseau (détections de présence zone, détections ponctuelles des zones d’arrêt, détection d’identification par RFID) permettent de suivre la position de chaque train en temps réel et de marquer les zones qui suivent chaque train pour y faire appliquer les consignes de conduite aux suivants (ralentissements et arrêt, avec la mise à jour des signaux).

Le bus Can est le bon moyen de faire parvenir tous ces messages au gestionnaire de façon fiable. Ce dernier n’a plus alors qu’à commander les trains en conséquence avec la commande de DCCpp si le gestionnaire est dans la centrale.

Pour moi le gestionnaire est à part et il commande la centrale via Can aussi.

On s’amuse comme on peut  8)
Cordialement,
Dominique

Tony04

  • Sr. Member
  • ****
  • Messages: 421
    • Voir le profil
Re : Re : Informations sur BUS CAN pour commande centrale DCC arduino
« Réponse #5 le: novembre 18, 2021, 10:44:58 pm »
Pour moi le gestionnaire est à part et il commande la centrale via Can aussi.
On s’amuse comme on peut  8)

Nous sommes bien d'accord Dominique, et maintenant à racdavnathewe de s'amuser "un peu".

Bonne nuit à tous

racdavnathewe

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re : Informations sur BUS CAN pour commande centrale DCC arduino
« Réponse #6 le: novembre 19, 2021, 07:27:48 am »
Bonjour à tous,
Merci pour vos réponses, et à moi de répondre à ta question Tony04.
Oui, je sais que toutes les informations peuvent passer par le bus CAN. C'est le principe du BUS, non !
Ne maitrisant pas bien la programmation, je ne vois pas comment traiter les différentes informations ramenées par les capteurs ...

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2454
  • 100% Arduino et N
    • Voir le profil
Re : Informations sur BUS CAN pour commande centrale DCC arduino
« Réponse #7 le: novembre 19, 2021, 09:31:53 am »
Un message Can est constitué d’un identifiant (un nombre) et de 8 octets de données.

On peut choisir des identifiants correspondant à chaque type de message, par exemple 10 pour une détection de présence, 11 pour une détection ponctuelle. Et les données contiennent alors les détails comme le numéro de zone, l’occupation ou libération. Pour un capteur RFID les données contiendront le numéro de train.

Côté gestionnaire, une instruction “switch (identifiant)” va permettre de décortiquer chaque type de message et de les traiter ne conséquence.

Regardes les articles sur le CAN (plusieurs) et les exemples…
Bon courage.
Cordialement,
Dominique