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

Pages: 1 ... 102 103 [104] 105 106 ... 169
1546
Composants / Re : Digispark Kickstarter Attiny85
« le: août 27, 2018, 09:14:53 am »
Merci Michel pour toutes ces précisions très utiles. ;D

Dominique

1547
Vos projets / Re : Article 232 - Va et vient
« le: août 27, 2018, 07:53:25 am »
Citer
j’ai la led rouge erreur qui clignote.

Si les détecteurs ne sont pas branchés et s’il n’y a pas de loco sur les rails, le logiciel va forcément trouver une erreur !

J’ai peut-être oublié d'éteindre la led erreur lorsque la condition d’erreur disparaît. A vérifier quand je ferai le montage pour l’expo d’Orleans.

1548
Vos projets / Re : Article 232 - Va et vient
« le: août 27, 2018, 07:43:44 am »
Michel,

Oui tu as raison, sur le circuit régulateur 5 V représenté il vaut mieux ne pas monter le pont de diodes et mettre des liaisons directes au +12 et la masse. Le kit est vendu non monté.

Par contre la protection contre les court-circuits est assurée par le Max471 et le logiciel (voir le paragraphe sur la mesure de courant).

Fred,

Citer
Concernant les leds de l’inter marche/arrêt et de l’inter lumière elles n’utilisent aucun port de l’arduino mais sont soudées sur les interrupteurs ?
C’est un alternative aux leds commandées par logiciel. Les 2 sont possibles

Citer
Je souhaiterais pouvoir activer sur la loco du va et vient une fonction déclenchant une annonce de départ ou d’arrivee en gare.
Pas trop compliqué à programmer ?
Cela existe déjà avec la fonction « lumière ». Tu peux dupliquer les fonctions mTrain.allume() et mTrain.eteint() et les affecter à une autre fonction de la loco.


1549
J’ai jeté un œil sur la bibliothèque DCCpp :

void DCCpp::beginMain(uint8_t inOptionalDirectionMotor,
uint8_t inSignalPin, uint8_t inSignalEnable,
uint8_t inCurrentMonitor)
{

Il suffit de mettre « 0 » dans inCurrentMonitor et le current monitor n’est pas activé. Ensuite tu gères le courant comme tu veux indépendamment de DCCpp.

1550
Il va falloir que je me plonge dans le code de DCCpp mais pas avant quelques jours ou demander à Thierry que je vois dans 8 jours  :D

Avant DCCpp (donc DCC++) je n’utilisais pas le current monitor. Avec DCCpp il y a sûrement un moyen d’en faire autant mais je n’ai rien avec moi pour le moment pour te répondre.

Alors un peu de patience.

Dominique

1551
En fait c'est tout simple :

Je n'utilise pas la mesure de courant de DCCpp donc je n'utilise pas "CurrentMonitor" et j'utilise ma propre routine de détection.
L'entrée A0 du détecteur de courant est alimentée seulement par mon max471 et lue par ma routine :
int iCurrent = analogRead(A0);
  if (iCurrent > gCurrent) {
    gCurrent = iCurrent;
    if (gCurrent > CurrentMax) { // 400 * 5 = 2000 mA
    stop_DCC();
    }
  }

Donc il n'y a aucun risque de conflit entre DCCpp et ma mesure.

Tout est dans le programme du va et vient (article 232)

1552
Bonjour Antoine,

On a l'air un peu loin durant ces quelques semaines d'Août mais on est là quand même, occupés à préparer l'expo d'Orléans !

Tu as besoin de ces infos :
- Est-ce qu'un court-circuit a coupé le DCC ?
- Est-ce qu'on est hors tension ?
- Est-ce qu'on est sous tension ?

A partir de ma réalisation décrite dans l'article 232 (le va et vient qui sera présenté à Orléans), tu peux facilement trouver toutes les réponses :

Il y a un circuit de mesure du courant Max471 placé en série avec le pont en H : il est donc alimenté en continu et peut délivrer une valeur instantanée de l'intensité générale du générateur DCC. La mesure se trouve dans la loop et est décrite dans le § "Gestion du courant DCC".
Je préfère cette implémentation que celle qui est intégrée à DCC++/pp qui est trop lente à mon goût.

Tu y verras comment mesurer le courant à chaque tour de loop (il n'y a pas plus rapide, sauf a faire un circuit à part connecté sous interruption) et en déduire, à l'aide de quelques variables, le présence ou l'absence de DCC, la détection d'un court-circuit, et même la détection de faux contacts (plus de courant du tout).

// affichage courant = la valeur maxi pendant 500 ms
  if ((millis() - gCurrentSampleTime) > 500) {
    gCurrentSampleTime = millis();
    lcd.setCursor(13,1);lcd.print(gCurrent*5);lcd.print(' '); // en mA réels
    gCurrent = 0;
  }
  int iCurrent = analogRead(A0);
  if (iCurrent > gCurrent) {
    gCurrent = iCurrent;
    if (gCurrent > CurrentMax) { // 400 * 5 = 2000 mA
    stop_DCC();
    }
  }
  if ((iCurrent == 0) && (mAutomate.auto_etat > 2)) { // perte de consommation
    if ((millis() - gCurrentNulTime) > NULCURRENT_TIME) {
      mAutomate.auto_etat=INIT;           // RAZ automate
      mAutomate.LRclignote=true;          // led rouge clignote
      mTrain.cran_vitesse = 0;            // vitesse = 0
      mTrain.lumiere=false;
      delay(2000);
      stop_DCC();                         // arrêt DCC
      lcd.setCursor(10,1);lcd.print("Faucon");
      // panne de courant : faire STOP puis START pour redémarrer
    }   
  } else {
    gCurrentNulTime = millis();           // relance tempo
  }

Si tu veux aussi connaitre la présence ou l'absence d'une tension, tu peux lire cette tension (positive évidemment, donc ce ne peut pas être le DCC) sur une entrée analogique de l'Arduino (moyennant la présence d'un pont diviseur pour me pas dépasser 5V).

Tout ceci est donc hors DCC++ et tu fais ce que tu veux !

Amicalement
Dominique

1553
Vos projets / Re : Article 232 - Va et vient
« le: août 21, 2018, 07:31:08 pm »
Ben Oui  ;D

1554
Pendant que j'y suis, je donne les liens vers les éléments mentionnés par Christophe :

ESP8266 Core for Arduino
https://github.com/esp8266/Arduino

Biblithèque FS
https://github.com/esp8266/arduino-esp8266fs-plugin

1555
Pour l'ESP8266, ce n'est peut-être pas un vrai portage mais une association entre 8266 et Mega/Uno :

https://github.com/bjorniuppsala/BaseStation/tree/master/DCCpp_ESP

mais le recours à plateformeIO semble quand même nécessaire.

J'ai cherché en vain le code générateur de DCC : ce projet n'est, semble-t-il qu'une interface Web avec le DCC++ BaseStation sur Mega ou Uno.

D'ailleurs, il est écrit dans "Adding support for ESP based WiFi shield as frontend to the DCC++ base":
Citer
For Mega2560 base stations the ESP should be connected to Serial1, for Uno
(or other) boards you must define two pins and set them in Config.h as
WIFI_SERIAL_RX and WIFI_SERIAL_TX.

Once the base station has successfully connected to the ESP it will
attempt to connect to the defined WiFi AP defined in WIFI_SSID using
WIFI_PASSWORD.  Upon successfull connection to the WiFi AP DCC++ will
start a server on the ESP8266 with port 2560 (for JMRI) and port 80 for
HTTP and WebSocket.  The http server on the ESP8266 provides a two
cab throttle and eventually will provide a more complete interface to
DCC++ base station functionality (define turnouts, sensors, etc).

WiThrottle support is planned in the future with the ESP8266 providing a
listener and interpreter layer for converting to/from DCC++ protocol.



1556
Je pense qu'il existe un portage de DCC++ sur 8266,

https://github.com/atanisoft/BaseStation

mais, en tout cas, il existe sur ESP32 :

https://github.com/atanisoft/DCCppESP32

Il y a dans ce dossier quelques plateformes qui ont été testées comme l’ESP32-D1-mini

En regardant le code je vois que ça se compile avec plateformeIO et non pas l’IDE Arduino.

J’ai trouvé cette plateforme qui existe sur Mac:
https://code.visualstudio.com/

Pour l’ESP32, j’ai l’impression que c’est quasi obligatoire.

1557
Débuter / Re : Tram italien premier projet avec Arduino
« le: août 20, 2018, 11:01:48 am »
Voir la discussion :
http://forum.locoduino.org/index.php?topic=558.0

C’est plus le choix des diodes que celui du transistor qui importe.

Par ailleurs, il vaut mieux tester avec une entrée d’Arduino et sa pull-up de 10k.

Mes premiers détecteurs encore en service sont équipés de diodes 1N5819 et j’ai, comme Fred, une sensibilité faible (je n’ai même pas soudé le potar), mais ça me va bien.

1558
Pour le détecteur simple, le branchement est le suivant :



La spec du V0618A indique le branchement des pins de l'Arduino.



Évidemment ici il n'y a qu'un seul optocoupleur et il a une sortie type transistor en collecteur ouvert donc il faut respecteur :
- la pin d'entrée de l'Arduino sur le collecteur (activer l'INPUT_PULLUP)
- le gnd sur l'émetteur

1559
Débuter / Re : Tram italien premier projet avec Arduino
« le: août 19, 2018, 02:22:31 pm »
Ca ne sert à rien de se reporter au schéma d'origine. Le schéma qui compte est celui que j'indique ici :
http://forum.locoduino.org/index.php?topic=558.msg6170#msg6170



Le branchement est le suivant :



Désolé pour la réponse précédente : j'avais inversé les sorties Pin et Gnd, mais j'ai regardé la spec du V0618A (voir "détecteurC" ci-dessous) et c'est maintenant bon sur la figure ci-dessus. J'ai corrigé ma contribution plus haut.



Évidemment ici il n'y a qu'un seul optocoupleur et il a une sortie type transistor en collecteur ouvert donc il faut respecteur :
- la pin d'entrée de l'Arduino sur le collecteur (activer l'INPUT_PULLUP)
- le gnd sur l'émetteur


1560
Débuter / Re : Re : Tram italien premier projet avec Arduino
« le: août 19, 2018, 11:07:58 am »
Voila le premier détecteur est monté, si j'ai bien compris les connections se font comme dessinées sur la photo.

le "si j'ai bien compris" m'inquiète un peu  >:(

Non : coté DCC, le commun DCC/Rail est la broche du bas, celle qui est tracée en rouge coté rails, ce qui correspont à 3 sur le schéma.
http://forum.locoduino.org/index.php?topic=558.msg6170#msg6170
Les 2 broches du haut (les grosses pistes sur le circuit imprimé) correspondent à 1 et 2  sur le schéma.

Re-Non, coté Arduino, c'est faux également : voir le tracé du circuit imprimé et le schéma :
- Pin va vers le Gnd de l'Arduino
- Gnd ET 5V sont reliés ensemble sur le CI et vont sur la pin d'entrée de l'Arduino : là tu ferais un beau court-circuit sur l'alim de l'Arduino  :P
Tu n'as besoin que de 2 fils coté Arduino.

Pages: 1 ... 102 103 [104] 105 106 ... 169