Auteur Sujet: Can et LaBox  (Lu 968 fois)

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 748
    • Voir le profil
Can et LaBox
« le: mars 16, 2024, 02:45:16 pm »
Ne trouvant pas de fil sur le sujet, je le crée ici.

Je me mets au CAN sur lequel je ne m'étais pas vraiment penché depuis qu'il a fait une percée sur Locoduino.

J'ai imaginé, et tenté de mettre en œuvre ceci:

- Une LaBox sans connexion à un réseau qui reçoit ses ordres par les applis habituelles de commande de train.
- Une autre LaBox, sans Wifi celle là, qui reçois ses ordres uniquement par le bus CAN de Christophe, et qui serait connectée au réseau.
- Et bien sûr un câble RJ11 (deux fils croisés) entre les deux.
- deux cavaliers sont placés sur la terminaison des deux LaBox.

Pour l'instant, pour tester la connexion, je me contente de deux programmes de test, émetteur et récepteur, inspirés à la fois par l'article de Jean Luc sur le CAN, et l'exemple loopback de la bibliothèque ACAN_ESP32 .

Evidemment ça ne marche pas... J'ai tout remis en cause, jusqu'aux cavaliers de terminaison remplacés sur la photo par des câbles Dupont.



Du coup quelques questions :
- Quelles sont les prises RJ11 à utiliser ?
- Les cavaliers sont ils nécessaires de deux côtés ?
- Est ce que mon code est bon ?
- Les deux cartes disposent d'un transceiver CJMCV-230, se peut il que l'un des deux soit mort ?
- Comment être sûr que les transceiver fonctionnent ?

Accessoirement, sur une carte dernier modèle (0.2) je ne trouve pas d'emplacement pour ces transceivers. Sont ils toujours d'actualité ?
« Modifié: mars 17, 2024, 02:07:49 pm par Thierry »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2902
  • 100% Arduino et N
    • Voir le profil
Re : Can et LaBox
« Réponse #1 le: mars 16, 2024, 03:20:22 pm »
Déjà il ne faut pas croiser les fils du câble de liaison Can :
CanH doit être relié à CanH, CanL à CanL des 2 côtés.
Il faut uniquement un câble de téléphone droit entre 2 prises RJ12 mâles.

Sur des cartes anciennes les tranceivers Can sont à ajouter via une prise 5 ou 6 pins sur le côté droit de l’esp32. Mais attention je dois vérifier le modèle de carte fille transceiver et la connectique.

La carte fille CJMCU-230 (LaBox de droite) fonctionne bien : voir la suite plus bas.
« Modifié: mars 16, 2024, 05:45:04 pm par Dominique »
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2902
  • 100% Arduino et N
    • Voir le profil
Re : Can et LaBox
« Réponse #2 le: mars 16, 2024, 05:05:27 pm »
Pour tester la liaison CAN, j'ai refait un petit programme "sniffer" qui affiche dans le moniteur tout ce qui passe sur le bus Can sans filtres : Il s'appelle ESP32CANSniff.ino

Entre temps j'ai mis à jour à la fois l'IDE Arduino 2.3.2 et la bibliothèque ACAN_ESP32 2.0.0 et là la compilation de mon petit programme échoué avec une erreur :
Arduino/libraries/ACAN_ESP32/src/ACAN_ESP32.cpp:7:10: fatal error: esp_private/periph_ctrl.h: No such file or directory

J'ai donc réinstallé la bibliothèque ACAN_ESP32 1.1.2 et là ça compile bien et ça marche

Donc j'ai une Labox "Can sniffer" équipée d'une carte CJMCU-230 comme toi, et avec mon sniffer en PJ,
et une Labox équipée du logiciel "Test_CommCan_LaBox" de Christophe.

Un bout de câble téléphonique "droit" et ça marche !


Received extended data frame, id 0x17F7DFE8, idx 0 Len: 1 Data: 0x1
Received extended data frame, id 0x17F7DFE8, idx 0 Len: 1 Data: 0x1
Received extended data frame, id 0x17F7DFE8, idx 0 Len: 1 Data: 0x1 


Tu peux essayer d'autres types de testeurs CAN notamment dans les exemples de la bibliothèque ACAN
« Modifié: mars 16, 2024, 05:33:24 pm par Dominique »
Cordialement,
Dominique

Jean-Paul

  • Newbie
  • *
  • Messages: 28
  • Z
    • Voir le profil
Re : Can et LaBox
« Réponse #3 le: mars 16, 2024, 06:53:05 pm »
Bonsoir,

J'ai le même problème avec la version 2.0.0 de la librairie.
A voir les descriptions sur le github de Pierre Malinaro (https://github.com/pierremolinaro/acan-esp32) , il semble que cette version est prévue pour la version 3.0.0 alpha du logiciel de base ESP32 (la version courante installée chez moi est 2.0.14)

La librairie 1.1.12 est celle que j'utilise sans problème.

Jean-Paul.

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2902
  • 100% Arduino et N
    • Voir le profil
Re : Can et LaBox
« Réponse #4 le: mars 16, 2024, 07:15:37 pm »
J'utilise bien la version 1.1.2 et je constate que les trames CAN émises d'un coté sont répétées par le driver interne de l'ESP32 (vues du coté récepteur, on les reçoit impeccable mais avec un rythme très élevé qui ne correspond pas au programme de l'émetteur qui émet toutes les secondes) et sont considérées ensuite comme non émises du coté émetteur.

En lançant le programme émetteur, les 16 premières trames sont considérées comme bien émises, mais restent dans le tampon d'émission où elles sont répétées indéfiniment.

J'ai sans doute une erreur dans le programme émetteur le plus simple possible que je joins avec le récepteur...mais je ne la vois pas !
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2902
  • 100% Arduino et N
    • Voir le profil
Re : Can et LaBox
« Réponse #5 le: mars 16, 2024, 07:32:52 pm »
J'ai imaginé, et tenté de mettre en œuvre ceci:

- Une LaBox sans connexion à un réseau qui reçoit ses ordres par les applis habituelles de commande de train.
- Une autre LaBox, sans Wifi celle là, qui reçois ses ordres uniquement par le bus CAN de Christophe, et qui serait connectée au réseau.
- Et bien sûr un câble RJ11 (deux fils croisés) entre les deux.
- deux cavaliers sont placés sur la terminaison des deux LaBox.


@Thierry, je ne comprend pas bien ce que tu veux tester :
L'une des 2 LaBox est reliée au réseau ferroviaire et fournit du DCC, l'autre pas ?
Celle qui est reliée aux rails, donc commande les trains à partir des applis habituelles (Z21 en wifi par exemple)

Si l'autre l'autre reçoit les commandes de l'appli de test de Christophe via Can, alors elle doit être aussi reliée aux rails mais pas en même temps que l'autre

Je ne vois pas bien la manip ! Appelles moi  :D
Cordialement,
Dominique

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 748
    • Voir le profil
Re : Can et LaBox
« Réponse #6 le: mars 16, 2024, 08:57:40 pm »
Non, justement. La box reliée au réseau n'a pas de Wifi, elle n'est pilotée QUE par la box CAN ! Le but est d'avoir tout ce qu'il faut pour piloter un réseau via le CAN, sans conflit avec les applis Wifi. C'est une vue de l'esprit, pas sûr que ça serve à autre chose qu'à tester la liaison CAN...

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2902
  • 100% Arduino et N
    • Voir le profil
Re : Re : Can et LaBox
« Réponse #7 le: mars 16, 2024, 09:47:30 pm »
Non, justement. La box reliée au réseau n'a pas de Wifi, elle n'est pilotée QUE par la box CAN ! Le but est d'avoir tout ce qu'il faut pour piloter un réseau via le CAN, sans conflit avec les applis Wifi. C'est une vue de l'esprit, pas sûr que ça serve à autre chose qu'à tester la liaison CAN...

La je suis tout à fait d’accord qu’il faut bien maîtriser le pilotage de LaBox (donc des trains dans un premier temp, puis des accessoires DCC ensuite) par la liaison Can.
C’est le rôle de la retrosignalisation qui est apparue sous la forme des satellites V1 de Jean-Luc et maintenant des satellites autonomes de Christophe.

C’est exactement ce qui se passe sur mon réseau ou la centrale est pilotée par le gestionnaire qui reçoit et gère la retrosignalisation.

Une démo pour RailExpo sera sans doute prête :D
Cordialement,
Dominique

Jean-Paul

  • Newbie
  • *
  • Messages: 28
  • Z
    • Voir le profil
Re : Re : Can et LaBox
« Réponse #8 le: mars 17, 2024, 01:22:21 pm »
J'utilise bien la version 1.1.2 et je constate que les trames CAN émises d'un coté sont répétées par le driver interne de l'ESP32 (vues du coté récepteur, on les reçoit impeccable mais avec un rythme très élevé qui ne correspond pas au programme de l'émetteur qui émet toutes les secondes) et sont considérées ensuite comme non émises du coté émetteur.

En lançant le programme émetteur, les 16 premières trames sont considérées comme bien émises, mais restent dans le tampon d'émission où elles sont répétées indéfiniment.

J'ai sans doute une erreur dans le programme émetteur le plus simple possible que je joins avec le récepteur...mais je ne la vois pas !

Bonjour,

J'ai testé les 2 programmes sur 2 ESP32 et je reçois bien un message toutes les secondes sur le récepteur:

13:19:11.039 -> **** Received standard data frame, id 0x107, idx 0
13:19:11.039 ->  Len: 8 Data: 0x43 41 4E 20 74 65 73 74
13:19:12.017 -> **** Received standard data frame, id 0x108, idx 0
13:19:12.017 ->  Len: 8 Data: 0x43 41 4E 20 74 65 73 74
13:19:13.041 -> **** Received standard data frame, id 0x109, idx 0
13:19:13.041 ->  Len: 8 Data: 0x43 41 4E 20 74 65 73 74

Sur l'émetteur il n'y aucune erreur.

Jean-Paul.



Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2902
  • 100% Arduino et N
    • Voir le profil
Re : Can et LaBox
« Réponse #9 le: mars 17, 2024, 03:01:28 pm »
Merci Jean-Paul,

Je dois donc trouver le problème qui est matériel chez moi.
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2902
  • 100% Arduino et N
    • Voir le profil
Re : Can et LaBox
« Réponse #10 le: mars 17, 2024, 07:27:13 pm »
Trouvé !

un module CJMCU-230 qui semble défectueux

entre 2 cartes LaBox avec les amplis de bus Can MCP2562 en CMS : un message toutes les secondes
c'est OK maintenant.

19:20:03.231 -> Received standard data frame, id 0x22, idx 0 Len: 8 Data: 43 41 4E 20 74 65 73 74
19:20:04.221 -> Received standard data frame, id 0x24, idx 0 Len: 8 Data: 43 41 4E 20 74 65 73 74
19:20:05.203 -> Received standard data frame, id 0x26, idx 0 Len: 8 Data: 43 41 4E 20 74 65 73 74

Merci pour l'aide  ;D
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2902
  • 100% Arduino et N
    • Voir le profil
Re : Can et LaBox
« Réponse #11 le: mars 18, 2024, 11:27:09 am »
En fait le CJMCU-230 n'est pas forcément défectueux : la vitesse de transmission de 1Mb/s est tout simplement trop rapide.

Je crois que nous l'avions constaté durant le développement de LaBox (rechercher dans le forum). Des sites mentionnent cette limitation comme : https://esp32.com/viewtopic.php?t=380&start=170

125ks et sans doute jusqu'à 500 kb/s serait possible.

L'exemple que j'ai donné fonctionne à 1000 kb/s et c'est trop.
Je confirmerait après tests mais dans qq jours...
Cordialement,
Dominique

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 748
    • Voir le profil
Re : Can et LaBox
« Réponse #12 le: mars 28, 2024, 06:51:14 pm »
Dans mon cas, il y a en un qui l'était. J'ai commandé des MCP2551 chez AliExpress reçus une semaine avant la date prévue ! Et avec eux, mes programmes de test ont immédiatement fonctionné. Ca m'a permis de faire l'échange avec un CJMCV-230 à la fois, et j'ai pu identifier un coupable, direction poubelle.
Je vais pouvoir m'y remettre sérieusement.