Come posso rilevare un'interruzione di corrente con un microcontrollore?


31

Ho la seguente configurazione di alimentazione: AC MAINS -> UPS -> ALIMENTAZIONE 24V -> REGOLATORE DI TENSIONE 5V -> PCB (microcontrollore). Qual è la soluzione migliore per rilevare l'interruzione dell'alimentazione di rete con il microcontrollore? Devo anche rilevare il passaggio per lo zero in modo da poter controllare la velocità di un motore CA.


Hai bisogno di un adeguato isolamento tra la rete e il microcontrollore o riesci a cavartela con qualcosa di più semplice?

8
Deve essere isolato, sì. Alimentazione in ingresso in un pin del microcontrollore attraverso una grande resistenza non è una soluzione per questo progetto ..
m.Alin

6
Perché il commento di m.Alin viene votato due volte? Sta solo dando maggiori informazioni. O i votanti pensano che da 230 V a un pin del microcontrollore non sia mai fatto, e pensano che sia uno scherzo?
Stevenvh,

4
Chiedi al microcontrollore di controllare la propria potenza e quando la corrente si spegne, invia --- Oh, giusto, non importa.
Olin Lathrop,

1
@OlinLathrop: è il proverbiale product manager che richiede un LED che deve accendere per avvisare quando la batteria è scarica.
ciottoli

Risposte:


54

Poiché è necessario anche il passaggio per lo zero , il rilevamento dell'interruzione dell'alimentazione è praticamente gratuito .
La cosa migliore è usare un fotoaccoppiatore per rilevare zero-incroci. Inserire la tensione di rete tramite resistori ad alta resistenza all'ingresso dell'accoppiatore ottico. L' SFH6206 di Vishay ha due LED in parallelo, quindi funziona per tutto il ciclo della tensione di rete.

enter image description here

Se la tensione di ingresso è sufficientemente elevata, il transistor di uscita è attivato e il collettore è a un livello basso. Intorno allo zero crossing, tuttavia, la tensione di ingresso è troppo bassa per attivare il transistor di uscita e il suo collettore verrà tirato in alto. Quindi ottieni un impulso positivo ad ogni passaggio per lo zero . L'ampiezza dell'impulso dipende dalla corrente dei LED. Non importa se è più del 10% del duty cycle (1ms a 50Hz). Sarà simmetrico rispetto all'attuale passaggio per lo zero, quindi il punto esatto si trova nel mezzo dell'impulso.

Per rilevare interruzioni di corrente, è necessario (ri) avviare un timer ad ogni passaggio per lo zero, con un timeout a 2,5 semicicli. La migliore pratica è lasciare che l'impulso generi un interrupt. Finché è presente l'alimentazione, il timer verrà riavviato ogni mezzo ciclo e non scadrà mai. In caso di interruzione dell'alimentazione, tuttavia, si verificherà un timeout dopo un po 'più di un ciclo e sarà possibile eseguire l'azione appropriata. (Il valore di timeout è più lungo di 2 semicicli, quindi un picco su 1 passaggio a zero che causa un impulso mancato non ti darà un falso avvertimento .)
Se crei un timer software non ti costerà nulla, ma tu può anche usare un multivibratore monostabile (MMV) riavviabile , ad esempio con un LM555 .

nota: a seconda della tensione di rete e del tipo di resistenza potrebbe essere necessario posizionare due resistori in serie per il fotoaccoppiatore, poiché l'alta tensione potrebbe causare il guasto di un singolo resistore. Per 230 V CA ho usato tre resistori 1206 in serie per questo.


Domande e risposte! (dai commenti, questo è extra, nel caso volessi di più )


9998V20mAΩP=V×I=9998V×20mA=199.96W, molto più del 1 / 4W nominale. Quindi per far fronte alla potenza avremo persino bisogno di 800 resistori. OK, 10kV è estremo, ma l'esempio mostra che è possibile utilizzare qualsiasi tensione per un LED, quindi è possibile anche 230V. Si tratta solo di usare abbastanza e il giusto tipo di resistori.


P


P=V×I=230VRMS×1mA=230mW


@stevenvh In che modo la tensione inversa influisce sulla durata dei LED? O i 2 LED in antiparallelo mitigano questo problema?
Majenko,

V=IR

Ho integrato qui le domande e le risposte in una domanda e risposta nella mia risposta.
Stevenvh,

@stevenvh, questa risposta è troppo dettagliata e copre troppi esempi, mi sono stancato e ho semplicemente votato invece di leggere. Ho bisogno che tu inizi a mettere un sommario esecutivo in alto che mi dica cosa sto per non leggere. :)
Kortuk

1
@Kortuk - Pensavo che il titolo Domande e risposte chiarisse che quelle erano informazioni extra "per il lettore interessato" :-).
Metterò in


2

Questo è stato un tema ricorrente con troppe poche soluzioni durante il mio aggiornamento di un forno industriale. La maggior parte dei PLC utilizza moduli "AC Input". Secondo la mia osservazione, la maggior parte degli EE non progetta con PLC e costruirà un dispositivo incorporato. Ho trovato una frase di ricerca riuscita: control signal relay spdt slim 120valtri modificatori da includere sono DIN raile Socket C.

Qualsiasi tipo di attività commerciale con la parola automationnel suo nome avrà prodotti e documentazione per aiutarti nella progettazione.

schematico

simula questo circuito - Schema creato usando CircuitLab

Selezionare il relè con bobina di ingresso corrispondente alla tensione di alimentazione. Ci sono bobine per 100-120 V CA e 200-240 V CA. Nel mio esempio, ho scelto di "invertire" l'uscita del relè in modo che l'ingresso digitale sia sempre collegato a HI o LO e non lasciato flottante.

Il circuito sopra rappresenta ciò che utilizzo per monitorare i sensori sul forno, che sono tutti NOinterruttori a 115 V CA. I design compatti migliorano la densità, quindi apprendono i "relè della morsettiera".

Esiste un'offerta unica sul mercato con grande densità e un'interfaccia con cavo a nastro di un fornitore chiamato opto22 tramite la famiglia G4. Nessuna affiliazione, nemmeno un cliente. Altre soluzioni che raggiungono questo livello di densità sembrano essere progetti proprietari per interfacciarsi con le linee di prodotti PLC.

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.