LOCODUINO

Aide
Forum de discussion
Dépôt GIT Locoduino
Flux RSS

vendredi 19 avril 2024

Visiteurs connectés : 81

Ma première centrale DCC

. Par : msport

Dans le cahier des charges, l’utilisation d’un programme tout fait, sans modification. un coût minimal pas de fer à souder, et donc pas de soudures du matériel que l’on trouve facilement pas d’intervention sur le matériel un montage qui prend 10 mn. et qui permet de valider une configuration JMRI. mais sans EthernetPrérequis : connaître les (...)

Retourner à l'article

Vous répondez à :

Ma première centrale DCC 30 septembre 2022 17:27, par luigi bassi

Bonjour,
Permettez-moi de me présenter : je m’appelle luigi, je suis ingénieur en mécanique et je travaille depuis des années dans le domaine des logiciels. Je suis maintenant à la retraite et pour passer le temps, je me suis lancé dans l’arduino, avec lequel je voulais contrôler mon modèle.

PROBLÈME :

Il y a 10 trains qui circulent sur le modèle, mais au maximum, ils en font circuler deux à la fois ; la plupart du temps, seul un volt circule et ceux-ci fonctionnent sur 4 circuits complètement indépendants et isolés électriquement.
Tout le matériel roulant est constitué de vieux trains analogiques que j’ai numérisés avec des décodeurs ESU.
Les aiguillages sont contrôlés par arduino avec des relais et sont actionnés par des capteurs maghet qui exploitent l’effet HALL.
Toutes les pistes sont des séries K 22...
La station centrale est auto-personnalisée avec des diagrammes de Luca Dentella (voir youtube).
https://www.youtube.com/watch?v=kWd...
Le boster est également auto-construit voir luca dentella
https://www.lucadentella.it/2020/11...
Cela fait longtemps que Luca Dentella n’est plus disponible, et j’ai un problème, qui je crois est (logiciel), et j’ai cherché à différents endroits sans obtenir de réponse.
Mes problèmes sont les suivants :
1. Les fonctions qui commandent les lumières des trains fonctionnent parfaitement dans certains trains et pas dans d’autres. L’activation et la désactivation ne fonctionnent pas dans certains trains, même si les instructions sont exactement les mêmes.
Je joins les parties du code avec ceci.
2. Il arrive parfois qu’en l’absence de court-circuit détecté par le poste de commande, un train s’arrête de manière aléatoire avec même les lumières allumées ; à ce moment-là, je dois débrancher l’alimentation électrique et la remettre sous tension ; le train redémarre mais toutes les lumières restent éteintes, comme elles restent éteintes lorsqu’il y a un court-circuit, le poste de commande s’éteint et lorsque j’appuie à nouveau sur la touche, les lumières sont toutes éteintes jusqu’au prochain redémarrage à partir de la commande logicielle.
3. le comportement des trains est très aléatoire. Par exemple, j’ai remarqué que faire varier le max_events du Timer.h de la bibliothèque Timer provoque un comportement très différent. Pourquoi ?
Très souvent, par exemple, la désactivation ne fonctionne pas et seulement sur certaines locomotives.

DEMANDE :
Est-il possible d’obtenir de votre part une assistance (payante, bien sûr) pour résoudre ces problèmes ?
Pour moi, il serait important, s’il était possible de conserver tout le matériel installé, mais si vous pensez qu’il serait préférable de passer à quelque chose de standard et commercial, n’hésitez pas à me le dire (encore mieux si vous le vendez).
Je vous remercie d’avance de votre attention et vous salue cordialement.
Code
#include <Timer.h>
#include <ButtonV2.h>
#include <Centipede.h>
#include <Event.h>
#include <Nextion.h>
#include <Wire.h>
#include "DCCpp.h"

#define LOCO_ADDRESS_1 3 // adresse du décodeur du train 1
#define LOCO_ADDRESS_2 13 // adresse du décodeur du train 2
#define LOCO_ADDRESS_3 5 // adresse du décodeur du train 3
#define LOCO_ADDRESS_4 9 // adresse du décodeur de train 4
#define LOCO_ADDRESS_5 7 // adresse du décodeur de train 5
#define LOCO_ADDRESS_6 11 // adresse du décodeur de train 6
#define LOCO_ADDRESS_7 15 // adresse du décodeur de train 7
#define LOCO_ADDRESS_8 17 // adresse du décodeur de train 8
#define LOCO_ADDRESS_9 19 // adresse du décodeur de train 9
#define LOCO_ADDRESS_10 21 // adresse du décodeur de train 10

#define LOCO_LIGHTS_FUNCTION 0 // c’est l’équivalent de la fonction F0 habituellement utilisée pour les phares.

#define WAGONS_LIGHTS_FUNCTION 1 // Feux du wagon F1

#define LOCO_SMOKE_FUNCTION 2 // Fumée F2
// attention pour les deux locomotives à vapeur F2 est fumée n’ont pas de feux de wagon

#define LOCO_REGISTER_1 1
#define LOCO_REGISTER_2 2
#define LOCO_REGISTER_3 3
#LOCO_REGISTER_4 définit 4
#define LOCO_REGISTER_5 5
#define LOCO_REGISTER_6 6
#define LOCO_REGISTER_7 7
#define LOCO_REGISTER_8 8
#define LOCO_REGISTER_9 9
#define LOCO_REGISTER_10 10

#define CV_SHORT_ADDRESS 1
État des fonctions locoFunctions_1 ;
FonctionsEtat locoFunctions_2 ;
FonctionsEtat locoFunctions_3 ;
FonctionsEtat locoFunctions_4 ;
FonctionsÉtat locoFunctions_5 ;
FonctionsEtat locoFunctions_6 ;
FonctionsÉtat locoFunctions_7 ;
FonctionsÉtat locoFunctions_8 ;
FonctionsEtat locoFunctions_9 ;
FonctionsEtat locoFunctions_10 ;
// partie de DCCpp pour l’installation

DCCpp::begin() ;

DCCpp::beginMainMotorShield() ;

// activer les sorties
DCCpp::powerOn(true, false ) ;
DCCpp::loop() ;
retour = t.after(2000, abc_brk_1_off) ;
retour = t.after(2100, stop_TR8) ;
retour = t.after(2350, right_exchange_22) ;
— 
void stop_TR3()

if(locoFunctions_3.isActivated(LOCO_LIGHTS_FUNCTION)) locoFunctions_3.inactivate(LOCO_LIGHTS_FUNCTION) ;
else locoFunctions_3.activate(LOCO_LIGHTS_FUNCTION) ; // allume ou éteint les lumières
DCCpp::setFunctionsMain(LOCO_REGISTER_3, LOCO_ADDRESS_3, locoFunctions_3) ;

DCCpp::setSpeedMain(LOCO_REGISTER_3,LOCO_ADDRESS_3,128,0, true) ;


Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

19 Messages

Rubrique Matériel

Le microcontrôleur ATtiny45 (1)

Le microcontrôleur ATtiny45 (2)

Le microcontrôleur ATtiny45 (3)

Le microcontrôleur ATtiny45 (4)

Le microcontrôleur ATtiny45 (5)

Le microcontrôleur ATtiny45 (6)

Le microcontrôleur ATtiny45 (7)

Le microcontrôleur ATtiny45 (8)

Le microcontrôleur ATtiny45 (9)

Le microcontrôleur ATtiny45 (10)

Fonctionnement et pilotage d’une DEL

Qu’est ce qu’une carte Arduino ?

Amplifier le signal de sortie d’un ARDUINO avec un ULN 2803

Un minimum pour jouer rapidement avec un Arduino

Où acheter ?

Résistances, kézako ?

Les cartes Teensy

Relais électromagnétique

Les diodes classiques

Détecteurs à ultrasons

De nouveaux composants pour continuer à jouer

La carte Arduino Uno

Bouton poussoir

Les différents types de mouvements d’un servomoteur

Les encodeurs en quadrature

Les indispensables du prototypage

Les écrans LCD alphanumériques

Des bus de communication pour l’Arduino

Les interrupteurs

Signaux lumineux et Arduino

Les shields de prototypage et de connexion

Commande de moteur à courant continu

Choisir sa carte Arduino

Une station DCC complète, polyvalente et économique avec JMRI.

Écran couleur tactile Kuman

Capteurs à effet Hall

Programmation des ATtiny Digispark

Ma première centrale DCC

Ma première manette DCC (1)

Une station DCC minimale avec boutons de commande et écran Oled

Ma première manette DCC (2)

Le Raspberry Pi Pico

Signalisation et sonorisation du va-et-vient pour deux trains

Configurateur de CV sur base de la station DCC minimale

Fabrication d’un programmateur pour microcontrôleurs ATtiny

Détection RailCom© avec ESP32 (ou Arduino)

Adieu Uno, bonjour Uno !

Ma nouvelle manette DCC avec ESP32 (1)

Ma nouvelle manette DCC avec ESP32 (2)

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (1)

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (2)

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (3)

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (4)

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (5)

Les derniers articles

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (5)


bobyAndCo

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (4)


bobyAndCo

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (3)


bobyAndCo

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (2)


bobyAndCo

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (1)


bobyAndCo

Détection RailCom© avec ESP32 (ou Arduino)


bobyAndCo, catplus

Ma nouvelle manette DCC avec ESP32 (2)


msport

Ma nouvelle manette DCC avec ESP32 (1)


msport

Adieu Uno, bonjour Uno !


Christian

Fabrication d’un programmateur pour microcontrôleurs ATtiny


Christian, Dominique, Jean-Luc

Les articles les plus lus

Capteurs à effet Hall

Commande de moteur à courant continu

Une station DCC complète, polyvalente et économique avec JMRI.

Programmation des ATtiny Digispark

LES SATELLITES AUTONOMES : une nouvelle approche du concept de Satellites Locoduino. (5)

Ma première centrale DCC

Le microcontrôleur ATtiny45 (2)

Le microcontrôleur ATtiny45 (8)

Le microcontrôleur ATtiny45 (1)

La carte Arduino Uno