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.


Messages - bobyAndCo

Pages: 1 [2] 3 4 ... 27
16
Je viens d’acquérir ce pont en occasion, avec le moteur réputé grillé. Je suis donc intéressé par un lien vers le site du vendeur du dit moteur ...

https://www.sb-modellbau.com/index.php?page=gruppe&path=/00000289/00000261

Les alimentations à découpage génèrent des champs magnétiques ...
Reste à regarder du coté des régulateurs linéaires

Bon quant aux régulateurs, j'ai remis mes bons vieux régulateurs linéaires et c'est la même chose, snifff

17
Je crois que je suis battu !

J'ai mis un pont de diodes pour redresser le courant DCC en DC et pouvoir ensuite le convertir en 12 et en 3,3V. J'ai même acheté des régulateurs à découpage TRACOPOWER et mis des condensateurs pour le filtrage, rien n'y fait.

Mon courant DCC est bien converti en 12 et en 3,3V comme je le souhaite, mais le simple fait de relier un seul des fils DCC au montage électronique doit générer dans ce montage une perturbation électromagnétique qui fait que mes capteurs à effet Hall qui sont sous interruptions s'affolent !!!

Adieu, veau, vache, cochon, couvée. Je ne vais donc pas pouvoir alimenter le montage à partir de DCC, ce qui m'aurait permis de récupérer deux fils pour le CAN. Je suis déçu !

18
Infos et bonnes affaires / Re : Capteur de proximité VL6180X
« le: mai 08, 2020, 11:18:16 pm »

Mais, particulièrement en infrarouge, c'est très sensible à l'éclairage extérieur. Et c'est très gênant.


Je trouve dommage de continuer à faire circuler cette information qui tend à décrédibiliser l'IR alors qu'il suffit, pour contourner le problème, d'utiliser des capteurs fonctionnant sur des fréquences de 38Khz (ou autres). Pas très compliqué à piloter en PWM non ? L'IR qui a pourtant nombre de qualités dont le prix et la distance de détection.

Ce capteur par exemple à 1,15€ : https://fr.rs-online.com/web/p/recepteurs-ir/8185241/

Ou sa version Pololu sur PCB avec l'attiraille qui va bien dessus : https://www.pololu.com/product/2579



Qu'on s'entende bien, je ne critique en rien le capteur présenté.

19
Merci Cédric, Michel et Jean-Luc pour votre aide.

Pour abaisser la tension pour le relai, il suffit d'une résistance en série (quoiqu'en fait la datasheet indique que tu peux aller jursqu'à 18V mais restons raisonnable). Le courant de la bobine est de 11,7mA. Il faut donc une résistance qui provoque une chute de tension de 3V sous 11,7mA : 3/11,7E-3 = ~256Ω (https://www.tme.eu/fr/details/1_4ws270r/resistances-carbon-tht-1-4w-subminiat/royal-ohm/cfr0s4j0271a50/)

C'est exactement la réponse dont j’avais besoin.

o Pour les régulateurs de tension, je serai allé pour ma part du côté des CMS. Ceux là sont très gros et je trouve ça dommage.

En fait, je n'ai pas de problème d'encombrement pour les régulateurs et comme ce montage doit pouvoir être repris par d'autres, je choisis la simplicité de montage.

o Bravo pour avoir mis le CAN. Mais sur ton joint tournant, tu avais 2 fils supplémentaires ?

A l'origine la bobine et le moteur sont alimentés par leur propre circuit, 2 (+) et une masse commune = 3 fils. Du fait que j'alimente maintenant le moteur et la bobine à partir du DCC, il me reste 3 fils.

Une remarque concernant le condensateur 47µ 25V. Apparemment il lisse aussi la tension pour le moteur (?) Si celui-ci consomme 200 à 500 mA, ce condensateur sera juste même sur DCC redressé : I = C dV / dt, donc dV ~ 2 10-3 x 0,2 / 47 10-6 soit ~ 4V, attention si le moteur consomme plus de 200 mA.



Pour le moteur Modellbau, il est donné pour 100 à 120 mA :



Courant de repos (@ 15V) : environ 4 mA
Courant de court-circuit (@ 15V) : 100..120 mA

Je peux avoir plus d'informations auprès de Modellbau chez qui j'achète ce moteur.

Mais je me disais que l'on pouvait sans doute jouer la sécurité en plaçant le condensateur de plus grosse capacité qui respecte le diamètre de 5mm et l'encombrement. Qu'en pensez vous ?

Par ailleurs penser à encadrer les régulateurs par les condensateurs règlementaires (cf specs)

Ah ça dépasse mes connaissances. Tu veux parler des condensateurs C1, C2, C3 et C4 que l'on voit sur le schéma de la datasheet ?



Mais je ne crois pas. Je pense que tu veux plutôt faire référence à des condos comme le 220nf et le 100nf dans le montage en PJ (merci Christian) J'avais cru comprendre dans l'un des messages précédents de Jean-Luc que ce n'était pas forcement nécessaire ?


o Côté pont de diodes, j'aurai pris un pont tout fait pour gagner de la place.

J'avais un pont de diodes intégré sous la main (mais pas en CMS) et il était en fait plus gros !

Bon, après tout cela, il me reste tout de même cette histoire de condensateurs. Je vais encore vous solliciter.

Bien amicalement,

PS:
Au plaisir de boire une biere ensemble ;)

Et même plusieurs !

Christophe

20
Les choses ont bien avancé. Je remercie Jean-Luc qui m’a beaucoup aidé.

J’ai réussi à mettre sur le PCB (en augmentant légèrement sa longueur à 110 mm), l’ESP32, la carte moteur PWM Pololu TB6612, le relais TQ2-12V de Panasonic pour changer la polarité des rails, un pont de diode pour alimenter l’ensemble de la carte à partir du DCC des rails, et même une carte CAN SN65HVD230.



Sur la partie droite de la carte, j’ai un convertisseur de tension en 3,3V et un autre en 12 ou 15 volts selon le moteur qui équipera le pont au final.

J’ai fait une implantation des composants sur une carte bidon pour tester l’encombrement. Tout rentre pil poil mais il ne fallait rien de plus. La courbe rouge montre le chemin qu’il faut absolument laisser libre.


Vue de dessus

 

Vue de dessous


Le détecteur IR qui servira à contrôler que la locomotive sur le pont est totalement engagée sera lui fixé sur le pont et non le PCB.

Du coup, le pont pourra être commandé en WiFi et/ou en CAN.

Le fait de convertir le DCC en DC avec un pont de diodes libère 2 des câbles (sur 5 au total) et permet donc de les affecter au CAN.

J’ai dû placer le condensateur en sortie du pont de diodes sur la face inférieure du PCB et je suis du coup limité à un diamètre de 5mm. J’avais sous le coude un 47µF 25v qui correspond à ce diamètre, mais Jean-Luc avait l’air de dire qu’il n’y avait pas besoin d’une grosse capacité dans la mesure où le DCC est un courant carré et non sinusoïdal. Je suis preneur de tous conseils sur ce point.

Dans le cas où le pont utilise un moteur 15V (moteur d’origine), j’ai prévu deux résistances sur le PCB pour réaliser un diviseur de tension pour le relais de polarité qui lui fonctionne en 12V.

Le relais est piloté via un 2N2222 et protégé par une diode roue-libre comme il a été (largement) évoqué dans les posts précédents.

J’ai aussi mis une résistance de 120Ω entre le can H et le can L  (fin du bus).

Les différentes résistances ne sont pas visibles sur ces photos car elles sont placées sur le dessus de la carte mais sous l’ESP32.

Je suis donc preneur de toutes suggestions, observations etc… et je vais essayer d’envoyer la carte en fabrication sous 2 à 3 jours.

Trop content !

21

Je penche plutôt pour le capteur SHARP de Jean-Luc car je ne vois pas les "yeux" sur le WISKAY ? De plus le CJMCU3216 voit bien plus loin que 3mm!
On ne pourrait pas voir plus clairement que la détection est correcte jusqu'à 60mm.

Le TRCT1000 n'a pas les "yeux" mais effectivement les performances que tu montres sont bien supérieures au TRCT1000

Je comprends bien l'intérêt qu'il y aurait à déporter la tripaille sous le plateau, s'il n'y avait comme le dit Jean-Luc la question de la faisabilité question soudures,

Les soudures sont plus délicates mais loin d'être très difficiles si tu as un bon fer à panne fine. Par exemple, je vais tester ce composant qui est en CMS mais je pense que je ne vais pas avoir de difficultés à souder des fils sur les quatre pâtes, fils qui vont traverser le plateau et se raccorder en dessous. Deux de pattes sont par ailleurs des GND :

https://docs.rs-online.com/e968/0900766b816af51d.pdf

Pour le coup, discetion assurée, 6,8mm X 3 et 3,2 d'épaisseur.

mais je ne comprends pas ceci :
De cette manière, il est possible « d’économiser » le port I2C (...)
puis-je avoir une explication ? (merci  d'avance !)

Le composant seul ne dispose pas de l'I2C intégré, du moins je ne pense pas. L'I2C est ajouté avec les autres composants sur le PCB.

Si tu trouves le composant seul, tu peux donc relier sa sortie directement à une des pins de l'Arduino (via resistances il s'entend). Et de ce fait 2, 3 et peut-être même plus de capteurs en déjouant les problèmes d'adresses I2C qui se posent souvent.

Ces échanges d'expérience sont intéressants car les capteurs ont des éléments importants pour le fonctionnement optimal des réseaux.

22
Sur ma propre centrale, pour contourner le problème évoqué concernant la lecture et la programmation des CV’s avec le ACHS-7122 j’ai coupé sur la carte la piste qui alimente les MOSFET Q5, Q6, Q7 et Q8 (ceux qui sont côté alimentation GND car la piste est plus accessible) et j’ai soudé un câble qui est relié à l’alimentation au travers d’un MAX 471.



Je dispose ainsi de deux détecteurs de consommation de courant, le ACHS-7122 pour la voie principale qui est relié à l'entrée A0 de l'Arduino et programmé pour environ 6A et un MAX471 pour la voie de programmation. La sortie AT du MAX471 est reliée à A1 de l’Arduino.




Notez que comme j’ai inversé la voie de programmation et la voie principale par rapport à mon montage initial, les liaisons entre l’Arduino et la L9110 doivent être interverties en conséquence.

Le fichier DCCpp_Uno.h de DCC++ doit lui aussi distinguer l’entrée A0 pour la lecture de la consommation sur la voie principale et A1 pour la voie de programmation.

#define MOTOR_SHIELD_NAME "L9110S Dual Motor Driver"

#define SIGNAL_ENABLE_PIN_MAIN 3
#define SIGNAL_ENABLE_PIN_PROG 11

#define CURRENT_MONITOR_PIN_MAIN A0
#define CURRENT_MONITOR_PIN_PROG A1

#define DIRECTION_MOTOR_CHANNEL_PIN_A 12
#define DIRECTION_MOTOR_CHANNEL_PIN_B 13



Le fichier CurrentMonitor.h est modifié comme ceci :

#define  CURRENT_SAMPLE_SMOOTHING   0.01
#define  CURRENT_SAMPLE_MAX_MAIN    600
#define  CURRENT_SAMPLE_MAX_PROG    300

Et enfin la fonction CurrentMonitor::check() du fichier CurrentMonitor.cpp comme ceci :

void CurrentMonitor::check() {
  current = analogRead(pin) * CURRENT_SAMPLE_SMOOTHING + current * (1.0 - CURRENT_SAMPLE_SMOOTHING); // compute new exponentially-smoothed current

  if ((pin == CURRENT_MONITOR_PIN_MAIN && current > CURRENT_SAMPLE_MAX_MAIN)) {                   // current overload Main
    digitalWrite(SIGNAL_ENABLE_PIN_MAIN, LOW);                                                    // disable Main Motor Shield Channel
    INTERFACE.print(msg);                                                                         // print corresponding error message
  }
  else if (pin == CURRENT_MONITOR_PIN_PROG && current > CURRENT_SAMPLE_MAX_PROG) {                // current overload Prog
    digitalWrite(SIGNAL_ENABLE_PIN_PROG, LOW);                                                    // disable Prog Motor Shield Channel
    INTERFACE.print(msg);                                                                         // print corresponding error message
  }
} // CurrentMonitor::check




23
Bonsoir Cédric,

Je vais malheureusement te faire une réponse de normand ! En fait, comme il s’agit d’un capteur de luminosité, toute choses égales par ailleurs, la mesure peut déjà varier selon la luminosité.

Si c’est pour faire des capteurs tout ou rien comme il est question dans ce fil, il est assez simple de dire > à xxx ou < à yyy en gardant une marge de tolérance confortable.

Ca reste des capteurs à 2 balles ou moins, faut sans doute pas leur demander trop.

Par contre, si tu veux faire de la mesure de distance, les capteurs réfléchissants Sharp dans la série GP2Y0xxxxx sont assez impressionnants : https://fr.rs-online.com/web/c/afficheurs-et-optoelectronique/optocoupleurs-photodetecteurs-capteurs-optiques/capteurs-optiques-reflechissants/?searchTerm=sharp

Moi je craque particulièrement pour celui-ci (technologie IR) :

https://fr.rs-online.com/web/p/capteurs-optiques-reflechissants/6666580/

que je voudrais installer sur mon pont tournant et qui est aussi vendu en circuit tout monté par Pololu  : https://www.pololu.com/product/2579

Et je ne résiste pas de vous parler de ce capteur IR (CMS) avec I2C qui travaille sur 200mm et mesure 5cm X 2,5 et 0,83 d’épaisseur à 2,50€. Acheté mais pas encore testé.

https://fr.rs-online.com/web/p/capteurs-proximites/1226792/






24
On dirait par rapport aux photos que le capteur est le TCRT1000 de WISHAY. J’ai deux petites remarques :

1° - Il vaut mieux l’acheter non monté sur son PCB, ce sera plus discret. Et mettre les composants complémentaires sous le plateau (sur un PCB maison pourquoi pas) d’autant qu’il s’agit de deux résistances, 1 de 10 KΩ (PULLUP) et une de 150Ω. Et il coute surtout beaucoup moins cher, 0,42€ chez TME : https://www.tme.eu/fr/details/tcrt1000/capteurs-photoelectriques-pour-pcb/vishay/

De cette manière, il est possible « d’économiser » le port I2C et donc pourquoi pas d’en monter plusieurs sur la même carte.

2° - Le TCRT1000 ne donne vraiment des réponses fiables que si la distance avec la cible est de 2 à 3 mm, ce qui est tout de même assez faible, même en N.

C’est assez amusant car j’étais justement en train de le tester, comme son grand frère le TRCT5000 qui est à peine plus encombrant, un peu plus cher, 0,79€ mais qui autorise des distances de détection beaucoup plus importantes.

J’ai mis en ligne une vidéo :

Je n’ai pas mis la vidéo du TRCT1000 car ce n’était pas convainquant.

Sinon, on peut aussi voir le capteur SHARP dont Jean-Luc parle ici : https://forum.locoduino.org/index.php?topic=978.msg10259#msg10259


25
C'est cool ça ! Merci Michel

26
Tu as raison Michel, je n'ai vu qu'une partie du problème. Deux hypothèses à mon avis, soit effectivement modifier le soft, soit mettre un autre contrôleur de tension.

La seconde piste est sans doute à privilégier.

Quelqu'un a t'il de produits à préconiser dans une tranche 10 à 20A en courants positifs uniquement ?


27
B'hein c'était pas vraiment des calculs mais plutôt des déductions, mais force est de constater que ma courbe à moi ne montait pas autant que tes calculs.

Pour qu'il n'y ait aucune ambiguïté, j'ai réécrit mon post ci-dessus et je fait référence à tes calculs et à ta courbe.

Merci

28
Le logiciel DCC++ / Re : RtDrive Dcc++
« le: avril 29, 2020, 05:34:09 pm »
mais malheureusement il n'est pas en open source.

Est il gratuit au moins ?

Sinon, je ne vois pas l'intérêt de garder ce fil sur Locoduino qui a pour ambition de promouvoir le DIY, l'open source et l'open hardware mais surtout pas de faire la promotion de produits commerciaux !

29
Au moment où j'ai écrit l'article sur cette centrale DCC++, je n'avais sous la main que des MAX471 pour sécuriser la centrale en cas de sur intensités et principalement de courts-circuits.

Du coup plusieurs s'interrogeaient quant à l’utilité d’une centrale pouvant potentiellement fournir 10A (et même 15A dans mon cas) si l’on ne pouvait finalement en exploiter que 3.

J’ai testé les capteurs de courant ACHS-7122 de chez Pololu dont on a plusieurs fois parlé sur Locoduino et qui permettent de monter jusqu’à 20A (pour la mesure).

Les résultats sont probants et la mise en place facile.



Les broches GND et Vcc seront alimentées respectivement par un GND pris sur l’Arduino et le Vcc par du 5V lui aussi pris sur la carte. La sortie OUT de l’ACHS-7122 ira sur la broche A0 de l’Arduino.

Le fil (+) en provenance de l'alimentation sera relié à IP+ et IP- sera relié au (+) de la carte L9110S. Le fil (-) de l'alimentation ira donc lui directement de l'alimentation à la carte L9110S. Ne cherchez surtout pas à le relier à IP- par exemple.

Les fils peuvent être soudés à la carte :



mais je pense préférable un montage avec cosses:



La lecture de current dans le fichier CurrentMonitor.cpp de DCC++ retourne la valeur 512 quand il n’y a pas de charge de courant sur le réseau :

current = analogRead(pin) * CURRENT_SAMPLE_SMOOTHING + current * (1.0 - CURRENT_SAMPLE_SMOOTHING);

Cela est donc bien supérieur à la valeur par defaut dans le fichier CurrentMonitor.h qui est de 300

#define  CURRENT_SAMPLE_MAX         300

Je préconise de modifier cette valeur avec raison. C’est à dire de la placer à 600 (ce qui doit correspondre à environ 4,5A de consommation) et de faire fonctionner votre réseau comme vous le souhaitez. Si la sécurité s’active alors vous augmenterez progressivement cette valeur CURRENT_SAMPLE_MAX. Une fois que vous avez trouvé le point limite pour votre réseau et vos différentes locomotives, ne cherchez pas à augmenter cette valeur.

Jean-Luc donne ci-dessous la formule pour des calculs exacts de CURRENT_SAMPLE_MAX avec ce ACHS-7122 mais aussi la courbe qui permet assez facilement de determiner la valeur.

Ne cherchez pas à monter à CURRENT_SAMPLE_MAX au delà de 640 qui correspond déjà à 7A largement suffisant pour la plus part des réseaux.

Tout retour d’expérience sur ce fil sera apprécié surtout ceux qui pourraient permettre d’avoir une connaissance plus fine entre la valeur define  CURRENT_SAMPLE_MAX et l’intensité réelle.

30
Discussions ouvertes / Re : Y en a qui vont loin...
« le: avril 25, 2020, 09:54:48 am »
A quand les TGV en bois et les aiguillages en carton ???

Pages: 1 [2] 3 4 ... 27