Sunday, September 30, 2018

Voici des documents qui indiquent le montage utilisé pour le réseau de démonstration.
L'un est un schéma des différents élément positionnés sur un plaque de plexiglas. l'autre montre les connections à réaliser (une ligne par connexion).


Le schéma :

Les connections :


Les cartes utilisées sont
- Un arduino uno ( sur ebay )
- Un afficheur Nokia 510 ( sur ebay )
- un module radio NRF24L01P ( sur ebay ) - de préférence ceux avec un circuit imprimé vert et un connecteur 10 points, ceux avec un circuit imprimé noir marchent aussi mais semblent avoir une moins bonne portée. Le connecteur est à 8 points mais le brochage est très similaire. La masse est à côté du plus au lieu d'être de l'autre côté.
- un clavier 4x4  : par exemple
- une carte PCF8574 : ici - vous pouvez facilement contrôler des extensions avec ces cartes (aiguillages, feux), vous pouvez en rajouter 7 supplémentaires
- un controleur de moteur L298 : ici
- régulateur de tension à découpage : MP1584. Il ne va pas avoir à réguler une  forte charge mais il doit supporter en entrée les 18-20V dont on a besoin pour les voies HO. Il faut le régler à 3.3V pendant le montage - avant de connecter les autres composants.
- un buzzer : par exemple - il faut qu'il y ait un transistor de commande sur la plaque, on ne peut pas connecter directement un buzzer sur les pattes de l'arduino.
- un potentiomètre de 10KOhm A (linéaire) - faculatif mais permet de tester le circuit sans passer par la télécommande radio.
- une résistance de puissance (5W) de 0.22 Ohm - qui permet de détexter les "Ack" end DCC pour lire l'adresse des machines.
- une bloc d'alimentation de PC portable (typiquement 18-20V 3A) permet de fournir l'alimentation des voies en HO (ou 12V en N)

Voici quelques photos :

Avec un Arduino Uno :





Il est aussi possible d'utiliser un arduino Nano :

 

Pour une réalisation un peu plus compacte.


Une remarque importante : Le composant NRF24L01P ne supporte absolument pas le 5V - il est donc impératif de désactiver l'alimentation de la carte Arduino Uno ou Nano par la prise USB qui est à 5V.
Le régulateur 5V qui est sur les cartes Arduino n'est plus nécessaire car on utilise un régulateur externe à 3,3V.

Il faut donc enlever quelques composants sur le carte Arduino - en haut à droite :






Pour ceux qui auraient envie de s'équiper, je recommande Taiko 8586D.
C'est un plaisir de déssouder des composants CMS à l'air chaud...

Le code référencé dans l'article précédent tourne parfaitement sur cette carte et permet de tester l'ensemble de la carte une fois montée.

Dans les prochains articles, une description un peu plusprécises du cablâge électronique côté puissance.
Ensuite viendra un code plus simple que le réseau complet de démonstration qui pourra être utilisé plus facilement pour faire vos propres réalisations.

Sunday, May 20, 2018

Le réseau de démonstration du post précédent a servi de base à une formation sur l'Arduino dans le contexte du modélisme ferroviaire.

Les codes pour le contrôle du réseau et de la télécommande radio sont disponibles sur github : https://github.com/elcheapo

ArduinoLPT est le projet Arduino pour le réseau.

ArduinoLPT-remote est celui pour la télécommande radio.

Pour compiler ces projets, il faut utiliser platformio : http://docs.platformio.org/en/latest/core.html

La partie platformio Core (gratuite) est suffisante, on peut ensuite utiliser l'éditeur de son choix (eclipse, codeview ...)

Pour les impatients, les fichiers config.h des projets contiennent les informations pour le cablâge des cartes.
De nouveaux posts vont décrire  le montage.


Saturday, March 31, 2018

Après une longue abscence, voici une petite video qui montre un nouveau projet :



Après la "NanoStation" et la "Nanopro Remote", voici un projet qui se veut plus facile à approcher et à modifier. Le code est basé sur un projet Arduino - ce qui facilite la modification et l'adaptation à vos réseaux.

La carte de contrôle est basée sur un Arduino UNO avec un clavier / écran qui permet d'avoir une petite interface utilisateur (surtout quand il y a un problème ...)
Les signaux DCC sont générés par un module L298N - il permet aussi de travailler en analogique en générant un signal en PWM.
Les détecteurs de courant, les feux et les aiguillages sont contrôlés à travers un bus I2C qui permet d'avoir de nombreuses entrées / sorties sans avoir une forêt de cables ...
On a aussi une télécommande radio pour contrôler l'ensemble.

Au départ, on lit l'adresse DCC des locomotives sur une voie de programmation, puis la loco est conduite sur une portion de voie spécifique, une deuxième fois pour la deuxième loco. Ensuite, une petite télécommande radio (similaire à la nanopro remote) permet de contrôler la vitesse des locomotives sur le réseau.
Pour lire les CV en DCC, on utilise une petite résistance de 0.22 Ohm qui permet de détecter les "Acknowledge" quand on interroge la locomotive sur la voie de programmation.
La même résistance est utilisée pour s'assurer qu'on a pas de court circuit sur les voies.

Les détecteurs de courant permettent de suivre les locos sur chacun des segments de voie et permet de faire en sorte que les locomotives ne se rentrent pas dedans.

Des articles sur ce blog devraient apparaitre pour vous permettre de reproduire le système et de contrôler votre réseau avec ce système. Mettez un petit commentaire si vous êtes intéressé, ça me motivera à les écrire plus rapidement 😀.

Monday, October 17, 2016

Source code for Nanoproremote and Nanostation are available on github ...

This is long overdue, but the source code for the nanopro remote control and the nanostation is now available on github under GPL licence.

The reason it was not released earlier is that I don't consider that it is good enough to be released but since the hardware is public, I might as well release the code.

so here are the github link :

Nanoproremote : https://github.com/elcheapo/nanoproremote

Nanostation : https://github.com/elcheapo/nanostation

The workstation for this projects is a Debian Testing PC with an outdated version of Eclipse and the AVR plugin. The compiler is the avr-gcc from debian.
It should work under eclipse under windows with the avr-gcc from Atmel website.

I think I pushed all the history with it so you can see this is a spare time project and what a lousy programmer I am ...

Enjoy, modify,  improve ...






Saturday, April 18, 2015

Montage de la télécommande et de la mini Station

La mini centrale et sa télécommande radio


Un peu d'historique, cette mini centrale DCC a une grande soeur qui gère deux voies indépendantes et une gare d'échange avec trois voies de stockage. Mes collèges du club LPT m'ont suggéré de faire quelque chose de plus simple qui réponde à un cahier des charges très précis : pouvoir suivre son train le long du parcours en réglant sa vitesse.

L'autre critère est le prix, et oui, même pour sa passion, ça compte quand même et une certaine simplicité de montage (pas de circuit imprimé spécifique).

Quand c'est terminé cela donne :

La centrale

Nano Station vue côté cablage

Nano Statiopn vue côté composants

La télécommande radio

La télécommande côté composants
La télécommande et son boitier


Pour référence, voici la "grande soeur" :

Le côté "technique"

La partie visible



Donc, j'ai choisi des cartes Arduino pour réaliser cette télécommande. Un Arduino "Nano" pour la centrale et un Arduino "Nano Pro" (sans l'interface USB - Série) pour la télécommande radio.
Pour le module radio, on trouve assez facilement des modules basés sur un circuit Nordic Semiconductor NRF24L01P qui convient parfaitement à cette application (NRF24L01P).
Pour la partie puissance de la centrale, on utilise un contrôleur de moteur L298,
On utilise aussi un régulateur à découpage qui abaisse la tension de voie (12V en N, 18-20V en HO) à 3,3V pour alimenter la partie logique.

Ces modules sont faciles à trouver (voir Ebay par exemple). Pour le montage, c'est du wrapping, choix sans doute discutable vu l'aspect "spaghetti" du résultat mais qui peut se maîtriser rapidement.
L'outil est abordable WSU30 et peux être ré-utilisé pour d'autres montages.

Pour la programmation des chip sur les cartes Arduino, on pourrait utiliser le téléchargement classique mais il s'est révélé difficile à faire marcher sur l'arduino mini pro ... On utilise donc un USBASP qui programme directement le chip atmega32 sur la carte.

Les schémas des cartes

Voici les schémas électroniques des deux cartes

La télécommande :

La Mini Station


Montage de la télécommande radio

Ici, on utilise donc les éléments suivants :



La plaque de montage se trouve facilement sur ebay (rechercher : Circuit Board 5x7cm)
Le potentiomètres à point milieu sont disponible chez RS sous la référence 729-3426

Vérifier que la carte rentre bien dans le boitier que vous souhaiter utiliser, sinon coupez la carte aux dimensions requises.

Sur l'arduino Pro Nano, dessouder le régulateur 3/5V, il n'est pas nécessaire puisqu'on alimentera directement la carte avec 2 piles AAA 1.5V. Sinon, il consomme du courant inutilement. En clair :
Sans le régulateur (entre les deux carrés jaunes)

Avec le régulateur ...


A ce stade, il faut programmer le code dans la carte avec l'USBASP - sinon, c'est plus délicat avec les pattes wrappées ...

Positionnez l'Arduino Nano Pro et le NRF24L01P comme indiqué sur la photo, souder deux pattes diamétralement opposées de manière à maintenir mécaniquement les cartes en position.

Les modules positionnés, à gauche la masse (4 points), a droite le +3V (3 points)


Vue de la face arrière avec les connections


Souder deux barrettes de 3 ou 4 positions pour la masse et le + 3V d'alimentation. Soudez ces barrettes de manière à ce que toutes les pattes soient reliées entre elles. Ensuite toutes les alimentations et les masses sont reliées directement en "étoile" sur ces pins.

Cablez les différentes connections selon le schéma et la liste suivante :


Si vous avez positionnez les modules comme indiqué sur la photo, le schéma précédent vous montre exactement la position des pins et la liste de connections à faire.
Les connections sur les deux potentiomètres P1 et P2 doivent être soudées.

Connecter l'alimentation avec les 2 piles 1.5V aux bornes d'alimentation a travers un interrupteur.

Remarque : pour limiter la consommation des potentiomètres, ils ne sont alimentés que pendant un temps très court au moment de la mesure. C'est pour cette raison que deux pins sont connectées sur les pins I/O du microcontrôleur.

Vérifier que la diode LED s'allume sur la carte Arduino quand vous alimentez la carte ...

Montage de la Mini Station

Les éléments suivants sont utilisés :




Il y a une chose importante pour l'alimentation électrique de ce module : le courant de voie 12V en N ou 18 V en HO alimente le L298 et ressort vers les voies en analogique ou bien en digital, par contre la partie logique : Arduino Nano, NRF24L01P, et la partie interface du L298 sont alimenté  à travers le régulateur. Il faut donc régler la tension de sortie le régulateur à 3,3V avant de connecter le reste de la logique - le NRF24L01P ne supporte pas de dépasser 3,7 V.
Remarque : le L298D VSS devrait être au minimum de 4,5V mais il fonctionne correctement à 3,3V. On peut donc déconnecter le régulateur 5V qui est sure la carte L298D en enlevant le jumper. Ceci permet d'avoir une tension de 18/20V en entrée sans problème de surchauffe du régulateur 5V.

Pour la même raison, il faut désactiver l'alimentation à partir de la prise USB en enlevant la diode indiquée :

CORRECTION : Le composant à enlever n'est pas celui indiqué par la flèche, mais celui qui se trouve un peu plus haut sur la gauche, à droite de la capacité en jaune ...


Pour le module régulateur, il faut souder des pins sur les entrées et sortie de manière à pouvoir le positionner sur la carte.

On peut utiliser plusieurs type de régulateurs (cherchez step-down regulator sur ebay...)

En voici quelques types :


On utilise les deux plus petits dans les montages de cette page.

Pour l'alimentation des voies, en N, il suffit de trouver une alimentation 12V - 1A, pour le HO, un bloc alimentation de PC portable fournit du 19V 3-4A qui suffit largement.

On trouve plusieurs type de modules avec le L298D, voici 2 exemples :



Celui du haut est "le petit", un peu moins cher et plus compact. Celui du dessous est "le grand" mais il a des LED qui permettent de voir rapidement "si ça marche".

Sur le module L298D, il faut déconnecter le régulateur 5V en enlevant un jumper, sur le "petit", ce jumper se trouve derrière le domino à trois vis. Sur "le grand", il s'appelle 5V_EN en bas à droite sur la photo.
Sur le "grand" module, il ne faut garder que les jumpers J8/J9, les quatres jumpers J1,J2,J3 et J4 ne doivent pas être connectés

Découper la carte à trou de manière à pouvoir connecter le module L298D facilement, voir la photo ci dessus.

Enlever la partie isolante des picots sur le module L298D - de manière à avoir une meilleure tenue mécanique entre les cartes.
 
Souder la carte à trous sur les pattes du module L298D :




Soudez ensuite des picots sur l'entrée et la sortie du régulateur :


Régler les régulateur en connectant une alimentation (12V par exemple) sur l'entrée et ajuster le potentiomètre pour avoir une tension de sortie comprise entre 3,2V et 3,5V.




Montez le régulateur sur la carte et souder les entrées sorties, mettre deux rangées de picots en face des sorties du régulateur, de manière à faire une distribution d'alimentation. Il faut souder toutes les pattes ensemble.

Avec les deux options pour le L298D et les régulateurs

De l'autre coté, avec le + et le - bien repérés ...
Cette disposition est arbitraire mais elle permet de garder le connecteur 6 point accessible pour la programmation quand le circuit est dans le boitier.

On rajoute un peu de colle thermofusible entre les deux cartes pour améliorer la solidité de l'ensemble ...

On positionne ensuite l'arduino Nano et le NRF24L01P, puis on soude deux extrémités opposées pour maintenit la carte en place. (ne soudez pas toutes les pattes, cela rend plus difficile le wrapping.

Avec le petit module L298D

Avec le grand module L298D

On connecte l'alimentation générale à l'entré du régulateur, le "VMS" se connecte sur l'entrée (+) et le GND sur l'entrée (-).

Pour le petit module L298D, on peut procéder de la sorte :


Sur la photo ci dessus, la sortie du régulateur en 3V est connectée sur l'entrée +5V du module L298D, c'est l'alimentation de la partie logique du L298D.
Dans le "grand" module L298D, l'alimentation se fait par un fil wrappé.


Pour le cablage en wrapping, il faut suivre le schéma suivant :

Pour le petit L298D, les pins GND et +5V ne sont pas présentes.

Pour le grand L298D :
  •  la sortie du régulateur 3.3V doit être connectée au +5V du L298D. 
  • La masse est déjà connectée par un fil en dessous dela plitine, il ne faut pas la reconnecter.
Si vous avez respecté le positionnement des modules, le schéma ci dessus vous permet d'identifié facilement les connections à faire et la position des pattes concernées.

Test final des cartes Télécommande / Mini Station

Si possible, connecter une alimentation stabilisée à 12V, limitée en courant sur l'alimentation de la centrale, vérifiez que la fumée reste bien dans les composants électroniques :-)
Un LED rouge doit s'allumer sur l'arduino nano pour indiquer qu'il est alimenté. La carte ne doit pas consommer plus de 50 mA.

Connectez ensuite un cable micro-USB vers un PC et utilisez un programme "Terminal" (hyperterminal sur windows XP, Téléchargez Putty sur des PC plus récents, minicom sous linux)
identifiez le port série sur le gestionnaire de périphériques, puis démarrer le programme Terminal sur le port série correspondant à à la vitesse 115000 Bauds /  8 bits / Sans parité.
Appuyer sur le bouton Reset de la carte Arduino Nano. Vous devez voir apparaitre les messages suivants :

Mini Station

Radio Ok

TTTTT (T une fois par seconde)

Futurs développements

Au jour d'aujourd'hui, ces ensembles ont été construit à quelques exemplaires pour valider la partie électronique. Les premiers essais se sont principalement fait en analogique mais le logiciel de la station supporte aussi du DCC digital - très simplifié pour l'instant, un potentiomètre contrôle la locomotive à l'adresse 3 et l'autre, la locomotive à l'adresse 4 en DCC - les phares des machines sont activés ...
La partie station a déjà été détournée de sa fonction pour contrôler une locomotive de jardin ...

La partie électronique de la station est assez puissante pour se supporter le protocole LENZ depuis JMRA.

Il doit être possible de faire une lecture des CV en DCC en rajoutant une résistance ...

Le logiciel de la télécommande et de la station ne sont pas directement téléchargeables mais ils sont sous licence GPL, contactez moi si vous êtes intéressés. Pour l'instant, j'aurais un peu honte de le montrer publiquement :-)

Conclusion

Certains d'entre vous l'auront sans doute remarqué, je suis sans doute plus doué en électronique que pour la réalisation de pages WEB ;-) n'hésitez pas à poser des questions si ce sujet vous intéresse ou si quelque chose n'est pas très clair.
Je peux être contacté à cette adresse : francois.lorrain@gmail.com, merci d'indiquer "elcheapo DCC" dans le sujet ...