Ir ao conteúdo

Controle de resistencia com PWM


rodrigocirilo

Posts recomendados

Postado

Olá pessoal do CDH, seguinte, andei lendo sobre dimmer´s  com pic aqui mesmo no forum mas ainda restaram duvidas...

 

Li que para controle de carga(resistencia) em rede AC com o pic utiliza-se um metodo de zero-cross....  onde ele ai ligado em uma INT_EXT para sincronizar o pulso emitido pelo pic no triac.

 

Bom eu terei 2 canais (2 resistencias a serem controladas) se eu usar os modulos PWM e somente variar o duty_cicle eu terei um controle preciso da temperatura nas resistencia. ( como se fosse o brilho de uma incandescente)  ou obrigatoriamente terei de usar um circuito aux. detector de passagem por zero!!

 

se sim, como seria a programação, não tenho ideia...  pois se nao precisar, é só variar o duty..?

 

Att. 

Postado

@rodrigocirilo,

Usa-se o detector de passagem por zero justamente para fazer a temporização e o controle de potência.

voce sabe que a frequência é de 60 hz, então o período aproximado a ser controlado é de cerca de 16 milisegundos, certo ?

voce detecta o momento por onde houve uma transição por zero, e se você ligar o triac exatamente neste instante, vai ter 100% da energia aplicada ao resistor.

Já se voce esperar 8 milisegundos e só então ligar o triac, vai ter exatamente a metade da potencia aplicada no resistor.

E se esperar , por exemplo, 15 milisegundos antes de lugar, a potencia no resistor será muito pequena.

É parecido com controlar o Duty...

Paulo

Postado

@aphawk vou ler mais sobre detecção por passagem por zero..

 

Mas digamos que eu monte um circuito que não tenho esta detecção, somente o pwm pulsando no MOC3052 e manualmente eu controle o Duty, e na carga tenho um incandescente, o que aconteceria, o brilho iria variar?? ou não ou iria ficar dando "como se fosse umas piscadas"

 

Att.

 

Rodrigo.

Postado

 

Mas digamos que eu monte um circuito que não tenho esta detecção, somente o pwm pulsando no MOC3052 e manualmente eu controle o Duty, e na carga tenho um incandescente, o que aconteceria, o brilho iria variar??

Sim, vai variar, desde que seja colocado um circuito de potência adequado depois do MOC3052. Nem precisa desse MOC, dá p/ fazer direto mesmo.

 

ou iria ficar dando "como se fosse umas piscadas"

Isso depende da frequência. Se a frequência for muito baixa, você verá as piscadas.

Em qual frequência PWM você pensa trabalhar esse seu projeto?

 

Agricio

Postado

Sim, vai variar, desde que seja colocado um circuito de potência adequado depois do MOC3052. Nem precisa desse MOC, dá p/ fazer direto mesmo.

Isso depende da frequência. Se a frequência for muito baixa, você verá as piscadas.

Em qual frequência PWM você pensa trabalhar esse seu projeto?

 

Agricio

Ah sim pretendo fazer o controle através de triac´s.... para uma carga de aprox. 400W em 220V eles suportariam??

 

Quanto a frequencia, pretendo seguir um modelo que tenho aqui na faixa de 8Khz, seria uma boa frequencia ou não??

 

Att.

 

Rodrigo.

Postado

 

Ah sim pretendo fazer o controle através de triac´s.

PWM com triac variando duty cycle, não sei não?  Triacs me parecem ser mais apropriados para ondas senoidais e não quadradas. Confesso que preciso dar uma analisada nisso. O comum é usar transistores como pré amplificadores e Mosfets ou IGBTs na saída.

 

Quanto a frequencia, pretendo seguir um modelo que tenho aqui na faixa de 8Khz, seria uma boa frequencia ou não??

 

Frequência audível demais para esse tipo de circuito, use uma frequência acima de 16KHz. Em nenhuma das duas verá piscada nenhuma.

 

Agricio

Postado

PWM com triac variando duty cycle, não sei não?  Triacs me parecem ser mais apropriados para ondas senoidais e não quadradas. Confesso que preciso dar uma analisada nisso. O comum é usar transistores como pré amplificadores e Mosfets ou IGBTs na saída.

Frequência audível demais para esse tipo de circuito, use uma frequência acima de 16KHz. Em nenhuma das duas verá piscada nenhuma.

 

Agricio

Caro amigo Agricio, obrigado pelas respostas...

 

Então, eu pensei que os triac´s fossem pra AC, como vou usar transistores no AC, ou os mosfet´s e IGT´s também tem modelos para AC..

 

ok, vou alterar a frequência para 16khz

Postado

@aphawk e @Agricio caros amigos sobre este lance de implementar detectores de passagem por zero, pra acionar o pwm somente no ciclo certo da senoide, bem sobre isso eu estive pensando.

 

As resistências que irei controlar serão de 400w e 100w em 220V logo terei uma corrente de 400/220=1,8A e 100/220=0,45A se eu estiver enganado me corrijam ..

 

pensei agora em fazer o seguinte, na entrada dos 220V eu coloco uma ponte retificadora para por exemplo uns 5A, então essa rede AC passa a ser DC certo? dai com ela ja em DC eu uso um transistor de potencia pra receber o pulso PWM e chavear a tensão nas resistências.. em DC as correntes serão as mesmas?

 

Com isso nao terei de detectar a passagem por zero certo?? alguém ai discorda??

Postado

Olha,ja estudei muito sobre isso,controle de carga ac.

Se for usar DC,mesmo que seja direto da fonte,pode usar o PWM direto,lógico que amplificado,o incoveniente é um circuito extra para a saida,se for usar o detetor de zero,acho que não conseguirá sincronizar o PWM com o detetor de zero.

Postado

Olha,ja estudei muito sobre isso,controle de carga ac.

Se for usar DC,mesmo que seja direto da fonte,pode usar o PWM direto,lógico que amplificado,o incoveniente é um circuito extra para a saida,se for usar o detetor de zero,acho que não conseguirá sincronizar o PWM com o detetor de zero.

@ vtrx, Não entendi muito bem, quando você diz "se for usar DC, mesmo que seja direto da fonte, pode usar o PWM direto"  você quer dizer que eu POSSO retificar a tensão que será aplicada a resistência, e com isso pulsar o pwm em um transistor amplificador e depois no de potencia?

 

e quando você fala que se eu for usar detector de passagem por zero que eu não conseguirei sincronia, isso sem retificar o 220AC ou retificando?

 

Caso eu retifique os 220V AC para DC eu não perdei potencia na resistência? 

Postado

 

@ vtrx, Não entendi muito bem, quando você diz "se for usar DC, mesmo que seja direto da fonte, pode usar o PWM direto"  você quer dizer que eu POSSO retificar a tensão que será aplicada a resistência, e com isso pulsar o pwm em um transistor amplificador e depois no de potencia?

Quando começei a pesquisar sobre isso,eu ja tinha feito um programa para controle de Leds via PWM e estava procurando um meio de controlar lampadas de 110/220,e encontrei o circuito abaixo;

 

dimmer-with-a-mosfet-circuit-d.gif

 

Com esse corcuito voce não precisa alterar quase nada na sua programação,mas em compensação é um circuito meio 'critico',mas funciona.

Para usar TRIACs,que são baratos e praticamente não precisam de circuito complementar,voce pode controlar o TRIAC via PWM mas o resultado é sem precisão e totalmente sem linearidade.

Ja usando um detetor zero-cross e um TRIAC,a precisão e controle é total,mas não sei se o PIC vai gerar pulsos PWM dentro de um intervalo de meia senoide da rede ac.

Postado

@rodrigocirilo,

 

Se voce usar retificação, lembre de uma coisa : o TRIAC, quando acionado, só desliga quando a tensão sobre ele cair a zero ( ou bem perto disso ).

Portanto, voce vai precisar saber o instante onde a tensão é zero, e implementar um contador de tempo, para poder esperar o momento exato de acionar o TRIAC. Pois o TRIAC só vai desligar quando a tensão chegar a zero....

 

Paulo

Postado

@vtrx, qual seria essa precisão sem detectar o zero da senoide?  achei esse circuito um tanto critico mesmo, pensei em algo mais simples, fiz no proteus um esquema de como acho que seria, será que funcionaria??

 

yxfm.png

 

@aphawk sim, se for trabalhar retificando o AC eu iria usar transistores e não Triac´s.. pois os transistores se tensão na base entram em corte, certo? assim variando o duty (onda quadrada) eu teria o controle de potencia? digamos o brilho da lampada.. 

Postado

 

qual seria essa precisão sem detectar o zero da senoide?

 

Só testei com lampadas incandecentes de 110v e ficou tipo um pouco aceso 80% e 90%,só ficava assim,pois o TRIAC era disparado sem saber quando a senoide AC começava do zero.

,as vezes disparava no máximo ja no primeiro pulso.

Postado

@rodrigocirilo,

 

Se voce quiser usar um Mosfet, pode ser feito com o esquema que o vtrx postou. Mas insisto que voce faça o sincronismo com a passagem por zero, para evitar surpresas desagradáveis como "batimento" entre a frequência gerada pelo seu PWM e a da rede... pois podem ir variando um pouco, e voce vai perceber que a lampada aumenta um pouco o brilho e abaixa um pouco o brilho conforme vai passando o tempo.... .

 

Pense numa coisa, de cada 100 circuitos de controle de lampada de baixa potência, mais de 98 usam TRIACS.... deve ter algum bom motivo para esta preferência, não é ?

 

Como diz aquela propaganda do personal trainer da esposa do cara.... voce não prefere pensar melhor ??????????

 

Senão vai ter de escutar depois o "tá moscando ein fio...."  kkkkk

 

Paulo


@aphawk e @Agricio 

As resistências que irei controlar serão de 400w e 100w em 220V logo terei uma corrente de 400/220=1,8A e 100/220=0,45A se eu estiver enganado me corrijam ..

 

 

Se voce for usar resistências de verdade, então concordo.

 

Se forem lampadas incadescentes, cuidado com a corrente de pico... pode ser 10 vezes maior !

 

Paulo

Postado

Só testei com lampadas incandecentes de 110v e ficou tipo um pouco aceso 80% e 90%,só ficava assim,pois o TRIAC era disparado sem saber quando a senoide AC começava do zero.

,as vezes disparava no máximo ja no primeiro pulso.

 

Ah entendi, em o sincronismo você nao tem controle total..

@rodrigocirilo,

 

Se voce quiser usar um Mosfet, pode ser feito com o esquema que o vtrx postou. Mas insisto que voce faça o sincronismo com a passagem por zero, para evitar surpresas desagradáveis como "batimento" entre a frequência gerada pelo seu PWM e a da rede... pois podem ir variando um pouco, e voce vai perceber que a lampada aumenta um pouco o brilho e abaixa um pouco o brilho conforme vai passando o tempo.... .

 

Pense numa coisa, de cada 100 circuitos de controle de lampada de baixa potência, mais de 98 usam TRIACS.... deve ter algum bom motivo para esta preferência, não é ?

 

Como diz aquela propaganda do personal trainer da esposa do cara.... voce não prefere pensar melhor ??????????

 

Senão vai ter de escutar depois o "tá moscando ein fio...."  kkkkk

 

Paulo

Paulo, então peço por gentileza que você me oriente em como proceder tanto com o circuito de zero-cross, quanto no código, como será a logica, sei que usa a interrupção externa, e através dela que se sabe quando passou por zero, ok, mas e ai?? não tenho ideia da logica para eu poder variar o duty e com isso variar o "brilho" (na verdade será uma resistência)

 

não quero moscar não fio...kkkk

@rodrigocirilo,

 

Se voce quiser usar um Mosfet, pode ser feito com o esquema que o vtrx postou. Mas insisto que voce faça o sincronismo com a passagem por zero, para evitar surpresas desagradáveis como "batimento" entre a frequência gerada pelo seu PWM e a da rede... pois podem ir variando um pouco, e voce vai perceber que a lampada aumenta um pouco o brilho e abaixa um pouco o brilho conforme vai passando o tempo.... .

 

Pense numa coisa, de cada 100 circuitos de controle de lampada de baixa potência, mais de 98 usam TRIACS.... deve ter algum bom motivo para esta preferência, não é ?

 

Como diz aquela propaganda do personal trainer da esposa do cara.... voce não prefere pensar melhor ??????????

 

Senão vai ter de escutar depois o "tá moscando ein fio...."  kkkkk

 

Paulo

 

Se voce for usar resistências de verdade, então concordo.

 

Se forem lampadas incadescentes, cuidado com a corrente de pico... pode ser 10 vezes maior !

 

Paulo

@aphawk isso são resistencias e não lampadas, usei o termo lampadas pra fazer uma analogia a variação de brilho... mas vão ser duas resistencias, de 400w e 100w.... 

 

Então se for resistencia posso usar retificado com mosfet?? pode sr igual o circuito que postei?? ou DEVE ser igual ao que o colega Vtrx postou?

 

essa corrente de pico ocorreria quando???

Postado

@rodrigocirilo,

 

Calma heheheh pera....

 

Se forem mesmo resistências, não tem o problema da corrente de pico quando estiver fria. Só as lampadas tem esse problema. Quando uma lampada está numa temperatura baixa, a resistência dela pode ser até 10 vezes menor do que quando ela está totalmente aquecida, e é exatamente neste instante que a corrente de pico ocorre.

 

O circuito que o vtrx postou possui tensão pulsante ( veja bem, não é DC !!!!! ), onde a polaridade nunca se alterna, mas o valor dela varia de 0 até um máximo ;  imagine uma senoide, só que a parte de baixo espelhada para cima. Se fizer um gráfico, ficam duas meias senóides, iniciando em 0, chegando o máximo em 90, e zerando de novo em 180, e aí começa a subir de novo, o máximo em 270, e o minimo em 360 ( ou zero de novo...) .

 

O seu circuito PWM é como se fosse uma "janela", que voce pode definir a largura dela, e a frequência em que ela ocorre. O problema é exatamente esta janela !

 

Imagine que você está gerando um PWM onde a saida fica acionada 25% do tempo total. Imagine, também, que esta janela sempre fica em nivel alto imediatamente no início da onda. Agora, imagine que esta sua frequência é exatamente a da rede, 60 hertz. Ou seja, desta maneira, se voce sobrepor o gráfico da janela do PWM ao gráfico das duas senóides, experimente ficar "deslocando" o início de sua onda PWM em relação ao inicio das senóides.

 

Reparou que dependendo de onde voce começa a gerar o PWM, voce pega trechos com médias de valores das senóides bem diferentes ?

 

Então já percebeu que a potência média entregue na carga pode variar mais do que o dobro , dependendo de qual momento inicia o PWM !

 

Agora, para piorar.... se a sua frequência do PWM não for uma multipla EXATA da frequência fornecida da rede elétrica, vai ocorrer o fenômeno do Batimento, isto é, aos poucos a sua "janela" do pwm vai se deslocando em relaçào ao momento que iniciou, fazendo variar a potência entregue à carga.

 

Se o seu objetivo for apenas controlar temperatura, mesmo com o problema que relato acima, dá para trabalhar, desde que o seu software de controle seja o tipo "burro" , e não tipo PID.

 

Mas ...... é o que te falei para pensar ...

 

Se usar um simples circuito detetor de passagem por zero, e um velho e confiável TRIAC, tudo está resolvido...

 

Existem muitos posts aqui no Fórum sobre detetores de passagem por zero, existe até um onde eu discuto que na realidade estes detetores podem estar defasados em até 9 graus em relação ao ponto de transição real, mas como quase sempre a finalidade é apenas para sincronizar o tempo de disparo do Triac, isso não importa em nada.

 

Sobre o software, existem também vários posts sobre isso, tanto em C como em Assembler, aqui no Fórum.

 

Procure por eles, se voce não achar , de noite eu tento encontrar para voce, ok ?

 

 

Quanto ao programa ....


A lógica é simples, o detector de passagem por zero gera um pulso, o qual é aplicado à uma entrada de interrupção.

 

Aí, dependendo do quanto que voce quer entregar potencia à carga, voce espera menos tempo, ou mais tempo , para ligar o TRIAC.

 

Isso tem um tempo definido, se for AC o tempo é de meia senoide de 60 Hertz, ( perto de 8,3 milisegundos ) .

 

Se assim que você detectar a transição, voce já aciona o TRIAC, vai entregar 100% da potência.

 

Se voce esperar 4,15 milisegundos, a potência entregue será 50% .

 

Se voce esperar 8,1 milisegundos antes de acionar o triac, a potência será muito baixa....

 

Entendeu o princípio ?

 

Paulo


@vtrx, qual seria essa precisão sem detectar o zero da senoide?  achei esse circuito um tanto critico mesmo, pensei em algo mais simples, fiz no proteus um esquema de como acho que seria, será que funcionaria??

 

yxfm.png

 

 

 

Não iria dar certo, porque os transistores teriam de suportar pelo menos 600 Volts VCE. ( 220V AC = +- 290 volts de pico ) . Esses aí iriam abrir o bico na hora !

 

Paulo

Postado

@aphawk,  Nosinhóra  complicado heim hehe, mas Paulo desde ja obrigado pelas aulas de eletrônica..rsrs.. e aos outros colegas que contribuem também...

 

Na verdade meu controle vai ser "burro" hehehe ou será eu que não faço a menor ideia de como programar PID hehehe

 

Eu até gostaria que esse controle fosse PID, mas como disse não tenho ideia de como programar, mas vamos lá, vou pesquisar sobre como é a logica do zero-cross e depois posto aqui pra ver se está certo, ok..

 

Ps: Agora que simulei no proteus que eu entendi, que mesmo retificando os 220V AC para DC a tensão não se torna continua (100%) pela simulação ainda continua uma senoide....  nos nossos circuito ai que entra a parte de filtragem e estabilização com capacitores certo?   Na minha cabeça fértil que gosta de imaginar sempre o lado bom da coisa, eu estava vendo os 220V DC linear, como se fosse proveniente de uma bateria hahaha..  to moscando já heim fio!! hahaha

Postado

@aphawk,   to moscando já heim fio!! hahaha

 

kkkkk pois éeeee , hehehe olha, teoria ajuda bastante, mas a prática é uma maravilha..... e quando eu vejo alguém perguntar como se faz uma coisa e resolver ir por um caminho que os outros não foram, eu prefiro avisar né !!!!! Mas a escolha é sua, depois vai moscar fio kkkkk !!!!

 

Se realmente a saida fosse em nivel DC, retificado, filtrado, igualzinho a uma bateria, então a sua ideia do pwm sem detectar a passagem por zero daria certo, um circuito igual ao do vtrx. Mas não dá justamente por causa do problema de "batimento" ....

 

Não se assuste com a lógica , ou com o detetor de transição, tem muita gente que já fez isso aqui no Fórum. Olha esse link que o vtrx postou agora logo acima, verifique bastante com o Proteus para entender , qualquer dúvida a turma toda está aqui para ajudar.

 

Paulo

Postado

@rodrigocirilo,se voce clickar no botão do exemplo do Proteus,vai perceber que o controle é perfeito na mudança de 'fase'.

No osciloscopio do Proteus, a onda azul é a saida do detetor zero-cross que ativa a interrupção do PIC.

O amarelo é a senoide AC,e o verde é a saida sincronizada gerada pelo PIC.

Postado

Eu postei um exemplo a um tempo usando o CCS para verificar a teoria de um dimmer com zero-cross:

http://www.4shared.com/rar/j0Xij_j8/ccs_dimmer.html

Tem simulação no Proteus.

O circuito zero-cross do esquema é 100% funcional e a ligação com o PIC tambem.

Ok Vtrx vou baixar e verificar esse exemplo.. obrigado..

 

kkkkk pois éeeee , hehehe olha, teoria ajuda bastante, mas a prática é uma maravilha..... e quando eu vejo alguém perguntar como se faz uma coisa e resolver ir por um caminho que os outros não foram, eu prefiro avisar né !!!!! Mas a escolha é sua, depois vai moscar fio kkkkk !!!!

 

Se realmente a saida fosse em nivel DC, retificado, filtrado, igualzinho a uma bateria, então a sua ideia do pwm sem detectar a passagem por zero daria certo, um circuito igual ao do vtrx. Mas não dá justamente por causa do problema de "batimento" ....

 

Não se assuste com a lógica , ou com o detetor de transição, tem muita gente que já fez isso aqui no Fórum. Olha esse link que o vtrx postou agora logo acima, verifique bastante com o Proteus para entender , qualquer dúvida a turma toda está aqui para ajudar.

 

Paulo

Pois é como eu te disse, na minha "ideia" hahaha retificando ja estava "limpinho"  ja tava moscando desde ontem com essa ideia kkk..

 

valeu

 

@rodrigocirilo,se voce clickar no botão do exemplo do Proteus,vai perceber que o controle é perfeito na mudança de 'fase'.

No osciloscopio do Proteus, a onda azul é a saida do detetor zero-cross que ativa a interrupção do PIC.

O amarelo é a senoide AC,e o verde é a saida sincronizada gerada pelo PIC.

@vtrx e @aphawk  ok pela simulação deu pra ver que o pulso tem que ocorrer quando a senoide estiver no semiciclo positivo (fio isso que entendi) pra ter controle total da potencia na saida.

 

@vtrx vi que você usou como saida (PWM) o pino RB1, ok, mas eu esqueci de mencionar que vou ter que controlar 2 resistencias, logo precisarei de 2 PWM, ainda nao vi o codigo, mas seria possivel utilizar 2 saidas PWM? 

 

Ah outra coisa, minhas resistencias trabalharão em 220V e este é de 110v, posso usar o mesmo circuito e codigo??

 

Editando novamente:

 

Pelo que vi o codigo é simples, assim que receber uma interrupção H_TO_L no pino ele inicia a interrupção, onde você varia a variavel que está no DELAY_MS(???) certo,com isso altera o tempo que irá acionar o pino RB1 que neste caso está trabalhando como se fosse um PWM, certo?

 

Mas como você sabe qual frequencia está o "PWM" ou isso nem é importante.

Postado

Por que não tenta usar o circuito de potência de uma esteira tendo como fonte PWM um simples 555 e no lugar do motor você coloca a resistência?

Eu tenho um circuito p/ testes tanto de motores como de MOSFETS e IGBTs e posso fazer um teste p/ você. Esse circuito está adaptado tanto p/ o 555 quanto para o 16F628 e também o 12F629. Se funciona com lâmpadas e com motores, por que não aqueceria uma resistência?

Qual a potência do resistor (em WATTS) que você pretende usar e qual seu valor em OHMS? 

 

Agricio

Postado

 

Ah outra coisa, minhas resistencias trabalharão em 220V e este é de 110v, posso usar o mesmo circuito e codigo??

Ele trabalha diretamente com 220v.

 

 

 

Pelo que vi o codigo é simples, assim que receber uma interrupção H_TO_L no pino ele inicia a interrupção, onde você varia a variavel que está no DELAY_MS(???) certo,com isso altera o tempo que irá acionar o pino RB1 que neste caso está trabalhando como se fosse um PWM, certo?

 

Mas como você sabe qual frequencia está o "PWM" ou isso nem é importante.

É um código para estudar a utilização de um detetor zero-cross,voce deve fazer um algorítimo próprio para a sua nescessidade.

Não sei se o pulso gerado em RB1(alto e na sequencia baixo)pode ser considerado um PWM.

Essa frequencia é dependente da senoide,por isso a dificuldade em implementar uma rotina PWM ja feita neste circuito,não sei nem se é possivel gerar no intervalo da interrupção.

 

I circuito ,utilizado no link abaixo,utiliza o detetor de zero do esquema do Proteus,o algorítimo para as saidas é outro e não utiliza Delay,mas com calma talvez voce faça dois canais utilizando Delay.

 

O vídeo está ruim pois na época eu usei uma Webcam.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!