Ir ao conteúdo

Posts recomendados

Postado

Prezados, boa noite,

 

Desenvolvi um circuito capaz de dimmerizar duas lampadas com uso de um PIC. Na protoboard e em condições normais, tudo funciona bem. Entretanto, por não ter formação na área tenho receio de ter esquecido alguma coisa de proteção ou segurança..Até porque o circuito é uma "emenda" de diversos circuitos que achei na internet.

Alguém poderia me dar recomendações do que alterar no circuito?

 

Algumas dúvidas:

1) Como dimensionar o resistor de 100K conectado ao pino 11? Fui chutando valores até achar um que funcione, mas não entendo bem pra que ele serve.

2) O triac que coloquei é correto? Dimensionei pela corrente e pela velocidade, tem algum outro parâmetro critico?

Não sei se o fórum é local para esse tipo de dúvida, se não for podem apagar o tópico por favor.

 

Obrigado!

 

Dimmer_2Canais.pdf

  • Membro VIP
Postado

Pra uma ajuda + efetiva, publique o circuito em .jpg. Além de aparecer pra quem não é membro, economiza-se clique do mouse.

Ah, e não te esqueças também de publicar o fonte. Compartilha: um preço justo pra participar do forum e ajudar os mais necessitados. p.ex. .. olha isso que fiz há alguns anos...

//programa dimmer com pic10f200
//16/04/08
//V0.0 - simulação no MPLAB OK
//V0.1 - simulação no Proteus

#include <pic.h>

#define sobe GP0
#define desce GP1
#define triac GP2
#define zeroc GP3

#define ligado 1
#define desligado 0

__CONFIG(PROTECT & WDTDIS & MCLRDIS);

void delay(unsigned char dl)
{
while(dl--); //alguns uSegs
}

//******************************************************

void main (void)
{
unsigned char a=120; //valor de teste ~ metade da potência
OPTION=0b00000100; ///pullup, prescaler timer0=1:32
TRIS=0b1011; //só GP2=saída=dispara triac
GPIO=0xff;

for (;;)
{
while(!zeroc); //aguarda passagem por zero

TMR0=a-20; //de neg. p pos. alguns triacs disparam antes (ou depois!)
while(TMR0);//aguarda por alguns mSeg

triac=ligado; //pulso...
delay(30);
triac=desligado; //...no gate

while(zeroc); //aguarda passagem por zero
    
TMR0=a;
while(TMR0); //aguarda por alguns mSeg

triac=ligado;
delay(30);
triac=desligado;

if (!sobe) a++; //ângulo de disparo
if (!desce) a--;

if (a<25) a=25; //limite mínimo
if (a>240) a=240; //máximo

    
}

}

 

Só testado na simulação

dimmer10F.png

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!