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 - bobyAndCo

Pages: [1] 2 3 ... 57
1
Aide / Re : Problème de démarrage serveur.
« le: avril 15, 2024, 08:16:28 am »
Il y a eu des problèmes signalés sur le forum avec cette version : https://forum.locoduino.org/index.php?topic=1536.msg16598#msg16598

Je te conseille de commencer par implanter une version "native" : https://github.com/Locoduino/DCCpp

ou DCC-Ex : https://dcc-ex.com/index.html

pour isoler le problème et l'identifier. Si ça fonctionne avec l'un ou l'autre, il faudra regarder ce qui cloche dans la biblio DCCppS88

De toutes les façons, il est souhaitable de contacter son auteur pour avoir des précisions : http://lormedy.free.fr/

Christophe

2
Aide / Re : Problème de démarrage serveur.
« le: avril 14, 2024, 07:15:31 am »
Bonjour,

Quelle-est la source de ce fichier DCCpp-S88L ? Et pourquoi ce fichier et pas les programmes comme DCC++ (maintenant dépassé) et donc maintenant DCC-Ex ?

Pour moi la cause du problème est liée à l’utilisation de ce fichier.

Christophe

3
Bonjour Antoine,

Pour l'instant, je n'ai que des cartes montées. Celles-ci reviennent à 6€ environ. Tu as une alternative avec Laurent de son côté vient juste de produire des cartes Railcom en composants CMS. Marcel les a testées et elles sont OK.

J'ai des cartes vierges qui sont en production mais je pense qu'il faut encore compter 10 jours environ.

Dis moi ce que tu décide !

Christophe

4
De mon côté, avec le montage que j'ai présenté précédemment, je ne rencontre aucune difficulté. Les lectures sont très stables et fiables. Au travers du switch, on a 4 choix possibles pour la détection de présence et 4 autres choix pour les seuils de courts-circuits. J'ai pu régler finement les détections sur mon réseau.

C'est un ATtyni44 qui assure la lecture analogique. Le code utilise la lecture et l'écriture directe des ports ce qui accélère grandement la vitesse d'exécution.

Par acquis de conscience, je réalise 4 lectures dont je fais la moyenne pour obtenir les consommations de courant.

En cas de court-circuit, le relais coupe très rapidement l'alimentation DCC sur les rails. Avant même que la centrale elle même ne coupe l'alimentation générale ce qui est bien sûr le but recherché. En même temps, un signal digital est envoyé sur la sortie CC.

/*

  Détection de présence et courts-circuits pour ATtiny44 (84)

  © Christophe BOBILLE 04/24 pour locoduino (www.locoduino.org)
  v 0.4

  Datasheet :
  https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7701_Automotive-Microcontrollers-ATtiny24-44-84_Datasheet.pdf

  Getting Started with ADC on ATTiny
  https://ww1.microchip.com/downloads/en/Appnotes/TB3209-Getting-Started-with-ADC-90003209A.pdf

  PA0 - PA1 / RX - TX

*/

#include <avr/io.h>


// Variables
uint32_t tempoCC = 5000UL;                             // Tempo réarmement suite à court-circuit
const uint16_t tabSeuilOcc[] = { 30, 40, 50, 60 };     // Seuil pour l'occupation
const uint16_t tabSeuilCc[] = { 250, 350, 450, 550 };  // Seuil pour le court-circuit
uint16_t seuilOcc;
uint16_t seuilCc;

// Etats
byte etatSwitchOcc;  // Etat des bits pour switch occupation
byte etatSwitchCc;   // Etat des bits pour switch court-circuit


uint16_t get_ADC_sample(void) {
  ADCSRA |= (1 << ADSC);  // start ADC measurement
  while (ADCSRA & (1 << ADSC))
    ;
  // return the ADC value
  return (ADCL | (ADCH << 8));
}



void setup() {

  DDRA |= (1 << PA2);   // Signal occupation
  DDRA &= ~(1 << PA4);  // Switch 0
  DDRA &= ~(1 << PA5);  // Switch 1
  DDRA &= ~(1 << PA6);  // Switch 2
  DDRA &= ~(1 << PA7);  // Switch 3
  DDRB |= (1 << PB1);   // Signal cc
  DDRB |= (1 << PB2);   // Relais

  etatSwitchOcc = (PINA & 0x30) >> 4;
  etatSwitchCc = (PINA & 0xC0) >> 6;

  seuilOcc = tabSeuilOcc[etatSwitchOcc];
  seuilCc = tabSeuilCc[etatSwitchCc];


  ADMUX =
    (0 << ADLAR) |  // do not left shift result (for 10-bit values)
    (0 << REFS1) |  // Sets ref. voltage to internal 1.1V
    (0 << REFS0) |  // Sets ref. voltage to internal 1.1V
    (0 << MUX3) |   // use ADC3 for input (PB4), MUX bit 3
    (0 << MUX2) |   // use ADC3 for input (PB4), MUX bit 2
    (1 << MUX1) |   // use ADC3 for input (PB4), MUX bit 1
    (1 << MUX0);    // use ADC3 for input (PB4), MUX bit 0

  ADCSRA =
    (1 << ADEN) |   // Enable ADC
    (1 << ADPS2) |  // set prescaler to 64, bit 1
    (1 << ADPS1) |  // set prescaler to 64, bit 1
    (1 << ADPS0);   // set prescaler to 64, bit 0


  PORTB |= (1 << PB2);   // Relais
  PORTA &= ~(1 << PA2);  // Signal occupation
  PORTB &= ~(1 << PB1);  // Signal cc
}


void loop() {

  uint16_t sample = 0;
  for (byte i = 0; i < 4; i++)  // 4 lectures pour lisser le résultat
    sample += get_ADC_sample();
  sample = sample >> 2;


  if (sample < seuilOcc) {
    PORTA &= ~(1 << PA2);  // Signal occupation
  }

  if (sample >= seuilOcc) {
    PORTA |= (1 << PA2);  // Signal occupation
  }

  if (sample >= seuilCc) {
    PORTB &= ~(1 << PB2);  // Relais
    PORTB |= (1 << PB1);   // Signal cc
    delay(tempoCC);
    PORTB |= (1 << PB2);   // Relais
    PORTB &= ~(1 << PB1);  // Signal cc
  }
  delay(1);
}

5
Aide / Re : Attiny 85
« le: avril 05, 2024, 07:33:42 am »
Donc Mac ou PC, le problème est le même. Avis aux amateurs d'ATTiny, il faut garder une version 1.8x quelque part pour faire le chargement de programmes.

J'ai vu qu'il existait une solution sur PlatteformIO mais je n'ai pas testé : https://docs.platformio.org/en/stable/boards/atmelavr/attiny44.html#hardware

6
Aide / Re : Attiny 85
« le: avril 04, 2024, 10:28:34 am »
@pn200

Peux tu préciser sur quel OS tu es et version OS ?

Christophe

7
Aide / Re : Attiny 85
« le: avril 02, 2024, 10:15:54 pm »
C'est un problème que j'ai signalé sur le site éditorial des articles de Christian sur les ATTiny.

J'ai exactement le problème que j'ai avec les versions 2.xx de l'IDE Arduino mais pas sur les versions 1.8x. Du coup, je n'ai pas cherché plus loin et j'utilise la version 1.8x.

Je suis sur Mac (M2) Ventura 13.0 mais ma version 1.8x de l'IDE tourne sur un 10.14.6 Mojave (Intel). Et toi ???

8
Le lissage on est obligé de l'avoir vu que le coil sort un courant alternatif à la fréquence du DCC, donc il faut le redresser et le filtrer.
Et il n'y a pas 50 façons de le faire : il faut le faire avec un condensateur avant d'envoyer le signal à une entrée analogique ou
un comparateur.

Je parlais bien du montage de Cédric qui a été largement commenté précédemment. Je parlais du lissage logiciel qui n'est pas nécessaire !

Je pensais de Christophe ne pourrait pas faire à la fois la détection de présence et la détection de court-circuit avec
un seul coil mais il semble avoir trouvé les bonnes valeurs.

Les valeurs de seuils se calculent de façon empirique et sans avoir besoin d'une grande précision. Le switch permet ensuite comme je l'ai erxpliqué d'affiner les seuils avec quatre positions pour la détection de présence et quatre pour les court-circuits. Ces valeurs peuvent par ailleurs être changées dans le programme ou les pas entre les seuils.

9
Bonjour,

J’avoue ne pas bien comprendre tout ce qui est dit précédemment. J’ai réalisé le montage de Cédric dont j’ai parlé précédemment dans ce fil. J’analyse la tension avec un ATTiny44.

J’ai fixé des seuils dans le programme, < 20 rien sur le canton, >= 20 et < 60, détection d’une résistance de 10KΩ, de >= 60 et < 450, détection d’une locomotive (même quand celle-ci est en démarrage (plus forte consommation) et >= 450 courts-circuits.

Les lectures sont très linéaires qui ne nécessitent aucune moyenne et lissage.

Le relais fonctionne parfaitement et coupe l’alimentation DCC des deux rails.

Le switch (4 leviers) autorise la sélection de 4 seuils différents pour la détection et 4 autres seuils pour les court-circuits.

Par ailleurs, 2 signaux digitaux sont disponibles qui indiquent

1)   – Canton occupé, valeur >= 20
2)   – Court-circuit, valeur >= 450

Dans mon cas, ces signaux digitaux sont envoyés au satellite.

Testé depuis plusieurs jours sur mon réseau et aucun problème.

La photo montre l’ensemble, satellite, détection Railcom et détection de courant. C’est un peu encombrant mais bon. J’ai redessiné la carte détection qui ne fait plus 100 x 100 comme ici mais 100 x 75

Christophe





10
Bonjour,

J'ai déplacé ce sujet dans une section différente de la détection par consommation. Je trouve le projet intéressant et il mérite son propre espace. Je suis moi-même intéressé pour en savoir plus.

Christophe

12
Vos projets / Re : Arduino S88 compatible avec Marklin ?
« le: mars 19, 2024, 07:36:17 am »
A voir également sur le site de Rudy à la rubrique : Arduino used as a 16-sensor S88 detector board

https://rudysmodelrailway.wordpress.com/software/

13
Vos projets / Re : Arduino S88 compatible avec Marklin ?
« le: mars 18, 2024, 08:41:00 pm »
Il faut chercher un peu... ce n'est pas toujours bien loin !

https://www.locoduino.org/spip.php?article273

Attention s'il s'agit de les brancher sur des microcontoleurs en 3,3 ou en 5V. Il faut vérifier la compatibilité

Christophe

14
Vos projets / Re : Re : Arduino S88 compatible avec Marklin ?
« le: mars 18, 2024, 09:13:24 am »
Bonjour, Bob et Tony, merci pour les renseignements. En pratique, je voudrais faire une retrosignalisation avec des rails à pédale ref 5146. J'ai bien lu l'article. Apparemment, il faudra créer une petite carte pour convertir le voltage digital de +- 16 volts vers un voltage plus bas.Donc, je prévois d'utiliser des ILS avec plusieurs cantons reliés avec une carte Mega Arduino vers le bus 88 de mon ecos, le tout relié à mon ordinateur.L'ordinateur va gérer toute la partie de la gare avec 4-5 rames, avec arrêt feux rouges, etc...

Bonjour,

Tout d'abord, concernant les ILS, je te recommande plutôt d'utiliser des capteurs à effet Hall. Il faut également des aimants sous la locomotive/wagon, mais il sont plus précis et beaucoup moins fragiles.

Ce sont des capteurs à effet Hall que nous avions installé sur le Locoduinodrome avec les satellites v1 et cela fonctionnait très bien :

Je crois que tu pourrais envisager d'implanter un sytème de rétrosignalisation utilisant les satellites, pas autonomes sur lesquels je travaille actuellement, mais la v1 : https://www.locoduino.org/spip.php?article242

C'est économique et surtout très fiable, ça fonctionne en CAN. Reste juste à mettre à l'extrémité du bus une passerelle CAN/S88 (un Arduino ou un ESP32) pour entrer dans n'importe quelle centrale qui accepte ce protocole. C'est ce qu'avait fait Jean-Pierre et cela me semble très bien.

Christophe

15
Vos projets / Re : Arduino S88 compatible avec Marklin ?
« le: mars 17, 2024, 08:20:31 am »
Bonjour,

Tu parles de quel article car Jean-Pierre en avait écrit deux où il est question du bus S88 ?

https://www.locoduino.org/spip.php?article138
https://www.locoduino.org/spip.php?article180

C'est en effet compatible Marklin puisqu'il s'agit de S88 et bien sûr avec de la voie M puisque K, M ou C n'entre pas en considération pour la rétrosignalisation.

Ce qui a évolué depuis la rédaction de l'article, c'est l'adoption des câblages en RJ45 chez Marklin et donc beaucoup moins sujets aux interférences mais sur le fonds cela ne change rien à ce qui est dans l'article.

Selon moi, ce que propose Jean-Pierre est particulièrement intéressant en particulier pour remplacer les décodeur K83, plus fiable avec une utilisation optimale du bus CAN et moins onéreux que les solutions Marklin. Ses propositions sont malheureusement, à mon avis, largement ignorées par la communauté Marklin tout au moins en France. Sur le forum 3 rails, Julaye à réalisé un certain nombre de choses intéressantes sur ce sujet (S88 et Arduino) mais il n'y a malheureusement pas d'articles de synthèse. https://forum.3rails.fr/u/julaye/summary

Jean-Pierre n'a pas abordé le cas des décodeurs K84 (me semble t'il) mais cela est à peine plus compliqué.

Il y a aussi de nombreux exemple sur le site marklin-users (en anglais) : https://www.marklin-users.net/

Christophe

Pages: [1] 2 3 ... 57