Auteur Sujet: Bonjour à tous  (Lu 36263 fois)

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Bonjour à tous
« Réponse #30 le: décembre 12, 2016, 11:14:39 pm »
Et de mon coté, le plantage (avec un délai) d'un Arduino me fait penser à son alimentation : à son tour qu'alimente-il en 5v (et/ou 3.3V).
Une petite mesure ou une petite addition ?
L'AMS1117 est capable de 800mA, mais avec une résistance thermique de l'ordre de 100°/W, il ne faut pas beaucoup de chute de tension pour atteindre les 125° de la protection thermique.
Cordialement

deneb2119

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Re : Bonjour à tous
« Réponse #31 le: décembre 13, 2016, 06:40:24 pm »
Bonjour,
Voila je viens d'effectuer de nouveau test pour bien cerner le problème.

tester avec 1 seul PCF8574 pour éviter les parasites des 2 autres.

Alimentation du train OFF, on n'a aucune perturbation au bout de 5min, j'ai bien tous les IR qui fonctionnent sans problème avec une monté de 5.26v,

mais dès que j'allume l’alimentation des locos (pour info c'est du courant alternatif) j'ai des parasites de donnée qui arrivent à l'arduino du type (01010101 ou 01000100 vraiment aléatoire)

 ce qui fait qu'il n'arrive pas à comprendre le code  ......et plante automatiquement au bout de quelques erreurs..


au niveau du code arduino :

- je fais une première lecture de l'I2C pour récupérer les informations sur le PCF_1
- je compare avec les données enregistrées (var_pcf_1_save)
- si les données ont changées, je fait un delays(2) pour éviter les parasites.

- je refais une lecture du PCF_1
- si les données ont changées.... alors je lance ma fonction d'analyse du canton....
- et j'enregistre les nouvelles données dans une variable de comparaison (var_pcf_1_save)

j'espère être assez claire.... sinon je ferai un diagramme...
donc pour moi l'erreur ne vient pas du niveau arduino mais du courant alternatif qui une fois en fonction me génère des parasites aléatoires sur l'I2C

j'ai effectué un test sur des capteurs IR pour voir si un parasite pouvait faire baisser l’alimentation des IR et donc envoyer de fausses informations, mais je n'ai pas trouvé de bug de ce coté là!
j'ai ensuite essayé de changer les résistances Pull-up de 10k à  460......pareil aucun changement...

Si quelqu'un à une nouvelle piste je suis preneur.....merci d'avance
« Modifié: décembre 13, 2016, 08:13:19 pm par deneb2119 »

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Bonjour à tous
« Réponse #32 le: décembre 14, 2016, 10:30:12 am »
Si le câblage a été vérifié, je pense qu'il faut soupçonner les alimentations à découpage 12V/5V. En test on peut utiliser les braves piles 4,5V des années 50. Sinon, voir à les remplacer par des alimentations à régulateur 7805 : exemple, 12V à connecter en aval du pont de diode (ou mettre un strap de chaque coté du pont, pour assurer la continuité de la masse - 0V ) :
http://www.ebay.fr/itm/Three-Terminal-For-Arduino-L7805-Lm7805-Voltage-Regulator-Module-5V-Ic-Develop-K-/252408324047?hash=item3ac4b55fcf:g:jXYAAOSwA3dYHYAU
« Modifié: décembre 14, 2016, 05:27:50 pm par msport »
Cordialement

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Re : Bonjour à tous
« Réponse #33 le: décembre 14, 2016, 05:41:17 pm »
pour ce qui de l'oscillo... j'ai un Hameg 203 et on voit bien les parasites ....

Parfait, ils existent donc. Reste à en identifier l'origine : en arrêtant (et/ou remplaçant) les sources d'alimentation, on devrait arriver à identifier le coupable.

PS : comment l'alternatif (locos) est-il produit ?
« Modifié: décembre 14, 2016, 05:42:53 pm par msport »
Cordialement

deneb2119

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Re : Bonjour à tous
« Réponse #34 le: décembre 14, 2016, 06:54:57 pm »
un transfo 24v..... une boitier " booster digital 10765" et la multimaus pour commander les locos

msport

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2218
  • HO avec DCC++ en DIY Réseaux très éphémères
    • Voir le profil
Re : Bonjour à tous
« Réponse #35 le: décembre 14, 2016, 11:35:01 pm »
Le "transfo" 10725 ou 10851 de Roco prévu pour le booster 10765 est dit 20V 2,6A (j'ai aussi lu 18V), pas de problème de ce coté là avec 24V (qui à vide peut faire encore plus, à mesurer en valeur réelle) ?

Mais pour vérifier (ou démonter l'inverse) si la tension DCC  peut être à l'origine des parasites, il faudrait faire circuler une loco analogique ...

Ces parasites sont-ils là même quand  la loco est à l'arrêt mais tension DCC présente ?

Et parallèlement, quel est le résultat du remplacement du 5V des "step-down" 12V/5V à découpage par des sources propres ?
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Re : Bonjour à tous
« Réponse #36 le: décembre 15, 2016, 12:28:45 am »
Alimentation du train OFF, on n'a aucune perturbation au bout de 5min, j'ai bien tous les IR qui fonctionnent sans problème avec une monté de 5.26v,

mais dès que j'allume l’alimentation des locos (pour info c'est du courant alternatif) j'ai des parasites de donnée qui arrivent à l'arduino du type (01010101 ou 01000100 vraiment aléatoire)

 ce qui fait qu'il n'arrive pas à comprendre le code  ......et plante automatiquement au bout de quelques erreurs..

Une chose est certaine, un programme ne doit pas se planter s'il reçoit des données non souhaitées, voire aléatoires.

S'il se plante ça veut dire que le programme n'a pas prévu et ne teste pas bien tous les cas possibles.
Tous les cas anormaux doivent être rapportés sur la console par des Serial.print pour les identifier, les compter et finalement en trouver la cause.

Il me semble que je l'ai déjà demandé précédemment !

Il peut être normal, dans un programme que les traitements d'erreurs soient plus gros que les traitements normaux.
Cordialement,
Dominique

PhB22

  • Invité
Re : Bonjour à tous
« Réponse #37 le: décembre 15, 2016, 09:11:21 am »
Bonjour à tous,
J'ai le même phénomène de parasites. Lorsque j'écoute les "grosses têtes" et que les trains tournent.  8) 8)
Cependant rien n'influence les arduino (ou leurs clones  :) ).
Est-ce parce que les câbles qui vont vers les photo-transistors sont blindés? C'est peut être là aussi une solution.
Ce sont des câbles utilisés en HIFI dont les masses (un seul point) sont reliés à la masse.
Idem pour les liaisons entre les fiches DIN 5 broches pour les commandes (mulltimaus et/ou Lenz) et la centrale.

deneb2119

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Re : Bonjour à tous
« Réponse #38 le: décembre 15, 2016, 10:27:32 am »
Merci pour vos réponses.

Oui j'ai effectué des essais avec le Serial print depuis le début,

il plante systématiquement au moment de la lecture de l' I2C...

l'exemple que j'utilise :
http://playground.arduino.cc/Main/PCF8574Class

je reçois des données aléatoires (du au parasite)  ( il ne reconnait pas les données après) mais continue sans problème.

mais le souci reste quand même.. d'ou viennent les parasites??... sachant qu'il ni à aucun raccord entre l’alimentation loco (alternatif) et l'arduino...

j'avais pensé aussi au câble loco qui passe trop prés du câble I2C mais non plus.

je vais tester l'id msport.
« Modifié: décembre 15, 2016, 11:22:40 am par deneb2119 »

deneb2119

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Re : Bonjour à tous
« Réponse #39 le: décembre 15, 2016, 10:31:17 am »
j'ai également utilisé un transfo de 12v ( redresseur - condos - ) et une dizaine de 7805 et j'ai alimenté les modules séparément ......aucune difference ; le problème reste le mème ....

savignyexpress

  • Invité
Re : Bonjour à tous
« Réponse #40 le: décembre 15, 2016, 02:28:32 pm »
Bonjour à tous,

J'ai été confronté à un problème de parasite sur un projet de commande d'itinéraires pour la gare d'un réseau en N. Afin de multiplier les sorties disponibles, j'ai utilisé des registres à décalage qui se sont avérés très sensibles aux perturbations produites par les électro-aimants des aiguilles.

Le système se compose d'une carte microcontrôleur avec un Atmega 8 (pas une carte Arduino mais c'est sans importance ici) et 3 cartes comportant chacune 16 relais et 2 registres à décalage. La situation s'est fortement améliorée en reliant les signaux de contrôle des registres à décalages entre les 3 cartes à l'aide d'un câble blindé. J'ai utilisé du câble réseau informatique de récupération à cet effet.

Meilleures salutations.

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Bonjour à tous
« Réponse #41 le: décembre 15, 2016, 04:35:38 pm »
Bonjour à tous,

Si cela peut-être utile : dans mon réseau j'ai un Mega qui pilote 40 relais pour commander 18 aiguilles et 2 dételeurs.
Les images ci-dessous décrivent comment cela est construit, autour de 5 barrettes de 8 relais commandés par le Mega via des optocoupleurs faisant partie des barrettes de relais.
Chaque barrette de 8 relais reçoit son 5 V propre
Chaque relai reçoit le 15V alternatif pour les aiguilles






Le Mega communique avec les autres Arduino par un bus CAN.

Je dois dire que je n'ai jamais eu de problème de parasites.

« Modifié: décembre 15, 2016, 04:39:51 pm par Dominique »
Cordialement,
Dominique

deneb2119

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Re : Bonjour à tous
« Réponse #42 le: décembre 18, 2016, 05:13:04 pm »
bonjour,
apres une après midi de test ....on n'a peut ètre trouvé une solution...

sur les entrées du PCF8574 N°1, on n'a ajouté des condensateurs de 47microF sur chaques entrées et bizarement plus aucun parasite détecté par l'arduino...  serait ce la solution???

on va  voir pour acheter d'autres condos demain.. à fin de faire un test avec les 3PCF.

Part contre l'arduino à planté 2fois, j'ai rajouté l'exemple de code pour connaitre la RAM utilisé, 778.

et il plante au moment de faire la lecture des données PCF ( variable.read8() ) donc j'ai rajouter des Serial.print dans les classes PCF8574.h pour voir d'où ca vient.

si quelqu'un à une idée avec les nouvelles infomations je suis preneur

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2889
  • 100% Arduino et N
    • Voir le profil
Re : Bonjour à tous
« Réponse #43 le: décembre 19, 2016, 08:03:32 am »
Ça me paraît beaucoup : 47 micro farad !
Comment sont branchés les condensateurs ?
Cela doit sérieusement retarder les détections.

778 octets de SRAM, c'est peu mais suffisant. Mais tout dépend de l'endroit où la fonction est appellée.

Si ça se plante dans la bibliothèque du PCF8574, cela m'étonne ou alors la bibliothèque est mal utilisée ou alors il faut changer de technologie (un Mega par exemple supprimera les PCF et il y aura beaucoup plus de SRAM).

Ça progresse !
Cordialement,
Dominique

PhB22

  • Invité
Re : Re : Bonjour à tous
« Réponse #44 le: décembre 19, 2016, 01:21:53 pm »
sur les entrées du PCF8574 N°1, on n'a ajouté des condensateurs de 47microF sur chaque entrées et bizarrement plus aucun parasite détecté par l'arduino...  serait ce la solution???
Les condensateurs "miracles"  :)
Quelquefois on se demande pourquoi, mais il vaut mieux se dire "tant mieux" et pas chercher à comprendre puisque ça fonctionne.
Il y a certainement une explication physique mais, pffff, on joue au train ;) ;)