J'essaie de faire un petit montage avec un nano, un lecteur RFID RC522, un afficheur 4 digits et un buzzer. Tout fonctionne, sauf ce maudit buzzer... Dès qu'il est alimenté + fil de commande raccordé, il fait un bruit de fond, comme un crépitement, hyper désagréable.
Sur le pin 5V du nano j'ai le buzzer + l'afficheur, et lorsque je débranche l'afficheur le bruit de fond s'arrête et le buzzer fonctionne normalement.
Quelqu'un sait d'où pourrait venir le problème et comment le résoudre ?
C'est un étrange problème... En enlevant l'afficheur aucun soucis, idem en alimentant séparément le buzzer avec 3 piles AAA (mais j'aurai déjà une batterie un peu encombrante pour alimenter l'ensemble, je ne peux pas ajouter de piles).
Le buzzer se commande avec une tension continue de 5V.
Ce qui m'étonne quand même c'est que tu commandes un buzzer en PWM. En général on utilise plutôt un haut-parleur.
Faut enlever les fréquences parasite, donc peut-être un condensateur non ?
Découpler l'alimentation de tous les modules : à commencer par l'afficheur.
Essaie dans un premier temps avec 100nF entre GND et 5V. si cela ne suffit pas ajoute quelques 1µF ou 10µF en parallèle (attention à la polarité).
Si c'est bien un buzzer "rudimentaire" c'est à dire qu'il faut lui fournir la fréquence et qu'il y a du bruit de fond partout je te fais deux propositions :
La première est de toucher au minimum à ton montage et de continuer à chercher et peut être le hasard faisant parfois bien les choses tu pourrai trouver la cause.
La deuxième est d'admettre qu'il doit y avoir une grosse connerie de câblage.
AMHA la vérité est dans la deuxième proposition.
Si tu l'admets tu décâble absolument tout et tu recommences le câblage en faisant bien attention à câbler les masses des alimentations car tout est dans les masses il faut qu'elle soit les plus parfaites possible surtout s'il y passe quelques dizaines de mA.
Dans l'ordre des conseils :
câbler les masses en étoile : la carte arduino est le centre de l'étoile, les différents modules forment les rayons de l'étoile. Jamais deux modules raccordés sur le même rayon.
Éviter les fils pré-monté pour breadboard, surtout les moulés il n'y a que 3 brins de cuivre à l'intérieur --> à fuir.
Utiliser un vrai fil de diamètre correct ou mettre plusieurs fils en parallèle s'il faut passer des mA.
Bien découpler les alimentations au niveau de chaque composant.
Cela va paraître surprenant mais un microcontrôleur ne fonctionne pas qu'avec des signaux continu mais plus souvent avec des signaux carrés de fréquence non négligeable
Deuxième point qui peut paraître surprenant une alimentation continue DOIT être un court-circuit pour les signaux "fréquence" sinon cela ne fonctionne pas.
C'est le rôle des condensateurs de découplage de court-circuiter l'alimentation continue pour les signaux "fréquence".
Comme il n'existe pas de condensateurs parfaits on utilise deux modèles que l'on place en parallèle : chimique ou tantale (10 à 100µF) pour les fréquences basses et des céramiques (100 nF) pour les fréquences élevées.
Pour transporter un signal "fréquence" d'un module vers un autre il est recommander de torsader deux fils l'un étant une masse, l'autre le signal. ---> Attention là je ne parle pas des masses des alimentations, je parle de transport de signal.
Si le fil du signal "fréquence" est seul il peut se comporter comme un antenne émettrice ou réceptrice.
L'effet antenne ne se manifestera pas obligatoirement mais ce n'est pas la peine de jouer avec le feu alors que la solution est simple.
Dernier point : fuir comme la peste les câblages en vrac avec de grandes boucles aériennes style "Perchoir à mouche". Les fils doivent être ordonnés, si possible plaqués sur le support : le scotch sera d'une grande utilité.
bidouilleelec:
Bonjour Neiler
Il serait utile de poster TOUT votre code et de préciser votre modèle d'afficheur.
Voire de poster une photo du montage.
bidouilleelec.
Mon code est très spécifique et fait près de 5.000 lignes, et (mais je peux me tromper) je n'ai pas l'impression que le problème vienne du programme... J'utilise simplement la fonction "tone()" comme dans l'extrait de code cité plus haut, pour envoyer un bref "bip" lorsqu'une carte est détectée par mon module RFID. En ce qui concerne le câblage, c'est très sommaire, voir ci-dessous.
68tjs:
La deuxième est d'admettre qu'il doit y avoir une grosse connerie de câblage.
Ce n'est pas impossible, mais j'ai déjà décâblé / recâblé et mon montage est très simple :
1 nano alimenté par une batterie 12V, un module RFID RC522 (sur le 3.3V du nano), un module afficheur 4 digits avec un driver TM1637, et le fameux buzzer (tous deux sur le 5V du nano). Pour le moment tout est câblé sur breadboard avec les fameux "fils pré-montés" à fuir à tout prix... Mais le projet terminé sera propre et câblé avec du vrai fil, à défaut d'être bon en électronique je suis un véritable maniaque
La piste du découplage d'alimentation me semble être la plus prometteuse, j'essaierai ce soir en rentrant du boulot. Pour ne rien vous cacher mon truc c'est plutôt le développement, mes notions d'électronique remontent à trèèèèèès longtemps... Si j'ai bien compris je mets simplement un condensateur de 100µF (je ne sais pas ce que 68tjs entend par "fréquences basses" mais je ne monte pas au dessus de 1kHz) aux bornes de mes 2 modules alimentés en 5V (l'afficheur et le buzzer, donc) ? Le cas échéant, dans quel sens, le + du condo sur le + de l'alim ?
Je profiterai de l'occasion pour poster des photos de mon montage.
Un grand merci à tou.te.s pour vos réponses et vos pistes, mention spéciale à hbachetti qui intervient sur chacun de mes topics (et m'a déjà sorti d'une belle galère récemment) tel un superhéros
Revenons sur le buzzer. Il en existe deux type passif et actif.
Type actif : c'est le buzzer qui fabrique lui même sa fréquence, il est alimenté en 5V, tu peux juste lancer ou arrêter le "bruit".
Type passif : le buzzer est alimenté en 5V, c'est toi qui doit lui envoyer une fréquence.
A ce sujet si tu envoi un signal carré à 1 kHz tu envoi une infinité de multiples de 1 kHz (fréquences harmoniques) : c'est les "Séries de Fourrier".
Bien sûr plus le rang de l'harmonique est élevée plus son amplitude est faible et elles finissent par devenir négligeables mais pour voir à peu prés carré un signal carré à 1 kHz il faut passer jusqu'à 10 kHz sinon tu n'obtiens qu'une sinusoïde. Que dire des autres fréquences dans le microcontrôleur en particulier son horloge interne à 16 MHz qui véhicule jusqu'à 160 MHz.