Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - lebelge2

Pages: [1] 2 3 ... 5
1
Vos projets / Re : Carte détecteur de présence 16 entrées RailCom
« le: novembre 20, 2024, 05:33:59 pm »
Attention.
Le canal 1 adresse bien les ID de chaque engin mais pas sur la même section RailCom et avec multiplexage des entrées.
Si deux engins se trouvent sur une même section, c'est le canal 2 et leurs Ack qui déterminent l'adresse des locos.

2
Vos projets / Re : Carte détecteur de présence 16 entrées RailCom
« le: novembre 20, 2024, 03:36:25 pm »
Bonjour, je vous communique les conclusions d’un petit test de détection.

Mise en service du réseau , le signal DCC est uniquement composé de trames IDLE (Préambl, 0xFF, 0x00, 0xFF)

Nous avons deux locomotives RailCom  canal 1 (Cv28 à 1) (Adr 1 et adr 4)

Dépose d’une loco sur les rails ;  Immédiatement reconnue par le détecteur, adresse 1.
Dépose de la deuxième sur un autre canton ; Immédiatement reconnue par le détecteur, adresse 4.

Conclusion : La détection  de la loco se fait sans besoin de l’adresser.

Conditions pour détecter deux locos sur un même tronçon :
1)   Adresser la loco. (vitesse ou fonctions)
2)   Activer bit 0, 1 et 7   du Cv28
Dans ces conditions le canal 2 envoi 6x   0xF0 (Ack) et le détecteur peut déterminer l’adresse des locos.


3
Vos projets / Re : Carte détecteur de présence 16 entrées RailCom
« le: novembre 14, 2024, 08:14:00 pm »
Bonjour.
Ce sont bien les convertisseurs Analogiques digitales qui échantillonnent le signal RailCom (250.000 Bauds)
Il y en a quatre et sont très rapides (2 millions de conversions par seconde)
Comme je peux le comprendre, il y a quand même un multiplexage.
Un convertisseur échantillonne à la fois deux trames RailCom en alternant deux entrées.
Ainsi, huit entrées sont analysées par trames.

Ici extrait du Datasheet de l'ATXMEGA128

25.2 Overview
The ADC converts analog signals to digital values. The ADC has 12-bit resolution and is capable of converting up to two
million samples per second (MSPS). The input selection is flexible, and both single-ended and differential measurements
can be done. For differential measurements, an optional gain stage is available to increase the dynamic range. In
addition, several internal signal inputs are available. The ADC can provide both signed and unsigned results.


Et dans la doc. de l'auteur (Traduite de l'allemand)

Plusieurs locomotives dans une section
Railcom reconnaît 2 canaux pour recevoir les messages en provenance des locomotives. Le canal 1 est un canal de diffusion (broadcast) dans lequel chaque décodeur envoie en continu sur son adresse. S'il y a plusieurs décodeurs dans une section, les signaux se chevauchent et interfèrent. Au contraire, dans le canal 2 seulement le décodeur adressé peut envoyer (diffuser) son adresse.

Le GBM16T reçoit sur deux canaux, et peut ainsi distinguer jusqu'à 4 locomotives. Si dans le canal 1 aucune erreur ne s'est produite sur trois annonces d'adresses successives, cette adresse est acceptée comme valable. De même l'adresse DCC actuelle est acceptée comme valable, si le canal 2 reçoit une réponse exacte.


L'auteur ne fourni plus le code source, uniquement .hex et .epp

Bien à vous.


4
Vos projets / Re : Carte détecteur de présence 16 entrées RailCom
« le: novembre 09, 2024, 02:38:43 pm »
Bonjour Dominique

Pour mon réseau, je n’utilise pas de PC, auparavant c’était un Arduino Uno qui gérait les signaux en 3 Bal et l’arrêt et le redémarrage des trains.
Cela fonctionnait correctement.
Actuellement je transcris le code pour l’ESP32 de LaBox, les premiers essais sont en cours.
Il est possible de remonter les messages d’occupations vers un logiciel PC à condition de connaître le protocol !
Je n’y connais rien en CAN, j’ignore si une transmission en 9 bits 250.000 Bauds est possible !
Ci-joint un schéma bloc de mon installation.

5
Vos projets / Re : Carte détecteur de présence 16 entrées RailCom
« le: novembre 09, 2024, 12:40:55 am »
Premier essai  de trois cartes 16 entrées RailCom, un Arduino Mega et LaBox.

(Voir image)

( Le Mega possède quatre entrées séries, trois sont programmées en entrées et reçoivent les données (9bits) des trois cartes, la quatrième programmée en sortie envoie les données (8bits) vers LaBox.)

Un nouveau fichier nommé Automat.cpp est ajouté  à LaBox.

Fonctions automate programmable.

Deux fonctions principales.

1)   Gestion des signaux automatiquement en mode 2 ou 3BAL.
             Arrêt des locos. devant un signal rouge
             Redémarrage des locos au signal orange (vitesse réduite) ou vert.

2)   Une loco entrant sur un canton peut déclencher des événements, par ex.:
-   Allumage des feux.  (Entrée tunnel (extinction à la sortie))
-   Modifier sa vitesse, sens  ou arrêt.
-   Changer de position un ou plusieurs aiguillages.
-   Gérer une autre locomotive.

Nombreuses possibilités en vue, sans câblage « type usine à gaz » et matériel coûteux…
 
A suivre…


6
Vos projets / Carte détecteur de présence 16 entrées RailCom
« le: novembre 09, 2024, 12:38:57 am »
Bonjour, ma dernière réalisation pour le suivi des trains dotés de la technologie RailCom ou non.
Détection de la présence de matériel roulant par consommation de courant et identification du numéro de loco. sur 16 canaux.

Le détecteur est composé d'une carte fille de chez Olimex  (processeurs Atmel ATXMEGA128A1) et de composants traversants.

C'est un clone du  GBM16T dont les plans, la construction et les fichiers sont libres de droits.

Pour les caractéristiques, je vous renvoie sur le site de l'auteur de la carte originale.
(16 entrées, faible insertion (0,3v), sensibilité ajustable, alimentation par DCC ou séparée, isolation galvanique des masses, etc…)

https://www.opendcc.de/s88/gbm_bidi/gbm_bidi_f.shtml

Je fournis le plan, la liste des composants, le fichier gerber (voir mon Github) ainsi qu’un support pour les interessés de cette réalisation.

https://github.com/Lebelge2/Carte-16-entrees-RailCom


La carte transmet les  rapports d'occupations et détection RailCom via son interface série isolée galvaniquement (9bits, 250.000 bauds)

Les messages peuvent être envoyés sur un logiciel de train tel que : CDM-Rail, JMRI, Rocrail ou LaBox.

La carte fille ATXMEGA128 est fournie sans Bootloader, un programmateur spécifique (PDI) est nécessaire. Voir la doc. (Programmer ATXMEGA128) sur mon Github.


Prix aproximatif des composants de la carte :

PCB carte mère (5 pièces JLCPCB)         5 €
ATXMEGA128 carte fille Olimex         15 €
1 ADUM 1201 (Isolateur magnétique)     1 €
33 diodes 1N5821 (lot de 50)                   4,15 €
32 résistances 1k (lot de 100)                   1,50 €
3 réseaux R1k (lot de 10)                          1,90 €
4 connecteurs mâles 2x10 (lot de 10)        2 €
20 LED 3mm (lot de 100)                         2 €
1 régulateur 7805 (lot de 10)                     1 €
21 borniers pich 5,08 (lot de 30)               3,40 €

Petit matériel
-----------------
1 transistor Mosfet BS170
2 condensateurs 22µF
2 condensateurs 100nF
1 diode Zener 3v3
1 résistance 100  Ohms
1 résistance 10K
1 résistance 20   Ohms 1W
1 Barette pico mâle et femelle 2,54

!!! Remarque :  Les frais de livraisons sont plus chères que le prix des pièces !!!

Démo. avec ce petit script à mettre dans le  void loop()  du  .ino
Affiche dans le moniteur les itinéraires  et numéros des locomotives.


unsigned long crT1 = 0;      // currentTime1
unsigned long pvT1 = 0;     // previousTime1
int DataTemp;
int Data[10];
int NbrData;
int i;

void setup() {   // Dans le setup configurer le sériél
  Serial1.begin(250000, SERIAL_8N1, 13, 14);   // Carte RailCom
//  Serial2.begin(250000, SERIAL_8N1, 15, 17);   // Carte RailCom
}

void loop() {  // A mettre à la fin du loop()

  if (Serial1.available()) {
    DataTemp = (Serial1.read());                 // Lit Data
    crT1 = millis();
    if ((crT1 - pvT1) > 10) {                    // >10ms,  Premier Data
      pvT1 = crT1;
      i = 0;                                     // Init tableau
      NbrData = DataTemp;                        // Nombre de Data dans trame
    }
    Data[i++] = DataTemp;                        // Mémorise les data
    if (i == NbrData + 1) {                      // Tous les Data reçus ?
      if (Data[1] == 2) {                        // Détection RailCom
        Serial.print("Loco n°");   Serial.print(Data[3]);
        if (Data[4] == 0)          Serial.print(" entre dans canton n°");
        else                       Serial.print(" entre à contre sens dans canton n°"); //0x80
        Serial.println(Data[2]+1);
      }
    }
  }
}

Bien à vous.

7
Vos projets / Re : LaBox" : Une Centrale DCC polyvalente et abordable
« le: octobre 20, 2024, 12:57:07 am »
Pour moi, tu n'as pas sélectionné le bon microprocesseur.    (ESP32 WROOM)

8
Trucs & astuces / Re : Rétrosignalisation S88 et UNO
« le: octobre 15, 2024, 07:56:47 pm »
Il ne faut pas recopier le code de la librairie dans le .ino !

9
Trucs & astuces / Re : Rétrosignalisation S88 et UNO
« le: octobre 11, 2024, 07:19:39 pm »
Chez moi, ça compile correctement !

#include <UNO_S88.h>    // la librairie S88 pour les UNO/Nano

void setup() {
  S88_Setup(16);        // on donne le nombre capteur 8 ou 16
}

void loop() {
  S88_Loop();           // boucle sur les capteurs
}

Le croquis utilise 1614 octets (5%) de l'espace de stockage de programmes. Le maximum est de 32256 octets.
Les variables globales utilisent 27 octets (1%) de mémoire dynamique, ce qui laisse 2021 octets pour les variables locales. Le maximum est de 2048 octets.

10
Le logiciel DCC++ / Re : Associer une broche Arduino à une commande DCC
« le: octobre 01, 2024, 06:52:20 pm »
Example non testé.
int Inter = 13;       // Numéro Pin Interrupteur
bool Val;
bool MemoVal;


void setup() {

  pinMode(Inter, INPUT_PULLUP);

}


void loop() {
  Val = digitalRead(Inter);                           // read the input pin

  if (Val != MemoVal) {
    if (Val == 1)
      TrackManager::setMainPower(POWERMODE::ON);       // Power Tracks ON
    else
      TrackManager::setMainPower(POWERMODE::OFF);      // Power Tracks OFF
    MemoVal = Val;
  }
}

11
Vos projets / Re : Une interface XpressNet pour LaBox.
« le: septembre 23, 2024, 09:57:11 pm »
Bonjour.
On peut mettre une interface S88 à LaBox, il faut demander aux concepteurs s'ils sont d'accord.
Sinon, il existe des interfaces Arduino Xpressnet - S88, mais le code pour les accessoires n'est pas encore implémenté dans cette version XpressNet.
Bien à vous.


12
Vos projets / Re : LaBox" : Une Centrale DCC polyvalente et abordable
« le: septembre 14, 2024, 04:05:36 pm »
Bonjour.

La V.2.6.4  fonctionne chez moi avec IDE Arduino 1.8.19
RailCom, XpressNet, Sprog et Can activé.

Merci pour le travail.

13
Vos projets / Re : LaBox" : Une Centrale DCC polyvalente et abordable
« le: septembre 12, 2024, 06:36:26 pm »
Au sujet du fichier XpressNet.cpp qui ne se compille pas avec Arduino IDE: Erreur "Compilation error: stray '\357' in program"
En l'ouvrant avec Notepad++, je vois qu'il est en encodage UTF-8-BOM
En le convertissant en UTF-8, plus d'erreur de compilation!

Aux programmeurs,vérifier si dans PIO la  configuration de l'encodage est bien en UTF-8

14
Vos projets / Re : LaBox" : Une Centrale DCC polyvalente et abordable
« le: septembre 12, 2024, 05:47:35 pm »
Arduino 1.8.19

15
Vos projets / Re : LaBox" : Une Centrale DCC polyvalente et abordable
« le: septembre 12, 2024, 05:33:11 pm »
Testé configuration preconisée par bobyAndco.
Can, RailCom, XpresNet et Sprog activés.
Reboot perpetuel + le fichier XpressNet.cpp qu'il faut recopier dans un fichier vierge.

Pages: [1] 2 3 ... 5