Auteur Sujet: Centrale dcc minimaliste  (Lu 21877 fois)

jfs59

  • Newbie
  • *
  • Messages: 22
    • Voir le profil
Centrale dcc minimaliste
« le: novembre 03, 2020, 06:43:57 pm »
Merci aux personnes qui ont sympathiquement pris la peine de répondre aux interrogations d'un novice.
« Modifié: novembre 20, 2020, 03:39:18 pm par jfs59 »

CATPLUS

  • Sr. Member
  • ****
  • Messages: 428
    • Voir le profil
Re : Centrale dcc minimaliste
« Réponse #1 le: novembre 03, 2020, 07:01:51 pm »
Bonsoir Jean-François
Mes premiers début
A essayer

http://forum.locoduino.org/index.php?topic=313.0

Cordialement
« Modifié: novembre 04, 2020, 05:45:23 am par CATPLUS »
Best Regards

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Centrale dcc minimaliste
« Réponse #2 le: novembre 03, 2020, 10:51:12 pm »
Le plus simple : une BaseStation (merci Gregg)
- un Arduino Uno
- un shield moteur à L298 comme :
https://www.ebay.fr/itm/L298P-L298NH-2A-Dual-Channel-H-Bridge-Shield-Motor-Driver-for-Arduino-UNO-2560/273030568930
- une alimentation 12 V (parfait pour commencer et pour ne pas avoir à bricoler les pistes du shield) comme :
https://www.ebay.fr/itm/AC-100-240V-A-DC-12V-2A-Adaptateur-dalimentation-pour-bande-declairage-LE-T2/284000043586
- le sketch DCCpp_Uno tel quel sans modifications.

et les commandes via le serial monitor (docx).

BaseStation décrite parmi les autres possibilités ici :
https://www.locoduino.org/spip.php?article187
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3013
  • 100% Arduino et N
    • Voir le profil
Re : Centrale dcc minimaliste
« Réponse #3 le: novembre 04, 2020, 01:30:12 pm »
Une machine neuve ou un décodeur neuf est programmé avec l’adresse 3.
Cordialement,
Dominique

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Centrale dcc minimaliste
« Réponse #4 le: novembre 04, 2020, 03:18:43 pm »
1. La mesure du courant est assurée par le shield moteur (sur la photo, c'est le bon)
2. 2A suffisent largement pour 4 locos surtout en N.
3. La tension limite la vitesse, 12 V en N va très bien (il est toujours possible ensuite de tenter de griller ses locos en allant plus loin)
4. le code DCC++ peut être généré par JMRI quand on en assez de le rentrer par le moniteur. (PC via USB)
5. Les manettes (throttles **) qui génèrent les codes DCC++ sur RX/TX (serial) peuvent commander cette centrale. La liaison peut être filaire, radio (HC-12 ***) ou bluetooth.
6. L'adresse par défaut est 003, mais le Va-et-Vient de Dominique détecte l'adresse de la loco posée sur les rails au démarrage (*).
Sinon lire le CV1 via le serial monitor (voir le docx). L'adresse 0 est le broadcast (?)

* https://www.locoduino.org/spip.php?article232
** http://www.trainelectronics.com/DCC_Arduino/DCC++/Throttle/index.htm  voir Wireless Option
*** http://trainelectronics.com/Arduino/HC-12-Serial_Radio/
« Modifié: novembre 04, 2020, 05:05:21 pm par msport »
Cordialement

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Centrale dcc minimaliste
« Réponse #5 le: novembre 04, 2020, 05:07:00 pm »
Ne pas hésiter à partager les idées originales !
Cordialement

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Centrale dcc minimaliste
« Réponse #6 le: novembre 05, 2020, 10:59:06 am »
En mp :

Une variante du sketch de la throttle de D. Bodnar (cf ci dessous) avec oled I2C 0.96", clavier 4x4, tournant sur mini pro.

A vérifier, mais ça compile.

Et une idée de pcb.
Cordialement

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : Centrale dcc minimaliste
« Réponse #7 le: novembre 08, 2020, 11:19:13 pm »

projet un HC12 sur l'usb pour m'affranchir du fil ...


Le HC-12 se connecte de part et d'autre sur RX/TX et est transparent (juste penser à le configurer à 115200 bauds). Pas d'USB.

interrogation sur la L298 pour nano qui me semble être la même que pour la uno avec un format plus compact ?? j'aime bien !

Attention, danger, les shields moteur différents de l'original Arduino ne gèrent pas obligatoirement les mêmes broches et risquent de ne pas être compatibles. (Un lien ?) Quid de la mesure de courant.
C'est dommage de se priver de la simplicité biblique du shield moteur UNO qui de toute manière est à conserver comme référence quand plus rien d'autre ne fonctionne.

Mais ça a l'air de bien avancer !
Cordialement

Thierry

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 800
    • Voir le profil
Re : Re : Re : Centrale dcc minimaliste
« Réponse #8 le: novembre 09, 2020, 08:52:44 am »
Attention, danger, les shields moteur différents de l'original Arduino ne gèrent pas obligatoirement les mêmes broches et risquent de ne pas être compatibles.

Sinon, c'est pour ça qu'existe la bibliothèque DCCpp qui reprend DCC++ en l'ouvrant -en plus des shields bien connus- à tous les circuits de puissance possibles via des broches configurables. De plus elle intègre des corrections qui vont bien, comme la compatibilité ESP32, ou un meilleur respect de la norme DCC du NMRA pour la lecture/écriture de CVs.

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Centrale dcc minimaliste
« Réponse #9 le: novembre 09, 2020, 10:13:30 am »
On ne connait pas tout :

un lien vers ce shield moteur nano ?
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3013
  • 100% Arduino et N
    • Voir le profil
Re : Re : Centrale dcc minimaliste
« Réponse #10 le: novembre 09, 2020, 11:39:29 am »
https://fr.aliexpress.com/item/32820838638.html

avec celui ethernet mais qui m’intéresse moins j'ai donc rien vérifié
Je connais ce shield Nano moteur, j'en ai plusieurs et ils ne sont pas compatibles sans modification.
Voulez-vous que je retrouve mes travaux d'adaptation pour DCCpp?
Cordialement,
Dominique

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3013
  • 100% Arduino et N
    • Voir le profil
Re : Centrale dcc minimaliste
« Réponse #11 le: novembre 09, 2020, 05:48:23 pm »
Le modèle pour moteur avec L298 est celui de Deek-Robot.
Le principal problème est qu'on ne peut pas dépasser 12V sous peine de cramer l'Arduino, ou alors il faut isoler Vin et ajouter un régulateur 8-9V externe.
Pour les pins de commande des ponts en H, ça peut s'adapter facilement à DCCpp.
La mesure de courant fonctionne sur A0 et A1

Voici un texte qui décrit bien le produit :
The NANO Motor Shield is based on the L298P, which is a dual full-bridge driver designed to drive inductive loads such as relays, solenoids, DC and stepping motors. It lets you drive two DC motors with your Arduino NANO board, controlling the speed and direction of each one independently. You can also measure the motor current absorption of each motor, among other features.
   •   You can find in the Getting Started section all the information you need to configure your board, use the Arduino Software (IDE), and start tinker with coding and electronics.
Technical specs
Operating Voltage
5V to 12V
Motor controller
L298P, Drives 2 DC motors or 1 stepper motor
Max current
2A per channel or 4A max (with external power supply)
Current sensing
1.65V/A
Free running stop and brake function
 
Power

The NANO Motor Shield must be powered only by an external power supply. Because the L298 IC mounted on the shield has two separate power connections, one for the logic and one for the motor supply driver. The required motor current often exceeds the maximum USB current rating.
External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the Arduino's board power jack on which the motor shield is mounted or by connecting the wires that lead the power supply to the Vin and GND screw terminals, taking care to respect the polarities.
To avoid possible damage to the Arduino board on which the shield is mounted, we reccomend using an external power supply that provides a voltage between 7 and 12V. If your motor require more than 9V we recommend that you separate the power lines of the shield and the Arduino board on which the shield is mounted. This is possible by cutting the "Vin Connect" jumper placed on the back side of the shield. The absolute limit for the Vin at the screw terminals is 18V.
The shield can supply 2 amperes per channel, for a total of 4 amperes maximum. 

Input and Output

This shield has two separate channels, called A and B, that each use 4 of the Arduino pins to drive or sense the motor. In total there are 8 pins in use on this shield. You can use each channel separately to drive two DC motors or combine them to drive one bipolar stepper motor. The shield's pins, divided by channel are shown in the table below: 


Functionpins per Ch. Apins per Ch. B
Direction D12 D13
PWMD3D11
BrakeD9D8
Current senseA0A1


If you don't need the Brake and the Current Sensing and you also need more pins for your application you can disable this features by cutting the respective jumpers on the back side of the shield. 

Motors Connection

Brushed DC motor. You can drive two Brushed DC motors by connecting the two wires of each one in the (+) and (-) screw terminals for each channel A and B. In this way you can control its direction by setting HIGH or LOW the DIR A and DIR B pins, you can control the speed by varying the PWM A and PWM B duty cycle values. The Brake A and Brake B pins, if set HIGH, will effectively brake the DC motors rather than let them slow down by cutting the power. You can measure the current going through the DC motor by reading the SNS0 and SNS1 pins. On each channel will be a voltage proportional to the measured current, which can be read as a normal analog input, through the function analogRead() on the analog input A0 and A1. For your convenience it is calibrated to be 3.3V when the channel is delivering its maximum possible current, that is 2A.
« Modifié: novembre 09, 2020, 06:07:31 pm par Dominique »
Cordialement,
Dominique

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : Centrale dcc minimaliste
« Réponse #12 le: novembre 09, 2020, 07:47:48 pm »

après les 2 A et même 4 j'y crois pas sans refroidissement efficace.


au prix où c'est, on peut être tenté de tester la OVERTEMPERATURE PROTECTION

les 4 A sont pour le cas où on met les deux ponts en parallèle.

Si on se limite à 2A et qu'on se réfère à la fiche technique, on fait le calcul suivant :

2A x 3.7V (chute tension typique) x 13°C / W (Rth / ambiance du boitier PowerSO20) = 96.2°C

Ce qui en cette saison devrait permettre de ne pas dépasser le Maximum Absolute Rating de la jonction de 130°C

Mais je ferais plus confiance au shield UNO avec le L298 en boitier MultiWatt15.

Le shield Nano semble faire 110 mm de long, pas très facile à loger (par rapport aux 75x50mm du UNO)

Donc on ne devrait pas avoir trop de problèmes de ce coté pour programmer les CV avec les pics de 60mA de la NMRA.

Effectivement, pas question d'atteindre les 4A avec ce boitier. Mais pourquoi pas avec les 3°C (jonction-boitier) du boitier MultiWatt15 : tout dépend du radiateur et/ou du ventilateur qu'on y met.

Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3013
  • 100% Arduino et N
    • Voir le profil
Re : Re : Centrale dcc minimaliste
« Réponse #13 le: novembre 10, 2020, 08:58:38 am »

Dans une commande qu est ce qui fais que c est envoyé sur la voie de programmation ou sur la voie principale ?

Ce qui vient directement après < ?


Il faudrait regarder la doc du protocole DCC++

https://github.com/DccPlusPlus/BaseStation/wiki/Commands-for-DCCpp-BaseStation
Et en français :
https://www.locoduino.org/spip.php?article182
C’est la lettre après < qui conditionne le choix de la voie.

Par exemple:
"w" pour programmer un CV sur la voie principale en écriture seule sans vérification (commande DCC)
"b" pour programmer un bit particulier d’un CV sur la voie principale en écriture seule sans vérification (commande DCC)
"W" pour programmer un CV sur la voie de programmation avec vérification donc réponse du décodeur (commande DCC)
"B" pour programmer un bit particulier d’un CV sur la voie de programmation avec vérification donc réponse du décodeur (commande DCC)
"R" pour lire un CV sur la voie de programmation avec réponse du décodeur évidemment (commande DCC)

Et surtout, il y en a d’autres en plus avec la bibliothèque DCCpp !

Il y a tout ce qu’il faut sur Locoduino  ;D
On ne le répète pas assez.
« Modifié: novembre 10, 2020, 09:09:15 am par Dominique »
Cordialement,
Dominique

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Centrale dcc minimaliste
« Réponse #14 le: novembre 10, 2020, 11:34:16 am »
On sait, on sait, la pédagogie est à base de répétition,

élève jfs59, vous nous copierez 10 fois (soyons magnanimes, avec Word, ça reste raisonnable) * DCCpp commands.docx (réponse #2)

Pas adepte tant que ça du discover, learn and grow ?

A noter que Greg Bermann dans sa grande clairvoyance a prévu des commandes de programmation qui ne s’exécutent que sur la voie de programmation. Ce qui évite dans un club de voir toutes les locos se retrouver avec une adresse identique. Ce qui même un 1er avril ne fait pas rire.
Cordialement