rilevando zero cross in ac?


15

Devo rilevare l'attraversamento zero per un avviatore statico. Molto tempo fa, l'ho fatto usando un resistore da 1 Mega ohm collegato direttamente al microcontrollore su un lato e alimentazione live su un altro lato. Ho avuto successo ma è consigliabile? in quale altro modo posso farlo in modo economico e affidabile?

Risposte:


14

Ho progettato avviatori statici utilizzando i processori PIC16C74A / F77. Lo zero crossing può essere complicato se devi lavorare anche in ambienti rumorosi.

Se non è necessario che il processore sia isolato dalla linea, non c'è nulla di sbagliato nel fatto che un paio di resistori di alto valore alimentano un pin della CPU. Vorrei usare un paio di diodi shottky per aumentare i diodi di protezione interna solo per una questione di robustezza, ma funzionerà bene. Se è necessario l'isolamento, utilizzare un optoisolatore di uscita a transistor. Prestare attenzione alla velocità di commutazione dell'opto e ridurre al minimo la corrente del collettore a transistor per massimizzare la velocità di commutazione.

Detto questo, passiamo al rumore. Se stai controllando in fase qualsiasi cosa diversa dal riscaldamento resistivo, avrai a che fare con il rumore, il che significa che è molto probabile che avrai a che fare con zero-crossing noise. Non fare l'errore da principiante di alimentare l'ingresso zero crossing a un pin di interrupt; questo trasformerà il tuo software in una massa fumosa di cattiveria quando il processore cerca di gestire interruzioni di gas. (Parlo per esperienza.) Lanciare un filtro passa-basso o più avanzato sulla linea introdurrà solo lo sfasamento. Se ci riesci, fantastico. Altrimenti (ho dovuto fare i conti con i sistemi 50/60 e 400Hz), allora devi provare altri mezzi.

Nel mio progetto, mi sono occupato del software eseguendo il polling della linea e essenzialmente facendo una procedura di voto che ignorava i transitori. Lo sfasamento rientrava in ciò che potevo gestire, era veloce e non si sarebbe schiantato nemmeno con un forte rumore. (Testato in una struttura in cui hanno rimosso i tappi del filtro da una fornace a induzione, non avevo mai visto una linea così rumorosa prima!) Se dovessi riprogettarla penso che potrei provare una soluzione esterna che implichi un colpo solo che " agganciare "la croce zero e quindi il microcontrollore lo riconoscerebbe prima che potesse essere impostato l'interruzione successiva.

Detto ciò, penso che trovare in modo affidabile il passaggio per lo zero reale in qualsiasi situazione pratica sia stato uno dei pezzi più complicati del design del soft starter. Chiudere il circuito di controllo era secondario, ma era principalmente solo sintonizzazione. Sembra una cosa semplicissima da fare ma ho imparato parecchio sulla differenza tra teoria e pratica durante quel periodo. :-)

modifica per descrivere la routine di "voto":

Se ricordo bene, avevo una linea I / O che era alta quando la linea era sopra lo zero e bassa quando la linea era sotto lo zero. La routine di voto ha semplicemente eseguito il polling di quella linea e se 2 degli ultimi 3 campioni erano uguali, ho accettato il fatto che la linea avesse attraversato lo zero. È molto simile al circuito di voto di UART per rilevare il segno e lo spazio. Il vantaggio di un circuito come questo è che il tuo sfasamento è fisso (frequenza di campionamento 2 *) e puoi sintonizzarlo per il tipo di rumore che stai vivendo. Non ricordo di persona quanto velocemente fosse il polling, ma se dovessi mettere a rischio un'ipotesi direi 8kHz, dato che quel numero sporge nella mia mente.


ho usato il timer per misurare la frequenza (in caso di ritardo, e le tabelle Excel e di ricerca) ... ma penso che andrò con passa basso e accoppiatore ottico. grazie per la risposta.
iamgopal,

Puoi approfondire la procedura di voto? Era solo per ignorare singoli campioni diversi da quelli circostanti? Con quale frequenza hai effettuato il polling?
Starblue,

7

Perché non usare un fotoaccoppiatore? L' SFH6206 di Vishay ha due LED in parallelo, quindi funziona per tutto il ciclo della tensione di rete. 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.


Per maggiori dettagli: qui
Vorac,

2

La nota applicativa di questo microchip a pagina 3 suggerisce un resistore da 20 MOhm.

Penso che tu possa usare il MOC3061 che ha un rilevatore zero crossing.

Ma ci sono molti modelli di dispositivi come puoi vedere qui .


thnks. un chip è sempre il benvenuto invece di resistori e calotte.
iamgopal,

ΩΩ

1

Ho avuto successo con la seguente catena di elaborazione:

  1. Rete divisore di resistori (usando resistori di valore MOhm) e fotoaccoppiatore per accoppiare e isolare il segnale dalla sorgente
  2. Un comparatore di amplificatori operazionali per indirizzare il segnale dall'accoppiatore ottico a un intervallo di tensione noto
  3. Un filtro passa-banda a più stadi estremamente stretto che utilizza opamp (potrebbe anche aver bisogno di un guadagno qui per tenere conto della perdita del filtro)
  4. Un circuito di spostamento di fase opamp da regolare per qualsiasi sfasamento introdotto nel filtraggio (+/- 360 gradi è una buona tolleranza per la progettazione, lo sfasamento desiderato può essere calibrato con una pentola e un oscilloscopio)
  5. Un altro comparatore per ottenere il segnale verso un'uscita digitale pulita per un microcontrollore

0

Probabilmente ci sono MOLTI modi per farlo ... ma se lo facessi userei un piccolo trasformatore di isolamento per ogni evenienza. Non è mai consigliabile collegare la rete direttamente a un microcontrollore, anche attraverso un grande resistore.

Immagino che le tue opzioni siano di utilizzare un grande divisore di resistenza in un micro, o un piccolo trasformatore che spinga le tensioni di livello di rete fino alla portata del tuo micro. Naturalmente, puoi anche usare una combinazione di entrambi.

Se non si desidera utilizzare un microcontrollore, è sempre possibile utilizzare un comparatore e fare testare la tensione contro 0v. L'impulso del comparatore sarà breve, ma ci sono anche modi per gestirlo.


l'utilizzo del trasformatore di isolamento provoca ritardi?
iamgopal

No. (quindici personaggi)
Connor Wolf,

4
Se hai intenzione di confrontare un voltaggio, confronta un po 'di% della linea completa, non zero. Ti allontana dalla maggior parte del rumore che incontrerai e lo spostamento di fase è fisso e quindi facile da spiegare.
akohlsmith,

buona telefonata Andrew :-)
Fuzz,

@andrew,: D bella idea !!
iamgopal,
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.