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

Pages: 1 2 [3] 4
31
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 18, 2018, 06:42:48 pm »
    Bonsoir,

Est-ce que celà veut dire que le problème provient de ma centrale? Intellibox1?

Et si oui, que puis-je faire?

A part changer de centrale, mais comment savoir si elle sera compatible avec Accessories?

Cordialement

32
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 18, 2018, 03:40:21 pm »
    Bonjour,

En effet, avec la console série et ta version, le servo fonctionne.

Déjà, on est sûr que le code est bon

Par contre avec le DCC, rien à faire, le servo ne réagit pas...


Par contre avec ton code et en envoyant 125:0, voilà ce que j'obtiens en réponse:

read 49
read 50
read 53
read 48
read 13
AccessoryServo Move()
AccessoryServo InternalMovePosition()
Accessory start action 20124
  PortServo 12 MovePosition() for 50ms to angle 134
Accessory start action 20175
  PortServo 12 MovePosition() for 50ms to angle 133
Accessory start action 20226
  PortServo 12 MovePosition() for 50ms to angle 132
Accessory start action 20277
  PortServo 12 MovePosition() for........


et avec le DCC:

*** Setup Accessories started.
  PortServo 12 beginByAccessory() Starting pos: 95
*** Setup Commanders Finished.
*** Setup Accessories Finished.
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1......

Le message est très différent.

Que peut-il se passer, il semble que le signal DCC soit reçu pourtant???

Cordialement



33
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 18, 2018, 11:38:21 am »
   Bonjour,

Et merci t'intéresser à mon problème.

J'ai mis le mode debug et "verbose debug mode" sur Accessories, je n'obtiens rien de mieux
Voici le texte du moniteur série lorsque j'appuie 1 fois sur l'aiguillage 125 en droit et une fois en dévié.

J'avais oublié dans mon sketch, le "Commanders::loop(), je l'ai rajouté mais rien de mieux.

Commanders V1.61.1
Created by Thierry Paris.
(c) Locoduino 2016-2018

*** Setup Commanders started.

Accessories V1.1.4
Developed by Thierry Paris.
(c) Locoduino 2016-2018

*** Setup Accessories started.
  PortServo 12 beginByAccessory() Starting pos: 95
*** Setup Commanders Finished.
*** Setup Accessories Finished.
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 1 / 1  converted : 125 / 1 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1

J'ai pourtant l'impression de ne pas être loin du résultat, c'est frustrant...

Cordialement

34
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 17, 2018, 06:50:50 pm »
   Bonjour,

Pour compléter à nouveau mon message précédent, en passant la bibliothèque Commander en "verbose debug mode", j'obtiens sur le moniteur série:

Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1
Dcc packet found : real data : 32 / 0 / 1  converted : 125 / 0 / 1

lorsque j'appuie sur le bouton de l'aiguillage 125 sur l'Intellibox. Le DCC est donc bien décodé.

Je ne comprend pas???

Cordialement

35
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 17, 2018, 06:30:46 pm »
   Bonjour,

Pour compléter mon précédent message:

Si j'utilise le moniteur série en deboggage:

- avec le bouton, je reçois tous les messages de mouvement du servo.
- avec l'intellibox qui envoi l'adresse 125, le moniteur série ne me renvoie rien.

   Cordialement

36
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 17, 2018, 06:08:48 pm »
    Bonjour,

Je tente d'actionner un servo pour aiguillage avec la bibliothèque Accessories+Commander.

J'ai le programme suivant:

// Le poussoir...
ButtonsCommanderPush boutonPoussoir;
 
// Le moteur
AccessoryServo AIGL;
 
// Les ports pour connecter le moteur...
PortServo portAIGL;

#define SERVOMIN  201
#define SERVOMAX  202
 
// code pour un accessoire à l'adresse DCC 125 piloté par un bouton On et un bouton Off (cas de ma MS2 Marklin...)
#define SERVOMIN  DCCINT(125,0)
#define SERVOMAX  DCCINT(125,1)
 
void setup()
{
  Commanders::begin(LED_BUILTIN);
 
  // Memoriser les positions des moteurs dans l'EEPROM.
  Accessories::begin(0, 500);

 
  // Récupérer le signal DCC sur la broche interruption 3...
  DccCommander.begin(0x00, 0x00, digitalPinToInterrupt(3), true);
     
  // Evènement du bouton 200 branché sur la borne 6...
  boutonPoussoir.begin(200, 6);
  boutonPoussoir.AddEvent(SERVOMIN, COMMANDERS_EVENT_MOVEPOSITIONID, 0); // Le dernier argument ne sert pas pour ce type d'evenement
  boutonPoussoir.AddEvent(SERVOMAX, COMMANDERS_EVENT_MOVEPOSITIONID, 0);
   
  // Les ports avec leurs broches en digital (pas PWM)
  portAIGL.begin(12);
 
  // Le servo : pas de durée de mouvement, un débattement entre 95 et 135 degres
  // et deux positions stables annoncées avec des identifiants inutiles (mais obligatoires)
  AIGL.begin(&portAIGL, 50, 95, 135, 1);
  // Les deux positions sont au mini et au maxi :
  AIGL.AddMinMaxMovingPositions(SERVOMIN, SERVOMAX);
}

void loop()
{
  unsigned long id = Commanders::loop();
 
  if (id != UNDEFINED_ID)
  {
    // Renvoie l'événement reçu de Commanders, vers les accessoires...
    Accessories::RaiseEvent(id, (ACCESSORIES_EVENT_TYPE) Commanders::GetLastEventType(), Commanders::GetLastEventData());
  }
 
  Accessories::loop();
}

Avec le poussoir, le servo fonctionne de la manière suivante:*
- 1° appui:     rien
- 2° appui      déplacement dans un sens
- 3° appui      déplacement en sens inverse
- 4° appui      rien....etc

Avec le signal DCC, et mon intellibox calé sur l'accessoire 125, rien ne se passe. La led clignote en permanence indiquant la présence du DCC, mais
impossible de déplacer le servo.

Est-ce que quand j'envoie 125 à partir de mon intellibox, le décodeur décode bien 125 ou autre chose? et si oui quoi??

J'ai vraiment besoin d'une idée...

   Cordialement

37
Bibliothèques / Re : Bibliothèque Accessories
« le: novembre 07, 2018, 06:52:06 pm »
   Bonjour,

J'ai testé le programme que tu m'as fourni.

J'ai l'impression qu'il manque le : Accessories::RaiseEvent(id, (ACCESSORIES_EVENT_TYPE) Commanders::GetLastEventType(), Commanders::GetLastEventData());

Si je le rajoute, ça marche avec le poussoir, mais pas avec le DCC.

J'ai un peu de mal à comprendre le #define SERVOMIN 201 et 202..., je ne vois pas comment c'est relié au reste.

Comment serait le code s'il n'y avait pas de bouton poussoir, mais juste le DCC?

Cordialement

38
Vos projets / Re : Retrosignalisation avec Arduino
« le: octobre 28, 2018, 01:55:49 pm »
   Bonjour,

Ca y est j'ai adapté ta modification "antiparasites" à mon programme et je peut maintenant gérer 64 cantons avec un Arduino Méga 2560.

J'ai fait un test comparatif avant "sans antiparasites" et après "avec antiparasites".

Dans la version "sans antiparasites", le logiciel RRTC m'envoyait 137 messages d'erreur pour 2 tours de circuits d'une locomotive. Ces erreurs perturbaient le logiciel à tel point qu'il ne savait plus sur quel canton se trouvait la locomotive.

Dans la version "avec antiparasites", le logiciel RRTC ne m'envoie plus que 9 messages d'erreur. Ces messages ne sont d'ailleurs pas perturbant.

Il est donc clair que ta modification est décisive dans ce programme de rétrosignalisation.
J'ai passé le "debounce delay" de 50ms à 700ms.

Je joins le programme modifié pour ceux que ça intéresserait, et te remercie encore.

   Cordialement

39
Vos projets / Re : Retrosignalisation avec Arduino
« le: octobre 14, 2018, 01:09:54 pm »
   Bonjour,

Ca y est j'ai trouvé comment adapter ton programme au mien, et ton explication m'a permis de bien comprendre son fonctionnement.

Ton programme est très efficace, et j'ai de bien meilleurs résultats, même si certains parasites subsistent encore.

Je pense que ta solution est vraiment la meilleure:
- on laisse les parasites circuler sur les fils.
- et on les piège à l'arrivée.

Pour aller plus loin, j'ai également envie de tester à l'occasion le projet LOCODUINO:  " Une Passerelle entre le bus S88 et le bus CAN pour la rétro signalisation"

https://www.locoduino.org/spip.php?article180

Le bus CAN a l'air très performant.

Je finalise l'adaptation de ton programme à mes 40 cantons et je te tiens au courant.

    Cordialement


40
Vos projets / Re : Retrosignalisation avec Arduino
« le: octobre 10, 2018, 06:44:19 pm »
   Bonjour MSPORT,

J'ai chargé le programme que tu as joint dans ra réponse et je l'ai adapté à mon programme qui tourne sur un Arduino Méga2560.

Le programme de Locoduino est le même que celui de Rudy Boher.

Je n'ai pas une amélioration flagrante, mais je pense que celà vient peut-être de mon adaptation qui n'est pas parfaite.
Pourrais-tu m'expliquer la philosophie de la partie "debounce", que j'ai un peu de mal à comprendre.

Je vois qu'il y a une mise en tableau des entrées, mais je ne comprends pas ce qui empêche le "rebond" sur les entrées.

C'est toujours pareil, quand on a pas développé soi-même un programme, c'est un peu compliqué d'en comprendre la philosophie.

Peux-tu me dire également quel pourcentage d'amélioration je peux espérer.

Merci d'avance pour ton travail.

    Cordialement

41
Vos projets / Re : Retrosignalisation avec Arduino
« le: septembre 28, 2018, 09:45:10 am »
Bonjour,

Merci de cette réponse.

Je connais le site de Rudy Boher, je crois d’ailleurs que Lociduino s’en est inspiré .
Le lien du projet Locoduino que j’ai utilisé est le suivant :

http://forum.locoduino.org/index.php?topic=612.0

J’ai utilisé le programme pour le Mega2560

L’idee d’intervenir par programme sur les entrées me paraît excellente

Je vais regarder ton programme dès que ma connexion Internet sera revenue.
Je suis en panne chez Free, et je n’ai plus que mon téléphone pour communiquer

Cordialement

42
Vos projets / Retrosignalisation avec Arduino
« le: septembre 27, 2018, 07:45:32 pm »
Bonsoir,

J’ai réalisé la retosignalisation S88 telle que décrite dans le projet Locoduino.

J’ai ainsi 40 cantons retrosignalés qui fonctionnent.

Mon problème est celui des innombrables détection fantômes.
Des qu’une locomotive roule, de nombreux cantons clignotent sur RRTC.

J’utilise un câble RJ45 entre l’Intellibox et l’Arduino Mega2560 grâce à un adaptateur.
J’ai réduit au maximum les fils qui achemine le 5v vers les cartes de détection
et je les ai torsadés.
J’ai ajouté un condensateur de 1microF entre l’entrée Arduino et la masse.

Rien n’y fait

Auriez vous une idée car en l’etat ce n’est pas utilisable.

Cordialement

43
Bibliothèques / Bibliothèque Accessories
« le: septembre 06, 2018, 08:13:24 pm »
  Bonjour,

J'essaie avec cette bibliothèque de commander mes aiguillages par des servos, le tout avec la configuration suivante:

- Centrale Intellibox1
- Logiciel de pilotage RRTC Silver

J'ai fait un petit sketch pour commander un servo avec un bouton poussoir.
Ca fonctionne, le sketch est le suivant:

#include <Accessories.h>
#include <Commanders.h>
 

// Le poussoir...
ButtonsCommanderPush boutonPoussoir;
 
// Le moteur
AccessoryServo AIGL;

 
// Les ports pour connecter le moteur et les DELs.
PortServo portAIGL;

 
void setup()
{
   Commanders::begin(LED_BUILTIN);

  DccCommander.begin(0x00, 0x00, digitalPinToInterrupt(3), true);
  // Memoriser les positions des moteurs dans l'EEPROM.
  Accessories::begin(0, 500);
 
  // Evènement du bouton 100 branché sur la borne 6...
  boutonPoussoir.begin(100, 6); // premier événement pour le déclanchement
 
  // Les ports avec leurs broches en digital (pas PWM)
  portAIGL.begin(12);
 
    // Le servo : pas de durée de mouvement, un débattement entre 95 et 135 degres
  // et deux positions stables annoncées avec des identifiants inutiles (mais obligatoires)
  AIGL.begin(&portAIGL, 50, 95, 135, 1);
  // Les deux positions sont au mini et au maxi :
  AIGL.AddMinMaxMovingPositions(456, 789);
}
 


void loop()
{
  Accessories::loop();

  unsigned long id = Commanders::loop();
  // si le Poussoir est activé...
  if (id == 100)
  {
  AIGL.MoveMaximum();
  AIGL.MoveMinimum();
  // Plus rien à faire, attendons l'étape suivante.
  return;
  }
}


Quand j'appuie une fois sur le BP, le servo tourne dans un sens, si je rappuie, il tourne dans l'autre sens.

Maintenant je voudrais que lorsque je clique sur l'aiguillage à l'adresse 125 dans RRTC par exemple, le servo tourne dans un sens,
et si je reclique, il tourne dans l'autre sens.

J'ai capturé le signal DCC sur la borne 3 et c'est fonctionnel, mais au niveau du programme, je n'arrive pas à faire l'affectation
de l'adresse physique ( 125 dans ce cas), et à remplacer le bouton poussoir par le signal DCC.

  Une idée???

Cordialement

44
Vos projets / Re : Rétrosignalisation sans Centrale digitale
« le: mai 30, 2018, 10:57:05 am »
   Bonjour,

et merci de cette réponse, je vais décortiquer tout ça.

   Cordialement

45
Vos projets / Re : Rétrosignalisation sans Centrale digitale
« le: mai 30, 2018, 09:12:30 am »
    Bonjour,

et merci de t'être interessé à ce sujet.

Je vais essayer de débroussailler tout ça.

Le problème, c'est que les explications sur le protocole S88 sont peu nombreuses, et sont soit en Allemand, soit en Espagnol ou en Anglais dans le meilleur des cas.

Je souhaiterais parvenir à construire un module qui branché derrière l'Arduino et relié au PC me permettrais d'avoir la rétro-signalisation sans Centrale.

En tous cas la rétro-signalisation du site Locoduino fonctionne à merveille.

   Cordialement

Pages: 1 2 [3] 4