Domanda:
Strano comportamento nel PCB quando il solenoide si spegne
bunny
2015-09-23 19:57:51 UTC
view on stackexchange narkive permalink

PCB image

Ciao a tutti,

ho progettato un PCB per un controllo di blocco. Puoi vedere il PCB sull'immagine. Alcune spiegazioni sulle abbreviazioni:

  • Ext: fonte di alimentazione esterna a 12V
  • Batt: batteria a 12V
  • 1702: convertitore di alimentazione da 12V a 5V
  • Tastiera: arriva una classica tastiera 4 per 3
  • MCU: Atmel Atmega 328P
  • IRL520N: transistor per pilotare il solenoide della serratura

Altri componenti non sono rilevanti per la discussione, credo.

Il programma è il seguente: inserisci un codice. Quando il codice è corretto, il transistor viene attivato, quindi la serratura si apre. Questo per due secondi. Quindi i blocchi si spengono.

Tutto funziona bene, tranne ... Quando i blocchi si spengono di nuovo, il circuito inizia a comportarsi in modo strano. A volte si blocca, a volte il chip si riavvia.

Inserisco il disegno del PCB e non del circuito, perché penso che il problema risieda nel modo in cui è disposto il PCB.

Grazie mille per il tuo aiuto!


Quindi, viste tutte le tue risposte, ho ridisegnato un po '(molto) il circuito:

  • Uso di SMD componenti
  • Crystal è molto più vicino all'MCU
  • Uso del condensatore di disaccoppiamento (C5)
  • Uso del riempimento a terra (area rosa sul fondo del PCB)

New PCB

Potresti dirmi se questo PCB avrebbe le buone prestazioni richieste? O mi sbaglio ancora?

Grazie mille

Oh sì, quando lo provo sulla breadboard, non ci sono problemi del genere.Ecco perché penso che ci sia un problema nel mio layout PCB ...
Si prega di aggiungere gli schemi
Benvenuti nel mondo delle interferenze elettriche.
Inizia con i condensatori di disaccoppiamento sui pin di alimentazione dell'MCU.
Nessun piano di massa che posso vedere.
Aggiungi un condensatore 100uF-1000uF parallelo al solenoide.
@Tut Proverò i condensatori di disaccoppiamento.Grazie mille
@Andyaka È necessario un ground plane?In caso affermativo, perché?
@bunny - Ogni volta che realizzi qualsiasi tipo di sistema digitale con un orologio, e in particolare se stai anche guidando qualsiasi tipo di carico (come il tuo solenoide), un aereo di terra dovrebbe essere in cima alla tua lista.Bene, insieme al corretto disaccoppiamento (che il piano di massa aiuta enormemente).Riduce notevolmente i problemi di rumore e riduce le interazioni strane, come, ad esempio, ciò che stai vedendo.Non è una panacea, ma rimarrai stupito di quanto più facile ti renda la vita.Qualsiasi picco di corrente nel tuo terreno produrrà picchi di tensione sulle tue piccole tracce di terra.
Hai dimenticato di connettere AVcc sul tuo nuovo layout.Questo dovrebbe essere collegato indipendentemente dal fatto che si utilizzi o meno A / D (vedere la scheda tecnica).È difficile da dire, ma credo che potresti anche perdere GND sul pin 21 dell'MCU.
@bunny tutti i tuoi ingressi MCU sono tirati in alto?Gli input fluttuanti mi hanno colto di sorpresa diverse volte.
@Tut Ho davvero .Ho corretto questo .thx
Commento minore sul design del PCB: non disegnare linee diritte da punto a punto, sembra terribilmente poco professionale.scegli rotazioni i cui gradi sono divisibili per 45 e non fare curve strette di 90 gradi, invece, trasformale in una curva 45 + 45.Sembra molto più ordinato in questo modo.(In alcuni casi estremamente rari, il routing point-to-point è il migliore, tuttavia non nel 99% delle tavole per principianti)
Il nuovo design è ancora orribile.I cappucci di cristallo e di disaccoppiamento sono ancora troppo lontani dall'MCU.Non utilizzare tracce ad angolo retto o ad angolo acuto.Tutti gli angoli dovrebbero essere di 45 gradi (migliore per la produzione, meno rischi).Che tipo di diodo è D3 (il tuo diodo a ruota libera attraverso i contatti del solenoide)?Deve essere molto veloce, altrimenti un'ondata di EMF potrebbe essere rimandata al chip, causando malfunzionamenti e potenziali danni.Cosa stai usando per il tuo alimentatore?Quanta corrente può generare?
@derstrom8 DIODE È UN SEMPLICE 1n4001.Non vedo come posso avvicinare ulteriormente i condensatori di disaccoppiamento e il cristallo?Sono quasi proprio accanto al chip ...
@bunny il tuo pacchetto software ti consente di misurare la distanza?Anche un'immagine 3-D sarebbe carina.I condensatori di cristallo e di disaccoppiamento non dovrebbero essere a più di uno o due millimetri dal chip.
@bunny - 1) Un 1N4001 non è una buona scelta per un flyback.2) Perché stai usando SMD questa volta?Sei sicuro di poter fare questa saldatura davvero fine?3) Il nuovo pacchetto Q3 non può essere saldato per drenare da te.Quel pacchetto presuppone la saldatura a riflusso o in fase vapore.Lo stesso per C1 e C2, credo.4) Il tuo connettore dati seriale ha davvero bisogno di un pin di terra.5) Metti le tue tracce a terra sotto il pacco con una via per piombo e una breve traccia per ogni cavo.Tracce di terreno brevi sono buone tracce di terreno.6) Collegamenti a terra Bat & Ext direttamente al piano di massa.Allo stesso modo ICSP pin 1. Non hai bisogno di un via - usa pin.
Dovresti tenere conto di ciò che le persone dicono principalmente, ovvero senza uno schema, essere critici sulle cose che rimangono da fare è congetture.
@Linards: Non c'è niente di sbagliato nelle linee diritte punto a punto.In effetti, è elettricamente ottimale.E no, non c'è niente di poco professionale al riguardo.Non professionale sta compromettendo il design a favore di ragioni estetiche religiose o totalmente soggettive e sciocche che danneggiano l'utilità effettiva.Agli elettroni non importa se hai un blocco su come "ordinato" un layout appare su un altro.Più il percorso è rettilineo, meglio è elettricamente.
@OlinLathrop Trovo che andare con angoli di traccia divisibili per 45 finisce per essere molto più efficiente in termini di spazio e più facile da seguire durante il debug di una scheda.Certo, si può instradare senza riguardo per gli angoli coerenti, ma in qualche modo questa non sembra essere la norma ampiamente accettata.
@Linards: Questo non ha nulla a che fare con quello che hai detto originariamente, che era * sembra terribilmente poco professionale * e * sembra molto più ordinato *.Sono solo sciocchezze.Un instradamento più ortogonale può risparmiare spazio o consentire una soluzione di instradamento, ma non è di questo che stiamo parlando, né questi problemi erano nel design originale dell'OP.
@OlinLathrop Va bene, ammetto di aver formulato il commento originale piuttosto male.
Otto risposte:
Spehro Pefhany
2015-09-23 21:29:18 UTC
view on stackexchange narkive permalink

Uno dei problemi principali è che la corrente del solenoide passa attraverso lo stesso conduttore che è a terra per il chip. Dovresti riavviarlo separatamente, può essere anche meglio che lanciargli ciecamente un sacco di rame.

Potresti essere in grado di salvare questo layout tagliando la traccia alla sorgente del MOSFET e bypassandola con un cavo volante e / o aggiungendo una resistenza in serie al gate del MOSFET, che rallenterà la commutazione del transistor e ridurre quel transitorio sulla traccia di massa, a scapito di un po 'di riscaldamento durante l'operazione di commutazione. Prova qualcosa come diversi K e aumenta il resistore di shunt se necessario per mantenere la maggior parte del gate drive.

Andy aka
2015-09-23 22:31:44 UTC
view on stackexchange narkive permalink

Buone pratiche di progettazione PCB. Dai un'occhiata prima a questo: -

enter image description here

Ci sono 6 esempi di come puoi collegare i condensatori di disaccoppiamento ai pin di alimentazione su un micro e nota che tutti usano un PCB con un power plane e un ground plane.

OK hai solo una scheda a doppio strato e la cosa più importante è il groundplane e hai un sacco di spazio sul tuo PCB per farne uno davvero abbastanza efficace. Non lesinare su di esso. Instradare i binari di alimentazione in cima non deve essere un problema, ma fai quello che puoi per rendere il GP il più pieno possibile e assicurati che le diverse parti del circuito che condividono un'alimentazione comune non passino correnti pesanti verso il basso di potenza condivisa tracce - la stella che punta indietro verso la batteria è una buona cosa da considerare.

In effetti molti progetti richiedono piani di massa separati solo per evitare che la corrente pesante (ad esempio un motore) passi attraverso i componenti di ingresso dell'amplificatore sensibili. Pratica comune oggigiorno.

Non avere un ground plane è come avere molte antenne loop individuali su tutto il PCB; alcuni capaci di trasmettere energia e tutti capaci di ricevere energia.

Se usi un piano di massa, l'area "effettiva" dell'antenna a telaio formata è definita dallo spessore del tuo circuito.

Mi sono preso la libertà di copiare la tua immagine PCB e colorare le tracce di terra in blu e altre tracce nella parte inferiore in rosso: -

enter image description here

Tutte le tracce in rosso potrebbero essere instradate sulla parte superiore con solo un piccolo uso dello strato inferiore in misura molto maggiore di quello che hai. Ciò libera lo strato inferiore per una copertura del blu superiore al 95%.

"_Routing dei binari elettrificati in alto non deve essere un problema_".Perché?Perché un aereo a motore non è importante quanto un aeroplano?(Devo pubblicare una domanda separata per questo? :))
@Rafael probabilmente è una buona domanda e troppo lunga per rispondere come un breve commento.In poche parole, è necessario un ottimo riferimento 0V principalmente perché questo è anche un riferimento di segnale mentre la traccia di potenza può oscillare su e giù un po 'senza sconvolgere il segnale in avanti e le correnti di ritorno dal punto A al punto B.
Olin Lathrop
2015-09-23 20:10:20 UTC
view on stackexchange narkive permalink

Nessun piano di massa, nessun limite di bypass, sembra che tu stia ottenendo i risultati attesi.

Dato il cattivo design che è chiaramente evidente, immagino che tu non abbia nemmeno inserito un diodo di cattura flyback anche attraverso il solenoide.

Elaborare tutte queste cose è inutile poiché sono davvero basilari e già ben trattate qui e in altri luoghi. Aggiungi il diodo di cattura flyback e un cappuccio di bypass per ciascun pin di alimentazione del micro. Questo è il minimo indispensabile per risolvere questo pasticcio.

Se puoi usare uno strato principalmente per il terreno con "ponticelli" al suo interno solo per far funzionare il routing sull'altro strato, sarebbe bene. Non so perché stai usando tutte le antiche parti con fori passanti, ma dato che lo sei, userei lo strato superiore per il terreno e metterei il maggior numero possibile di interconnessioni sullo strato inferiore.

Aggiunto:

Altri hanno sottolineato che D1 è il diodo di cattura flyback (come ho detto prima, non avevo guardato e stavo indovinando). Questo è un problema in meno, ma lascia comunque i due problemi principali della mancanza del cappuccio di bypass (o dei tappi, ne hai bisogno uno per ogni pin di alimentazione) e di una cattiva messa a terra.

Questo sottolinea anche perché è necessario > mostra lo schema . Non puoi aspettarti che i volontari di cui stai cercando un favore provino a seguire il layout per dedurre il circuito. Uno schema avrebbe anche reso evidente la mancanza del condensatore di disaccoppiamento e dovrebbe mostrare che tipo di diodo D1 è.

D'altro canto, la messa a terra è un problema di layout. Vedo che nel frattempo hai rifatto il layout utilizzando un mix di parti a montaggio superficiale e fori passanti. In questo caso, utilizzerei lo strato inferiore come piano di massa nella misura in cui puoi. Metti gli interrconnessioni sul livello superiore, andando solo al livello inferiore per creare brevi "ponticelli" per quando le cose non possono essere instradate su un unico piano. Cerca di mantenere quei maglioni il più corti possibile e lontani l'uno dall'altro. La metrica a cui tendere è ridurre al minimo la dimensione massima di qualsiasi isola nel piano di terra. Questo non solo ti dice di mantenere i ponticelli corti, ma di non raggrupparli insieme.

Vedo che hai ricevuto dei cattivi consigli nei commenti alla tua domanda, che purtroppo è stata votata positivamente. Elettricamente, i collegamenti diretti senza curve sono i migliori. Quello che avevi originariamente tra il microcontrollore e il connettore del tastierino era perfettamente a posto, anzi addirittura ottimale. Non lasciare che la gente ti dica che dovrebbe essere diverso a causa di ragioni estetiche fuorvianti e sciocche. Agli elettroni non importa quanto voi o chiunque altro pensiate che sia carino. Quando devi fare delle curve, il commento è corretto in quanto dovresti cercare di evitare qualsiasi cosa a più di 45 °. Per eseguire una curva a 90 °, utilizzare due curve a 45 ° con un breve segmento diritto tra di loro. In realtà l'hai fatto bene nel layout originale.

Anche in questo caso, devi mostrare lo schema per ottenere un feedback più significativo.

Il diodo flyback è lì (D1).
I commenti non sono per discussioni estese;questa conversazione è stata [spostata in chat] (http://chat.stackexchange.com/rooms/29504/discussion-on-answer-by-olin-lathrop-strange-behaviour-in-pcb-when-solenoid-turn).
optronik
2015-09-23 20:48:34 UTC
view on stackexchange narkive permalink

L'energia immagazzinata nel solenoide attivato sta creando picchi di tensione sulla linea di alimentazione una volta spenta. Il tuo microcontrollore non ha nemmeno un condensatore di disaccoppiamento sui suoi pin di alimentazione per bufferizzare i transitori. Potresti voler aggiungere 1 o 2 tappi in ceramica da 100 nF vicini a Vcc come miglioramento immediato.

Fornisci uno schema per ulteriori analisi.

WhatRoughBeast
2015-09-23 22:53:57 UTC
view on stackexchange narkive permalink

Diverse persone, me compreso, hanno sottolineato la necessità di un terreno migliore e di un disaccoppiamento. Ma ecco come proverei a riparare la tua scheda.

1) Procurati un paio di tappi ceramici da 0,1 uF 50V. Non andare per l'alta tensione. Nella parte inferiore della scheda, saldare uno dal pin 7 al pin 8 e l'altro dal pin 20 al pin 22.

2) Taglia la traccia di terra tra R3 e R4. Taglia la traccia tra la sorgente di Q1 e C2.

3) Utilizzando un cavo piccolo (come il cavo di collegamento # 26), collegare il pin di terra di C1 al pin 22 dell'MCU, utilizzando un cavo il più corto possibile. Nessun loop grande: fallo dritto.

4) Usando un cavo molto più grande, come il n. 20, collega la connessione R3 / Q1 al pin della batteria. Ancora una volta, rendilo il più diretto possibile evitando di posizionare il filo su altre connessioni saldate e magari usa una piccola quantità di resina epossidica da 5 minuti o colla a caldo per tenerlo in posizione. Fondamentalmente, metterei in parallelo la tua traccia di terra che corre sotto l'MCU.

Non do garanzie, ma penso che questo potrebbe darti una possibilità.

Qual è il motivo per cui non posso usare lo stesso cavo più grande ovunque, esattamente?
@bunny - Oh, puoi, ma non è necessario e il filo più piccolo è più facile da lavorare.
@bunny - E un'altra cosa.Aggiungere almeno un tappo da 100 uF attraverso il tappo da 10 uF di sinistra.Se possibile, usa il tantalio anziché l'elettrolitico.
@bunny - Significa che ha funzionato?
a breve termine (con il primo PCB che ho pubblicato) sono stato in grado di correggere lo strano comportamento eseguendo i passaggi 2, 3 e 4 della tua risposta.A lungo termine, ridisegnerò il PCB con i diversi commenti fatti dalle persone.Ma almeno adesso funziona tutto bene. Molte grazie!
Arsenal
2015-09-23 20:48:28 UTC
view on stackexchange narkive permalink

Tutte le note applicative che ho trovato finora affermavano che posizionare l'oscillatore il più vicino possibile ai pin è fondamentalmente un must.

Il tuo è fondamentalmente a miglia di distanza. Se possibile, li posizionerei tra l'MCU e il connettore del tastierino.

Anche il percorso di ritorno corrente dovrebbe essere mantenuto il più breve e diretto possibile. Che potrebbe essere indirizzato in questo modo quando il cristallo è posizionato tra l'MCU e il tastierino.

Non conosco la frequenza a cui scorre il cristallo, se è a 32 kHz, potrebbe essere ok, ma comunque altamente scoraggiato.

@bunny quindi dovresti davvero provare ad avvicinarlo il più possibile all'MCU, ovviamente non è una soluzione rapida, potrebbe comunque funzionare (in effetti lo fa fino a quando il solenoide non si spegne).Una soluzione rapida che potrebbe aiutare è utilizzare invece l'oscillatore RC interno (se non hai bisogno di un tempismo molto preciso).
Marko Buršič
2015-09-23 20:06:41 UTC
view on stackexchange narkive permalink

Forse XTAL e C2 collegati a terra condivisi con transitor non sono una buona idea.

In effetti, la posizione di XTAL, C1 e C2 è mal posizionata.Dovrebbero essere posizionati (rispetto all'MCU) dove la serigrafia legge "Keypad".
@Marko Questo è un po 'sottile per una risposta su EE.SE.Si prega di confermare.[Fortunatamente, abbiamo un bel po 'di materiale su EE.SE sul layout PCB di XTAL.]
Charles Jacks
2015-09-24 20:15:10 UTC
view on stackexchange narkive permalink

Non vedo un diodo di contraccolpo nel circuito per affrontare il contraccolpo derivante dalla disattivazione del solenoide. Un solenoide è fondamentalmente un grande induttore e la corrente che lo attraversa continuerà a fluire fino a quando l'energia non viene dissipata quando il circuito cerca di spegnerlo. Per mantenere la corrente che scorre l'induttore creerà tensioni elevate. Pensa alle candele nei vecchi modellini di auto. Questa energia che viene reimmessa nel tuo circuito creerà il caos e alla fine potrà rilasciare il fumo. Metti un grande diodo di corrente e un piccolo condensatore in parallelo con il tuo circuito di eccitazione del solenoide (diodo, condensatore e solenoide in parallelo) Il condensatore assorbirà parte dell'energia fino a quando il diodo inizia a condurre e prolunga la vita del diodo. Non renderlo neanche troppo grande.

D1 sembra essere un diodo "contraccolpo".
... e potrebbe essere stato notato in uno schema di bobina.


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...