Station de commande numérique DCC de modélisme ferroviaire Arduino et application gratuite
Composants et fournitures
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 2 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 |
Applications et services en ligne
| ||||
|
À propos de ce projet
En quoi ce système est-il différent ?
Un circuit électronique très simple fournit le signal DCC et l'alimentation de la piste, mais l'application fait le vrai travail ! L'ordinateur de votre téléphone est utilisé au maximum en construisant les codes nécessaires pour former chaque paquet d'instructions, simplifiant ainsi le travail du contrôleur Arduino !
Mise à jour du 16 août 2019 :sortie d'une nouvelle application améliorée - avec possibilité de lire/écrire les CV 1 à 255
Cette version de l'application coûte 5 £ hors taxes et disponible sur le Google Play Store.
Mise à jour du 18 mai 2019 :sortie d'une nouvelle application améliorée - jusqu'à 28 fonctions avec des titres modifiables, une visibilité et des options momentanées. Contrôlez jusqu'à 4 locomotives à la fois avec des barres de vitesse sur l'écran. Cette version de l'application coûte 3 £ plus taxes et disponible sur le Google Play Store.
Mise à jour du 17 février 2019 :Vous devrez peut-être modifier le module Bluetooth HC-06 pour étendre sa portée de réception. J'ai ajouté un fil de cuivre massif (issu du fil de terre secteur) de 31,2 mm de longueur (1/4 de longueur d'onde pour 2,4 GHz). Voir la photo ci-jointe à l'étape 2.
Mise à jour du 29 janvier 2019 :Ajout d'une option momentanée sur F2 et F3 pour les sons de klaxon Vitesse maximale prédéfinie pour chaque locoC'est la station de commande DCC la plus efficace possible à construire. Aucun autre système ne peut faire autant avec si peu de composants. Une station de commande DCC entièrement fonctionnelle et facile à assembler avec PCB disponible sur eBay et ne nécessitant que quelques pièces. L'application « LocoMotive » est conçue pour fonctionner sur les téléphones Android exécutant la version 4.1 et supérieure . Pas besoin d'acheter des systèmes propriétaires, il s'agit d'une unité autonome exploitée par une application gratuite appelée « LocoMotive » Fonctionne avec des décodeurs conformes à la NMRA. Ce système compile les paquets DCC opérationnels au sein de l'application qui sont envoyés à l'interface Arduino pour être combinés avec les signaux d'horloge DCC. Achetez ce PCB sur eBay.Obtenez l'application gratuite LocoMotive sur Google Play Store.Les fonctionnalités incluent :
- Contrôle de 1 à 20 locomotives
- Idéal pour les mises en page de petite à moyenne taille
- Une charge de 2 A entraîne jusqu'à 16 locomotives OO/HO à l'aide d'un pont en H spécifié
- Ajoutez un pont en h compatible à courant plus élevé pour étendre la capacité de charge
- Protection contre les courts-circuits
- Suppression automatique de surintensité, réglable en code Arduino
- Lumières et direction
- Fonctions 1 à 8
- Modifier les noms de fonction, la visibilité et l'action momentanée
- Aiguillage / aiguillages / accessoires exploite jusqu'à 8 paires de sorties
- Modifier les noms des aiguillages
- Nom personnalisé de vos locomotives et vitesse maximale définie pour chacune
- Programmation de l'adresse de la locomotive CV1
- Lire/écrire les CV 1 à 255
- Ajoutez vos propres adresses d'accessoires
- Choisissez une source d'alimentation CC adaptée à l'échelle utilisée (Z/N/OO/HO/O/G) 12 v à 20 v
Suite à des travaux antérieurs sur les systèmes sans fil DCC, j'ai développé une station de commande Bluetooth liée à un circuit récepteur basé sur Arduino avec un module HC-06 BT et un pilote de moteur à pont en H LMD18200 délivrant 2 ampères.
Le coût global des pièces est d'environ 20 £ avec les pièces achetées sur eBay.
Étape 1 : esquisse Arduino
Le croquis complet est joint. Cette partie est la boucle et le code du récepteur de données. L'application Android envoie un paquet complet au récepteur et est décodée ici en un tableau de données. Selon que 3 ou 4 octets sont reçus, le code générera le format de paquet DCC correct pour la voie ferrée.
boucle vide() {if(bluetooth.available()> 0); {inString =bluetooth.readStringUntil('\n');}if (inString.substring(0, 1)=="D") {string();}delay(20);}
La chaîne () void sépare ensuite les données de la chaîne de texte reçue et place chaque instruction dans sa position appropriée dans le paquet DCC.
Par exemple :
Une chaîne de texte reçue de 'DD, 3, 63, 12, 48,' se traduit par un paquet Speed de 4 octets de 8 bits chacun :
DD =message IDByte :[1] [2] [3] [4] Décimal :[3] [63] [12] [48] Binaire :[0000 0011] [0001 1111] [0000 1100] [0001 1000] Action :[Loco 3] [speed step] [ loco speed] [ XOR data check]
Une chaîne de texte reçue de 'DD, 1, 129, 128, ' se traduit par un paquet de fonction de 3 octets de 8 bits chacun :Décimal :[1] [129] [128] Binaire :[0000 0001] [1000 0001] [1000 0000] Action :[Loco 1] [ F1 activé] [XOR data check]
Pour plus d'informations sur la norme de paquet NMRA, consultez :https://www.nmra.org/sites/default/files/s-9.2.1_2...
s-9.2.1_2012_07.pdfLe LMD nécessite le signal DCC sur la broche DIR et la broche PWM maintenue HAUTE.
command_station_bluetooth_oct_2018.ino
Étape 2 : Schéma du circuit de frittage
L'Arduino Pro Mini reçoit les données Bluetooth via le module HC-06. L'Arduino génère les cycles d'horloge standard NMRA des données au format paquet. Les données reçues interrompent la séquence lorsque de nouvelles données sont reçues et le paquet DCC est mis à jour pour envoyer des instructions aux voies ferrées.
Liste des pièces requises :
PCB disponible sur eBay.
1 sur Arduino Pro Mini Atmega328P 5V/16M eBay
1 sur eBay LMD18200T pont en H
1 module Bluetooth HC-06 eBay
1 résistance à film métallique 0,1 ohm 2W 0,1R 2 watts (11,5 mm x 4,5 mm) eBay
3 sur le condensateur 0.1uf eBay
2 de 10kΩ de résistance eBay
1 hors condensateur 10uf 25v; eBay
1 sur condensateur 220uf 16v; eBay
1 sur Phoenix Contact MKDS 1/2-3, 5 Bornier PCB à vis 2 voies 13,5A 200V 3,5 mm eBay
1 sur 4,7kΩ de résistance eBay
1 régulateur de tension positive CV L7805 IC eBay
1 bande de broches femelles à 4 broches pour bord d'en-tête 0,1 "2,54 mm eBay
2 bandes de broches femelles à 12 broches pour bord d'en-tête 0,1 "2,54 mm eBay
1 bornier à vis universel PCB 2,54 mm à 6 broches eBay
1 diode Zener 3,6 V ; 0.5W 1N4732A eBay
Fil
Alimentation :pour les configurations OO/HO, utilisez une alimentation CC 14v (par exemple, un chargeur pour ordinateur portable d'eBay). Par exemple, cela fournit jusqu'à 2,5 ampères. Vérifiez la taille de la prise montée sur panneau requise pour s'adapter à la prise jack CC sur l'alimentation choisie pour ce projet. https://www.ebay.co.uk/itm/Samsung-AC-DC-Adapter-...
Pour étendre la portée du module HC-06 Bt, soudez un fil à l'extrémité de l'antenne du module. J'ai utilisé un fil de cuivre massif (provenant du fil de terre du secteur) de 31,2 mm de longueur (1/4 de longueur d'onde pour 2,4 GHz). Voir photo ci-dessus. Veuillez noter - les connexions HC-06 sont Rx (sur PCB) à Rx (sur module) et Tx à Tx. Veuillez noter que le fil d'antenne doit être recouvert d'une gaine pour éviter tout court-circuit accidentel avec d'autres composants.
Pour l'utilisation d'un module de pont en h LMD18200 (comme indiqué ci-dessus, il s'agit d'un module avec dissipateur thermique, etc.), j'ai ajouté des composants de détection de courant pour fournir une protection contre les problèmes de court-circuit ou de surcharge sur la voie ferrée, le schéma de circuit mis à jour et Arduino le code inclut maintenant la fonction de détection actuelle.
Le code limite le courant maximal à 2 ampères lorsqu'il est atteint, le pont en h LMD18200 est arrêté en appliquant un signal HAUT de D13 sur l'Arduino à l'entrée « frein » sur le pont en h.
L'utilisation d'une résistance de détection de courant de 0,1 ohm donne une plage d'entrée analogique de 0 à 200 mv sur la broche A0 du capteur Arduino pour une charge allant jusqu'à 2 ampères. Pour environ 5 mv par pas analogique, l'entrée (1023 pas ou divisions au total) donne 0 à 40 divisions ou 2 ampères / 40 =50 mA par division. La précision du courant mesuré est de 50 mA, mais nous protégeons le pont en h lorsque 2 ampères sont atteints. Le LMD18200 dispose également d'une protection intégrée contre la surchauffe en tant que sauvegarde.if(C>2000){ // 2 amps
Serial.println("Sur courant"); digitalWrite(13, ÉLEVÉ); }
La valeur du courant consommé est envoyée à l'application Android via Bluetooth toutes les secondes.void send_c(){t =millis() - lastmillis; if (t>=intervalle){ bluetooth.write(sensorValue); bluetooth.write('c'); lastmillis =millis(); } }
Étape 3 : application Android
Téléchargez l'application gratuite sur Google Play Store - 'LocoMotive'
Téléchargez l'application complète (5,99 £) sur Google Play Store - « LocoMotive DCC »
Des instructions sont jointes pour la version complète de l'application.
Code
- locomotive_dcc_sep19.ino
locomotive_dcc_sep19.inoArduino
Code ArduinoCustom parts and enclosures
Complete circuit within enclosureSchematics
Bluetooth receiver / H-Bridge amplifier circuit bluetooth_android_dcc_lmd18200_S8NTVsI4LY.fzzApp instructionsProcessus de fabrication
- MrRobot – Robotique compatible avec l'application mobile Ubuntu (Raspberry Pi et arduino impliqués)
- 6-Shooter :Station de mélange de boissons Arduino
- Dés numériques Arduino
- Contrôleur de jeu Arduino
- Animation LCD et jeux
- Chaussures intelligentes (laçage automatique et génération d'électricité)
- Sonar utilisant arduino et affichage lors du traitement de l'IDE
- Jeu Pixel Chaser
- Contrôle de la luminosité des LED à l'aide de Bolt et Arduino