Bouffée de fumée dans l'air. 3 PCB différents. PCB a des fantômes?

15

Oui, c'est un haïku. (EDIT: corrigé ... c'est maintenant en fait un Haiku)

Non, je ne souris pas.

Je fais des tests standard; voir ce qui se passe lorsque l'un des deux rails d'alimentation est court-circuité à GND sur un PCB que j'ai conçu. Nous parlons d'un rail d'alimentation 12 V alimenté par une alimentation de paillasse, avec un convertisseur abaisseur 5 V intégré qui alimente l'autre rail du PCB (auquel mon ATmega328PB est connecté).

Le rail 12 V a un tas de prises DC baril qui seront exposées aux utilisateurs finaux. Alors, naturellement, j'ai décidé de coincer un tournevis de bijoutier dans l'un d'eux pour effectuer mon test de court-circuit.

Voici une bouffée de fumée de mon ATmega328PB.

Je pense que cela signifie que l'une des choses suivantes s'est produite:

entrez la description de l'image ici

Temps schématique

Voici le schéma des connexions à l'ATmega328PB:

Schéma ATmega328PB

Voici tous les schémas des éléments de la conception qui ont une connexion au rail 12 V (le rail VBAT +) et qui contrôlent les chemins de retour du courant GND:

Contrôle de puissance FET

Front-end analogique

Et voici un schéma des prises de barillet et des broches de détection de prise associées (notez que celles-ci se connectent directement à certaines des broches de l'ATmega328PB sans résistance série):

Prises à barillet CC avec prise pour détecter les broches

Le plan de court-circuit

Le plan pour traiter les courts-circuits sur le rail 12 V consistait simplement à désactiver le FET à canal N LOAD_FET car l'une des deux conditions logiques était remplie dans le micrologiciel:

  1. L'échantillonnage ADC à une fréquence de 1 Hz détecterait la condition de surintensité et provoquerait l'interruption du conducteur FET_LOAD, coupant ainsi le courant de court-circuit
  2. La tension d'alimentation de l'ATmega se mettrait en panne et le MCU réinitialiserait et initialiserait le commutateur FET_LOAD sur "off", coupant ainsi le courant de court-circuit

The Big Smoke

Voici une sonde d'oscilloscope de ce qui arrive au rail Vbat + sur CH1 (jaune) et au rail +5 sur CH2 (bleu) lors du court-circuitage de Vbat + à GND via l'application d'un tournevis de bijoutier aux fils exposés d'un câble qui est branché sur le circuit jack barrel (je n'ai pas enfoncé le tournevis dans la prise ) alors qu'il est alimenté par une alimentation de paillasse qui est réglée sur 12V @ 5 ampères:

Court-circuit |  CH1 - Vbat + |  CH2 - + 5V

Après cela, l'ATmega devenait tout simplement très chaud chaque fois que je mettais la carte sous tension, et agissait effectivement comme un court-circuit entre son entrée + 5V et la masse du signal. J'ai dessoudé l'ATmega avec de l'air chaud et testé le FET FET_LOAD N-channel pour voir s'il était frit. En effet, il avait échoué au point de ne plus s'éteindre ni s'allumer complètement lorsqu'une tension de grille était appliquée à +5 ou à la masse du signal, mais fonctionnait plutôt quelque part dans la zone crépusculaire entre les deux. Il baissait d'environ 2,3 volts tout en conduisant ~ 200 mA, qu'il soit "allumé" ou "éteint" lorsqu'une charge était branchée sur le cric du canon.

Pressentiment

Si le FET a été endommagé, le vecteur des dommages à l'ATmega peut avoir été causé par la transmission d'une haute tension via le drain du FET à sa grille et au MCU. A fait des tests ultérieurs avec des tensions plus faibles alimentant le rail 12V. Notez que les trois premières images sont fondamentalement les mêmes, mais avec des courants de crête différents. Une fois l'ATmega arrêté (en raison de la chute de tension sur le rail Vbat +), le signal LOAD_GND_ENABLE fourni par le MCU (bleu, ci-dessous) devient à son tour bas, coupant le commutateur FET_LOAD .

Légende:

CH1 = tension aux bornes de Rshunt (0,005 ohm) CH2 = tension au signal LOAD_GND_ENABLE (connecté à ATmega)

Vbat + fourni à 6V:

entrez la description de l'image ici

Vbat + fourni à 7V:

entrez la description de l'image ici

Vbat + alimenté en 8V:

entrez la description de l'image ici

Vbat + fourni à 9V:

entrez la description de l'image ici

Sur ce dernier, le courant n'a cessé d'augmenter et le signal LOAD_GND_ENABLE a fait une danse funky, mais dans l'ensemble, il semblerait que les limites maximales n'aient jamais été dépassées sur la broche LOAD_GND_ENABLE (au moins, je ne pense pas qu'elles l'étaient ... Je n'ai qu'un oscilloscope à 2 canaux et j'aurais dû mesurer le rail + 5V pour connaître la tension sur LOAD_GND_ENABLE par rapport à Vcc).

Prochaines étapes

Il ne me reste qu'une planche à sacrifier, mon plan est donc de:

  1. Utilisez un ATmega328PB vierge afin que toutes ses broches soient par défaut à haute impédance sans aucun périphérique configuré / initialisé. Répétez le test de court-circuit pour voir si l'ATmega328PB continue de monter en fumée. Si cela ne va pas, le MCU doit avoir échoué car il cherchait / coulait trop de courant sur l'une de ses broches configurées en sortie alors qu'il exécutait le firmware dans les tests précédents.

  2. Testez avec un ATmega328PB monté sur une carte de dérivation (malheureusement, cette puce ne vient pas dans des boîtiers DIP) connectée au PCB via des fils volants. Commencez sélectivement à connecter un seul flywire à la fois, exécutez le test et voyez quel flywire finit par être celui qui est responsable de la friture de l'ATmega328PB.

  3. Commandez un nouvel échantillon de PCB avec une disposition modifiée de sorte que toutes les traces se connectant à l'ATmega328PB soient connectées par des ponts de soudure qui peuvent être soudés à la main pendant mon test. De cette façon, le test de court-circuit (et tout autre test) peut être effectué avec l'ATmega connecté à un nombre limité de signaux à la fois, et facilite la connexion de tous les autres circuits externes à ces ponts de soudure pour les contrôler indépendamment de l'ATmega. .

Oui, c'est vraiment une question!

Et la (les) question (s) est:

  • quelqu'un voit-il quelque chose ici que je ne vois pas. Est-ce évident? J'espère que ce n'est pas évident ...
  • Quelle serait votre prochaine étape?
macdonaldtomw
la source
5
+1 pour le haïku et pour une question détaillée complète vraiment bien faite. Mais malheureusement, je n'ai pas l'expérience / les connaissances pour même commencer à donner une réponse.
manassehkatz-Reinstate Monica
2
Un taux d'échantillonnage de 1 seconde pour les courants courts est TROP LENT. En supposant que la partie à risque est un semi-conducteur, avec une région active d'épaisseur 10 microns, ces 10 microns ayant un Tau thermique de 1,14 microseconde, vous devez détecter la surintensité (ce court) très rapidement.
analogsystemsrf
2
Les choses électriques ne fonctionnent pas après avoir laissé la magie s'envoler ...
Solar Mike
Je souhaite que nous ayons vu plus de questions comme celle-ci. +1
Wossname

Réponses:

1

Je pense que votre commutateur dans la ligne LOAD_GND est probablement le coupable ici, combiné avec les lignes de détection de prise non protégées au micro (que je noterais sont connectées à LOAD_GND pour toute prise où il n'y a PAS de prise insérée.

Considérez ce qui se passe si vous désactivez ce mosfet (la prise détectant les lignes sur n'importe quelle prise sans prise insérée sera connectée à la tension de la batterie via la charge en court-circuit, de la fumée se produira), vous devriez au moins avoir une résistance en série et une pince sur la prise de détection de lignes (disons 10k environ et une paire de diodes), mais vraiment je ne vois pas ce que le commutateur LOAD_GND vous achète vraiment par-dessus un commutateur côté haut?

Soit dit en passant, la scène automobile a de très bons commutateurs latéraux à commande logique avec déclenchement et surintensité intégrés, qui valent bien le coup d'œil.

Dan Mills
la source
Tu as tout à fait raison. Très concis, très juste. Merci à vous monsieur.
macdonaldtomw
3

Le rail 12 V a un tas de prises DC baril qui seront exposées aux utilisateurs finaux. Alors, naturellement, j'ai décidé de coincer un tournevis de bijoutier dans l'un d'eux pour effectuer mon test de court-circuit.

Ce qui signifie que vous mettez + 12V sur la JACK_DETECTligne non protégée , en faisant frire le MCU. Voir "tension sur n'importe quelle broche [..]" ci-dessus.

Reconcevoir le circuit qui fait un court-circuit entre VBAT+et JACKx_DETECTne permet pas à la tension sur la broche MCU de dépasser VCC - par exemple avec une résistance et une diode.

Turbo J
la source
0

Apparemment, je ne peux pas (encore) commenter. Mais j'ai changé ma réponse pour être d'accord avec ce qui précède, avec l'observation suivante.

Un élément auquel je voudrais m'occuper est de m'assurer que vos FET sont dans un état bien entraîné (pullup / pulldown) lorsque l'ATMega est en état de démarrage / réinitialisation. Les broches sont normalement réglées sur le mode d'entrée IIRC, ce qui fait flotter la porte FET et présente un mauvais entraînement Vgs, augmentant la résistance du canal. Si le flux de courant entre les connexions de drain et de source est important, il surchauffera / détruira rapidement le FET.

isdi
la source