Auteur Sujet: LaBox" : Une Centrale DCC polyvalente et abordable  (Lu 144924 fois)

bk4nt

  • Full Member
  • ***
  • Messages: 133
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #435 le: décembre 27, 2024, 09:33:39 pm »
Bonsoir,

Cet aspect n'est pour moi pas clair. L'esp a une matrice de connexion qui permettrait d'affecter librement n'importe quelle pin à un périphérique.

Sur le pinout du dev kit, j'ai cependant remarqué que Rx et Tx (UART) pourraient être des pins dédiées. Ailleurs, j'ai lu qu'avant d'affecter des pins à une autre fonction, on pourrait avoir à les "déconnecter" d'abord:

Because GPIO12..15 are connected to JTAG using IOMUX. We need to mux them back to GPIO to use with GPIO matrix.
Please add PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[12], PIN_FUNC_GPIO); before call i2s_set_pin to wait for i2s driver to be fixed.


https://github.com/espressif/esp-idf/issues/512

Mais cette réponse date de 2017, ce n'est peut-être plus d'actualité.


Même Expressif semble définir des limites (selon les modèles d'esp?): https://docs.espressif.com/projects/arduino-esp32/en/latest/tutorials/io_mux.html

Some of the GPIOs are INPUT only.

Some peripherals have output signals and must be used on GPIO’s capable to be configured as OUTPUT.

Some peripherals, mostly the high speed ones, ADC, DAC, Touch, and JTAG use dedicated GPIOs pins.

...

Here is the basic peripherals list present on the ESP32. The peripheral list may vary from each ESP32 SoC family. To see all peripherals available on the ESP32-S2 and ESP32-C3, check each of the datasheets.
« Modifié: décembre 27, 2024, 09:48:53 pm par bk4nt »

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1135
  • HO avec DCC++
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #436 le: décembre 27, 2024, 09:45:20 pm »
bk4nt,

Tu mets le doigt sur quelque chose qui est un peu délicat quand tu veux "distribuer" les pins sur un ESP. On connait tous les incompatibilités (ou les difficultés) d'utiliser certaines pin qui sont utilisées pendant le processus de démarrage. On connait aussi les pins 34,35,36,39 qui ne sont qu'en input.

Mais il y a plein d'autres pièges Sur certains modèles, 16 et 17 sont utilisées pour le transfert de données entre une mémoire de masse (je ne sais plus laquelle) et le processeur et ne sont donc pas disponible. Attention donc si on les déconnecte pour les réutiliser à autres choses.

Sur les satellites autonomes où j'utilisais toutes les pins (jusqu'à ce que je retire le RFID) j'ai dû tester longtemps avant de trouver le bon schéma d'affectation.

Christophe

PAT95

  • Newbie
  • *
  • Messages: 27
  • PAT95
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #437 le: décembre 29, 2024, 07:24:33 pm »
Bonsoir Christophe
Voilà ma référence "https://arduinokitproject.com/esp32-pinout-reference/" et mes modules sont des "ESP32 WROOM 32".
Je ne comprends pas j'utilise la carte Labox 02c3 sans modifs et même en mode "Acan_ESP32-> LoopBackDemo" ça ne fonctionne pas!
Je vais devoir commander des MCP2562 et tester sur plaque d'essai. A bientôt.

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1135
  • HO avec DCC++
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #438 le: décembre 29, 2024, 08:50:18 pm »
Oui là c'est effectivement surprenant :

1° - Peu de risque que ce soit le PCB, nous sommes plusieurs à avoir les mêmes qui fonctionnent
2° - L'ESP32 ??? Faible risque mais en as tu un autre pour intervertir ?
3° - LoopBackDemo ??? Les deux seuls réglages qui n'en sont pas dans ton cas sont les broches de sortie. Mais 4 et 5 par défaut sont bien celle de laBox. Et le débit, mais loopBackDemo l'ignore puisqu'il agit comme si l'émetteur et le récepteur étaient les mêmes.

Tu veux tester "hors laBox" ton ESP32 et un MCP2562 ? Pourquoi pas ? Combien as tu d'ESP sous la main ? Pour les MCP2562, si tu devais avoir des délais longs ou des frais de port élevés tu me fais signe, j'en ai beaucoup d'avance, je t'en met deux à la poste. Il est bien d'avoir deux condensateurs de 100nF par MCP2562. Tu en as ?

Tu n'hésiteras pas à revenir vers nous pour le câblage.

Christophe

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3060
  • 100% Arduino et N
    • Voir le profil
Re : Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #439 le: décembre 30, 2024, 09:08:37 am »
Bonsoir Christophe
Voilà ma référence "https://arduinokitproject.com/esp32-pinout-reference/" et mes modules sont des "ESP32 WROOM 32".
Je ne comprends pas j'utilise la carte Labox 02c3 sans modifs et même en mode "Acan_ESP32-> LoopBackDemo" ça ne fonctionne pas!
Je vais devoir commander des MCP2562 et tester sur plaque d'essai. A bientôt.

Qu’est-ce qui ne fonctionne pas ?
- la compilation avec l’IDE Arduino, avec quelles versions de bibliothèques ESP32 et ACAN ?
- a l’exécution ? Avec quels messages d’erreur qui expliquent la cause ?

Cordialement,
Dominique

bk4nt

  • Full Member
  • ***
  • Messages: 133
    • Voir le profil
A
« Réponse #440 le: décembre 30, 2024, 02:32:42 pm »
Je vais devoir commander des MCP2562 et tester sur plaque d'essai. A bientôt.

Pour une comm entre deux esp? Les MCP ne sont pas utiles pour commencer à tester.

Sur la plaque, raccorder:

- Rx A - Tx B
- Tx A - Rx B
- GND A - GND B

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3060
  • 100% Arduino et N
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #441 le: décembre 30, 2024, 04:47:07 pm »
Je ne pense pas que ce soit possible.
Mais je n’en suis pas sûr,
Cordialement,
Dominique

bk4nt

  • Full Member
  • ***
  • Messages: 133
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #442 le: décembre 30, 2024, 05:02:07 pm »
Avec juste deux esp qui discutent entre eux, si. Les MCP servant à les monter en bus, pour plus de 2 noeuds CAN.

bk4nt

  • Full Member
  • ***
  • Messages: 133
    • Voir le profil
Re : Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #443 le: décembre 30, 2024, 06:58:16 pm »
Je ne pense pas que ce soit possible.
Mais je n’en suis pas sûr,

En tous cas, électriquement, ça ne poserait aucun problème. Deux ESP devraient pouvoir commencer à discuter entre eux sans MCP et sans que ça ne les abîme.

Est-ce qu'ils vont fonctionner sans pouvoir détecter un conflit d'accès au bus? Est-ce que l'un va se taire lorsque l'autre envoie?

L'accès au bus est donc aléatoire car une station  peut émettre à n'importe quel moment. Mais cet accès se fait par priorité ; cette méthode est appelée CSMA CD/AMP (Carrier Sense Multiple Acces with Collision Detection and Arbitration Message Priority). https://www.technologuepro.com/cours-systemes-embarques/cours-systemes-embarques-Bus-CAN.htm

C'était une mauvaise idée. Les MCP (avec TX bouclé sur RX dans le MCP) sont certainement nécessaires pour l'accès au bus et commencer les échanges.

"The TWAI controller does not contain a integrated transceiver. Therefore, to connect the TWAI controller to a TWAI bus, an external transceiver is required." https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/peripherals/twai.html
« Modifié: décembre 30, 2024, 07:03:50 pm par bk4nt »

bk4nt

  • Full Member
  • ***
  • Messages: 133
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #444 le: décembre 30, 2024, 07:48:40 pm »
Je me suis planté, croiser Rx/Tx ne permettrait pas de détecter une collision. Ni l’absence de collision, pour commencer une transmission.

Cette note suggère d'utiliser un montage à diodes (pour du point à point sur courte distance): https://www.mouser.com/pdfDocs/REN_r01an2535ed0203-can_APN_20190515.pdf

Le mieux étant probablement d'attendre des MCP.

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3060
  • 100% Arduino et N
    • Voir le profil
Re : LaBox" : Une Centrale DCC polyvalente et abordable
« Réponse #445 le: décembre 30, 2024, 09:47:17 pm »
En fait, je n’ai pas vu les réponses à mes questions à PAT95:
Qu’est-ce qui ne fonctionne pas ?
- la compilation avec l’IDE Arduino, avec quelles versions de bibliothèques ESP32 et ACAN-esp32 ?

On a déjà précisé les versions à utiliser. Cela lèverait le doute sur la chaîne de développement.

- a l’exécution ? Avec quels messages d’erreur qui expliquent la cause ?
Le code d’erreur en retour d’un trytosend dit exactement ce qui cloche. S’il n’est pas décodé complètement dans le sketch loopbackdemo, il l’est dans d’autres exemples de la bibliothèque.

Enfin en mode loopback, le mcp2562 n’est pas nécessaire puisque le bouclage se fait à l’intérieur du contrôleur Can.

Peut-être que c’est déjà Ok mais je ne l’ai pas vu !
« Modifié: décembre 30, 2024, 10:19:57 pm par Dominique »
Cordialement,
Dominique