Olá turma,
até então vinha acompanhando este tópico 'de longe'.
Sobre a idéia de usar um opto, há um pequeno problema: Se for ligado com o led alimentado pela tensão da rede retificada, considerando que a resistência tenha sido calculada para que a corrente fique em 20mA com a tensão de pico numa rede de 127VAC (180V), o foto-transistor receptor vai abrir um pouco antes da passagem por zero propriamente dita. Aí, vem aquela ladainha: Experimentação, medir o tempo, introduzir delay por software, etc..
No caso dos optos com detecção de passagem por zero, como o que o colega citou (TLP308x), o propósito deles é um pouco diferente: Se for ligado como um opto normal, com rede alimentando o led e o outro lado ligado ao micom, ele provavelmente não acionará nunca, pois o detector de passagem por zero fica no lado do receptor, onde sempre haverá uma tensão presente. São optos concebidos para o acionamento de tiristores. A lógica dele é 'estando o led emissor aceso, gatilha na passagem por zero no lado receptor'. Não que não dê pra usar um destes, mas teria que fazer um certo malabarismo, e não seria possível ter o benefício da isolação entre rede e controle.
O transformador isolador é uma opção válida, mas há que se considerar a relação custo/benefício, fora o espaço ocupado. Se for necessário pegar uma amostragem de tensão, seria interessante usar o transformador, mas IMHO seria um pouco demais apenas para detectar passagem por zero.
Divisores resistivos com um capacitor de desacoplamento são interessantes quando se tem uma tensão AC sobre uma DC, mas para uso com rede elétrica, há o problema já citado, de introduzir um deslocamento de fase.
Aqui tem uma nota de aplicação sobre o tema:
http://www.atmel.com/dyn/resources/prod ... oc2508.pdf
Dependendo do equipamento, pode-se até fazer que o GND do circuito lógico seja conectado ao neutro da rede.
Se houver receio de que tensões abaixo de 0v ou acima do VCC (mesmo com corrente inferior a 1ma) danifiquem o micom, é fácil resolver: Basta por dois zenners de 4v7, um do GND ao pino e outro do pino ao VCC, o que limitará o 'swing' da tensão no pino à faixa de 0.3 a 4.7v. Como o nível de detecção de nivel 0 e 1 fica dentro desta faixa, deve funcionar a contento.
Nos estabilizadores e nobreaks mais modernos, que costumam NÃO usar mais transformador isolador, a amostragem é feita por um divisor resistivo e dois amplificadores operacionais, cada um amplificando um semiciclo, cujas saídas são somadas depois. Isto tem o mesmo efeito que um retificador de onda completa de precisão. Claro, nestes circuitos, tão ou mais importante que a passagem por zero é a amostragem de tensão.
-------------------------------------------------
Passando da teoria a prática.....
Já usei este método de detecção de passagem por zero com apenas um resistor, e usei o valor de 560K/1W, por uma simples razão: Era o que tinha em estoque. O terra do circuito de controle era ligado ao neutro da rede. Funcionou normalmente, apenas com o inconveniente de não se ter mais a isolação galvânica entre a rede e a etapa de controle. O resistor amornava um pouco, nada mais.
-------------------------------------------------
De volta a teoria.
Se você usar este arranjo, ligando o resistor a um pino que permita disparar uma interrupção na borda de descida, a interrupção será acionada com uma tensão de rede próxima a zero, mas não zero propriamente dito. Se for necessária precisão, há duas opções:
- uma delas, é adicionar um pequeno capacitor (tipo 1nf ou até menos) ao pino do micom escolhido e calcular o resistor - ou achar o valor por tentativa e erro - de tal forma que esta malha RC introduza um atraso tal que faça o acionamento da interrupção coincidir com a passagem por zero ou...
- se precisar de maior precisão ainda, utilizar um amplificador operacional ou comparador com entradas 'rail to rail', que seja capaz de comparar tensões próximas a 0v na entrada, mesmo sem serem alimentados com fonte simétrica. O LM311 é um exemplo de comparador apropriado para funções deste tipo.