Ir ao conteúdo
  • Cadastre-se

Estabilizar tensão para Ventoinha AC 220V/110


Posts recomendados

Preciso que uma ventoinha destas funcione em 220V mas com rotação  estabilizada, pois onde irá funcionar, os 220V pode cair até para 180V. 

A ideia é selecionar a ventoinha para 110V e usar um circuito para pegar os 220V e manter saindo sempre 110V. 

Lembrando que é AC. 

Alguma ideia? 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

😁Antigo-Regulador-de-Voltagem-KRON-pColec

 

Uma alternativa é um inversorzinho com pic. péra... mais tarde acho o fonte e simulação ... Qualquer mosfet mixuruco duns 600V 20A dá conta. O pulo do gato é pegar uma amostra da tensão da saída pra controlar no seu pwm... Um complicador é que é a corrente no motor é que é senoidal. A V nele nem faço ideia nunca medi ... pode ser meia detonada.

 

Se algum dia pensar num

13 horas atrás, Renato.88 disse:

pra motor de indução grande

olha isso

 

Achei!! de quase 10 anos atrás. Falta o driver no mosfet de cima e acho que é por isso a corrente não é uma senoide perfeita... qualquer dia testo pra ver. O detalhe é que funcionou na real.

(De novo) o fonte 100% original e minimalista ao extremo a ser melhorado:

Spoiler



/* Programa para uControlador PIC16F628A para controle de motor ac com igbt*/
/* 26/09/2011 V0.0A - alpha */
#include <pic.h>
#include	"tabseno1023.c";
//************************ configuração fusíveis hitech -c*******************
__CONFIG(CP_ON & FOSC_HS & WDTE_OFF & BOREN_ON & LVP_OFF & PWRTE_ON);
static bit comuta;
//controle pwm
void duty(unsigned int dt)
{
CCP1Y=CCP2Y=dt; //LSB (bit0 pro bit4 de CCP1CON)
dt>>=1;
CCP1X=CCP2X=dt; //LSB (bit1 pro bit5 de CCP2CON)
dt>>=1;
CCPR1L=CCPR2L=dt; //MSB (byte + significativo)
}

void delay(unsigned char dl)
{
while (dl--);
}
/**********************************************************************/
void main()
{
unsigned char i;
TRISA=TRISB=TRISC=0;//tudo saída
PORTA=PORTB=PORTC=0;//tudo zerado
CMCON=0xff;//pinos cmcon=digital
CCP1CON=CCP2CON=0;
T2CON=0b00000100; //timer2 on, prescaler 1:1
GIE=0;//sem interrupção
PR2=0xff;//ajuste freq pwm
i=0;
for (;;)
{
if (i>179) //completou um semiciclo
	{
	CCP2CON=CCP1CON=0;//pwm off para garantir 0...
	i=0;
	comuta^=1;
	PORTC=0;//... 0 no outro canal
	}
if (!comuta)
	{
	CCP1CON=0b00001100;//pwm1 on
	RC0=1;//liga igbt H direita
	}
else
	{
	CCP2CON=0b00001100;//pwm2 on
	RC3=1;//liga igbt H esquerda
	}
duty(tabseno[i]);
delay(8);//ajuste 60Hz @ clock 16MHz
i++;
}

}

 


 

A tabela com 1023 senos que saiu do excel


 

Spoiler

 

 

 

 

 


unsigned int const tabseno[1023]=
{	
0	,
17	,
35	,
53	,
71	,
89	,
106	,
124	,
142	,
160	,
177	,
195	,
212	,
230	,
247	,
264	,
281	,
299	,
316	,
333	,
349	,
366	,
383	,
399	,
416	,
432	,
448	,
464	,
480	,
495	,
511	,
526	,
542	,
557	,
572	,
586	,
601	,
615	,
629	,
643	,
657	,
671	,
684	,
697	,
710	,
723	,
735	,
748	,
760	,
772	,
783	,
795	,
806	,
817	,
827	,
837	,
848	,
857	,
867	,
876	,
885	,
894	,
903	,
911	,
919	,
927	,
934	,
941	,
948	,
955	,
961	,
967	,
972	,
978	,
983	,
988	,
992	,
996	,
1000	,
1004	,
1007	,
1010	,
1013	,
1015	,
1017	,
1019	,
1020	,
1021	,
1022	,
1022	,
1023	,
1022	,
1022	,
1021	,
1020	,
1019	,
1017	,
1015	,
1013	,
1010	,
1007	,
1004	,
1000	,
996	,
992	,
988	,
983	,
978	,
972	,
967	,
961	,
955	,
948	,
941	,
934	,
927	,
919	,
911	,
903	,
894	,
885	,
876	,
867	,
857	,
848	,
837	,
827	,
817	,
806	,
795	,
783	,
772	,
760	,
748	,
735	,
723	,
710	,
697	,
684	,
671	,
657	,
643	,
629	,
615	,
601	,
586	,
572	,
557	,
542	,
526	,
511	,
495	,
480	,
464	,
448	,
432	,
416	,
399	,
383	,
366	,
349	,
333	,
316	,
299	,
281	,
264	,
247	,
230	,
212	,
195	,
177	,
160	,
142	,
124	,
106	,
89	,
71	,
53	,
35	,
17	
}

 

 

 

 

Numa outras versão usei 180 pensando no 180º ...
 

Spoiler

 


unsigned char const tabseno[180]=
{	
57	,
61	,
65	,
70	,
74	,
78	,
83	,
87	,
91	,
95	,
99	,
103	,
107	,
111	,
115	,
119	,
123	,
127	,
131	,
135	,
138	,
142	,
146	,
149	,
153	,
156	,
160	,
163	,
167	,
170	,
173	,
177	,
180	,
183	,
186	,
189	,
192	,
195	,
198	,
200	,
203	,
206	,
208	,
211	,
213	,
216	,
218	,
220	,
223	,
225	,
227	,
229	,
231	,
232	,
234	,
236	,
238	,
239	,
241	,
242	,
243	,
245	,
246	,
247	,
248	,
249	,
250	,
251	,
251	,
252	,
253	,
253	,
254	,
254	,
254	,
254	,
254	,
255	,
254	,
254	,
254	,
254	,
254	,
253	,
253	,
252	,
251	,
251	,
250	,
249	,
248	,
247	,
246	,
245	,
243	,
242	,
241	,
239	,
238	,
236	,
234	,
232	,
231	,
229	,
227	,
225	,
223	,
220	,
218	,
216	,
213	,
211	,
208	,
206	,
203	,
200	,
198	,
195	,
192	,
189	,
186	,
183	,
180	,
177	,
173	,
170	,
167	,
163	,
160	,
156	,
153	,
149	,
146	,
142	,
138	,
135	,
131	,
127	,
123	,
119	,
115	,
111	,
107	,
103	,
99	,
95	,
91	,
87	,
83	,
78	,
74	,
70	,
65	,
61	,
57	,
53	,
48	,
44	,
39	,
35	,
31	,
26	,
22	,
17	,
13	,
8	,
4	,
0	

}

 

 

 

 

Evoluindo em outra só 17... com dicas do Moris (se não me falha memória kk)

 

/* Programa para uControlador para controle de motor ac com igbt*/
/* 26/09/2011 V0.0A - alpha pic16f627 com portas nand*/
// 30/09 - pic16f876a 2 pwm
//10/10 -dicas do asm51
#include <pic.h>
#define FOSC 10000000 //cristal
#define SAMPLE 17 //num de amostras por semiciclo
#define FREQ 60*2 //120-> 1 semiciclo
#define FREQINT (SAMPLE*FREQ)//freq de interrupção
#define PRESC 16 //prescaler
#define tmr0 0x100-((FOSC/4)/PRESC)/FREQINT
//************************ configuração fusíveis hitech -c*******************
__CONFIG(CP_ON & FOSC_HS & WDTE_OFF & BOREN_ON & LVP_OFF & PWRTE_ON);
static bit comuta;
unsigned char i; //global

unsigned int const tabseno[17]= 
{	
99	,
199	,
391	,
568	,
723	,
850	,
945	,
1003,
1023,
1003,
945	,
850	,
723	,
568	,
391	,
199	,
99
};

//controle pwm
void duty(unsigned int dt)
{
CCP1Y=CCP2Y=dt; //LSB (bit0 pro bit4 de CCP1CON)
dt>>=1;
CCP1X=CCP2X=dt; //LSB (bit1 pro bit5 de CCP2CON)
dt>>=1;
CCPR1L=CCPR2L=dt; //MSB (byte + significativo)
}

static void interrupt
isr(void)			// Here be interrupt function - the name is unimportant.
{
TMR0=tmr0;//restaura
TMR0IF=0;
if (i>16) //completou um semiciclo
	{
	CCP2CON=CCP1CON=0;//pwm off para garantir 0...
	i=0;
	comuta^=1; //próximo seniciclo
	PORTC=0;//... 0 no outro canal
	}
if (!comuta)
	{
	CCP1CON=0b00001100;//pwm1 on
	RC0=1;//liga igbt H direita
	}
else
	{
	CCP2CON=0b00001100;//pwm2 on
	RC3=1;//liga igbt H esquerda
	}
duty(tabseno[i]);
i++;
}

/**********************************************************************/
void main()
{
TRISA=TRISB=TRISC=0;//tudo saída
PORTA=PORTB=PORTC=0;//tudo zerado
CMCON=0xff;//pinos cmcon=digital
CCP1CON=CCP2CON=0;
PR2=0xff;//ajuste freq pwm
T2CON=0b00000100; //timer2 on, prescaler 1:1
OPTION_REG=0b10000011;// TMR0 prescaler 1:16
TMR0=tmr0;//520uS
TMR0IE=1;//habilita interrupt timer0
GIE=1;//interrupção geral
for (;;)
{
//só interrupt por enquanto
}

}

Pra baixa potência até uns 1/2hp vá de @renato.88 e seu triac realimentado. Dica: acho que se conseguir pegar amostra da rotação, acho que melhor ainda

 

Link para o comentário
Compartilhar em outros sites

Lógico que pra motor de indução grande não serve, mas pra esse do cooler vai servir. 

A ideia é usar um triac, um opto do tipo MOC30XX e um amplificador de erro na entrada do opto lendo a tensão da rede através de outro opto, transformador ou até mesmo um circuitinho do tipo "rabo quente" pra facilitar. 

Vai ficar aquelas metades de senoide que todo mundo já conhece, mas o motor pequeno do cooler funciona com elas, pois eu já usei dimmer naqueles ventiladores comuns de 60W que se usa em casa. 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Ops... Vi agora... a simulação está rodando com o último fonte ok? Mas vou manter o anterior pra mostrar a evolução...

Perceba a repetição dos valores dos quadrantes. Dava até pra usar a metade da tabela mas ia complicar um pouquinho o algoritmo. deixei pra lá...

Ah e o pic era o 873 pois tem 2 pwm e era o que eu tinha. Ainda tenho...

Link para o comentário
Compartilhar em outros sites

32 minutos atrás, Renato.88 disse:

Lógico que pra motor de indução grande não serve, mas pra esse do cooler vai servir. 

A ideia é usar um triac, um opto do tipo MOC30XX e um amplificador de erro na entrada do opto lendo a tensão da rede através de outro opto, transformador ou até mesmo um circuitinho do tipo "rabo quente" pra facilitar. 

Vai ficar aquelas metades de senoide que todo mundo já conhece, mas o motor pequeno do cooler funciona com elas, pois eu já usei dimmer naqueles ventiladores comuns de 60W que se usa em casa. 

 

Uma ideia bastante minimalista.

adicionado 0 minutos depois
9 minutos atrás, Isadora Ferraz disse:

Ops... Vi agora... a simulação está rodando com o último fonte ok? Mas vou manter o anterior pra mostrar a evolução...

Perceba a repetição dos valores dos quadrantes. Dava até pra usar a metade da tabela mas ia complicar um pouquinho o algoritmo. deixei pra lá...

Ah e o pic era o 873 pois tem 2 pwm e era o que eu tinha. Ainda tenho...

Ótimo projeto 

adicionado 0 minutos depois
25 minutos atrás, Eder Neumann disse:

o motor é de indução ou tem controle eletrônico, descubra se ele pode ser alimentado em 110Vcc

É de indução 

adicionado 5 minutos depois

Olha que o cara fez:

 

 

Questão agora é estabilizar para o motor receber sempre 110V, mesmo que a tensão abaixe de 220V para 180VV. 

Link para o comentário
Compartilhar em outros sites

9 horas atrás, Isadora Ferraz disse:

Bola a realimentação no lugar do potenciômetro pra manter os 110 com a boa ideia do amigo@Renato.88

Meu velho circuito de pwm com o 555 daria conta disso numa boa. 

Só jogar uma amostra da tensão da rede em CC na entrada do oscilador com um jogo de resistores. 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Acho que o pwm 555 do amigo tá mais pra gerar um atraso com ele. Acho que você consegue fazer isso só com ampop's

 

Imagine você entrando na mente do sistema.

Tenha em mãos uma vcd fixa.

Pegue uma amostra Vdc que vai ser proporcional a vac da saída

Compare com a vdc fixa. Memorize o valor

Detecte a passagem pelo zero

Se menor espere menos pra disparar o triac

Se maior, mais.

Ou seja, o tempo de espera pro disparo é proporcional à diferença

ou tudo acima só que ao contrário🙃

 

Dica: por segurança deixe um tempo mínimo de modo a nunca dar > 127

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Certa feita você nos passou um circuito que controlava a Vac com dc direto algo que por campo magnético de uma fonte dc. Te lembra disso? Quase senti vontade fazer um  variac com ele.

 

Uma ideia que tive agora... pra transferir a metade da potência de 220 pra 110 algo como deixar passar a metade dos ciclos. Em 1 segundo só deixa passar 30 ciclos.. passa 1... bloqueia 1. Pra potência ou energia tem tudo pra dar certo. Mas pra motor... sei não... testa aí pra nós😁. Lembrando que tem que ser um ciclo completo portanto só diodo não dá certo...óbvio.

Link para o comentário
Compartilhar em outros sites

Coloquei a plaquinha antiga que tenho para funcionar 

 

107159142_306597114078078_74668705896197

 

 

107797721_202797361106151_26146530927163

 

108201455_741179876633716_81044191475109

adicionado 8 minutos depois

É o pulso quadrado que aciona o TRIAC 

Lembrando que TRIAC pode ser acionado só com DC que ele responde em AC. 

 

O pulso presente na foto do meio faria a ventoinha ser acionado em 220V recebendo o equivalente a 127Vac.

Só que o circuito tem um tipo de realimentação. 

Um sinal DC faz mudar o ângulo de disparo do TRIAC. Com isso eu posso realimentar nos 220V. Daí se a tensão cai para 180Vac, o ângulo de disparo muda. Aquele pulso quadrado passa a acionar mais pro lado esquerdo, compensando a potência no ventilador. 

 

Só preciso dimensionar essa realimentação com algum filtro que retifique dos 220V e depois passe para valores DC.  

Link para o comentário
Compartilhar em outros sites

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

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!