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 - Tanguy

Pages: [1] 2
1
Bus CAN / Re : Bus CAN + bus PJON
« le: avril 19, 2020, 04:49:39 pm »
J'utilise ce WS2811 avec mon prototype de "satellite" (en attendant la version 2 de Locoduino  ;)).
Il me permet de ne consommer qu'une seule sortie pour les feux.

2
JMRI et Arduino / Re : Ménage à trois... JMRI / CMRI / DCC++
« le: juillet 19, 2019, 09:40:22 pm »
Bonjour fcot2002,

Merci pour ce partage.
Je ne comprends pas comment JMRI connaît la position des locomotives.
Est-ce que les décodeurs DCC pour les signaux renvoient  également une information d’occupation ?


Tanguy

3
Composants / ARDUINO NANO EVERY
« le: mai 20, 2019, 10:17:42 pm »
Une nouvelle carte arduino officielle semble prête à sortir : la NANO EVERY

même empreinte que la carte NANO
basée sur un ATMega4809
principales caractéristiques :
fréquence : 20 Mhz  (16 Mhz pour la nano)
Flash       : 48 KB     (32 KB pour la nano)
SRAM      :  6 KB      ( 2 KB pour la nano)
prix         :  8 €        (20 € pour la nano dans le circuit officiel)

les 8 entrées analogiques sont à priori utilisables en digital (y compris A6 et A7).

https://store.arduino.cc/nano-every

4
Bonjour Jean-Luc,

je reprends ce fil après quelques semaines sans arduino. Merci de ta réponse détaillée; j'ai vu que tu avais déjà dessiné une carte fille pour associer les WS2811 au satellite ..., je suis beaucoup plus lent :

J'ai testé le WS2811 avec une sortie en l'air (pendant près d'une heure) : les 2 autres LED fonctionnent correctement.
J'ai aussi testé une chaîne de WS2811 avec un mètre de fils entre l'arduino et le premier circuit, les 3 fils courants le long de mon réseau de test. Je n'ai noté aucun dysfonctionnement sur les LED malgré la proximité du signal DCC et du moteur de locomotive.

Concernant ta proposition (carte fille avec ATtiny + liaison SPI) : je ne vois pas comment cela résout plus efficacement le problème. La bibliothèque Neopixel (comme les autres) désactive les interruptions le temps de rafraîchir les LED. Pendant ce rafraîchissement, l'ATtiny à toutes les chances de perdre des données transmises par l'arduino maître.

5
Vos projets / Piloter des dizaines de LED avec une seule PIN du satellite
« le: février 05, 2019, 10:06:49 pm »
Bonjour à tous,

J'ai été très enthousiasmé par les projets de "satellite" présentés tant sur le site éditorial que sur le forum.
Dans mon mes réflexions sur son utilisation sur mon prototype de réseau, j'ai voulu optimiser l'utilisation des entrées/sorties de la carte satellite surtout pour la gestion des signaux lumineux, lesquels consomment beaucoup de sorties.

Je partage aujourd'hui les résultats de mes premiers tests.

La solution testée
La solution consiste à utiliser la puce WS2811 que l'on trouve habituellement dans les guirlandes NEOPIXELS pour gérer, à partir d'une seule sortie de l'arduino, une chaine de LEDS RGB connectées en série. L'arduino envoie sur l'unique sortie une suite d'octets pour "commander" en couleur et intensité chacune des LEDS RGB.

Dans mes expériences, la puce WS2811 n'est pas utilisée pour piloter des LED RGB mais les trois led mono-couleur d'un signal lumineux. En chaînant quelques WS2811 on pilote facilement plusieurs signaux de 3 LEDS ou plus. La puce W2811 permet de commander chaque LED en PWM pour plus de réalisme.

Le matériel utilisé
J'ai commandé des circuits imprimés vendus par lot de 50 unités sur ebay pour un peu moins de 8 euros (https://ebay.us/BwxQcH)
Je les ai ensuite connectés en série à un arduino nano et quelques signaux pour les programmer enfin avec la bibliothèque light_ws2812 (https://github.com/cpldcpu/light_ws2812/tree/master/light_ws2812_Arduino)



Les résultats
Piloter la chaîne de LED est simple avec la bibliothèque citée plus haut.
Mes problèmes ont commencés quand j'ai testé l'utilisation conjointe de ces LED avec des servos.
En effet, la bibliothèque LIGHT_WS2812, comme toutes les autres similaires que j'ai testées, désactivent les interruptions le temps d'envoyer à l'ensemble des LED la série d'octets (un octet par LED). La bibliothèque servo utilise des interruptions pour gérer la durée des impulsions envoyées aux servomoteurs => potentielle collision !



En poussant mes tests avec 8 servos et 18 LEDS (6 puces) j'ai constaté les effets néfastes de cette désactivation temporaire des interruptions : les servomoteurs ont des petits tremblements de temps en temps.

J'ai finalement trouvé une parade en vérifiant, avant de lancer le rafraichissement des LED, qu'il restait suffisamment de temps avant la prochaine interruption générée par la bibliothèque servo :

  if (OCR1A - TCNT1 > LEDS_SYNC_DURATION)) {
      // on verfie que le temps restant avant la prochaine interruption (OCR1A - TCNT1)
      // est suffisant pour rafraichir toutes les LED
     [...]
      leds.sync();
  }

Mes questions à ce stade
  • L'implémentation usuelle du bus CAN sur locoduino utilise des interruptions. Est-ce que je peux espérer avec la nouvelle puce MCP2517FD et son énorme mémoire que l'on puisse se passer des interruptions pour éviter de nouvelles collisions entre les bibliothèques ?
  • Est-ce que quelqu'un a déjà testé ce type de LED (neopixel) dans un environnement ferroviaire ? sont-elles sensibles aux perturbations électromagnétiques  sur courtes distances (30 cm) ?

6
Bus CAN / Re : Réduire câblage
« le: mai 14, 2018, 06:54:43 pm »
Je suis impatient !

7
Shields et Modules / Re : L’ESP8266 : « Une drôle de petite bête »
« le: janvier 27, 2018, 06:27:31 pm »
9 centimes  :(

Je n'en sais rien à vrai dire : j'ai pris cette version sans bien y réfléchir, cela m'a obligé à installer un nouveau driver ...

8
Shields et Modules / ESP32 et bus can
« le: janvier 27, 2018, 04:02:08 pm »
Bonjour Dominique,

j'ai enfin reçu mes deux premiers ESP32 (ESP-VROOM-32) et deux petits transceiver.

Malgré tes inquiétudes sur la disponibilité du controller CAN sur ce chip, j'ai reproduit la démo présentée sur http://www.iotsharing.com/2017/09/how-to-use-arduino-esp32-can-interface.html

Après quelques copier-coller (je ne comprends pas encore tout le code de cette démo), le bus can permettait à mes deux ESP32 de dialoguer.



Le matériel utilisé :
- ESP32 ESP32S CP2102 2.4GHz DualMode WiFiBluetooth http://r.ebay.com/mliOIx
- SN65HVD230 CAN Bus Transceiver  http://r.ebay.com/FUx2ZC

9
Shields et Modules / Re : L’ESP8266 : « Une drôle de petite bête »
« le: janvier 04, 2018, 12:44:08 pm »
Bonjour à tous,

l'ESP32 semble également intégrer un contrôleur CAN;  quelqu'un a-t-il déjà eu l'occasion de tester cet aspect ?
Exemple http://www.iotsharing.com/2017/09/how-to-use-arduino-esp32-can-interface.html

Je vais en commander plusieurs ...
Tanguy

10
Présentez vous ! / Re : Bonjour à tous
« le: décembre 05, 2016, 11:50:17 am »
merci beaucoup

11
Présentez vous ! / Re : Re : Bonjour à tous
« le: décembre 03, 2016, 02:36:00 pm »
[...]
un petit oscilloscope à moins de 30€ pourra dénoncer le coupable
[...]

Bonjour msport,

où trouve-t-on de tel oscilloscope ?
très intéressé d'investir dans une solution légère et suffisante pour résoudre quelques problèmes autour d'arduino et dcc

12
Le logiciel DCC++ / Re : DCC++ BaseStation
« le: août 31, 2016, 04:17:22 pm »
Il me semble que le seuil de 60 mA est utilisé pour un  Basic acknowledgment uniquement.
Pour la lecture des CV c'est la section "Advanced Acknowledgment" qui me semble plus correspondre.

http://www.nmra.org/sites/default/files/s-9.3.2_2012_12_10.pdf :

2.2. RailCom – Transmitter in the Decoder
To transmit a “0”, the decoder must supply a current 1 of 30+4/-6 mA [...].
 To transmit a “1”, the current 1 must be at the most +/- 0.1mA.

2.3. The RailCom Detector
A detector must interpret a current of greater than 10mA during the middle 50% of the bit time as “0”
, a current smaller than 6 mA during the middle 50% of the bit time as “1”.

13
Le logiciel DCC++ / Re : DCC++ BaseStation
« le: août 31, 2016, 02:22:40 pm »
Les caractéristiques de "Arduino Motor Shield" annonce une sensibilité de 1,65V/A pour la mesure de courant.

14
Le logiciel DCC++ / Re : DCC++ BaseStation
« le: août 31, 2016, 02:06:04 pm »
Dans mes tests, je n'utilise pas le MAX471 mais directement la sortie dédiée du LMD18200 (current sens output).
Comme cette sortie retourne 377 μA/A consommé, la résistance est nécessaire pour convertir ce courant en tension mesurable par arduino. En jouant sur la valeur de la résistance on peut donc également jouer sur la sensibilité de détection.

Je n'ai pas testé le MAX471 mais je comprend qu'il délivre directement 1V/A. Peut-être n'est ce pas assez sensible ?

As-tu essayé de modifier le seuil de détection dans le programme DCC++ (ACK_SAMPLE_THRESHOLD dans PacketRegister.h ?



15
Le logiciel DCC++ / Re : DCC++ BaseStation
« le: août 31, 2016, 11:25:49 am »
Bonjour Christophe,

dans le montage UNO + LMD18200, quelle valeur de résistance utilisez-vous pour la mesure de courant ?

Pages: [1] 2