intrferences i2c et one wire + sortie PWM

Bonjour à tous

pour mon projet en cours de régulation de chauffage, j'utilise un bus I2C pour piloter un écran 4x20 caractères, une horloge RTC ds3231, et le bus one-wire pour les sondes de température DS18B20. Il y a 10 sondes réparties un peu partout dans l'installation.

Ensuite j'ai plusieurs sorties relais qui pilotent des pompes et des vannes, et une sortie PWM pour commander en vitesse une des pompes.

Lors de mes essais ma sortie PWM commandait bien la pompe, sans problèmes particuliers sur le reste de l'installation.
Une fois le proto mis en place en situation, ça fonctionnait également, même avec une des sondes ds18b20 éloignée de plus de 30m de câble du reste.
Et puis au bout d'un moment, je me suis mis à avoir des moment où les mesures de température ne se font plus (valeur -127, comme si la sonde était déconnectée) soit sur une seule sonde, soit sur plusieurs, de manière à priori aléatoire, et j'ai aussi par moment des perturbations de l'affichage ou de la lecture de l'heure.
Et je me suis rendu compte que si je déconnecte la liaison PWM entre mon montage et la pompe, les perturbations disparaissent. (même avec la pompe qui tourne)
Si je laisse ma sortie PWM connectée mais que je coupe l'alim de la pompe, disparition des perturbations aussi.

Les autres pompes (commandées seulement par des relais) ne posent à priori pas de problèmes.

Je me tourne vers vous car je ne sais pas vraiment quoi regarder pour comprendre d'où vient le soucis.

Le schéma de ma sortie PWM est le suivant :

et voila sa mise en oeuvre, un peu à l'arrache peut-être , avec en haut le bornier à 2 voies pour la sortie PWM, en bas celui du bus 1-wire, avec la résistance de 4,7k et la pin A3 qui me sert à ça

et une vue globale du merdier

Par principe, on doit toujours prévoir un circuit d'annulation du courant de base des transistors lorqu'ils ne sont pas commandés.

Pour ce qui est du transistor 2N422, la commande par une sortie de l'Arduino y satisfait car au niveau "zéro" la tension délivrée par l'Arduino est très faible.

En revanche, pour le transistor PN3645, lorsque le transistor 2N422 est bloqué, son courant de fuite vient alimenter la base du PN3645 et il y a risque de conduction de ce dernier, surtout si la température augmente. Il serait donc judicieux de mettre une résistance d'une dizaine de kOhms entre sa base et son émetteur.

Cela ne résoudra peut-être pas votre problème, mais rendra le fonctionnement de votre interface plus fiable.

Cordialement.

Pierre

bonjour
Induction de "parasites" par le "cable PWM" ?
-essayer d'eloigner le cable PWM du reste de la tripaille

  • mettre un noyau ferrite sur le cable

éloigner le cable, ja'i esssayé, pas mieux.

un noyau c'est une idée

pierre -> ok. mais ici même si il devenait passant "tout seul" bah j'aurais un niveau 0 ou 1 fixe sur ma pwm ce qui ne serait pas pris en compte par la pompe, donc à priori pas de soucis de ce coté ?

bricofoy:
... pierre -> ok. mais ici même si il devenait passant "tout seul" bah j'aurais un niveau 0 ou 1 fixe sur ma pwm ce qui ne serait pas pris en compte par la pompe, donc à priori pas de soucis de ce coté ?

Non, vous auriez le PWM commandé plus un parasitage dépendant de tout un tas de choses et entre autres la température.

Cordialement.

Pierre

Bonjour,
as tu essayé de brancher le fil de masse de ton câble PWM directement sur le 0v de ton alimentation et non sur le bornier ton "shield maison" ?

bricofoy:
éloigner le cable, ja'i esssayé, pas mieux.

un noyau c'est une idée

pierre -> ok. mais ici même si il devenait passant "tout seul" bah j'aurais un niveau 0 ou 1 fixe sur ma pwm ce qui ne serait pas pris en compte par la pompe, donc à priori pas de soucis de ce coté ?

Les ds18b20 sont en alimentations normales (VCC et GND) ?
Est ce que la tension (5V) d'alim des DS18B20 est stable lorsque ta pompe est activée en PWM ?
Mettre un condo chimique et un ceramique aux bornes d'alim de la ligne de ds18B20
tester aussi si

Bonjour,
ce montage génère, en entrée du régulateur 5v de la uno, un créneau d'environ 0.7v d'amplitude, que chimique ne peut pas filtrer

ChPr:
Non, vous auriez le PWM commandé plus un parasitage dépendant de tout un tas de choses et entre autres la température.

Cordialement.

Pierre

ok, je vais donc corriger cela. pour les transistors utilisés, j'ai pris ce que j'avais sous la main, en l’occurrence des truc récupérés dans une vielle télé, comme ça fonctionnait, j'ai pas cherché plus loin.

trimarco232:
Bonjour,
ce montage génère, en entrée du régulateur 5v de la uno, un créneau d'environ 0.7v d'amplitude, que chimique ne peut pas filtrer

oui en effet je devrais peut-être utiliser des résistances plus importantes sur les bases des transistors ? ou au moins pour celle du PNP vu que ma tension d'alim est à 10V je dois tirer dans les 4mA à chaque créneau. Pas énorme, mais quand même beaucoup pour rien ?
Ou j'ai rien pigé et le problème n'est pas là ?

rjnc38:
Bonjour,
as tu essayé de brancher le fil de masse de ton câble PWM directement sur le 0v de ton alimentation et non sur le bornier ton "shield maison" ?

Non, mais je vais le faire. Mais cela dit je crois plus à une perturbation de l'alim qu'a une émission de merdes par le câble.

Il faut que je regarde ce qui se passe sur l'alim avec l'oscillo

Artouste:
Les ds18b20 sont en alimentations normales (VCC et GND) ?
Est ce que la tension (5V) d'alim des DS18B20 est stable lorsque ta pompe est activée en PWM ?
Mettre un condo chimique et un ceramique aux bornes d'alim de la ligne de ds18B20
tester aussi si

tester aussi si ?

oui les ds18b20 sont en alim normale. J'ai lu ici, peut-être sur un des topics de lacuzon, qu'il était conseillé de remettre une résistance de pull up au plus près des sondes les plus éloignées, mais dans ce cas je suppose qu'il faut que j'en augmente la valeur pour ne pas finir avec un courant trop important sur le bus ?

pour l'alim stable, j'ai pas encore vérifié, quand j'ai constaté le bug j'avais pas d'oscillo sous la main

ok pour les condos. une idée des valeurs ?

bricofoy:
tester aussi si ?
...
pour l'alim stable, j'ai pas encore vérifié, quand j'ai constaté le bug j'avais pas d'oscillo sous la main
...
ok pour les condos. une idée des valeurs ?

:grin:

Pour "tester aussi si", désolé : simple non vérification avant envoi de ma réponse , je devais être "un peu à la bourre" 8)

comme tu dispose d'un oscillo (lequel ? ) , il sera surement plus facile de faire des vérifications

perso pour ce qui est des condos dans ce genre "de situation" je fais en DIY avec ce que j'ai sous la main.

Et compte tenu des énormes dispersions de fabrication des condos ,
j'ai comme base parfaitement assumée pifométrique : 1000 micros en polarisé/100 nanos en non polarisé

j'ai un DSO quad comme oscillo. pas forcément parfait, mais pour voir une alim se balader à quelques kHz ça devrait aller :stuck_out_tongue:

et un vieux hameg analogique au bureau, mais qui est fort peu portable...

bricofoy:
j'ai un DSO quad comme oscillo. pas forcément parfait, mais pour voir une alim se balader à quelques kHz ça devrait aller :stuck_out_tongue:

DSO quad ?
ce genre de "truc"? :grin:

Très exactement. Et avec le firmware de gabonator, pour être précis :stuck_out_tongue: (je vois que toi aussi)

J'ai aussi un truc semi-pro portable chinois, mais dont je me sert peu car trop encombrant, même si lui il est étalonné, ce que je n'ai jamais pu faire sur le quad

bricofoy:
Très exactement. Et avec le firmware de gabonator, pour être précis :stuck_out_tongue: (je vois que toi aussi)

J'ai aussi un truc semi-pro portable chinois, mais dont je me sert peu car trop encombrant, même si lui il est étalonné, ce que je n'ai jamais pu faire sur le quad

Perso , je n'aurais jamais acheté "çà"
C'est un cadeau arrivé un jour ... dans ma "BAL" 8)

ce n'est surtout à pas à prendre comme un "instrument" de mesure , mais plus comme simple "indicateur évolué/louchometre de précision"

Mais çà devrait te permettre de faire des "mesures relatives" assez simplement 8)

décidément, tu fais dans les messages tronqués ce soir :stuck_out_tongue:

c'est dommage que le quad soit inétalonnable, sinon ça fonctionne plutôt pas mal et le format est extrêmement pratique. A mon niveau en tout cas c'est largement suffisant :stuck_out_tongue:

Ou j'ai rien pigé et le problème n'est pas là ?

Bonjour,
ce n'est peut-pas le problème auquel je pense, mais tu dois pouvoir le voir avec ton oscillo : forme de la tension (5v) sur Viin quand le moteur tourne ?