Auteur Sujet: petits problemes avec montage de commande aiguillage  (Lu 10514 fois)

EJM

  • Newbie
  • *
  • Messages: 3
    • Voir le profil
petits problemes avec montage de commande aiguillage
« le: avril 15, 2021, 01:55:56 pm »
Bonjours a tous
Je suis nouveau en Arduino , je me suis lancé et realisé :
un décodeur pour 4 aiguillages à solénoïdes en mode TCO (sans DCC)
pour mon petit reseau.
Tout fonctionne bien , mais j'ai quelque petits problemes
1) lors d'une impulsion trop longue ou maintenue sur la commande l'aiguille se met a battre ?
2) lors d'une coupure et d'une remise sous tension les aiguilles restent dans la position d'avant la coupure alors que les LED du TCO
se réinitialisent  et reviennent bien toujours a la meme position , ce qui fait que la position de l'aiguille ne correspond plus au TCO et oblige a refaire une commande pour remettre en ordre ...?
Quelqu'un pourrait il m'aider?
J'ai fait le montage sur un CI , qui me semble propre
Peut etre le programme INO a definir ?
Par avance Merci
Cdlt

AmadeusHF

  • Full Member
  • ***
  • Messages: 205
    • Voir le profil
Re : petits problemes avec montage de commande aiguillage
« Réponse #1 le: avril 15, 2021, 02:15:03 pm »
Bonjour et bienvenu sur le forum,

Pour qu'on puisse vous aider il faudra nous poster le code source de votre programme, qu'on voit de quoi il retourne...ainsi que le schéma de cablage.

L'appui prolongé pourrait etre lié à une surconsommation de courant qui fait reset l'Arduino...mais sans schéma, difficile de dire. Vous avez des circuits à décharge pour alimenter les bobines ?
Sébastien.
La perfection est un chemin, non un but...

EJM

  • Newbie
  • *
  • Messages: 3
    • Voir le profil
Re : petits problemes avec montage de commande aiguillage
« Réponse #2 le: avril 15, 2021, 02:36:37 pm »
Bonjour , et merci de votre aide
Le programme  et le cablage sont  celui d'origine que j'ai pris dans la rubrique :
"PROJETS"  , Décodeur pour aiguillage à solénoïdes sur Arduino
Réalisation d’un décodeur pour 4 aiguillages à solénoïdes en mode TCO (sans DCC)
Merci Cdlt

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : petits problemes avec montage de commande aiguillage
« Réponse #3 le: avril 15, 2021, 04:13:14 pm »

Peut être le programme INO a definir ?


Le programme tel qu'il est donné ne prévoit pas l'enregistrement des positions des aiguillages.
Deux solutions :
1. Au setup, on peut lancer une initialisation des aiguillages.
2. On peut stocker en EEPROM la dernière position.

Par ailleurs à la lecture du programme, vous verrez que la procédure de test des boutons :
boolean boutonTest(int i) neutralise les boutons pour un anti-rebond pendant 50 ms, au delà,  ils redeviennent actifs.
La solution est d'utiliser une bibliothèque qui permette d'activer une fonction sur le relâchement du bouton (ou d'écrire un programme qui le fasse)
Ou encore mieux qui permette de multiplier les boutons en les câblant en matrice comme i2c_keypad.h en ne consommant que les deux fils de l'I2C avec un PCF8574.
https://github.com/thaieasyelec

N'hésitez pas à proposer vos programmes, Locoduino est un site participatif.




Cordialement

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1714
    • Voir le profil
Re : petits problemes avec montage de commande aiguillage
« Réponse #4 le: avril 15, 2021, 07:19:07 pm »
Pour les boutons, il existe Bounce2 (elle est dans le gestionnaire de bibliothèques de l'IDE). Vous trouverez un exemple d'utilisation à la fin de cet article : https://www.locoduino.org/spip.php?article74
Cordialement

EJM

  • Newbie
  • *
  • Messages: 3
    • Voir le profil
Re : petits problemes avec montage de commande aiguillage
« Réponse #5 le: avril 15, 2021, 09:23:25 pm »
Merci a tous je vais pouvoir plancher la dessus...
Cdlt

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2217
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : petits problemes avec montage de commande aiguillage
« Réponse #6 le: avril 15, 2021, 11:24:04 pm »
Pour ne pas avoir de battements, utilisez la méthode if ( debouncer.fell() ) { de Bounce2.
Cordialement