Exemplo CCS moc3020 triac CONTACTORA 110v
 Mosaico
 Mosaico
 PIC
 Exemplo CCS moc3020 triac CONTACTORA 110v
  Registrar   Ajuda   Login

Tópico AnteriorTópico Anterior - Próximo TópicoPróximo Tópico
Tópico com 3648 visitas e 10 mensagens
Autor
Tópico: Exemplo CCS moc3020 triac CONTACTORA 110v
sineir
Usuário Nivel 5

Postagens: 103
Registro: 02/09/2003
Local: Sao Goncalo - RJ - Brasil
Idade: 39 anosSexo Masculino
 Postado em 07/04/2010 17:45:00

Olá a todos...

Preciso montar um circuito com o conjunto: 12f675+moc3020+triac+contactora
Trata-se de um temporizador para falta de energia...
quando faltar energia e a mesma retornar, o circuito deve aguardar uns 10 minutos
e só entao ligar a contactora (esta controlará uma geladeira,freezer,etc.)...

Objetivo: evitar os repiques da rede por falta de energia e retorno (muito comum na area que moro).....

o timer com o 12f675 baseado no timer0 eu já tenho....
mas no PROTEUS que tenho não tem o moc3020 (comercial) e sim o moc3031

fiz um circuito só com o moc3031 e o triac e coloquei um botao no MOC para VCC
e o mesmo funciona como no SCR arma quando aperto o botao mas nao desarma quanso solto o botao....

eu até poderia colocar um transistor com relé de baixa para controlar a contactora
mas não é nada profissional.....

Agradeco a atencao...
obs: em CCS...


IP LogadoPróxima Mensagem
jsbrown
Usuário Nivel 5

Postagens: 452
Registro: 08/05/2008
Local: - MG - Brasil
Idade: 85 anosSexo Masculino
 Postado em 08/04/2010 10:27:00



scr ou triac ligado em vcc não vai desarmar nunca mesmo. deves ligar no ac. Mas sugiro com relé mesmo. fica + barato, + simples e é profissional sim. tem relés de alta corrente tipo os automotivos aí nem precisa do barulhento contator.
abç

IP LogadoMensagem AnteriorPróxima Mensagem
sineir
Usuário Nivel 5

Postagens: 103
Registro: 02/09/2003
Local: Sao Goncalo - RJ - Brasil
Idade: 39 anosSexo Masculino
 Postado em 08/04/2010 10:48:00

JsBrown, obrigado por responder...

1 - Acertei na simulacao com o triac colocando uma fonte AC, só deu uns erros
que nao entendo de "timestep" ..... mas tô no caminho ...(vale o estudo)

2 - eu já tenho uma contactora de 110v que ganhei de um colega..
(mas posso desprezá-la, pois aceito sua opniao)
3 - Como fica o consumo do circuito com relé automotivo, pois eu estou(va)
focando um circuito com baixa amperagem (+-500ma) para ficar ligado
varios dias se preciso....

4 - Quanto ao barulho (que é grande mesmo) não incomoda, pois o circuito
será ligado quando não tiver ninguem em casa (sair por mais de um dia).....

Vou procurar os relés automotivos......

Valeu, qq tô aqui

IP LogadoMensagem AnteriorPróxima Mensagem
sineir
Usuário Nivel 5

Postagens: 103
Registro: 02/09/2003
Local: Sao Goncalo - RJ - Brasil
Idade: 39 anosSexo Masculino
 Postado em 08/04/2010 16:28:00

JsBrown,

Ainda tem o detalhe que nao atentei...

CARGAS RESISTIVAS / INDUTIVAS.......(para triac resistiva)

ja vi o rele, 12V / 40A(carga ate 40A)..http://produto.mercadolivre.com.br/MLB-139764406-rele-automotivo-auxiliar-farol-buzina-milha-40a-12v-_JM

rele de estado solido: http://cgi.ebay.com/ZG3NC-340B-Solid-State-Relay-40A-Output-90-480VAC_W0QQitemZ260584012050QQcmdZViewItemQQptZLH_DefaultDomain_0?hash=item3cac047912

Qual o tipo de carga pode controlar o rele de estado solido ?????


IP LogadoMensagem AnteriorPróxima Mensagem
sineir
Usuário Nivel 5

Postagens: 103
Registro: 02/09/2003
Local: Sao Goncalo - RJ - Brasil
Idade: 39 anosSexo Masculino
 Postado em 14/04/2010 12:33:00

preciso de uma ideia, para que o uC incremente o contador no desligamento da energia (falta de energia)........
ps: usarei dois CD4026 como display ...
//==========================================================================================
#include "12f675_1.h"

#byte OSCCAL=0x80
#define GP0 PIN_A0
#define GP1 PIN_A1
#define GP2 PIN_A2
#define GP3 PIN_A3
#define GP4 PIN_A4
#define GP5 PIN_A5
//========================

#use fast_io(a)

#byte ADCON0 = 0x1F
#byte ANSEL = 0x9F
#byte CMCON = 0x19

//#rom 0x3ff = {0x3480} // input the calibration code
#rom 0x3ff = {0x3480} // input the calibration code

int rtcc=0,seconds=0,flag=1,contador=0,i=0,xanalog=0;
unsigned char clk_4026();
#int_RTCC
RTCC_isr()
{
rtcc++;

if (rtcc == 250)
{
seconds++;
rtcc=0;
flag=1; // a cada 1s aprox. atualiza display
}
if (seconds==5) // ATIVACAO EM 5 SEGUNDOS
{
if (xanalog >= 35 ) output_HIGH(GP2); // comuta o relé apos X segundos e se V > X volts......
seconds=0;
}
}

void main()
{


// copiado da NET == PARA UTILIZAR O CANAL ADC an0
set_tris_a(0b01011); //GP0,GP1 output
//Utiliza a porta AN0 como entrada analógica
setup_adc_ports(sAN0 | VSS_VDD);
//Utiliza Clock interno
setup_adc(ADC_CLOCK_INTERNAL);
//Utiliza um canal AD
set_adc_channel(0);
//========= fim copy and paste
setup_comparator(NC_NC_NC_NC);
//setup_vref(FALSE);
set_timer0(0);
setup_timer_0(RTCC_INTERNAL|RTCC_8_BIT|RTCC_DIV_16);
enable_interrupts(INT_RTCC);
enable_interrupts(GLOBAL);
output_low(GP2); // na inicializacao garante o desligamento do rele
setup_timer_1(T1_DISABLED);
//ADCON0 = 0; // ADC off
//ANSEL = 0; // GPIO pins 0,1,2 and 4 set to all digital
//CMCON = 7; // Comparators off > duvida, deixa ou tira.....????????
ADCON0=1;
ANSEL = 1;
// carrega na variavel contador o numero de vezes que faltou energia
contador = read_EEPROM (0x0);
while(1) {
xanalog = read_adc()/ 5.1; // xanalog= Volts
if(xanalog < 35 ){
output_low(GP2); // se ADC == 0V desliga RELE,,, instrucao para gravar memoria.....
seconds=0;
contador++; // incrementa
write_eeprom(0x0,contador); // grava na memoria o valor do contador
delay_ms(500);
while(xanalog<35){ // trava enquanto V < 10v até acabar a energia.
xanalog = read_adc()/ 5.1 ;
seconds=0;
delay_ms(1);
}
}
if (~ input(GP1) ) { // reseta o contador e zera memoria....
flag=1;
contador=0;
write_eeprom(0x0,0x0);
while ( ~ input(GP1) ) delay_ms(100); // tipo um debounce
}

//======================= atualiza display
if (flag==1){ // se houve mudanca no contador....
flag=0;
// carrega o valor ADC, TESTE TESTE TESTE

i=xanalog; // i variavel temporaria -> VOLTS -> usado para depuracao
//i=contador; // i variavel temporaria -> Faltas de Energia -> linha definitiva
// reseta o contador externo CD4026
output_HIGH(GP4);
delay_us(1);
output_low(GP4);
delay_us(1);
// ============ fim reset CD4026
// coloca no contador externo o valor de "i" || "contador"
while (i >0) {
clk_4026(); // funcao clock no contador externo
i--;
}
}
//================================ fim atualiza display
} // fim while infinito
} // fim main principal

//======================== funcao clock no contador externo
unsigned char clk_4026() {
output_low(GP5);
delay_us(1);
output_high(GP5);
delay_us(1);
}
//========================fim clk 4026

IP LogadoMensagem AnteriorPróxima Mensagem
jsbrown
Usuário Nivel 5

Postagens: 452
Registro: 08/05/2008
Local: - MG - Brasil
Idade: 85 anosSexo Masculino
 Postado em 15/04/2010 09:23:00

relé de estado sólido até onde eu saiba (sabia) se assemelha a um moc acionando um triac.
Convem colocar um snuber (rede R+C e série) em paralelo com os "contatos". Ainda + se for com relé. Tipo 47R1W/100nF/250VAC

a idéia para o desligamento e contagem veja isso:
http://www.forumnow.com.br/vip/mensagens.asp?forum=41935&grupo=56847&topico=3018810&nrpag=1

de nada
sucessos.


IP LogadoMensagem AnteriorPróxima Mensagem
sineir
Usuário Nivel 5

Postagens: 103
Registro: 02/09/2003
Local: Sao Goncalo - RJ - Brasil
Idade: 39 anosSexo Masculino
 Postado em 15/04/2010 12:40:00

JSBROWN ,,, obrigado....
==========================================================
-pelo pressostato: ligue a "tensão ac que vai ao motor" (preciso dizer que não deve fazer isso e sim usar p.ex. um acoplador ótico???) num pino do pic de preferência àquele de liberação de contagem do timer. aí ele só vai contar qdo motor ligado. veja o datasheet.
-caso pela queda de luz/desligamento: outra opção é o comparador (e não o AD) que gera uma interr para gravar na eeprom com aquele lance do capacitor que lhe falei. a queda no v.n.r. causaria a interr. para gravar a eeprom.
==========================================================
Baseado no seu comentario, na postagem indicada, vou estudar os Comparadores...
........
um abraço.

IP LogadoMensagem AnteriorPróxima Mensagem
sineir
Usuário Nivel 5

Postagens: 103
Registro: 02/09/2003
Local: Sao Goncalo - RJ - Brasil
Idade: 39 anosSexo Masculino
 Postado em 16/04/2010 13:11:00

JsBrown,

Nao consegui achar um exemplo usando o COMPARADOR, vc tem..?...

alterei o codigo postado anteriormente........

mas nao sou preguicoso, achei exemplo usando ADC....
vou puxar 12V atraves de um resistor 8,2k, e colocar um de 2,7k para gnd...
ou seja 12 / 10,9K X 2,7K = 2,91 aprox....> 0
depois do regulador de 5V vou colocar um 2200uF (é suficiente ?)....

no codigo vou colocar a leitura do ADC no loop principal
e qd for zero grava eeprom.....
no "start" tem que retardar algum tempo ??

EU ACHO QUE Eh POR AIh.......

IP LogadoMensagem AnteriorPróxima Mensagem
jsbrown
Usuário Nivel 5

Postagens: 452
Registro: 08/05/2008
Local: - MG - Brasil
Idade: 85 anosSexo Masculino
 Postado em 19/04/2010 09:47:00

vamos ver...
comparador:
ex. também nunca vi e não tenho. foi apenas intuição. Coloque seu divisor numa entrada dele e a outra uma divisão do +5 ex.:
[+5]--[10k]---[entrada+]---10k---[gnd] vai ser seu valor fixo de ref 2,5V (Aliás nem precisa ser externo. Foi só pra vc entender. Use o divisor interno do chip. Tem que ler datasheet infelizmente) e a outra o resultado da sua divisão da tensão ANTES do 7805 (seu 2,91V). Quando esta entrada cair abaixo dos 2,5V, vai gerar uma interr preprogramada pra sua rotina de gravação.

leitura adc:
ANTES do regulador 2200uF: parece aceitável. E não é "qdo for zero". é qdo for abaixo de um valor equivalente a qdo a voltagem ANTES do regulador cair pra uns 9V p.ex. Valor este aliás que deve ser o mesmo do lance do comparador. Tem que fazer umas continhas simples de divisor de tensão.
Boa idéia retardar alguns centésimos de seg no start até a tensão estabilizar
boa sorte.

IP LogadoMensagem AnteriorPróxima Mensagem
sineir
Usuário Nivel 5

Postagens: 103
Registro: 02/09/2003
Local: Sao Goncalo - RJ - Brasil
Idade: 39 anosSexo Masculino
 Postado em 24/04/2010 23:12:00

jsbrown, muito obrigado pela atencao....terminei...
agora vou para a montagem....
=========================================
No codigo (alterado a cima) eu coloquei uma leitura
para 5 volts com um potenciometro de 10k direto
apenas para teste na proto......FUNFOU.....
Vou usar apenas uma entrada ADC...
Na montagem definitiva basta eu medir
a tensao antes do regulador de 5V (depois do de 12v) para definir
o divisor nos resistores....
Entao: para 12volts (regulado p/ nao ir > 5v no pic) temos...
uma resistencia de 7K(4,7+2,2+0,1) com 5K (10÷2)
com isso terá no pic 5v cravado.....5V no pic <=> 12V na fonte(2,4 vezes 5 = 12)...
para 8 bits => 12 v ÷ 255 = divisor para leitura ADC 2.125 (com uma casa decimal)
Para disparar o contador quando houver falta e a voltagem for < 9
basta testar "menor que 90" => com uma casa decimal "9,0"...


Abracao





IP LogadoMensagem Anterior
 Todos os horários são de Brasília (GMT -03:00)
 Nova Mensagem desde a sua Última Visita.
[***] Palavra proibida pelo moderador do Grupo de Discussão

Tópico AnteriorTópico Anterior - Próximo TópicoPróximo Tópico

Volta para o Topo da Página

=-= Denuncie essa página =-=



Forum Now! - Criar seu forum grátis