collapse

* Posts Recentes

MKR Vidor4000 por josecarlos
[Ontem às 21:05]


PWM com ventoinha por edeweld
[Ontem às 20:42]


Frequência máxima de pwm com controlo de duty cycle de 0 a 100% por Njay
[Ontem às 19:59]


NiCd por NiMH? por jm_araujo
[Ontem às 11:46]


LusoRobótica - Website - Estado actual por TigPT
[19 de Maio de 2018, 22:34]


Concurso Robô Bombeiro 2018 por Tesla
[18 de Maio de 2018, 11:01]


Trafo Amplificador Behrimger ? por jm_araujo
[16 de Maio de 2018, 18:55]


Alfândega / Taxas Alfandegárias / Portes por Njay
[16 de Maio de 2018, 01:26]


Compra Colectiva à Farnell N3-2018 (Maio 2018) por Hugu
[15 de Maio de 2018, 15:34]


Robô BBC micro:bit controlado com gestos no telemóvel Android por Tayeb
[14 de Maio de 2018, 19:41]

Autor Tópico: acionamento de carga com PIC  (Lida 2967 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline edybahia

  • Mini Robot
  • *
  • Mensagens: 33
  • edy
acionamento de carga com PIC
« em: 15 de Dezembro de 2011, 23:39 »
plá pessoal,

estou necessitando de ajuda em um projeto de acionamento com carga para pic com triac
na pratica, necessito controlar potencia do circuito

Sei que preciso de detector de zero, mais o que esta complicando é o circuito do mesmo
::: EDY ++

Offline andre_f_carvalho

  • Mini Robot
  • *
  • Mensagens: 1.469
    • Pro - andrefcarvalho
Re: acionamento de carga com PIC
« Responder #1 em: 16 de Dezembro de 2011, 20:01 »
Tens de ser mais específico

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.502
  • Helpdesk do sitio
Re: acionamento de carga com PIC
« Responder #2 em: 16 de Dezembro de 2011, 20:21 »
Precisa de uma detecção por zero para disparar o TRIAC no sitio certo e poder fazer controlo de fase, acho que tenho aqui meia duzia de esquemas para fazer isso, mais logo já vou procurar no PC e tenho tambem código em SDCC para PIC16F259 ou 18F não tenho a certeza.
Avr fanboy

Offline edybahia

  • Mini Robot
  • *
  • Mensagens: 33
  • edy
Re: acionamento de carga com PIC
« Responder #3 em: 16 de Dezembro de 2011, 21:53 »
Precisa de uma detecção por zero para disparar o TRIAC no sitio certo e poder fazer controlo de fase, acho que tenho aqui meia duzia de esquemas para fazer isso, mais logo já vou procurar no PC e tenho tambem código em SDCC para PIC16F259 ou 18F não tenho a certeza.

Olá amigo, obrigado pela resposta

Pretendo desenvolver este circuito de controle de potência utilizando o pic 16f877A ou 16f628a, estou verificando qual vai atender as minhas necessidade de projeto

Caso alguem tenha esquemas, fico no aguardo ou dica de como fazer...
::: EDY ++

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.502
  • Helpdesk do sitio
Re: acionamento de carga com PIC
« Responder #4 em: 17 de Dezembro de 2011, 02:37 »
Ve se este te ajuda
Avr fanboy

Offline edybahia

  • Mini Robot
  • *
  • Mensagens: 33
  • edy
Re: acionamento de carga com PIC
« Responder #5 em: 17 de Dezembro de 2011, 10:28 »
Ve se este te ajuda


Opa... Walleeuu amigo, vou simular aqui no proteus, já é o começo do projeto
::: EDY ++

Offline edybahia

  • Mini Robot
  • *
  • Mensagens: 33
  • edy
Re: acionamento de carga com PIC
« Responder #6 em: 27 de Dezembro de 2011, 11:16 »
Ve se este te ajuda


Opa... Walleeuu amigo, vou simular aqui no proteus, já é o começo do projeto

Olá pessoal, simulei o primeiro exemplo e funcionou conforme o esperado,
agora vou desenvolver a programação para "detectar" os zeros...

Pessoal, alguém ja desenvolveu alguma coisa do tipo ?

Att.
::: EDY ++

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.502
  • Helpdesk do sitio
Re: acionamento de carga com PIC
« Responder #7 em: 27 de Dezembro de 2011, 13:58 »
Tens de usar interrupções, tenho isto para o 18f258:
Código: [Seleccione]

SIGHANDLER(_int1_handler){

PORTBbits.RB7 = 0; //Disable triac when zero crossings happen

if(gotInt1 == 1){
TMR0L = (unsigned char)(dutyCycle & 0xFF);
TMR0H = (unsigned char)((dutyCycle >> 8) & 0xFF);
gotInt1 = 0;
}

INTCON2bits.INTEDG1 ^= 1; //Sets edge to falling/raising edge, using XOR magic

INTCON3bits.INT1F = 0;
}

SIGHANDLER(_tmr0_handler){

INTCONbits.T0IE = 0;

PORTBbits.RB7 = 1; //Enable triac

gotInt1 = 1;
gotInt2 = 1;

INTCONbits.T0IE = 1;
INTCONbits.T0IF = 0;

}

Atenção que isso é código de teste e não está optimizado e ainda tem para ai coisas que eram para debug, mas já deve dar para teres uma ideia de como controlas o triac.
Avr fanboy

Offline edybahia

  • Mini Robot
  • *
  • Mensagens: 33
  • edy
Re: acionamento de carga com PIC
« Responder #8 em: 27 de Dezembro de 2011, 18:09 »
Tens de usar interrupções, tenho isto para o 18f258:
Código: [Seleccione]

SIGHANDLER(_int1_handler){

PORTBbits.RB7 = 0; //Disable triac when zero crossings happen

if(gotInt1 == 1){
TMR0L = (unsigned char)(dutyCycle & 0xFF);
TMR0H = (unsigned char)((dutyCycle >> 8) & 0xFF);
gotInt1 = 0;
}

INTCON2bits.INTEDG1 ^= 1; //Sets edge to falling/raising edge, using XOR magic

INTCON3bits.INT1F = 0;
}

SIGHANDLER(_tmr0_handler){

INTCONbits.T0IE = 0;

PORTBbits.RB7 = 1; //Enable triac

gotInt1 = 1;
gotInt2 = 1;

INTCONbits.T0IE = 1;
INTCONbits.T0IF = 0;

}

Atenção que isso é código de teste e não está optimizado e ainda tem para ai coisas que eram para debug, mas já deve dar para teres uma ideia de como controlas o triac.


Obrigado amigo, pelo que entedir este código detectar a passagem de zero pela interrupção é após isso aciona TRIAC, nesse caso ele não utiliza o pwm para o controle.
::: EDY ++