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.


Sujets - msport

Pages: [1] 2 3
1
Présentez vous ! / LM2596 step down
« le: mars 02, 2020, 02:55:12 pm »
Un participant timide poste sur le site éditorial une question concernant JMRI de vraiment très loin :

Bonjour Je me heurte d’entrée a un problème. J’ai commandé 3 HW-316 V6 pour faire baisser la tension de mon alim 15v 7a vers le 9v pour alimenter mon Arduino .
Je fais bien afficher 9v sur le digit en sortie … mais la tension en sortie reste du 15V (avec mon voltmetre)

… j’espère que c’est moi qui n’est pas saisi quelques chose, parce que si c’est le matériel qui est défaillant , ca fait 12€ de foutu. :(
une idée ?


http://locoduino.org/spip.php?article253#forum4500

C’est pareil pour les trois ?

si les 15V s'affichent avec la LED de gauche (IN) allumée, c'est normal, c'est la tension d'entrée qui s'affiche. Pour avoir la tension de sortie, c'est le bouton de droite sur lequel il faut appuyer.
Maintenant si c'est pas ça, il suffit d'en racheter, c'est 2€ sur eBay :
https://www.ebay.fr/itm/LM2596-DC-to-DC-Buck-Step-Down-Converter-Module-Voltage-Regulator-Red-Voltmeter/182148004619

Mode d'emploi en anglais :

2
Vos projets / Base station et motor shield Digitalisation CC72000
« le: janvier 26, 2020, 06:30:18 pm »
@ Eric : Pour ne pas encombrer le site éditorial, je vous propose de poursuivre ici :

Pour mesurer ce qui arrive sur les rails, mettez un petit pont redresseur coté alternatif sur les rails et coté continu sur votre multimètre (tension).
Comme le signal est carré, vous aurez pratiquement la tension coté entrée du shield (donc moins les pertes dans les transistors du pont en H et dans le pont redresseur )

Avec une seule loco, l'ampérage de l'alimentation n'a pas d'incidence, le montage prendra ce dont il a besoin (qq centaines de mA)

3
Vos projets / La bibliothèque SlowMotionServo en 8 bits pour ATTiny
« le: décembre 17, 2019, 10:37:05 pm »
Suite à la discussion http://locoduino.org/spip.php?article159#forum4306 visant à utiliser la bibliothèque SlowMotionServo pour les ATTiny donc en 8 bits et aux indications de Jean-Luc, je l'ai copiée la modifiant et renommée en SlowMotionServo8Bit pour éviter l’incompatibilité de l'original modifié avec les Arduino.
A tester, mais elle compile avec l'exemple Remise.ino (modifié avec Servo8Bit.h )

4
@ marchandmarthe207 qui repose sa question par messagerie privée :
Bonjour,
    La couleur des fils de branchement entre Arduino Mega et L9110s ne sont pas les mêmes avec les photos. La photo Arduino Mega Shield Ethernet et L9110s les couleurs des fils ne correspondent pas. Doit-on faire comme le schéma.
    Le module ajustable de courant avec entrée et sortie.
    Qu’elle est le voltage à paramétrer en entrée (IN) et en sortie (OUT).
    Merci.
    Cordialement,


Bien évidemment, c'est le schéma qui prime.
Le module abaisseur figure sous forme d'un régulateur qui abaisse le 15 V (N) ou 18 V (HO) à 9V pour l'Arduino.

5
http://locoduino.org/spip.php?article16#forum4097

Re bonjour,
je pense que nous nous sommes pas compris sur les question précédente :).
Je répondre à moi même sur la question 1

1-Non pour le transformateur ( halogène) 12v sec max 4.9A 20-60W. Car les transformateurs halogène sont en sortie AC.Cela n’a pas fonctionné. Je débute , j’apprend, si ça peut servir à d’autre.

2-je ne n’ai pas compris le sens de ta réponse au sujet de l’ampérage. "qui peut le plus peut le moins"
Si j’utilise un transfo. 12v de 5A pour un Arduino qui n’a besoin que de 12v et 350mA. Cela à t’il une incidence ? oui/réponse A, non/réponse B et C/réponse flou :)

2 Bis Et pour un moteur DC ?

3- je voulais dériver 4 câbles de ma sortie transfo. 2 pour l’arduino +- alimentation, et 2 +- qui vont directement alimenter autre chose. Evidemment en passant par pont H, relais, Mosfet adapté… Mais cela n’est ca c’est autre chose.
L’électricité étant complètement flou je me demande si je n’ai pas une perte quelque part ( intensité, puissance , tension) en procédant ainsi.
Je ne veut pas tout casser.

Merci d’avance Duinocalement.



Bonsoir,
1. Effectivement, je n'avais pas pris en compte votre indication halogène. Heureusement que vous vous êtes informé par ailleurs. Ma réponse aurait été correcte SI vous aviez une alimentation pour LED. En tout état de cause suivez les tutos sur l'électricité / électronique de base. Il faut donc un pont redresseur et un condensateur en plus.
2. B, mais revoir 1.
2 bis idem
3. l'Arduino et les modules avec pont en H doivent avoir une masse en commun alors que la partie puissance doit avoir un potentiel libre. Vous devez utiliser un petit bloc secteur pour l’Arduino.
Enfin, votre projet ne concernant pas le ferroviaire, ma contribution s'arrêtera ici.
Cordialement

6
Débuter / Installation de l’IDE Arduino par Marchand Patrick
« le: octobre 05, 2019, 09:42:15 pm »
Bonsoir Patrick Marchand,
ce type de dépannage n'apporte rien au site éditorial.
Je vous suggère de venir ici au forum, rubrique débuter, faisant référence à l'article :
http://locoduino.org/spip.php?article15#forum4040
Ce qui vous permettra de joindre des copies d'écran.
Car on ne sait pas où vous en êtes de votre installation.
Avez vous la fenêtre de l'IDE ?
Avez vous pu sélectionner la carte MEGA ?
Avez vous le port COM de votre carte dans la liste des ports ?
Avez vous pu "Récupérer les infos de la carte" ?
Merci de votre aide.

7
Bonjour,
suite à l'article de Christian, (merci pour le partage) quelques éléments complémentaires (et un appel à l'optimisation)
http://locoduino.org/spip.php?article255

J'ai mis en œuvre ce type d'écran en provenance d'eBay pour un TCO :

- le fond d'écran est une capture d'écran du réseau dessiné sous CDMrail, sauvegardé en bmp. Je l'affiche depuis la carte SD.
En superposition, des boutons qui ont pour but de changer la position des aiguillages (toggle).
Le problème est le sketch d'affichage non optimisé, qui limite le nombre de boutons à 9.
D'où le traitement des commandes dans un deuxième Arduino connecté par un lien série, lui-même envoyant ses ordres à la BaseStation par module radio HC-12C.
La mise en boite a permis l'intégration d'une batterie, d'un module chargeur et d'un module 3,7V->5V, interrupteur et connecteur de charge.

Le lien vers Dropbox :
https://www.dropbox.com/sh/br711rznbz1gsp0/AAA6_8ATumpN_wTLTU0fOW1ia?dl=0

8
J'ai tenté d'apporter une réponse à la question de Marius mais mon message n'a pas été pris en compte, je les poste ici :
http://www.locoduino.org/spip.php?article187#forum3079
Bonjour Christophe, pardon my French :) Pourriez-vous fournir des détails sur l’utilisation de VNH5019 pour dcc ++ ? Ce Shield nécessite 2 entrées directionnelles (MxINA/B) alors que dcc ++ génère un seul signal binaire (DIR). Avez-vous réussi à le faire fonctionner par programmation sans ajouter d’onduleur matériel ?

I suggest to our english speakers friends to post in english and provide a french translation with it.
Je suggère à nos amis anglophones de poster en anglais et de fournir une traduction française avec.

It seems to me that the Arduino shield motor with L298 does not have inverted DIR inputs and that the Base Station sketch provides them. It could be simple to adapt the numbers of the outputs.

Otherwise we take the idea of the DAVE BODNAR schema with a simple inverter transistor:


Il me semble que shield motor Arduino à L298 ne dispose pas d'entrées DIR inversées et que le sketch Base Station les fournit. Il suffirait donc d'adapter les numéros des sorties.

Sinon on peut s'inspirer du montage de DAVE BODNAR avec un simple transistor inverseur (inverseur = inverter, # onduleur) :

http://www.trainelectronics.com/DCC_Arduino/DCC_Booster/
https://www.arduino.cc/en/uploads/Main/arduino_MotorShield_Rev3-schematic.pdf


9
Vos projets / Réseau éphémère
« le: juillet 28, 2019, 12:32:56 am »
Sur, Dominique, le N ça se mérite !

Oui Michel,

Il m’arrive de loucher vers le HO qui offre de beaux détails et de belles machines (celles de Christophe sont remarquables), mais les dimensions du réseau permettent mal des circulations attrayantes avec toute la richesse des équipements (actionneurs et rétro) que vont permettre les projets Locoduino (satellites, bus Can, etc..). On va essayer de clarifier nos visions et, bien-sur, on est à l'écoute de tes propositions et celles de tous  aussi.

Strabisme réciproque partagé.

Table de la salle à manger ouverte pour 8 jours pour le petit-fils en vacances. (1,20mx1,90m, version de réseau calquée sur celle du tiroir sous son lit IKEA en IDF). Conduite manuelle, pas de canton, pas de signalisation. Tout ce qui est possible en DIY. Transmission radio par module HC12-C donc multi manettes (locos, fonctions, accessoires, aiguillages, pont, tout avec DCC comme bus). Merci à Greg Berman, Dave Bodnar et Rudy Boer.

PS : je n'oublie pas l'article sur les décodeurs, c'est ici l'occasion de valider les solutions et éviter de raconter des bêtises.

10
Vos projets / Shield TFT 2,4" sur UNO
« le: mai 22, 2019, 10:23:03 pm »
Bonsoir,je tente de mettre en œuvre cet écran tactile TFT 2.4" 320x240 ILI2940 dont les exemples fournis dans MCUFRIEND_kbv fonctionnent.
https://www.ebay.fr/itm/2-4-TFT-UNO-R3-LCD-Shield-Touch-Panel-Module-TF-Reader-For-Arduino-SD/153128651723
Il utilise la bibliothèque MCUFRIEND_kbv :
https://github.com/prenticedavid/MCUFRIEND_kbv
Je bute sur l'exemple multi boutons peut être parce qu'il doit être personnalisé.
Le button_simple.ino est OK
Le button_list.ino ci-dessous ne compile pas :
button_list:81:20: error: 'Adafruit_GFX_Button' was not declared in this scope
 bool update_button(Adafruit_GFX_Button *b, bool down)
                    ^
button_list:81:41: error: 'b' was not declared in this scope
A priori Adafruit_GFX contient la classe Adafruit_GFX_Button
Ma maitrise toute relative du C ne va pas au delà et une aide serait la bienvenue.
Merci.

/* an alternative approach.   swap the #if 1 / 0 values to try it
 *
 */
#if 1

#include <Adafruit_GFX.h>
#include <MCUFRIEND_kbv.h>
MCUFRIEND_kbv tft;
#include <TouchScreen.h>
#define MINPRESSURE 200
#define MAXPRESSURE 1000

// ALL Touch panels and wiring is DIFFERENT
// copy-paste results from TouchScreen_Calibr_native.ino
const int XP = 6, XM = A2, YP = A1, YM = 7; //ID=0x9341
const int TS_LEFT = 907, TS_RT = 136, TS_TOP = 942, TS_BOT = 139;

TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300);

Adafruit_GFX_Button on_btn, off_btn;

int pixel_x, pixel_y;     //Touch_getXY() updates global vars
bool Touch_getXY(void)
{
    TSPoint p = ts.getPoint();
    pinMode(YP, OUTPUT);      //restore shared pins
    pinMode(XM, OUTPUT);
    digitalWrite(YP, HIGH);   //because TFT control pins
    digitalWrite(XM, HIGH);
    bool pressed = (p.z > MINPRESSURE && p.z < MAXPRESSURE);
    if (pressed) {
        pixel_x = map(p.x, TS_LEFT, TS_RT, 0, tft.width()); //.kbv makes sense to me
        pixel_y = map(p.y, TS_TOP, TS_BOT, 0, tft.height());
    }
    return pressed;
}

#define BLACK   0x0000
#define BLUE    0x001F
#define RED     0xF800
#define GREEN   0x07E0
#define CYAN    0x07FF
#define MAGENTA 0xF81F
#define YELLOW  0xFFE0
#define WHITE   0xFFFF

void setup(void)
{
    Serial.begin(9600);
    uint16_t ID = tft.readID();
    Serial.print("TFT ID = 0x");
    Serial.println(ID, HEX);
    Serial.println("Calibrate for your Touch Panel");
    if (ID == 0xD3D3) ID = 0x9486; // write-only shield
    tft.begin(ID);
    tft.setRotation(0);            //PORTRAIT
    tft.fillScreen(BLACK);
    on_btn.initButton(&tft,  60, 200, 100, 40, WHITE, CYAN, BLACK, "ON", 2);
    off_btn.initButton(&tft, 180, 200, 100, 40, WHITE, CYAN, BLACK, "OFF", 2);
    on_btn.drawButton(false);
    off_btn.drawButton(false);
    tft.fillRect(40, 80, 160, 80, RED);
}

/* 
 * updating multiple buttons from a list
 *
 * anything more than two buttons gets repetitive
 *
 * you can place button addresses in separate lists
 * e.g. for separate menu screens
 */

// Array of button addresses to behave like a list
Adafruit_GFX_Button *buttons[] = {&on_btn, &off_btn, NULL};

/* update the state of a button and redraw as reqd
 *
 * main program can use isPressed(), justPressed() etc
 */
bool update_button(Adafruit_GFX_Button *b, bool down)
{
    b->press(down && b->contains(pixel_x, pixel_y));
    if (b->justReleased())
        b->drawButton(false);
    if (b->justPressed())
        b->drawButton(true);
    return down;
}

/* most screens have different sets of buttons
 * life is easier if you process whole list in one go
 */
bool update_button_list(Adafruit_GFX_Button **pb)
{
    bool down = Touch_getXY();
    for (int i = 0 ; pb[i] != NULL; i++) {
        update_button(pb[i], down);
    }
    return down;
}

/* compare the simplicity of update_button_list()
 */
void loop(void)
{
    update_button_list(buttons);  //use helper function
    if (on_btn.justPressed()) {
        tft.fillRect(40, 80, 160, 80, GREEN);
    }
    if (off_btn.justPressed()) {
        tft.fillRect(40, 80, 160, 80, RED);
    }
}
#endif


11
Comme le site éditorial fait actuellement l'objet d'échanges sur le sujet, je voulais juste, en remerciement à l'auteur, signaler que j'avais réalisé son projet tel quel sans difficulté - si ce n'est la mise en boite (13x9x4,5cm) -
L'intérêt est en particulier de disposer d'une centrale mixte analogique et DCC.
A noter que pour une tension d’alimentation supérieure à 12V (un bloc secteur pour moi), une simple Zener évite la surchauffe du régulateur de l'Arduino. 

Edit : http://locoduino.org/spip.php?article224

12
Composants / Digispark Kickstarter Attiny85
« le: août 26, 2018, 12:04:09 pm »
Bonjour à tous,

suite à une demande qui m'a amené à l'animation BV de Dominique, http://forum.locoduino.org/index.php?topic=336.msg3235#msg3235
j'ai relu rapidement les fils sur ATTiny85 et particulièrement les messages consacrés au Digispark Kickstarter.
https://www.ebay.fr/itm/Digispark-Kickstarter-Attiny85-USB-Development-Board-for-arduino-NEW/301924751212

J'ai l'impression qu'on n'est pas parvenu à le programmer par la prise USB. (mais via un UNO ou autre) Voir le fil Utilisation d'ATTiny85.
http://forum.locoduino.org/index.php?topic=256.msg2820#msg2820

Effectivement l'installation du driver est très bizarre et n'a rien à voir avec celle d'un port COM virtuel, ce qui est trompeur.

On trouve le driver sur le git :
https://github.com/digistump/DigistumpArduino/releases

On trouve un tuto détaillé sur youtube, mais les points importants sont subliminaux aux minutes 4:47 et 9:10 (sur 12:22)

Il rappelle que les "cartes" sont à installer via http://digistump.com/package_digistump_index.json (dans Préférences puis Gestionnaire de cartes)
Puis qu'il faut lancer DPinst64.exe directement (et non via les .bat qui plantent) pour un système x64. (le driver n'apparait que dans les périphériques cachés du gestionnaire de périphériques en tant que "libusb-win32 devices")

Et que dans l'IDE il faut choisir Digispark Default 16.5 Mhz comme carte
avec le programmateur Micronucleus

et surtout ne pas connecter le Digispark avant de lancer le télédéversement. Celui-ci sollicite la connexion pendant 60 secondes quand la compilation est terminée.

Bons tests !

13
Bonjour,

une comparaison entre les deux types de détecteur d'occupation que je viens de monter :

1. Détecteur à chute de tension sur diodes
http://forum.locoduino.org/index.php?topic=558.0

chute de tension de 1,4V, peut être réduite par le choix de diodes schottky, tests à effectuer en fonction de la dispersion des caractéristiques des transistors.
réglage étendu, apparemment plus sensible
probablement moins sensible aux parasites que l'induction, à tester sur réseau, mais ces montages sont fortement temporisés.
une LED de signalisation
bornier à pression (ou au choix)
diodes de compensation pour les cantons non équipés.

2. Détecteur à tore (transformateur de courant) suivant le schéma (Paisley) :
http://forum.locoduino.org/index.php?topic=489.0
Merci à nopxor pour son aide.

pour la carte en question, modifiable :
bornier 5 points à adapter à ses besoins, ou pour câbles Dupont, style Arduino, donc connexion directe à un shield sensor.
pas de chute de tension
composants plus banals hors transfo, s’accommode de toute alimentation dont le 5V Arduino (via 3 fils Dupont).
L'encombrement est similaire, mais c'est grâce à l'optimisation de Jean-Luc, merci pour tout son travail d'approvisionnement et plus encore.

Un point à signaler, c'est que toutes les consommations sont détectées : donc celles des décodeurs alimentés par le DCC, en particulier ceux qui sont intégrés dans le ballast comme ceux de la Geoline de ROCO.

En attendant vos observations complémentaires.

14
Shields et Modules / carte décodeur ULN2803 - DU
« le: juin 08, 2018, 09:53:18 am »
Bonjour,

j'ai monté ma première carte décodeur qui fonctionne harmonieusement avec la Base Station et une manette qui lui envoie les < a ADDRESS SUBADDRESS ACTIVATE > nécessaires.
<a 1 0 1> puis <a 1 0 0 0> pour l'adresse 1 normal puis dévié.
<a 1 1 1> puis <a 1 1 0 0> pour l'adresse 2 normal puis dévié.
<a 1 2 1> puis <a 1 2 0 0> pour l'adresse 3 normal puis dévié.
Etc.

Voir Commands for DCCpp BaseStation.

pour mémoire cette carte est basée sur la description de Rudy Boer. Son sketch est téléchargeable (avec d'autres) via

https://rudysmodelrailway.wordpress.com/software/    -   suivre le lien : "Arduino DCC, S88, and more Download link"

La version jointe est personnalisée pour la carte DU et avec des adresses de 1 à 8 qui correspondent aux connecteurs K2 à K9.

J'ai eu, comme déjà rencontré précédemment, des soucis avec un 6N137, donc commencer par en changer avant de se perdre en diverses hypothèses. Dont la LED, remplacée par une diode, mais qui de toute manière ne sert à rien puisque le Nano indique la présence du DCC.

J'ai trouvé des connecteurs au pas de 3.5mm qui correspondent au pas de la carte, mais les connecteurs au pas de 3.81 se montent aussi sans forcer.

Ci-joint le typon surchargé avec les adresses des aiguillages. Celles-ci peuvent être modifiées dans le sketch en conservant les pins de l’Arduino.

15
Le logiciel DCC++ / e-stop emergency stop avec DCC++
« le: mars 15, 2018, 10:13:20 pm »
Bonsoir à tous,

j'aimerais compléter mes manettes avec un e-stop (emergency stop).
C'est prévu pour une locomotive avec DCC++ : il suffit d'envoyer -1 comme vitesse et la locomotive s'arrête immédiatement, sans inertie. (c'est documenté)
Ce que j'aimerais, c'est de pouvoir arrêter toutes les locomotives. Auriez vous vu quelque chose prévu avec DCC++ ?
Dans la norme MOROP, NEM671, il est prévu en 4.2 un arrêt d'urgence général par reset des données non volatiles des décodeurs.
J'ai tenté d'écrire -1 dans le CV 1 d'une locomotive d'adresse 0 (qui semble prévue pour une diffusion générale -broadcast-) mais ça n'a rien donné.
<t 1 0 -1 1> par exemple. Aucune manette en parallèle.

Si cela existe et si quelqu'un a la syntaxe via DCC++, merci d'avance.
Peut-être avec la bibliothèque de DCCpp de Thierry ? Emergency envoie-t-il un broadcast ?

http://www.morop.org/index.php/fr/nem-normes.html / http://www.morop.org/downloads/nem/fr/nem671_f.pdf
autre info : https://dccwiki.com/Term:E-Stop

Pages: [1] 2 3