Auteur Sujet: Protocole MFX : Retour d'information des décodeurs  (Lu 4474 fois)

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1117
  • HO avec DCC++
    • Voir le profil
Re : Protocole MFX : Retour d'information des décodeurs
« Réponse #60 le: décembre 10, 2024, 05:36:01 pm »
Mais pourquoi ce schéma que j'avais déjà publié ne te satisfait-il pas ?

J'ai commandé tous les composants pour le reproduire. Par ailleurs, j'ai commandé aujourd'hui l'oscillo. Avec ce montage et l'oscillo on devrait y voir clair, non ?

bk4nt

  • Full Member
  • ***
  • Messages: 106
    • Voir le profil
Re : Protocole MFX : Retour d'information des décodeurs
« Réponse #61 le: décembre 10, 2024, 06:08:09 pm »
C'est juste par curiosité, pour comprendre mieux comment ces différentes solutions fonctionnent ou non.

Ou encore pour comparer et voir comment ce simple montage autour d'un LM393 pourrait être approprié ou non. Même si on a conclu qu'un montage à PT le fera plus efficacement, notamment du fait de son filtre intégré 52k.

Ou encore par curiosité, pour voire quelle est la nature des bruits (s'il y en a) durant la période "feedback RDS".

Tu as pris quoi pour le transfo de courant? Les plus classiques pourraient ne pas fonctionner, leur bande passante étant limitée. C'est pourquoi j'ajoutais quelques mots sur le transfo de la MS1, un modèle susceptible d'avoir une bande passante de 20kHz à 1MHz, donc adapté à 52kHz.

Comme il est utile à l'isolation galvanique, et que je n'en ai pas repéré sur les photos MS2, je me demande comment cette dernière est fichue...

Sinon, si le simple montage à LM393 fonctionne, il pourrait servir à réaliser un détecteur de présence pour les cantons très économique (signal oui ou non pendant la période feedback).
« Modifié: décembre 10, 2024, 06:13:53 pm par bk4nt »

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1117
  • HO avec DCC++
    • Voir le profil
Re : Protocole MFX : Retour d'information des décodeurs
« Réponse #62 le: décembre 10, 2024, 06:18:14 pm »
1:1000 de chez AliEx


bk4nt

  • Full Member
  • ***
  • Messages: 106
    • Voir le profil
Re : Protocole MFX : Retour d'information des décodeurs
« Réponse #63 le: décembre 10, 2024, 06:26:10 pm »
En tous cas, je n'ai pas l'intention de "concurrencer". Tandis que la détection de présence dans les cantons m'intéresse aussi.

Si ça peut fonctionner, ce ne serait alors qu'un montage tout simple, en mode on/off, pas un décodeur RDS:

bk4nt

  • Full Member
  • ***
  • Messages: 106
    • Voir le profil
Re : Re : Protocole MFX : Retour d'information des décodeurs
« Réponse #64 le: décembre 10, 2024, 07:11:01 pm »
1:1000 de chez AliEx

J'ai regardé vite fait... On n'en voit pas les spécifications. Ce genre de modèles (leurs ferrite) est normalement optimisée pour fonctionner à 50/60Hz AC. A 52kHz, leur fonctionnement pourrait être aléatoire, selon la source, selon le modèle.

La première image incluse est de chez Farnel, pour "transformateur SMPS 50kHz". Il doit en exister aussi chez Ali. Idéalement, il faudrait choisir un modèle avec une référence, pour pouvoir commander exactement le même.

Ce genre de transfo serait optimisé pour fonctionner à 52kHz et aiderait à garantir la reproductibilité du montage (sans ajustement des valeurs de composants entre le transfo et le PT).

La seconde image est de chez Alibaba. Même chez Farnel, on aurait à bien vérifier la plage de fréquence...
« Modifié: décembre 10, 2024, 07:32:18 pm par bk4nt »

bk4nt

  • Full Member
  • ***
  • Messages: 106
    • Voir le profil
Re : Protocole MFX : Retour d'information des décodeurs
« Réponse #65 le: décembre 10, 2024, 07:54:26 pm »
Plutôt "à partir de 20kHz", qui inclue 52kHz. Je pense que ce serait plus facilement reproductible, avec une liste de composants et sans aucun ajustement.

Ce n'est pas le même tarif qu'un banal "transformateur de courant". C'est bien ce genre de transfo qu'on voit sur la MS1.


bk4nt

  • Full Member
  • ***
  • Messages: 106
    • Voir le profil
Re : Protocole MFX : Retour d'information des décodeurs
« Réponse #67 le: décembre 10, 2024, 11:41:38 pm »
Mes cours de techno et de physique/magnétisme/propriétés des matériaux sont très lointains. Et je n'ai pas réussi à trouver quoi que ce soit de limpide à ces sujets sur le net. Ce sont des composants complexes qui moi-même me dépassent.

On peut faire des bobines et même des transfos dans l'air (de l'air). Dans les transfos (ou même dans des bobines, des selfs, des inductances), plutôt que de l'air, on utilise des matériaux pour optimiser leurs performances. Ces matériaux ayant des propriétés magnétiques.

Ces matériaux (du fer, ou des ferrites, ce autour de quoi il y a les enroulements) servent à transférer l'énergie dans un transformateur, d'un enroulement à l'autre. Ou servent à emmagasiner l'énergie et à la restituer pour une inductance. Si ces matériaux sont inappropriés à l'utilisation (la plage de fréquence d'utilisation), ou si la solution est mal dimensionnée (la puissance à transmettre), il y aura des pertes, ou une saturation, magnétique, ça ne fonctionnera pas comme attendu.

D'où cette suggestion d'utiliser un petit transfo optimisé pour des fréquences à 20kHz au moins et plus, une référence qui couvre le besoin: 52kHz. Au final, et avec une liste de composants précise, la solution devrait être fiable et reproductible. La ref repérée supporte 10A (20 max), avec une très faible perte (des mili Ohms), ça semble être approprié aussi.

Avec un transfo banal et quelconque conçu pour 50Hz, on pourrait toujours bidouiller, obtenir quelque chose qui fini par fonctionner à 52kHz quand même. Mais rien ne garantirait que ça fonctionnerait avec un autre modèle/matériaux de transfo 50Hz.
« Modifié: décembre 11, 2024, 12:29:40 am par bk4nt »

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1117
  • HO avec DCC++
    • Voir le profil
Re : Protocole MFX : Retour d'information des décodeurs
« Réponse #68 le: décembre 11, 2024, 12:10:31 pm »
Bonjour,

J’ai commandé le transfos 1 :100 ci-dessus. Comme je dispose de tous les autres composants et que je devrais recevoir l’oscillo sous quelques jours, j’espère pouvoir commencer les tests semaine prochaine.

En attendant, j’ai essayé d’imaginer ce que serait la partie logicielle car, sur ce point, je n’ai trouvé aucune publication. Je suis plus ici dans ma "zone de confort"

Si je n’ai pas trop de mal à voir comment exploiter les sorties RDCL, QUAL et RDDA, je ne comprends pas trop le rôle du LM311. A priori, il renvoi un on/off (0 ou 1) quant à la présence d’un signal RDS. Mais le signal d’horloge devrait suffire, bon !

Voici donc un exemple de code qui me semble t’il devrait permettre de lire et exploiter les infos de retour. Vos remarques sont les bienvenues.

#include <Arduino.h>

// Broches GPIO sur l'ESP32 pour les signaux RDS
#define RDDA_PIN 27 // Broche pour les données RDS
#define RDCL_PIN 26 // Broche pour l'horloge RDS
#define QUAL_PIN 25 // Broche pour la qualité du signal RDS

// Variables pour stocker les données RDS
volatile uint8_t rdsData[64]; // Tampon pour 64 bits de données RDS
volatile uint8_t bitIndex = 0; // Index pour les bits reçus

// Interruption sur l'horloge RDS (RDCL)
void IRAM_ATTR onRDSClock() {
  // Lire le bit de données sur la broche RDDA
  uint8_t bit = digitalRead(RDDA_PIN);

  // Stocker le bit dans le tampon
  rdsData[bitIndex / 8] <<= 1;    // Décaler les bits existants
  rdsData[bitIndex / 8] |= bit;  // Ajouter le nouveau bit

  bitIndex++;

  // Réinitialiser l'index si 64 bits sont lus
  if (bitIndex >= 64) {
    bitIndex = 0;
  }
}

// Fonction pour afficher les données RDS
void displayRDSData() {
  Serial.print("RDS Data: ");
  for (int i = 0; i < 8; i++) { // 64 bits = 8 octets
    Serial.printf("%02X ", rdsData[i]);
  }
  Serial.println();
}

// Setup
void setup() {
  Serial.begin(115200);

  pinMode(RDDA_PIN, INPUT);
  pinMode(RDCL_PIN, INPUT);
  pinMode(QUAL_PIN, INPUT);

  // Attache l'interruption sur l'horloge
  attachInterrupt(digitalPinToInterrupt(RDCL_PIN), onRDSClock, RISING);

  Serial.println("RDS Decoder Started");
}

// Loop
void loop() {
  // Vérifier si le signal RDS est présent via la broche QUAL
  if (digitalRead(QUAL_PIN) == HIGH) {
    displayRDSData(); // Afficher les données RDS collectées
  } else {
    Serial.println("No RDS signal detected");
  }
}


bk4nt

  • Full Member
  • ***
  • Messages: 106
    • Voir le profil
Re : Protocole MFX : Retour d'information des décodeurs
« Réponse #69 le: décembre 11, 2024, 01:42:05 pm »
A mon avis, le LM311 ne sert pas à grand chose puisqu'on a déjà RDCL/DA et QUAL...

Le LM311 informe qu'il existe ou non un signal à 52kHz. En ce cas, s'il n'y a rien en RDCL, on en déduira que le signal RDS n'est pas exploitable, ou qu'il est trop bruité.

Avec un Arduino, tu pourrais injecter du simple 52kHz en entrée du PT, sans changement de phase; le LM311 le détectera, mais comme il ne s'agirait pas de RDS, le PT ne décodera rien (RDCL/DA et QUAL à 0).

Le LM311 pourrait servir à du debug ou pour évaluer le fonctionnement de l'ensemble? Sur un PCB final, si ça ne sert à rien, ces composants pourraient ne pas être soudés, ou soudés de façon optionnelle.

QUAL est peut être inutile aussi, pourrait fonctionner en on/off sur ce genre d'application. Dans une radio, ça peut indiquer un signal dégradé même si on a des signaux RDCL/DA...

S'il y a du bruit après le filtre passe bande 52kHz (dans cette application, un bruit à 52kHz lié aux PWM des moteurs, etc) en plus du signal RDS, QUAL pourrait l'indiquer...

Quelques essais confirmeront si ce LM311 et QUAL sont utiles ou non (potentiellement des entrées ESP économisées, ou cablées/soudées de façon optionnelle).

On a encore un autre indicateur: la checksum des data RDS reçues, elle sera valide ou non en cas d'erreur de transmission (du bruit dans le message).


Et je pense qu'il serait possible de se passer du quartz 4MHz, c'est ce que suggère la datasheet du SC6579. La datasheet du PT que j'ai à ce sujet est trop sommaire. L'ESP pourrait alors générer une PWM/clock à 4MHz pour Clock in. Ca se fait sur certaines applications, pour moins de composants, s'il y a des broches CPU libres, et s'il est simple de générer une clock. Ca pourrait aussi être prévu de façon optionnelle sur un PBC final, avec au choix un quartz ou un signal 4MHz généré par l'ESP.
« Modifié: décembre 11, 2024, 01:52:38 pm par bk4nt »

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1117
  • HO avec DCC++
    • Voir le profil
Re : Protocole MFX : Retour d'information des décodeurs
« Réponse #70 le: décembre 11, 2024, 03:25:33 pm »
Je suis assez d'accord avec toi sur le rôle du LM311. Je verrai cela de toutes façons au cours des tests.

Pour le quartz, tu as raison de dire qu'un signal envoyé par le µC peut jouer le même rôle. C'est ce que j'ai fait avec le Raspberry PI Pico et son tranceiver CAN sur les conseils de Jean-Luc et ça fonctionne bien.

Bon, il n'y a plus qu'à... quand je vais avoir tous les composants.

Christophe

bk4nt

  • Full Member
  • ***
  • Messages: 106
    • Voir le profil
Re : Protocole MFX : Retour d'information des décodeurs
« Réponse #71 le: décembre 11, 2024, 04:48:44 pm »
J'en conclue que tu pars donc sur ce genre de montage.

A mon avis, les 4 diodes à l'entrée sont inutiles, n'introduisent qu'une chute de tension (le seuil des diodes).

En entrée de TR1, on aura du DCC/PWM ou du RDS, le feedback, pendant la pause DCC.

Ce signal RDS, ce seront des impulsions positives ou négatives, selon l'orientation des locos/décodeurs. En quelque sorte, un signal RDS (52kHz avec changement de phase) avec une composante continue positive ou négative.

C1 (et C3 aussi) va éliminer la composante continue. Seul le signal RDS va passer après C3. Qu'il y ait ces 4 diodes ou non.

L'impédance au primaire de TR1 sera quasi nulle, et sans ces diodes, la chute de tension introduite sera donc nulle également.
« Modifié: décembre 11, 2024, 04:55:28 pm par bk4nt »

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1117
  • HO avec DCC++
    • Voir le profil
Re : Re : Protocole MFX : Retour d'information des décodeurs
« Réponse #72 le: décembre 11, 2024, 09:09:39 pm »
J'en conclue que tu pars donc sur ce genre de montage.
Oui

A mon avis, les 4 diodes à l'entrée sont inutiles, n'introduisent qu'une chute de tension (le seuil des diodes).

Si je ne m'abuse, ces diodes forment un pont redresseur, non ? Et elles n'ont qu'une faible chute de tension puisqu ce sont des Schottky.

bk4nt

  • Full Member
  • ***
  • Messages: 106
    • Voir le profil
Re : Re : Re : Protocole MFX : Retour d'information des décodeurs
« Réponse #73 le: décembre 11, 2024, 09:41:53 pm »
Si je ne m'abuse, ces diodes forment un pont redresseur, non ? Et elles n'ont qu'une faible chute de tension puisqu ce sont des Schottky.

Oui, mais à quoi il sert?  :)

bobyAndCo

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1117
  • HO avec DCC++
    • Voir le profil
Re : Protocole MFX : Retour d'information des décodeurs
« Réponse #74 le: décembre 11, 2024, 10:16:36 pm »
B'hein je ne te comprends pas bien. A minima, elles évitent les courts-circuits entre les rails.