Arduino resettaggio / sospensione a causa di scintille nella linea CA.


15

Questo è il progetto PCB del progetto a cui ho lavorato di recente (il mio primo progetto PCB). Layout PCB

L'idea è di controllare gli apparecchi a corrente alternata (ventilatori, lampadine, ecc.) Senza relè. Sto usando triac che sono migliori dei relè per tali applicazioni. Sto usando optoisolatori per il completo isolamento dalle linee ca. Ho provato a far funzionare Arduino usando un cavo USB collegato al mio laptop (con caricabatterie scollegato) e un adattatore a muro (12V).

Inizialmente, il circuito sembrava funzionare bene. Sono stato in grado di scaricare il codice nel controller e controllare le lampadine (acceso / spento e dimmerarle) utilizzando UART. Ho inviato i comandi tramite UART. Tuttavia sembra che ogni volta che c'è una scintilla sulle linee ca (quando collego / esco una ventola), il microcontrollore non sembra felice. A volte si ripristina (che è la parte migliore dell'immagine) e altre volte si blocca e non riesco a inviare comandi tramite UART. Non sono sicuro che anche il codice bruciato venga interessato, ma a volte ho dovuto ricaricare il codice. Se accendo / spengo un ventilatore in un'altra stanza, non c'è alcun effetto.

Possibili problemi:

1) Assenza del piano di massa sul PCB.

2) Una sorta di EMI a causa di scintille.

Ho anche provato a collegare uno scaldabagno (carico resistivo di 800 watt) allo stesso modo della ventola, ma non è successo nulla. Quindi, penso che sia il carico induttivo che sta dando problemi.

Qualsiasi soluzione costruttiva per questo problema sarà molto apprezzabile.

Grazie.


2
Sì, è il carico induttivo. Per sopprimere il picco induttivo è necessario uno snubber e / o MOV (o un diodo TVS bidirezionale). Normalmente posizionato in parallelo con il carico. Un layout PCB migliorato può aiutare a ridurre al minimo gli effetti. Vedere electronics.stackexchange.com/q/101815/25328 per una domanda simile sebbene quella scheda utilizzi un relè.
Tut

Poiché si utilizzano triac, è probabile che il problema del picco induttivo sia molto peggiore quando si collega / scollega manualmente la ventola poiché i triac si spengono quasi a corrente zero. Un potenziale problema che potresti incontrare è che i triac non si spengono quando sono collegati a carichi induttivi. Ti suggerisco di cercare nei fogli dati e nelle note dell'app per i circuiti triac progettati per carichi CA.
Tut

Questo potrebbe non essere d'aiuto, ma potresti provare ad aggiungere un timer watch dog al tuo software Arduino.
Asse

@Tut - Grazie per tutti i tuoi suggerimenti. Ho letto il link che hai pubblicato. Sto cercando di implementarli nel mio prossimo PCB. Pubblicherà il layout della scheda prima di andare in produzione in modo che voi ragazzi possiate fornire un feedback e segnalare errori / correzioni.
Whiskeyjack,

Risposte:


11

Non hai mostrato uno schema, ma non vedo alcun tappo di bypass ovvio o tappo del serbatoio dell'alimentatore di bordo locale. Ciò e la mancanza di una buona base stanno probabilmente causando i problemi.

Come altri hanno già detto, dovresti anche lasciare un'adeguata distanza di isolamento tra le sezioni AC e DC e almeno provare a fare un po 'un piano di massa.

Hai una grande scheda con pochi componenti e un grande passo dei pin, quindi instradare la maggior parte delle tracce sullo strato superiore dovrebbe essere abbastanza facile. Occasionalmente dovrai passare allo strato inferiore perché in generale un circuito non può essere instradato su un singolo piano. Tuttavia, è possibile mantenere brevi le tracce sul livello inferiore. Considerali come "ponticelli" abbastanza a lungo per collegare due tracce sul livello superiore che altrimenti non potresti connettere su un piano. La misura di un piano terra non è quante isole ha in essa, ma la dimensione più lunga di qualsiasi isola. Mantieni i ponticelli corti e liberi.

Tuttavia, è assolutamente necessario inserire un limite di bypass su ogni alimentazione di ogni circuito integrato. Questi dovrebbero essere piccoli tappi di ceramica fisicamente vicini all'IC con i circuiti complessivi più piccoli possibile. 1 µF 0805 è circa a destra. Non solo saranno più economici e avranno prestazioni migliori rispetto agli equivalenti tappi passanti, ma saranno anche più facili da saldare.

Dal momento che l'alimentazione CC proviene da altrove e la sua impedenza è quindi sospetta, metti un cappuccio elettrolitico di dimensioni decenti proprio attraverso il punto in cui l'energia entra nella scheda. Alcuni 100 µF dovrebbero farlo.


Grazie Olin. Stavo leggendo i tuoi post su altre domande simili e ho imparato molto. Sembra che lasciare il piano di terra sia stato l'errore più grande. Ridisegnerò il mio PCB con i piani di massa su entrambe le superfici e cercherò anche di posizionare i componenti in modo più ordinato, come indicato da altri. Ancora una volta, apprezzo molto il tuo aiuto.
Whiskeyjack

1
@ user3455594 Non tralasciare quei condensatori di bypass, specialmente su Arduino.
Tut

@Olin - Quali misure consigliate per proteggere i triac dai picchi di tensione ogni volta che il dispositivo viene acceso o spento? Dopo alcune letture, ho scoperto che gli snubber sono usati più comunemente per sopprimere i picchi in arrivo. Tuttavia l'uso principale del snubber era correlato per prevenire il falso innesco del triac e non la protezione del triac. MOV è un'altra opzione. Qual è la tua opinione al riguardo. Fare riferimento a questo collegamento per riferimento al mio caso d'uso.
Whiskeyjack,

20

Dovresti rispettare il tuo isolamento di tensione. Il modo in cui sono stati posizionati (e instradati) i resistori R16, R13 R10, R2, R31 e R4 compromette la barriera di isolamento creata dagli optoisolatori. Di seguito ho segnato il tuo layout esistente con il tuo percorso di isolamento, che è abbastanza scarso:

inserisci qui la descrizione dell'immagine

Avere una singola zona di isolamento il più ampia possibile (la larghezza degli optoisolatori). Mantenere i circuiti di linea sul lato linea e i circuiti isolati sul lato isolato. Vedi l'immagine sotto per suggerimenti.

inserisci qui la descrizione dell'immagine


Sarà utile e potrebbe essere d'aiuto, ma credi davvero che sia la fonte del problema e che questa soluzione lo risolverà completamente?
Adam Davis,

1
@AdamDavis No, non posso garantire che questa sia l'unica causa di problemi. In effetti, sia i consigli di Olin che quelli di Andy dovrebbero essere assolutamente rispettati. Tuttavia, questa è una considerazione importante per la sicurezza e posso anche vedere un assemblaggio tutt'altro che perfetto esasperando il problema.
W5VO,

@ W5VO - Ho realizzato un altro layout . Puoi per favore vederlo una volta e fornire i tuoi preziosi suggerimenti? Grazie in anticipo.
Whiskeyjack,

6

Piano terra, piano terra, piano terra e pochissime scuse. Dai un'occhiata a come avresti potuto fare molto di questo circuito: -

inserisci qui la descrizione dell'immagine

Ho trascorso circa 5 minuti segnando tracce (con un rosso acceso) tracce blu che potrebbero essere rosse senza quasi nessun lavoro cerebrale.

Lo scarto e ricomincio.


4
@kolosy Iniziamo tutti da qualche parte e tutti abbiamo fatto layout sbagliati al primo avvio. Questo è il miglior consiglio gratuito che riceverà il PO e se pensi che io sia irragionevolmente duro, per favore, insisto, segnala questa risposta ai moderatori.
Andy aka

1
Grazie Andy. Ho già messo un piano di massa nel mio secondo progetto. Pensi che questo sia l'unico problema? PS - Non ho trovato la tua risposta dura in alcun modo. Apprezzo il vostro aiuto.
Whiskeyjack

4
@kolosy Onestamente, non penso che la risposta sia offensiva (e questo potrebbe essere perché sono d'accordo con il verdetto di Andy).
W5VO,

1
@kolosy: Andy lo dice così com'è, ed è qualcosa che l'OP deve ascoltare in termini chiari. E sì, sono d'accordo anche con il suo verdetto.
Olin Lathrop,

3
@Andyaka potrebbe dire come è, ma non vedo il punto di portare "nessuna scusa" e "quasi nessun lavoro cerebrale". Ciò che è ovvio e senza cervello per te, non è per le persone che hanno appena iniziato.
kolosy,

2

Nella mia esperienza, impostare e ripristinare linee, infradito e altri circuiti, sono molto sensibili al "rumore elettrico". Il miglior modo pratico per evitare comportamenti imprevedibili del circuito è disaccoppiare le linee di alimentazione di ciascun chip, con condensatori appropriati. Inoltre, gating / abilitazione delle linee di ingresso con un segnale di clock, ridurrà l'opportunità per "transitori" di influenzare i circuiti.


Non ho capito l'ultima riga. Potresti per favore elaborare? Grazie per la risposta.
Whiskeyjack il

1

quando stavo lavorando al progetto di controllo del carico basato su DTMF, ho riscontrato lo stesso problema con il carico CA. Senza carico CA il mio circuito 8051 Micro-controller funziona bene. Quando accendo il carico CA, l'intero circuito si comporta in modo diverso quando accendo / spengo il carico CA attraverso il circuito relè. Più tardi ho scoperto che il terreno versato sulla scheda 8051 non è buono. Infine, sostituisco la vecchia scheda micro-controller 8051 con una nuova scheda micro-controller 8051 con una buona dispersione a terra. Ora funziona benissimo. Pertanto, ho pensato che il tuo PCB dovrebbe avere un buon terreno.


Questo era esattamente il problema. Beh, avevo appena iniziato il lavoro in quel momento e non sapevo nulla del buon layout del pcb, del ground pour, dell'isolamento ecc. Questo bug è stato risolto da tempo ma grazie per la risposta. Spero che serva da buon riferimento per le persone alle prese con problemi simili. (+1).
Whiskeyjack,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.