Auteur Sujet: centrale DCC / analogique modulaire  (Lu 22654 fois)

trimarco232

  • Sr. Member
  • ****
  • Messages: 345
    • Voir le profil
Re : centrale DCC / analogique modulaire
« Réponse #15 le: octobre 18, 2023, 03:20:40 pm »
(tout ceci reste à étudier en détail et à confirmer)
- le logiciel de gestion devra , pour l'analogique , indiquer quelles sections sont occupées (ou réservées) par quel train : ces infos qui sont typiquement délivrées pour renseigner un tableau optique
- pour la remontée des infos railcom , il est probable que les cartes cantons auront à faire un tri avant de les envoyer à la station
- concernant les types de cantons , sur les 5 que comportera chaque carte , il y aura :
3x cantons classiques avec une zone de détection centrale et une zone à chaque extrémité
1x canton en impasse avec une zone de détection centrale et une zone côté heurtoir
1x canton de transit avec juste une zone de détection centrale
(5 cantons classiques ne sont pas possibles car il manque des broches)
« Modifié: octobre 18, 2023, 03:22:12 pm par trimarco232 »

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : Re : centrale DCC / analogique modulaire
« Réponse #16 le: octobre 18, 2023, 05:52:14 pm »
(tout ceci reste à étudier en détail et à confirmer)
- le logiciel de gestion devra , pour l'analogique , indiquer quelles sections sont occupées (ou réservées) par quel train : ces infos qui sont typiquement délivrées pour renseigner un tableau optique:  en DCC itoo :)
- pour la remontée des infos railcom , il est probable que les cartes cantons auront à faire un tri avant de les envoyer à la station:
en fait en dehors de la simple remontée occupe/libre c est la possibilité de faire transiter d autres info 'dont RC)
- concernant les types de cantons , sur les 5 que comportera chaque carte , il y aura :
3x cantons classiques avec une zone de détection centrale et une zone à chaque extrémité
==>9 sections
1x canton en impasse avec une zone de détection centrale et une zone côté heurtoir
==> 2 sections
1x canton de transit avec juste une zone de détection centrale
==> 1 section

Sur la ventilation des sections et surtout je pense pour les 3 dernières je pense qu'il parait intéressant de penser à mettre si possible une certaine modularité d affectation
( a voir pour les 9 autres)

Cela aurait pour vertu d offrir plus de souplesse et d affecter les attributions "à la carte" pour les usages.
Cela serait alors au logiciel d'effectuer le mapping de chaque section selon les usages. Chaque section étant un clone fonctionnel (et pseudo hardware) de chaque autre.


mais peut être y  a t il des limitations pour mettre cela en œuvre de cette façon?

L avantage que j y vois repose sur une modularité optimale notamment dans des cas de grills de gare avec des voies ( passage , garage, impasses, sas, des zones "pleines" d aiguillage avec des cisaillements entre autre :) et ou toute une logique d optimisation doit s opérer. Ainsi sauf à prévoir des cartes avec des répartitions différentes du modèle standard on distribue au plus juste des besoins.
Mais de toute façon il faudra bien des cartes complémentaires pour la gestion des aiguillages voir de la signalisation donc... il y a peut être plusieurs façon d'aborder le sujet.


(5 cantons classiques ne sont pas possibles car il manque des broches)

Peut être a utiliser pour des usages tel que détection de CC, mesure FCEM,... hygrométrie, Age du capitaine,...

Laurent

trimarco232

  • Sr. Member
  • ****
  • Messages: 345
    • Voir le profil
Re : centrale DCC / analogique modulaire
« Réponse #17 le: octobre 18, 2023, 10:42:17 pm »
la limitation , c'est la détection en analogique , qui pour ne pas compliquer les choses , se fait sur le coupon de rail à la polarité négative , nécessairement à gauche dans le sens de circulation
les zones aux extrémités seront détectées par diode -> ADC ; pour la zone centrale , je ferai des tests pour déterminer si la mesure de consommation du pont en H donne satisfaction , du point de vue de la sensibilité ; il faudra aussi y mettre les diodes pour l'équilibre
« Modifié: octobre 18, 2023, 10:46:49 pm par trimarco232 »

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : centrale DCC / analogique modulaire
« Réponse #18 le: octobre 18, 2023, 11:18:52 pm »
Bonsoir Marc

A ce stade je relayerai bien la détection via opto coupleur... efficace et éprouvé. Mais avec double de diodes dans chaque sens pour maximiser le VDROP.
Au format SMA ca prendra sans encombre 3A, c est un peu "gros" a caser mais c est du costaud...

Je me suis demande a un moment si ce n est pas par un une mesure de courant via LM358 ou ACS712 à defaut des feu MAX471 ou autres nouveaux GY-169 n cie.... qu'il faudrait passer??

Voir à l époque les échanges sur le satellite v2 pour lesquels il avait même ete question d ajouter un transistor en plus... peut être luxueux in fine, à voir donc... et les echnags également autour de la mesure de courant avec ces composants dans la rubrique indouine.

Si on état sur un AVR ( serie 0/1/2) on aurait je pense pour une zone 1 entrée ANALOGIQUE pour la mesure de conso afin de vérifier la détection "over" en cas de cc et l autre pour la mesure de tension. Les PWM par paire "drivent" alors 3 pont H à 2 entrees IN1 IN2  ou 6 PINS PWM directement  mais avec ajout de 2 PINS par pont pour les inversions de sens.
Sur un 48 broches tout rentre. Sur un 32 on doit être un peu plus à l étroit

La ou je seche sur ce modele c est pour la synchro mutli zones entre AVR... via SPI? Autre solution magique?

C est la que tu vas nettement apprécier les apports du STM32 maos costaud :)

bon y a encore qq morceaux a mettre dans l equation...


Laurent


trimarco232

  • Sr. Member
  • ****
  • Messages: 345
    • Voir le profil
Re : centrale DCC / analogique modulaire
« Réponse #19 le: octobre 19, 2023, 10:16:29 am »
bien sûr , on pourrait ajouter 1 tas de choses , mais c'est précisément ce que je ne veux pas faire

trimarco232

  • Sr. Member
  • ****
  • Messages: 345
    • Voir le profil
Re : centrale DCC / analogique modulaire
« Réponse #20 le: novembre 04, 2023, 09:57:16 am »
(il serait peut-être bien de scinder la rubrique en "projets persos" et "projets officiels" , pour éviter les chassés-croisés)
j'ai fait sur stm32 la maquette d'un moteur qui génère les synchros en fonction des packets à envoyer , cela donne ceci

trimarco232

  • Sr. Member
  • ****
  • Messages: 345
    • Voir le profil
Re : centrale DCC / analogique modulaire
« Réponse #21 le: novembre 04, 2023, 10:50:19 am »
la ligne D0 est la synchro : une largeur d'impulsion de 10us indique que le prochain bit dcc est 1 , 20us si le prochain bit dcc est 0
j'ai illustré une impulsion de 10us , qui dicte au timer esclave d'envoyer un duty de 58us (le timer esclave n'a rien d'autre à faire)
on voit des alternances d'impulsions de 10 et 20us , commandant des alternances de bits dcc 1 et 0
quelque soit la largeur de l'impulsion , il faut que la synchro respecte la durée du bit dcc en cours
les lignes D1 et D2 sont les sorties d'un timer correspondant aux entrées IN1 et IN2 d'un pont en H : on voit que D2 est l'inverse de D1
pour le cutout c'est un peu moins simple :
une impulsion de synchro de 30us est envoyée lors du "packet end bit" ("stop" dans le chrono-diagramme) , cela indique au timer esclave que le prochain "bit" est le cutout
pendant le cutout , la ligne D1 prend un duty de 500us , et la ligne D2 de 29us , on a donc le moignon de bit dcc 1 qui précède le cutout proprement dit ; pendant le cutout (271us , normalement) , les 2 lignes sont à HIGH , ce qui provoque le brake du pont en H , nécessaire au cutout
puis les bits dcc suivants sont des 1 , comme indiqué par l'impulsion de synchro en début de cutout
.
les lignes D3 et D4 commandent un pont en H pour une voie analogique ; le sens est inversé (boucle de retournement , ou marche arrière) ; la ligne D3 est reste au niveau LOW (duty = 0) , tandis que la ligne D4 est en pwm inversé : le duty est d'environ 33% , sa valeur absolue change donc en fonction de la durée du bit dcc sur lequel il est synchronisé ; on voit que pour les 67% correspondant à l'absence de puissance , les 2 lignes sont à LOW , donc le pont en H est en sortie high Z (on pourrait utiliser ceci pour mesurer la fem du moteur , afin de réguler la vitesse , mais je ne l'ai pas prévu , par manque de pins au niveau du stm32)
.
au niveau de la création de la synchro , il y a donc une petite difficulté du fait qu'il faut anticiper : donner la largeur d'impulsion correspondant au prochain bit dcc , alors que le timing des impulsions correspondant au bit dcc en cours
le chantier de la centrale commandant les cartes boosters est vaste ; je vais peut-être pour créer la synchro , utiliser le rmt de l'esp32 de la-box / dcc-ex , on aurait une certaine convergence des systèmes ...
« Modifié: novembre 04, 2023, 02:53:43 pm par trimarco232 »

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : Re : centrale DCC / analogique modulaire
« Réponse #22 le: novembre 05, 2023, 08:23:06 am »
(il serait peut-être bien de scinder la rubrique en "projets persos" et "projets officiels" , pour éviter les chassés-croisés)
j'ai fait sur stm32 la maquette d'un moteur qui génère les synchros en fonction des packets à envoyer , cela donne ceci

En fait il n’y a pas de projets dits « officiels ». Dans cette section il s’agit de projets en général, dont le choix du titre est essentiel.
Pour les projets typiquement personnels, il y a la rubrique « réseaux » qui s’adresse à des réalisations personnelles.

Pour bien marquer le côté personnel d’un projet, il est possible j’ajouterai son pseudo dans le titre qui peut être modifié par son auteur après coup.
Cordialement,
Dominique

trimarco232

  • Sr. Member
  • ****
  • Messages: 345
    • Voir le profil
Re : centrale DCC / analogique modulaire
« Réponse #23 le: avril 30, 2024, 03:28:35 pm »
le temps passe trop vite
on va reprendre la suite du projet avec la réalisation des 2 premières cartes prototypes à 5 cantons ; je voulais d'abord vous en parler après la réalisation des cartes et des tests , mais vu les pointures qu'il y a sur ce site , je préfère vous présenter les choses avant d'engager les frais d'un prototype par jlcpb , cela m'évitera peut-être de mettre les 2 cartes à la poubelle
je parlerai de la détection des circulation , des ponts en H , de la détection railcom , et du dessin du PCB
mais d'abord , retoucher le principe de la synchro des timers
les broches du STM32 peuvent avoir jusqu'à une quinzaine de fonctions différentes , pour en sortir ce dont j'ai besoin , je me suis servi de l'utilitaire STM32 cubeMX , cela donne ceci :
« Modifié: avril 30, 2024, 08:45:19 pm par trimarco232 »

trimarco232

  • Sr. Member
  • ****
  • Messages: 345
    • Voir le profil
Re : centrale DCC / analogique modulaire
« Réponse #24 le: avril 30, 2024, 03:43:48 pm »
les 10 sorties pwm dont j'ai besoin sont prises sur les timers 1 à 4
les 4 timers peuvent être synchronisés directement par le comparateur , on n'a donc pas besoin de timer maître , la sortie du comparateur faisant office de maître pour les 4 timers
les 4 timers sont configurés pareils , avec une particularité pour :
- le TIMER1 : on utilise les canaux PWM négatifs , car les normaux n'étaient plus disponibles sur les broches ; les canaux négatifs servent à piloter directement des ponts en H réalisés en composants discrets ; ils sortent le signal normal , mais inversé , et avec introduction d'un dead time qui permet de sécuriser les transistors ; ils peuvent être utilisés comme un canal normal , car on peut paramétrer le dead time à 0 , et inverser le PWM , ce qui fait qu'inversé 2 fois de suite , le signal redevient normal (on a donc , avec les canaux négatifs , des broches alternatives aux broches normales , peu de gens le savent)
- le TIMER3 : j'ai d'abord voulu utiliser le canal capture/compare(PWM) n°4 du TIMER1 , comme canal de capture , pour avoir la durée de l'impulsion de synchro , mais ça ne marche pas , j'ai dû relire le manuel de référence : le pilotage d'un canal capture depuis le comparateur , ne marche que pour les canaux 1 et 2 ; j'ai donc pris le canal 1 du TIMER3 , le 1er qui était dispo
« Modifié: avril 30, 2024, 11:27:55 pm par trimarco232 »

trimarco232

  • Sr. Member
  • ****
  • Messages: 345
    • Voir le profil
Re : centrale DCC / analogique modulaire
« Réponse #25 le: avril 30, 2024, 04:12:05 pm »
voilà pour ce qui est simple et qui a pu être testé . Avec la détection des circulations , on entre un peu dans l'inconnu
je vous avais montré le principe que j'envisageai en un 1er temps , mais cela nécessite des coupures sur les 2 rails de la même voie , ce qui n'est pas bien satisfaisant , car par exemple dans le cas d'aiguilles à cœur conducteur , il y a d'office 2 coupures en talon du cœur , il vaut mieux utiliser ces 2 coupures pour éviter des coupures inutiles (qui coupe le moins , coupe le moins)
le schéma garde sa simplicité quand est au 0 volt , le rail sur lequel sont faites les coupures :
« Modifié: avril 30, 2024, 09:29:38 pm par trimarco232 »

trimarco232

  • Sr. Member
  • ****
  • Messages: 345
    • Voir le profil
Re : centrale DCC / analogique modulaire
« Réponse #26 le: avril 30, 2024, 04:21:23 pm »
le train , c'est le petit rectangle vert
un petit courant , 5 mA par exemple , fait naître une tension de 0v3 à l'anode de la schottky de droite (à vérifier dans le datasheet de la SS34) , ceci est facile à mesurer avec un ADC

mais quand le rail coupé passe du 0 volt au 15 volt , au milieu d'un bit DCC , ou en analogique pour aller dans l'autre sens , ça se corse :

trimarco232

  • Sr. Member
  • ****
  • Messages: 345
    • Voir le profil
Re : centrale DCC / analogique modulaire
« Réponse #27 le: avril 30, 2024, 05:12:04 pm »
d'abord , la tension passe à 15 volts , elle ne peut pas être mesurée par un MCU en 3v3 , il faut un diviseur de tension par 6
(cela divisera aussi les 0v3 précédents par 6 , il ne restera que 0v05 , amha , ça reste mesurable)
donc si le rail est à 15v , la chute de tension dans la shottky va ramener la chose à mesurer à 14v7 ; donc si on divise par 6 , la zone libre donnera une tension à mesurer de 15v /6 = 2v5 , et la zone légèrement occupée : 14v7 /6 = 2v45 ...
alors adieu Berthe pour faire le distingo , la différence est de 0v3 /15v = 2% ; on peut à la rigueur penser qu'un ADC de 10 bits pourra s'en sortir , mais concernant les resistances , si on a 2 diviseurs de tension avec chacun 2 résistances à 1% , on aura une incertitude de 4% , pour mesurer une différence de 2% , c'est rappé
mais j'ai aussi eu un souci du nombre de broches d'entrée ADC ; j'ai 5 cantons avec 3 zones , pour lesquels je veux aussi mesurer le rail en amont des schottky (pour avoir la différence de 0v05) , et la tension de shunt des ponts en H , pour connaître le courant consommé par le train ; cela me fait 5x(3+1+1) voies ADC , soit 25 ; on est très au-delà des broches dispo pour le MCU choisi , il faut augmenter le nombre d'entrées ADC , par l'utilisation de multiplexeurs analogique 8 <-> 1 de type CD4051B
ce multiplexeur tient 20 volts , donc avec 15 vots en entrée , ça doit le faire (je pense cependant que 18v serait une tension absolue à ne pas dépasser , il existe uns version à 24 volts , pour les cas extrêmes)
« Modifié: avril 30, 2024, 11:32:38 pm par trimarco232 »

trimarco232

  • Sr. Member
  • ****
  • Messages: 345
    • Voir le profil
Re : centrale DCC / analogique modulaire
« Réponse #28 le: avril 30, 2024, 05:31:02 pm »
l'avantage , c'est qu'on va mettre le diviseur de tension sur la sortie commune ; alors on économise une ribambelle de résistances , mais surtout , notre 15v et notre 14v7 passera dans le même diviseur , on n'aura plus le souci de la précision des résistances , car ce qu'on voudra voir c'est une différence de tension , qui sera peu ou prou la même
mais il y a comme souvent , le revers de la médaille : la mesure sera fausse , si entre les 2 mesures , les 2 valeurs auront globalement varié ; par exemple , on va mesurer le 15v et trouver une valeur ; on change le canal du multiplexeur , pour mesurer la zone 1 du canton , et on va trouver une valeur ; si entre temps la charge à varié , le pont en H délivrera une tension plus faible , et ceci peut être interprété comme une occupation de la zone 1 , alors que celle-ci est libre !
pour pallier ce risque , je pense bien qu'on peut multiplier les mesures pour dégager une statistique , et changer la méthode , par exemple d'abord mesurer le 15v feeder du canton , puis la zone 1 , et faire l'inverse pour la mesure suivante ... qu'en pensez-vous ?
pour commander en 15v les 3 lignes de sélection des 4051 , il y a à gauche 3 transistors , pour faire la translation depuis 3v3 du STM32


« Modifié: avril 30, 2024, 11:36:05 pm par trimarco232 »

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : centrale DCC / analogique modulaire
« Réponse #29 le: avril 30, 2024, 05:43:15 pm »
Hello

Si je me souviens bien des hypothèses de départ l' idée  était de réduire le nombre de composants "externes" au delà du CPU .

Si on peut en ajouter pourquoi alors ne pas partir sur un montage externe qui dans tous les cas donnera la "vérité" sur l'occupation 0/1 de la zone en question? ( montage à diodes + opto? montage  à base de COIL, COIL +NE555/556..?)

Si on désire avoir toutes les mesures de conso local alors on acceptera de poser de petit TINY et remonter cela d une façon ou d une autre...

Pour la détection en analogique une solution peut consister à envoyer un bref temps un courant qui indiquera en retour l'état...

Ltr