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

Pages: [1]
1
Bibliothèques / Re : DccToolkit / SystemToolkit
« le: mai 09, 2021, 12:05:00 pm »
Oui. Le moteur bouge une seule fois avant l'affichage de "Found mfg 255 version 255; no such manufacturer defined".

J'ai modifié mon ancien post avec les sorties sur la console de DecoderPro. Il y a des erreurs qui ne sont peut être pas normales.

2
Bibliothèques / Re : DccToolkit / SystemToolkit
« le: mai 09, 2021, 11:55:24 am »
Dans ce cas est-ce que le code que j'utilise est suffisant pour une utilisation avec JMRI ?
Je rencontre un problème dans la lecture des CV qui ne fonctionne pas : que des valeur à 255.

11:52:38.272:  Prog Read Cmd: CV: 8, Callback Num: 0, Callback Sub: 82
11:52:38.675:  Program Reply: Callback Num: 0, Callback Sub: 82, CV: 8, Value: 255
11:52:38.676:  Prog Read Cmd: CV: 7, Callback Num: 0, Callback Sub: 82
11:52:39.109:  Program Reply: Callback Num: 0, Callback Sub: 82, CV: 7, Value: 255
11:52:39.112:  Prog Read Cmd: CV: 29, Callback Num: 0, Callback Sub: 82
11:52:39.556:  Program Reply: Callback Num: 0, Callback Sub: 82, CV: 29, Value: 255
11:52:39.556:  Read Track Current Cmd
11:52:41.559:  Prog Read Cmd: CV: 1, Callback Num: 0, Callback Sub: 82
11:52:41.952:  Program Reply: Callback Num: 0, Callback Sub: 82, CV: 1, Value: 255
11:52:41.952:  Prog Read Cmd: CV: 17, Callback Num: 0, Callback Sub: 82
11:52:42.386:  Program Reply: Callback Num: 0, Callback Sub: 82, CV: 17, Value: 255
11:52:42.387:  Prog Read Cmd: CV: 18, Callback Num: 0, Callback Sub: 82
11:52:42.829:  Program Reply: Callback Num: 0, Callback Sub: 82, CV: 18, Value: 255
11:52:42.830:  Prog Read Cmd: CV: 19, Callback Num: 0, Callback Sub: 82
11:52:43.271:  Program Reply: Callback Num: 0, Callback Sub: 82, CV: 19, Value: 255
11:52:46.382:  Status Cmd
11:52:46.384:  Power Status: OFF
11:52:46.398:  Status:Station: , Build: , Version: 0.0.0
11:52:46.404:  Comm Type Reply Type: 0 Port: N/A
11:52:46.405:  No Sensor/Turnout/Output Reply
11:52:46.408:  No Sensor/Turnout/Output Reply
11:52:49.456:  Read Track Current Cmd

Il y a aussi le Voltage Meter qui n'indique rien : - - - A

Il s'agit de la version 4.22+R4c4384d74 de JMRI.

Voici les messages générés dans la console par DecoderPro lors du démarrage et du lancement d'une recherche de décodeur :

2021-05-09 11:58:42,327 util.Log4JUtil                        INFO  - ****** JMRI log ******* [main]
2021-05-09 11:58:42,384 util.Log4JUtil                        INFO  - This log is appended to file: /home/christophe/.jmri/log/messages.log [main]
2021-05-09 11:58:42,386 util.Log4JUtil                        INFO  - This log is stored in file: /home/christophe/.jmri/log/session.log [main]
2021-05-09 11:58:42,395 apps.AppsBase                         INFO  - DecoderPro version 4.22+R4c4384d74 starts under Java 1.8.0_292 on Linux amd64 v3.10.0-1160.24.1.el7.x86_64 at Sun May 09 11:58:42 CEST 2021 [main]
2021-05-09 11:58:44,613 gui3.Apps3                            INFO  - Starting with profile Mon_Réseau_JMRI.3eec594e [main]
2021-05-09 11:58:44,707 node.NodeIdentity                     INFO  - Using 0adc91f1-ffaa-462b-876a-5da7604188fc as the JMRI storage identity for profile id 3eec594e [AWT-EventQueue-0]
2021-05-09 11:58:44,828 xml.AbstractSerialConnectionConfigXml INFO  - Starting to connect for "DCC++" [main]
2021-05-09 11:58:44,998 serial.DCCppAdapter                   INFO  - ttyACM0 port opened at 115200 baud with DTR: true RTS: true DSR: false CTS: true  CD: false [main]
2021-05-09 11:58:45,058 dccpp.DCCppInitializationManager      INFO  - DCC++ Initialization Complete with station type 'Unknown', version '0.0.0' and build 'Unknown' [main]
2021-05-09 11:58:45,356 util.FileUtilSupport                  INFO  - File path program: is /home/christophe/Documents/trains électriques/dcc/centrale/JMRI/JMRI/ [main]
2021-05-09 11:58:45,357 util.FileUtilSupport                  INFO  - File path preference: is /home/christophe/.jmri/Mon_Réseau_JMRI.jmri/ [main]
2021-05-09 11:58:45,358 util.FileUtilSupport                  INFO  - File path profile: is /home/christophe/.jmri/Mon_Réseau_JMRI.jmri/ [main]
2021-05-09 11:58:45,358 util.FileUtilSupport                  INFO  - File path settings: is /home/christophe/.jmri/ [main]
2021-05-09 11:58:45,359 util.FileUtilSupport                  INFO  - File path home: is /home/christophe/ [main]
2021-05-09 11:58:45,359 util.FileUtilSupport                  INFO  - File path scripts: is /home/christophe/Documents/trains électriques/dcc/centrale/JMRI/JMRI/jython/ [main]
2021-05-09 11:58:46,138 dccpp.DCCppReply                      ERROR - DCCppReply 'iDCC++ BASE STATION FOR ARDUINO UNO / L9110S / V-1.2.1+ / May  8 2021 / 21:48:06' not matched by '' [AWT-EventQueue-0]
2021-05-09 11:58:46,138 dccpp.DCCppCommandStation             INFO  - Station Type set to '' [AWT-EventQueue-0]
2021-05-09 11:58:46,139 dccpp.DCCppReply                      ERROR - DCCppReply 'iDCC++ BASE STATION FOR ARDUINO UNO / L9110S / V-1.2.1+ / May  8 2021 / 21:48:06' not matched by '' [AWT-EventQueue-0]
2021-05-09 11:58:46,140 dccpp.DCCppCommandStation             INFO  - Build set to '' [AWT-EventQueue-0]
2021-05-09 11:58:46,140 dccpp.DCCppReply                      ERROR - DCCppReply 'iDCC++ BASE STATION FOR ARDUINO UNO / L9110S / V-1.2.1+ / May  8 2021 / 21:48:06' not matched by '' [AWT-EventQueue-0]
2021-05-09 11:58:48,231 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: T consecutive timeouts = 0 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:58:50,232 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: Z consecutive timeouts = 1 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:58:52,233 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: S consecutive timeouts = 2 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:58:54,235 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: c consecutive timeouts = 3 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:58:56,236 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: T consecutive timeouts = 4 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:58:58,237 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: Z consecutive timeouts = 5 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:59:00,238 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: S consecutive timeouts = 6 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:59:02,239 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: T consecutive timeouts = 7 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:59:04,240 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: c consecutive timeouts = 8 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:59:06,242 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: Z consecutive timeouts = 9 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:59:08,243 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: S consecutive timeouts = 10 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:59:10,244 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: T consecutive timeouts = 11 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:59:12,245 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: Z consecutive timeouts = 12 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:59:14,247 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: c consecutive timeouts = 13 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:59:16,249 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: S consecutive timeouts = 14 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
2021-05-09 11:59:16,739 dccpp.DCCppReply                      ERROR - DCCppReply 'iDCC++ BASE STATION FOR ARDUINO UNO / L9110S / V-1.2.1+ / May  8 2021 / 21:48:06' not matched by '' [AWT-EventQueue-0]
2021-05-09 11:59:16,739 dccpp.DCCppReply                      ERROR - DCCppReply 'iDCC++ BASE STATION FOR ARDUINO UNO / L9110S / V-1.2.1+ / May  8 2021 / 21:48:06' not matched by '' [AWT-EventQueue-0]
2021-05-09 11:59:16,740 dccpp.DCCppReply                      ERROR - DCCppReply 'iDCC++ BASE STATION FOR ARDUINO UNO / L9110S / V-1.2.1+ / May  8 2021 / 21:48:06' not matched by '' [AWT-EventQueue-0]
2021-05-09 11:59:17,141 symbolicprog.CombinedLocoSelTreePane  WARN  - Found mfg 255 version 255; no such manufacturer defined [AWT-EventQueue-0]
2021-05-09 11:59:17,142 decoderdefn.IdentifyDecoder           INFO  - Decoder returns mfgID:255;modelID:255;productID:-1 [AWT-EventQueue-0]
2021-05-09 11:59:20,463 jmrix.AbstractMRTrafficController     WARN  - Timeout on reply to message: c consecutive timeouts = 0 in serial.SerialDCCppPacketizer [serial.SerialDCCppPacketizer Transmit thread]
^C2021-05-09 11:59:25,123 managers.DefaultShutDownManager       INFO  - Normal termination complete [Thread-2]


3
Bibliothèques / Re : DccToolkit / SystemToolkit
« le: mai 08, 2021, 09:55:52 pm »
J'ai remis l'ACS712 entre l'alimentation et la carte L9110S et j'arrive à avoir des lectures satisfaisantes.

Maintenant j'essaye d'utiliser la librairie avec JMRI mais il n'arrive pas a trouver le décodeur. La lecture des CV semble ne plus fonctionner (valeur de 255).
Peut-on l'utiliser avec JMRI ?

J'utilise le code trouvé dans les premières pages

Citer
// Do not remove the include below

#include "DuinoBaseStation.h"

#include "SystemToolkit.h"
#include "DccToolkit.h"

// Create a current sensor reading on A0 with VCC = 5.0 volts
ACS712CurrentSensor currentSensor(A0, 5000,185);
//Max471CurrentSensor currentSensor(A0, 5000);

// Create a signal generator using timer 1, pin 12 which is OUTPUT COMPARE B
// for timer 1 on MEGA for example
SignalGenerator generator(1, 12, true);

// Create a track driver using previous generator & current sensor, also using
// pin 11 to switch track power ON/OFF
TrackDriver driver(11, &generator, &currentSensor);

// Create a command stream using USB serial port
SerialPortCommandStream usbStream;

// Create a command parser using the stream and our single track driver
CommandParser usbParser(&usbStream, &driver, NULL);

#if defined(DCC_ETHERNET_WIZNET_5100_ENABLED) || defined(DCC_ETHERNET_WIZNET_5200_ENABLED) || defined(DCC_ETHERNET_WIZNET_5500_ENABLED)
// Create a command stream using ETHERNET port
SocketCommandStream ipStream;

// Create a command parser using the stream and our single track driver
CommandParser ipParser(&ipStream, &driver, NULL);
#endif

void setup()
{
  driver.start();
  driver.setAckThresholdCurrent(40);
  usbParser.start();
#if defined(DCC_ETHERNET_WIZNET_5100_ENABLED) || defined(DCC_ETHERNET_WIZNET_5200_ENABLED) || defined(DCC_ETHERNET_WIZNET_5500_ENABLED)
  ipParser.start();
#endif
}

void loop()
{
  usbParser.run();
#if defined(DCC_ETHERNET_WIZNET_5100_ENABLED) || defined(DCC_ETHERNET_WIZNET_5200_ENABLED) || defined(DCC_ETHERNET_WIZNET_5500_ENABLED)
  ipParser.run();
#endif
}

4
Bibliothèques / Re : DccToolkit / SystemToolkit
« le: mai 08, 2021, 07:01:23 pm »
J'ai vérifié et les branchement sont correct.
Il y a de l'amélioration. Avec un réglage à 40,, j'ai réussi à obtenir deux fois de suite :


CV 1 = 3 : OK
CV 2 = 3 : OK
CV 3 = 40 : OK
CV 4 = 40 : OK
CV 5 = 255 : OK
CV 6 = 88 : OK
CV 7 = 255 : OK
CV 8 = 151 : OK
CV 9 = 40 : OK
CV 10 = 0 : OK
CV 11 = 0 : OK
CV 12 = 0 : OK
CV 13 = 1 : OK
CV 14 = 1 : OK
CV 15 = 0 : OK
CV 16 = 0 : OK
CV 17 = 192 : OK
CV 18 = 0 : OK
CV 19 = 0 : OK
CV 20 = 0 : OK
CV 21 = 0 : OK
CV 22 = 0 : OK
CV 23 = 0 : OK
CV 24 = 0 : OK
CV 25 = 32 : OK
CV 26 = 0 : OK
CV 27 = 24 : OK
CV 28 = 131 : OK
CV 29 = 2 : OK
CV 30 = 0 : OK

Puis après plus. Je viens de refaire un test et j'ai obtenu :
CV 1 = 3 : OK
CV 2 = 3 : OK
CV 3 = 40 : OK
CV 4 = 40 : OK
CV 5 = 127 : Failed to read !
CV 6 = 88 : OK
CV 7 = 255 : OK
CV 8 = 151 : OK
CV 9 = 40 : OK
CV 10 = 0 : OK
CV 11 = 0 : OK
CV 12 = 0 : OK
CV 13 = 1 : OK
CV 14 = 1 : OK
CV 15 = 0 : OK
CV 16 = 0 : OK
CV 17 = 192 : OK
CV 18 = 0 : OK
CV 19 = 0 : OK
CV 20 = 1 : OK
CV 21 = 0 : OK
CV 22 = 0 : OK
CV 23 = 0 : OK
CV 24 = 0 : OK
CV 25 = 0 : OK
CV 26 = 128 : OK
CV 27 = 24 : OK
CV 28 = 131 : OK
CV 29 = 2 : OK
CV 30 = 0 : OK

Peut-on utiliser des valeurs intermédiaires entre 40 et 30 ou bien est-ce que cela doit toujours être un multiple de 10 ?

5
Bibliothèques / Re : DccToolkit / SystemToolkit
« le: mai 08, 2021, 06:40:00 pm »
J'utilise le code fourni par AmadeusHF dans la première page.
La console de l'arduino IDE indique

<p0><iDCC++ BASE STATION FOR ARDUINO UNO / L9110S / V-1.2.1+ / May  8 2021 / 18:36:17><N0:SERIAL><X><X>
C'est correct ?

<1> allume bien les leds.

Par contre est-ce que le Dcctoolkit/SystemToolkit prend en compte toutes le commandes (je crois avoir compris que non) ?

6
Bibliothèques / Re : DccToolkit / SystemToolkit
« le: mai 08, 2021, 06:34:25 pm »
Il y avait effectivement un mauvais branchement. Je n'avais pas fait attention que le code copié n'était pas pour le mega (SignalGenerator generator(1, 10, true)  :-\
J'ai bien maintenant les deux led allumées.

Je suis descendu jusqu'à 30 pour driver.setAckThresholdCurrent.
J'ai bien utilisé ACS712CurrentSensor currentSensor(A4, 5000,185);
L'arduino mega est allumé uniquement par le port usb, et l"ACS712 par l'arduino.

J'ai aussi essayé avec un autre moteur récent.
Le moteur s'active bien de temps en temps.  Mais les valeurs sont toujours différentes à chaque lecture.

Par contre l'alimentation est une 18 volts (comme indiqué ici : https://www.locoduino.org/spip.php?article253).

Merci pour les commandes.

7
Bibliothèques / Re : DccToolkit / SystemToolkit
« le: mai 08, 2021, 05:36:42 pm »
Bonjour,
tout d'abord je tenais à vous remercier pour vos réponses. Je débute dans ce domaine et elles me m'aident beaucoup.
Nullement l'idée pour moi de remettre en cause le fonctionnement du code. C'est plutôt mon montage que je soupçonne  :)

Je n'ai pas un super niveau en électronique, mais je vais refaire des tests. Mais je pense effectivement qu'il y a un problème de liaison avec l'arduino car il n'y a qu'une seule des 2 led qui s'allume sur la carte L9110S au lieu des deux avant (test avec DCC++).

Je vais chercher sur le net comment envoyer des commandes.

Encore merci.

8
Bibliothèques / Re : DccToolkit / SystemToolkit
« le: mai 07, 2021, 11:38:17 pm »
Les essais ne sont pas concluants. J'obtiens toujours des valeurs différentes lors des lectures. J'ai essayé de déplacer l'ACS712 en le mettant entre la carte L9110S et la motrice (avant il était entre l'alimentation et la L9110s). Cela ne change rien.
Les câbles sont branchés directement a la motrice (ne passe pas par les roues). Il s'agit d'une JOUEF 67001 moteur 5 pôles avec des aimants neufs.
J'ai fait des tests avec un contrôleur LAISDcc 860021 (acheté sur ebay) ainsi que Lokpilot v5 DCC.
Petite précision : lors du test avec le LAISDcc le moteur se met en route alors qu'il ne tourne pas avec le lokpilot. D’ailleurs est-ce normal ?
Ces contrôleurs n'ont jamais été reprogrammés.

Une idée ?

9
Bibliothèques / Re : Re : DccToolkit / SystemToolkit
« le: mai 05, 2021, 12:11:49 pm »
Merci pour votre réponse détaillée.

Mon ACS712 est un 5A. Je vais donc tester la dernière mise à jour  :)

L'ACS 712 fourni un lecture du courant centrée sur VCC / 2 (c'est un capteur à effet hall)

De ce fait, effectivement en USB il est alimenté en 5V et il faut l'indiquer lorsqu'on le paramètre avec la valeur en millivolts, soit 5000.

Si vous passez ensuite sur une alimentation du capteur sur 9V, vous devrez effectivement changer la valeur à 9000.

Si cette valeur est mauvaise, la lecture de courant est erronée dans tous les cas.

Le seuil de détection permet ensuite d'ajuster le niveau de courant à mesurer. Pour considérer qu'on est en présence d'un ACK valide sur la ligne. Normalement ce seuil doit etre à 60 si l'on suit la norme. Mais cela dépend aussi de la charge connectée (loco sur la voie de programmation). Idéalement, plus le seuil est haut, mieux c'est....mais il faut pour cela obtenir des valeurs cohérentes en tout point.

Le probleme qui persiste est que la technique de lecture d'un CV est non déterministe : elle suppose que la station de programmation reconnaisse correctement le pic ACK, sans quoi la réponse lue est perturbée.

Pour lire un CV, on doit lire chaque bit 1 par 1 et détecter à chaque fois la présence ou l'absence du ACK....donc on a un signal "moyennement fiable" dans un cas, et pas de signal du tout dans l'autre.

Si la lecture d'ACK est mauvaise, on aura une mauvaise perception des 8 bits qui forment la valeur du CV....et à la fin, quand on fera une vérification de la valeur déduite complète, on fera la meme erreur de lecture de l'ACK et on pourra considérer comme VALIDE une valeur lue qui ne l'est pas.

Donc la seule bonne information provient de votre propre connaissance du décodeur (doc constructeur).
Si avec un jeu de réglages vous obtenez à chaque fois les memes valeurs, et que celles-ci sont bonnes, disons pour les 30 premiers CV, alors vous pouvez considérer que ça marche.

Dans ces 30 CVs vous devez retrouver des valeurs "pivots" dans les CV 1, 7 et 8, 29, etc... : adresse primaire, ID du fabricant du décodeur et version du décodeur...

Quelle version du 712 utilisez-vous ? 5, 10, 20 A ? La valeur lue n'est pas la meme pour tous les modeles....

10
Bibliothèques / Re : DccToolkit / SystemToolkit
« le: mai 04, 2021, 06:20:11 pm »
Bonjour,
je suis en train de tester vos librairies. Je dispose d'un arduino méga, d'une carte L9110s et d'un ACS712.

Qu'entendez-vous exactement par
Citer
5 / Si votre Arduino n'est pas alimenté en 5V il faut adapter aussi sur cette ligne le second paramètre (5000) qui donne la tension d'alimentation VCC en millivolts.

L'arduino est alimenté par le port usb de l'ordinateur, je dois donc laisser 5000. Et si je connect une alimentation de 9 volts à l'arduino, je dois mettre 9000, c'est bien cela ?

En utilisant  driver.setAckThresholdCurrent(40), j'obtiens une lecture de tous les CV. Avec 60 j'ai des échecs.
Par contre j'obtiens des chiffres différents lors de la lecture des CV. Par exemple CV1 une fois à 45, puis à 82, puis à 223, etc.

Auriez-vous une idée ?

Cordialement

Pages: [1]