Auteur Sujet: projet centrale "LaBox" wifi DCC++ Can  (Lu 127492 fois)

DDEFF

  • Hero Member
  • *****
  • Messages: 624
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #135 le: mars 23, 2020, 02:07:52 pm »
Bonjour,

Tant qu'on en est aux limiteurs de surintensités, il faudra se rappeler de ce qu'on dit quand on en sera aux boosters.
Ex : 4 limiteurs 2,5 A en sortie d'un booster 10 A en séparant les zones.
Comme ça, si on a un CC à un endroit, on ne plante pas tout le réseau, mais seulement une zone correspondant à son limiteur.

Denis

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2497
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale wifi DCC++ Can
« Réponse #136 le: mars 23, 2020, 02:39:39 pm »
Bonjour à tous,

Je vais faire un test aussi de mon côté en partant aussi sur les pins 32 et 34.

Pour la mesure de courant, sachant qu’on utilisera le L6203 avec un ampli du côté GND ( contrairement au Max471), on déterminera cette valeur par expérience.

Je reviens vers vous dans la matinée.

Dominique

Test de DCCpp 1.4.0 concluant : Les signaux sont propres (durée des 1 et 0, 3,3V d'amplitude), ça devrait plaire au L6203 (test à venir).

Pour ce test j'ai choisi :
DCCpp::beginMain(UNDEFINED_PIN, 32, 34, UNDEFINED_PIN); // 32=DCC(Dir), 34=pwm/enable, 36=A0 current senseLe moniteur affiche le déroulement des commandes DCC++.

Le croquis utilise 241901 octets (18%) de l'espace de stockage de programmes. Le maximum est de 1310720 octets.
Les variables globales utilisent 15740 octets (4%) de mémoire dynamique, ce qui laisse 311940 octets pour les variables locales. Le maximum est de 327680 octets.

Bravo à Thierry, il reste plein de place pour les parties wifi (passerelle et traducteur), à priori.

A suivre ...

Dominique
 
« Modifié: mars 23, 2020, 02:41:51 pm par Dominique »
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2497
  • 100% Arduino et N
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #137 le: mars 23, 2020, 06:47:47 pm »
J'ai recherché les chiffres de consommation des cartes ESP32 DEVKIT C pour définir les besoins en 5V, donc le dimensionnement du régulateur (à découpage, j'y reviendrai plus loin).

Sur le forum https://esp32.com/viewtopic.php?t=2662, je trouve pour une carte comprenant une CPU et son électronique autour :

SCENARIOCPU80MHzCPU160MHzCPU240MHz
CPU + électronique38mA51mA73mA
CPU + électronique + BT113mA123mA141mA
CPU (deep sleep) + électronique3.5mA3.5mA3.5mA

Par contre, en lançant la fonction WiFi.scanNetworks() au début le module consomme 500mA pendant 10 ms avec les pics d'approximativement 700mA.
Après le module consomme en moyenne 130 mA avec des pics de 600mA. Ces pics durent environ 0.5 ms toutes les 100 ms.

La datasheet semble indiquer que la consommation est de 0.3A max (50 mA pour la CPU et 240 mA max pour le WiFi).

Cela veut dire qu'il faut prévoir un régulateur 5V 1A supportant une tension d'entrée d'au moins 18V. Ce qu'un régulateur série ne peut pas faire  :o
Ce type me parait convenir à 6,15€ : https://fr.farnell.com/wurth-elektronik/173010578/fixed-step-down-regulator-5-0v/dp/2577479

Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2497
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale wifi DCC++ Can
« Réponse #138 le: mars 23, 2020, 07:39:57 pm »
Bonjour,

Tant qu'on en est aux limiteurs de surintensités, il faudra se rappeler de ce qu'on dit quand on en sera aux boosters.
Ex : 4 limiteurs 2,5 A en sortie d'un booster 10 A en séparant les zones.
Comme ça, si on a un CC à un endroit, on ne plante pas tout le réseau, mais seulement une zone correspondant à son limiteur.

Denis

Je vais peut-être te décevoir, mais on va probablement se limiter à un seul booster 4A (le L6203) sur le pcb, pour cette première étape,  mais rien n'empêche de prévoir un connecteur d'extension sur le bord du pcb relié à certaines pins inutilisées de l'ESP32, pour permettre ce genre d'extension, moyennant une extension logicielle ad hoc (hic  :-\).
Cordialement,
Dominique

msport

  • Hero Member
  • *****
  • Messages: 1582
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #139 le: mars 23, 2020, 09:42:12 pm »
Le WURTH est une belle solution.
Mais avant de se poser la question du régulateur 5V, il faut se demander pourquoi cette tension est de 5V est choisie en Vin ?
apparemment on peut monter à 20V dernière limite, 12V serait possible. Des avis ?
Que prévoit-on d'alimenter à coté de l'ESP ? Une alimentation commune est-elle souhaitable ?

Si c'est bien 5V
1. un 7505T (1.5A, 35V) pourrait convenir en N avec un bloc en 12V (voire en 15V avec un radiateur ou +65° nu)
Rth = 50°C/W à l’ambiance soit pour 130mA et 7V de chute de tension  => +45° (ou +58° si le Vin est à 9V pour un bloc à 18v)

2. Dans la philosophie du chinois pas cher et pas trop mauvais (dixit un vendeur de la rue Montgallet qui a su conserver son humour) :
https://www.ebay.fr/itm/3A-Voltage-Regulator-Converter-Buck-Converter-Mini-Step-Down-LM2596-2596S-Module/263153078280
Les 3A sont certainement optimistes mais 130mA, voire 600mA devraient passer. (1.5A permanent)

De toute façon, on peut prévoir les trois implantations, celle du WURTH est identique à celle de 7805T (le hasard??) mais plus haut / à plat.
Le circuit à base de MP158 est plat et tient sous l'afficheur. (la référence au LM2596 est fausse)

Une réalisation à base d'ESP32 :
https://espacerm.com/webgen/controleur-multifonctionnel-elabore-autour-du-esp32-devkit-v1-doit/

Cordialement

Pyk35

  • Full Member
  • ***
  • Messages: 109
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #140 le: mars 23, 2020, 09:57:26 pm »
Bonsoir,

Pour les 58° à évacuer, ça semble vraiment compliqué.

Citer
2. Dans la philosophie du chinois pas cher et pas trop mauvais (dixit un vendeur de la rue Montgallet qui a su conserver son humour) :
https://www.ebay.fr/itm/3A-Voltage-Regulator-Converter-Buck-Converter-Mini-Step-Down-LM2596-2596S-Module/263153078280
Les 3A sont certainement optimistes mais 130mA, voire 600mA devraient passer. (1.5A permanent)
Je connais et j’aime assez ce composant. Il a inconvénient même si c’est plutôt mineur, il faut régler la tension de sortir avec le potentiomètre. Cela ne me semble pas le plus simple par contre le rendement est tellement qu’il chauffe peu.
Autre avantage, il ne coute pas grand chose surtout par 5 ou 10.

A+
Cédric

DDEFF

  • Hero Member
  • *****
  • Messages: 624
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #141 le: mars 24, 2020, 08:52:19 am »
Bonjour,

Pour mon alimentation analogique, je suis tombé sur un cours d'électronique concernant les buck converters.
En particulier, il comparer les différents modèles en fonction de la puissance demandée
Je trouve ça très instructif.

https://drive.google.com/file/d/1VeMU_egBPXgHgYRc_cscn_vdXFCZeKut/view?usp=sharing

Denis

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2497
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale wifi DCC++ Can
« Réponse #142 le: mars 24, 2020, 09:55:25 am »
Je connais et j’aime assez ce composant. Il a inconvénient même si c’est plutôt mineur, il faut régler la tension de sortir avec le potentiomètre. Cela ne me semble pas le plus simple par contre le rendement est tellement qu’il chauffe peu.
Autre avantage, il ne coute pas grand chose surtout par 5 ou 10.

J'ai en stock ce modèle à base de MP2307 qui fonctionne très bien :
https://www.ebay.fr/itm/10PCS-Supper-mini-3A-DC-DC-Converter-Step-Down-buck-Power-3V-5V-16V-MP2307-Chip/201073184176?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

Pour réduire au minimum l'inconvénient du potentiomètre, on pourrait appliquer la sortie, réglée sur 7,5V environ sur l'entrée Vin de l'ESP32 et récupérer le 5V et le 3,3V sur les pins dédiées de l'ESP32. Ainsi, le réglage de tension du MP2307 ne devient plus critique.

Cordialement,
Dominique

msport

  • Hero Member
  • *****
  • Messages: 1582
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #143 le: mars 24, 2020, 10:49:19 am »
Le module a  MP158  (1er) semble plus performant que celui a MP2307 (2e), plus petit. Mais on peut prévoir les deux empreintes superposées ...

MP158 
Whole network smallest maximum 3A output.
Input voltage: 4.5-28V
Output Voltage: 0.8-20V (adjustable)
Output current: rated current 3A(MAX).
Switching Frequency: 1MHz
Output Ripple:less than 30mV
Efficiency:96%(max)
Operating temperature: Industrial grade (-40 C to +85 C)
Module Properties: Non-isolated step-down module (buck)
Size:22*17*4mm

MP2307
Module Properties: Non-isolated step-down module (BUCK)
Rectification: Synchronous rectification
Input voltage: DC 4.75V-23V
Output voltage: DC 1.0V-17V (Adjustable, Output < Input)
Output current: Rated current 1.8A (3A MAX, can not be prolonged)
Conversion efficiency:96%(highest)
Switching Frequency: 340KHz.
Output ripple:30mV(no-load)
Load regulation:±0.5%
Voltage regulation:±2.5%
Operating Temperature: Industrial (-40℃ ~ +85℃)
Short circuit protection: No(Please do not short-circuit)
Input Reverse protection: No(Can not be reversed)
Dimension: approx.17mm*11mm*3.8mm(L*W*H)/17*11*3.8 Supper mini board
Cordialement

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 582
  • HO avec DCC++
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #144 le: mars 25, 2020, 09:49:23 am »
Bonjour à tous,

Avec l’aide de Thierry, j’ai fait l’implémentation du WiFi dans DCCpp. Concrètement, cela veut dire qu’un terminal peut envoyer par le WiFi des commandes au format de la messagerie DCC++ (en HTTP) mais surtout en TCP.

C’est le cas de JMRI auquel il suffit de dire que la centrale est de type DCC++ en lui donnant l’IP et le port.

C’est aussi, en théorie, le cas de Withrottle. Je dis bien en théorie car en l’état le traducteur entre la messagerie de Withrottle et celle de DCC++ que j’ai terminé il y a quelques jours n’est pas implémenté et, à mon avis, ne doit pas l’être en l’état. En effet, cela reviendrait à coder les messages Withrottle en messages DCC++ pour ensuite les décoder afin qu’ils soient exécutés par DCCpp qui lui fonctionne avec des méthodes natives. Donc une consommation inutile de ressources pouvant se traduire par une baisse des performances.

Dominique, je suis désolé, mais tout est donc à réécrire ! Je veux bien commencer à regarder et faire cela avec toi et avec tous ceux que ça intéresse.

Concernant la possibilité de communiquer via CAN avec cette centrale, l’une des premières préoccupations est d’adopter une messagerie performante. En existe t’il déjà ? Qui n’aurait pas forcément besoin d’être au format DCC++. Seule la structure en message CAN de chaque commande nous intéresse : Avant, arrière, vitesse, eStop, fonctions etc… Faut-il en créer une ? Oui s’il n’y en a pas. Par contre, pour la programmation et la lecture des CV's ça va être une autre paire de manche.

A+ pour de nouvelles aventures.

Christophe

PS : Pour disposer de DCCpp en Wifi, il faut attendre les instructions de Thierry pour savoir comment il souhaite mettre à dispo ces modifications pour contrôler les versions en circulation.

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2497
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale wifi DCC++ Can
« Réponse #145 le: mars 25, 2020, 10:56:49 am »
Dominique, je suis désolé, mais tout est donc à réécrire ! Je veux bien commencer à regarder et faire cela avec toi et avec tous ceux que ça intéresse.

Concernant la possibilité de communiquer via CAN avec cette centrale, l’une des premières préoccupations est d’adopter une messagerie performante. En existe t’il déjà ? Qui n’aurait pas forcément besoin d’être au format DCC++. Seule la structure en message CAN de chaque commande nous intéresse : Avant, arrière, vitesse, eStop, fonctions etc… Faut-il en créer une ? Oui s’il n’y en a pas. Par contre, pour la programmation et la lecture des CV's ça va être une autre paire de manche.
Il n'y a pas à être désolé car je comprends bien qu'on peut éviter deux parser en série et qu'il doit être possible d'attaquer DCC++ (paquetRegister) directement. Mais c'est une méthode d'accès nouvelle qui doit nécessiter une interface (qui existe déjà, à mon avis). Pour ce qui concerne le décodage des messages de Withrottle, le parser reste à peu près le même mais ne génèrera pas de messages DCC++.

Concernant la messagerie Can dont les messages comportent un identifiant et 8 octets de données, on peut partir du format qui a éte défini pour les satellites et l'étendre pour ajouter les commandes de traction et fonctions. On peut noter que la centrale peut envoyer des messages (en service, court-circuit, #loco roule ou non, etc..).

Pour la lecture et la programmation des CVs, il n'y a pas plus de difficulté. Mais si la centrale ne dispose pas d'une sortie spéciale pour une voie de programmation, il faut les interfaces ad hoc sur la voie principale, ce qui existe déjà (readCVmain, writeCVByteMain et writeCVBitMain).  Je vais commencer à regarder cela.

Un document de spécifications est en cours d'écriture et attend les premiers retours avant d'être diffusé plus largement.

Bon courage à tous !
Cordialement,
Dominique

Pyk35

  • Full Member
  • ***
  • Messages: 109
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #146 le: mars 25, 2020, 10:57:48 am »
Citer
Le module a  MP158  (1er) semble plus performant que celui a MP2307 (2e), plus petit. Mais on peut prévoir les deux empreintes superposées ...

J'aime assez ces petits convertisseurs et surtout, on arrive à en acheter 10 pour 4€ ce qui fera chuter de manière significative le coût du projet.
On peut donc proposer sur le PCB les 2 empreintes pour permettre à chacun de choisir son composant.

Pour le réglage de la tension, j'ai un doute Dominique. J'ai regardé les schémas de l'ESP32 DevKitC et je vois un seul régulateur qui fait du 3.3V depuis une source 5V Externe. Cette source vient soit de la PIN 5V Ext soit de l'USB mais du coup il faut que cela soit un vrai 5V et non un 7 ou 8V car il ne sera pas régulé. Je crains que l'étalonnage s'impose.
A+
Cédric

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2497
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale wifi DCC++ Can
« Réponse #147 le: mars 25, 2020, 11:12:31 am »
J'ai regardé les schémas de l'ESP32 DevKitC et je vois un seul régulateur qui fait du 3.3V depuis une source 5V Externe. Cette source vient soit de la PIN 5V Ext soit de l'USB mais du coup il faut que cela soit un vrai 5V et non un 7 ou 8V car il ne sera pas régulé. Je crains que l'étalonnage s'impose.

Mea culpa, il n'y a pas d'entrée Vin donc il faut régler le régulateur (buck) sur 5V. Mais comme le régulateur interne abaisse cette tension à 3,3V, je pense que l'étalonnage n'est pas critique (plage de tolérance à regarder de près). Le seul composant qui utilise le 5V est l'interface USB (CP2102) qui le génère quand l'USB est branché.
Cordialement,
Dominique

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 670
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #148 le: mars 25, 2020, 02:56:05 pm »
Sur les pinouts de l'ESP32 DevKit que j'ai, j'ai bien un vin...

CATPLUS

  • Sr. Member
  • ****
  • Messages: 328
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #149 le: mars 25, 2020, 04:21:46 pm »
Best Regards