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

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #240 le: mai 04, 2020, 09:02:21 am »
Bonjour Dominique,

Tu as raison : décortiquer la norme DCC et ses 1024 (!!) numéros de CV n'a rien à faire dans ce fil. C'est hors sujet ici.
Quand j'aurais un peu de temps, je créerai un fil spécifique pour ça.

Le problème de la vitesse réelle est fondamental pour moi puisque, à terme, mes petits trains virtuels doivent être en phase avec les trains sur le réseau. J'en suis loin, mais c'est une autre histoire. ;D

Denis
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale wifi DCC++ Can
« Réponse #241 le: mai 04, 2020, 11:08:35 am »
Le problème de la vitesse réelle est fondamental pour moi puisque, à terme, mes petits trains virtuels doivent être en phase avec les trains sur le réseau. J'en suis loin, mais c'est une autre histoire. ;D
Bonjour Denis,

Vouloir une bijection parfaite entre la valeur des crans (128 évidemment) et la vitesse réelle est, à mon avis, un coquetterie peu utile.

D’ailleurs comment fais-tu quand la vitesse du train dépasse 126 km/h ?

Je comprend que ton gestionnaire calcule tout en vitesse réelle et qu’il ne sait peut-être pas rattraper les écarts de position à chaque transition de canton. Pourtant c’est classique dans les gestionnaires, d’autant que chaque detection te permet de recaler les pendules : quand le gestionnaire est en avance, il attend le train, quand il est en retard, il rattrape.
C’est comme ton GPS en voiture quand tu traverses un tunnel !!

Je dirai que si c’est aussi fondamentale alors tu as une analyse incomplète des événements dans ton gestionnaire.

Mais je te fais confiance ... :D
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #242 le: mai 05, 2020, 05:52:15 pm »
Les PCBs sont arrivées :



Je porterai les envois demain à La Poste, probablement avec des timbres en Francs !
« Modifié: mai 05, 2020, 06:09:37 pm par Dominique »
Cordialement,
Dominique

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #243 le: mai 05, 2020, 06:07:45 pm »
Moi aussi, TME m'a livré. ;D
TME : commandé jeudi soir et arrivé le mardi. Avec un WE, et en ce moment, c'est très honnête comme délai.

C'est cher, mais c'est européen* et c'est très rapide.
Denis
* (je n'ai aucune illusion : les composants sont chinois)  ;D
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #244 le: mai 05, 2020, 06:11:42 pm »
Moi je n'ai reçu, pour le moment que les capuchons des poussoirs et les ESP32.

Ca va être long.
Heureusement j'ai le proto cablé à la main  ;)
« Modifié: mai 05, 2020, 06:16:58 pm par Dominique »
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #245 le: mai 09, 2020, 10:24:02 pm »
Premier montage de la centrale... et elle fonctionne bien avec Withrottle sur mon iPhone !

Je vais ajouter une 2ème résistance de 0,5Ω (R14) en parallelle de la première (R13). Avec un gain de 3 dans l'ampli op, l'entrée analogique (IO36) délivre une mesure de 1,066 mA par pas. Donc jusqu'à 4,37 A maximum  :o
« Modifié: mai 09, 2020, 10:29:48 pm par Dominique »
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #246 le: mai 09, 2020, 10:41:13 pm »
Avec Withrottle à la commande (on ne voit pas le petit autorail qui tourne en même temps)
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #247 le: mai 24, 2020, 12:29:17 pm »
Les premiers circuits imprimés sont montés, après la découverte d'une erreur de 2,54mm dans l'espacement entre les 2 rangées de broches de l'ESP32  :-\ Chacun y est allé avec sa solution, mais il faudra donc refaire le circuit imprimé prochainement. Nous avons décidé d'attendre différents tests qui peuvent entrainer d'autres modifications.

Coté logiciel, les choses se passent plutôt bien  ;D

La bibliothèque DCCpp change de nom et s'appelle "LaBox" pour le projet. A terme ces 2 bibliothèques seront alignées et n'en feront plus qu'une. Je vais dtailler un peu plus loin.
Une autre bibliothèque est en train de voir le jour : "HMI" qui va produire l'interface utilisateur sur l'écran OLED en conjonction avec les 3 boutons.
L'ensemble DCCpp + HMI sera intégré à terme, dans LaBox.

Nous avons eu une petite réunion la semaine dernière, en visio comme il se doit (et on n'habite pas les uns à coté des autres), et en voici les principaux éléments à retenir.

DCCpp
On pourra monter jusqu'à 41 registres dans DCCpp, le registre 0 est réservé pour toutes les fonctions ponctuelles et les autres pour les fonctions permanentes comme les fonctions de vitesse qui sont répétées en permanence ce qui évite de perdre des ordres sur coupure.
La classe Locomotives affecte un registre libre à chaque nouvelle locomotive pilotée. Une version pourrait supporter un registre pour la vitesse et un autre pour les fonctions pour chaque locomotive évitant ainsi les problèmes de perte d’activation des fonctions lors d’une coupure de courant fugitive.
La classe Throttle est le moyen de transmettre les ordres à DCCpp. Chaque Throttle peut avoir un MessageConverter associé qui réalise la traduction des messages reçus vers DCCpp, que ce soit en appel direct de fonctions DCCpp ou en traduction vers les commandes DCCpp texte habituelles. Lorsqu’aucun MessageConverter n’est spécifié, alors les commandes reçues doivent être au format DCCpp et seront envoyées directement.

L’ESP32 dispose de 4 Mo de mémoire flash. Le programme de test avec Withrottle et HMI occupe 53% de la place de l’espace de stockage du programme. Si on était amené à stocker des pages web, les 4 Mo seraient utilisés à cet effet sans impact sur les espaces programmes. La configuration de LaBox via un Webadmin nous semble la solution à retenir. Elle devrait se trouver dans cet espace si l’écriture dynamique y est possible.

Programmation de CV et détection de court-circuit

La lecture du courant dans l’ESP permet d’avoir à 4 A une tension sur l’entrée de l’ESP < à 3.3V donc l'ESP est protégé et on est en capacité de détecter un court-circuit.
On détecte bien les fronts de 60 mA en réponse à la lecture de CV. Cependant, la fonction n’est pas encore opérationnelle. La recherche d'une bonne gestion du convertisseur analogique-digital et de l'instant précis où apparait cette impulsion de 60mA pendant 6mS est encore à l'étude.

Du côté des nouvelles fonctions, des concepts présentés semblent intéressants

  • Un joueur de scénario, basé sur un mini-gestionnaire (ou l'inverse), serait certainement très simple dans un premier temps, pourrait permettre de gérer un va et vient par exemple. Un throttle « interne » pourrait permettre de joueur un scénario ou alors on pourrait aussi publier directement dans MessageStack.
  • Le WebAdmin permet depuis une page web d’administration de régler les différents paramètres de La Box.
  • PasserelleCan : Simple portage du module existant de Christophe. A voir l’intérêt.
  • PasserelleMQTT : Permettrait au travers du protocole MQTT de communiquer à JMRI.
  • Throttle Web : Une Throttle 100% web pourrait être pertinente car on pourrait ainsi s’affranchir de tout logiciel pour piloter les trains. Christophe dispose déjà d’un développement très pertinent pour faire un excellent candidat à l’intégration.
  • Une version permettant de tester les commandes DCCpp texte via le serial (RX/TX) et la console est en cours de test.

Un schéma provisoire d'architecture du logiciel de LaBox est ci-dessous




Cordialement,
Dominique

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #248 le: mai 24, 2020, 01:44:44 pm »
Le package de l’ESP32 est un package d’un bibliothèque « contribuée » par la communauté des makers ?

Parce que pour Eagle je ne sais pas mais je peux vous dire que les bibliothèques KiCad sont truffées d’erreurs, c’est la fête du slip. Tout doit être vérifié, aucune confiance ne doit être accordée.
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale wifi DCC++ Can
« Réponse #249 le: mai 24, 2020, 01:58:26 pm »
Parce que pour Eagle je ne sais pas mais je peux vous dire que les bibliothèques KiCad sont truffées d’erreurs, c’est la fête du slip. Tout doit être vérifié, aucune confiance ne doit être accordée.

Tu as raison, Msport a du résumer l’ESP32 à 2 rangées de 19 broches !
Le résultat est que ça marche bien, à l’espacement près !
Comme quoi on vérifie soigneusement et on ne voit pas la grosse erreur au milieu !
Cordialement,
Dominique

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #250 le: mai 24, 2020, 02:14:49 pm »
Bonjour à tous,

Excellentes nouvelles !  ;D

Je serais pour scinder en deux projets :

1°) LaBox pour les débutants (version "TrainInBox")

DCCpp+HMI+modification possible du CV1 (c'est un minimum).

Je ne suis pas certain, dans cette version, qu'il y ait besoin d'un connecteur JP1 (pour le prochain CI)
Si on veut faire un joueur de scénario, même interne, même minimal, il va falloir pouvoir commander quelques aiguilles et donc avoir un bus CAN.
Ou alors, on commande les aiguilles de l'extérieur (boutons sur un TCO physique), indépendant de LaBox. Je pense que c'est la solution à retenir.
Et comme scénario : une navette, puisque ça n'utilise pas les aiguilles.
Obligation du Wifi pour la Throttle.
Prévoir de brancher quand même une MultiMaus filaire ?

2°) Les essais de fonctions plus sophistiquées (développeurs)
Là, il faut un bus CAN (aiguilles, signaux et logiciel de gestion) et les développements de Christophe.
Pour WebAdmin, je me demande si ça ne pourrait pas être déjà sur la version débutants.
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #251 le: mai 24, 2020, 03:13:31 pm »
Pour compléter, voici quelques images de l'HMI qui rend très bien sur l'écran OLED  ;D 8)

On y voit notamment l'adresse IP de connexion Wifi (nécessaire au moins la première fois que l'on se connecte avec un smartphone - ici j'utilise Withrottle sur iPhone),
le bon lancement du DCC confirmé par les leds situées juste à coté du connecteur de sortie, la représentation graphique de la vitesse et de la fonction "lumière", ainsi que la consommation en courant (là la loco est à l'arrêt) et la tension de l'alim (à titre indicatif).
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Re : projet centrale wifi DCC++ Can
« Réponse #252 le: mai 24, 2020, 03:22:07 pm »
Je serais pour scinder en deux projets :

1°) LaBox pour les débutants (version "TrainInBox")

DCCpp+HMI+modification possible du CV1 (c'est un minimum).

On est complètement d'accord  :D
mais on essaye de voir un peu plus loin pour définir la façon de configurer simplement cette belle petite machine qui a probablement plein de possibilités !

C'est certain qu'il y aura une Box pour débutant, même avec du PWM pour permettre à un modéliste qui souhaite numériser une de ses locos, de s'en servir immédiatement après l'opération.

Citer
Je ne suis pas certain, dans cette version, qu'il y ait besoin d'un connecteur JP1 (pour le prochain CI)
L'idée pour le moment est de déplacer ce connecteur sous l'ESP32, le rendant accessible par des connecteurs coudés à 90°.

Citer
Si on veut faire un joueur de scénario, même interne, même minimal, il va falloir pouvoir commander quelques aiguilles et donc avoir un bus CAN.
J'ai testé le Can avec un satellite.

Citer
Ou alors, on commande les aiguilles de l'extérieur (boutons sur un TCO physique), indépendant de LaBox. Je pense que c'est la solution à retenir.
Et comme scénario : une navette, puisque ça n'utilise pas les aiguilles.
Obligation du Wifi pour la Throttle.

Prévoir de brancher quand même une MultiMaus filaire ?

2°) Les essais de fonctions plus sophistiquées (développeurs)
Là, il faut un bus CAN (aiguilles, signaux et logiciel de gestion) et les développements de Christophe.
Pour WebAdmin, je me demande si ça ne pourrait pas être déjà sur la version débutants.

Bonnes suggestions
Cordialement,
Dominique

DDEFF

  • Hero Member
  • *****
  • Messages: 738
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #253 le: mai 27, 2020, 06:53:47 pm »
Bonjour,

Très bel affichage. (j'attends toujours que le mien arrive, d'ailleurs)

Je me pose plusieurs questions :

1°) Cette centrale DCC est bien indépendante du Wifi de la Box de l'opérateur ? C'est important.
D'autant qu'il ne faut pas oublier que certains modélistes ont un réseau au grenier ou à la cave et que la réception Wifi de la box opérateur peut y être très mauvaise.

2°) Comment calcule-t-on l'intensité affichée ? Je ne suis pas certain que ce soit si facile que cela.

3°) Je pense qu'il faut afficher, à chaque démarrage, "LaBox Locoduino.org" pendant quelques secondes, par principe, puis plus jamais (ça fait perdre une ligne et on n'en a pas tant que ça)

4°) Le réseau TrainInBox a 3 aiguilles. Je pense qu'il faut développer un mini-CAN pour commander un TCO physique

Première possibilité :
Commande directe sur un TCO physique par 3 inter. Simple et efficace. Indépendant de LaBox.

Deuxième possibilité :
Sans développer pour l'instant un CAN version XXL super sophistiquée, on fait un CAN capable de gérer mettons 5 boutons et 15 LED

L'interface CAN/TCO est donc hyper simple.

L'interface aiguille aussi : on reçoit seulement 2 ordres : TD et DV et réémet 2 ordres : allumer la LED TD ou DV sur le TCO pour cette aiguille.
Pour 5 aiguilles, ça fait 10 LED au TCO + 5 LED pour les occupations de zone.

On a maintenant la possibilité de commander l'aiguille de 2 façons : l'inter et la throttle. C'est "classe" comme on dit maintenant.
Évidemment, l'inter ne commande plus l'aiguille, mais donne l'ordre au CAN.

Dans LaBox, on peut générer un scénario qui, cette fois, peut agir sur des aiguilles.
Un scénario très simple : par exemple, une gare terminus à 2 voies et, de l'autre côté, une gare terminus simple.
Et le train navette change de voie de gare à chaque passage du côté où il y en a deux.

Ce que je vois comme avantage à ce mini CAN, c'est que, petit à petit, on accrédite l'idée qu'on peut commander les aiguilles hors DCC.
Et on n'a pas besoin d'une V2 pour ça.
On accrédite aussi une autre idée : dans un TCO, il peut n'en sortir qu'un seul câble. Ce n'est pas forcément un magma de fils.

Enfin, pour donner une idée du prix, un mail que j'ai reçu parce que je suis abonné à "Model Railroader" :
http://link.mail.trainsmail.com/YesConnect/HtmlMessagePreview?Q-XBCrtKbry6lZaoSGsq4MFGn_Vzf5CpVSEaL0sjdIQ=.enc&msgVersion=web
Si vous suivez le lien, vous verrez qu'on arrive, pour des CI quand même assez simples, à des prix assez conséquents ($59 et $119)
Les CI sont très joli, je ne le nie pas, mais, bon ...

Denis


"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Souris verte

  • Newbie
  • *
  • Messages: 40
  • HO, DCC, Arduino...
    • Voir le profil
Re : projet centrale wifi DCC++ Can
« Réponse #254 le: mai 27, 2020, 09:31:12 pm »
Bonsoir,

A vouloir en ajouter toujours un peu plus, cela risque de finir comme les satellites v2....
Il faut rester humble et ne pas trop s’écarter de la cible.

Le projet, c’est une base stable fonctionnelle, utilisable en wifi ou série. La suite serait modulaire et développée plus ou moins en fonction des aspirations (MQTT, TCO balaise...) effectivement le CAN reste un choix mûri.

Le mini TCO me semble juste un peu tard ou un peu trop tôt...

Yannick