Você está na página 1de 22

Uso de Microcontrolador para acionamento de

Tiristores
Prof. Francisco Fambrini
Faculdade de Engenharia
Universidade Anhanguera Plo Santa Brbara do Oeste
Keywords:
Triac, SCR, microcontroller, Pulse Position Modulation, PPM, digital control, PIC, CCS
Compiler, Bresenham Algorithm
Palavras-chave:
Triac, SCR, Microcontroladores, Modulao por Posio de Pulsos, PPM, controle digital,
PIC, Compilador CCS, Algoritmo de Bresenham
Resumo:
Neste artigo, o autor descreve duas tcnicas para controle de potncia em Sistemas
Monofsicos A .C., atravs do uso de tiristores para Corrente Alternada (Triacs), partindo
de Microcontroladores PIC.
De fato, o uso de microcontrolador no controle do disparo dos triacs assunto discutido
com interesse e pouca literatura tem sido escrita a respeito, porque tal envolve
temporizaes precisas no controle do ngulo de disparo dos semicondutores.
O primeiro mtodo descreve o controle angular da senide e faz uso do timer do
Microcontrolador e de rotinas de interrupo escritas em Linguagem C.
Este mtodo tambm chamado PPM ( Modulao por Posio de Pulso ).
O segundo mtodo envolve o conceito de ciclos completos de onda e baseado no
Algoritmo de Bresenham visando a equipartio da Energia dentro de um perodo de tempo
pr-fixado.
Ambas as tcnicas foram testadas pelo autor em laboratrio e os cdigos gravados no
microcontrolador foram escritos em linguagem C, utilizando-se o compilador PCWH
fabricado pela CCS.
Sistemas de filtros (snubber, LC ) so tambm discutidos como necessidade a ser
implementada devido emisso de harmnicas e EMI ocasionadas pelo rpido
chaveamento dos triacs.
Abstract:
In this paper, the author describes two techniques for power control in the AC single phase
system, through the use of thyristors for AC (Triacs), from PIC Microcontrollers.
In fact, the use of microcontroller to control the shot of the triacs are subject discussed with
interest and little literature has been written about it, because it involves precise timing in
controlling the shot angle of the semiconductor.
The first method describes the angular control of the sinusoid and makes use of the
microcontroller and timer interrupt routines written in language C.
This method is also called PPM (Pulse Position Modulation).
The second method involves the concept of complete cycles of the wave and is based on the
Bresenham algorithm.
Both techniques were tested by the author in the laboratory and the codes written to the
microcontroller was written in C language, using the compiler PCWH manufactured by
CCS.
Filter systems (snubber, LC) are also discussed as a need to be implemented due to the
emission of harmonics and EMI caused by the rapid switching of the triacs.
INTRODUO:
1. PPM
uma sigla que significa Pulse Position Modulation, ou Modulao por Posio de
Pulso. a forma de modulao de sinal na qual os M bits de uma mensagem so
codificados transmitindo-se um nico pulso em uma das 2^M trocas de tempo possveis.
Isto repetido a cada T segundos, tal que a taxa de bits transmitidos seja M/T bits por
segundo. A caracterstica de um sistema do tipo PPM que dentro de um perodo de tempo
T, apenas um pulso gerado. O que muda o instante no qual tal pulso produzido.
Figura 1 Grfico ilustrando o sistema PPM
O sistema PPM foi o adotado nesse Controlador porque o elemento resistivo de
aquecimento funciona diretamente na rede AC de 127 volts.
Como necessita-se controlar tenso alternada, a escolha recaiu sobre um TRIAC do
tipo TIC263 D.
Figura 2 - TRIAC controlando resistncia de carga, disparado pelo sinal PPM
Os Triacs (Tiristores para Corrente Alternada) e os SCR (Retificadores Controlados
de Silcio), uma vez que recebem um pulso de disparo no seu terminal G (gate)
permanecem na condio de disparo (conduzindo a corrente) at que a senide da rede
cruze novamente o zero.
Assim, basta apenas um breve pulso de disparo no gate do TRIAC para que este comece a
conduzir, s desligando ao final de um ciclo da senide.
A figura abaixo ilustra o uso do PPM para controle do ngulo de disparo do TRIAC em
funo da senide de 60 Hz (perodo aproximado de 16,666 ms ):
Figura 3 Efeito do PPM sobre o momento de disparo do triac
2. Detetor de Passagem pelo Zero (Zero-Crossing)
A funo desta etapa do circuito produzir uma onda retangular a cada vez que a
senide da rede passar pelo zero, para proporcionar o adequado sincronismo no disparo do
Triac. Fornece uma amostra da senide da rede para que o Microcontrolador decida o
momento adequado de iniciar o timer que controlar o PPM.
A soluo encontrada, levando-se em conta a segurana no isolamento do circuito
do controlador da rede de energia, faz uso de um acoplador ptico do tipo TIL111 da
National Semiconductors, conforme mostrada no esquema abaixo
Figura 1 - Circuito detetor de passagem pelo zero (zero-crossing)
importante frisar que existe isolamento galvnico entre a rede de 127 volts e o circuito
digital, observando que os terras de um lado e de outro do opto-acoplador so diferentes.
Tal isolamento torna o sistema seguro e robusto com relao aos picos de energia que
eventualmente podem ser originados a partir da rede.
O circuito acima produz uma onda muito prxima de retangular nos instantes exatos
em que a senide da rede atravessa o zero, servindo como tima referncia para o momento
de disparo do Triac.
3. Microcontrolador
A escolha recaiu para o modelo PIC18F4550 do fabricante Microchip
(www.microchip.com) por ser um dispositivo de tecnologia RISC de ltima gerao na data
em que este trabalho foi desenvolvido.
Ponte Retificadora
A C
K E
TIL 111
22K
R1
127 VAC
R
2
+5V
Figura 4- Pinagem do Microcontrolador usado na implementao.
Algumas caractersticas deste dispositivo so:
- 40 pinos em encapsulamento DIP, com 35 I/Os (entradas/sadas);
- Alta Performance, com tecnologia Nanowatt para baixo consumo de energia;
- Hardware preparado para comunicao USB 2.0
- Memria Flash avanada, com mais de 100.000 ciclos de leitura e apagamento;
- Arquitetura otimizada para compilador C;
- 32 Kbytes de Memria de programa interna;
- 2048 bytes de memria RAM embutida;
- 256 bytes de memria para dados no volteis;
- clock mximo de at 48 MHz, com velocidade de at 12 MIPs;
- Conversor AD interno com resoluo de 8 ou 10 bits, multiplexado com at 13
canais de leitura;
- WatchDogTimer, 2 canais de PWM por hardware, 3 timers independentes;
Existem muitos pinos que possuem funes mltiplas (compartilhadas).
Por exemplo: os pinos 23 e 24, alm de serem pinos normais de I/O (entrada ou
saida) tambm so os pinos D+ e D- para conexo ao conector USB, caso se desejasse
fazer este tipo de comunicao serial.
A foto abaixo ilustra o aspecto fsico deste Microcontrolador, que pode ser
encontrado em encapsulamento dip, facilitando a construo de prottipos artesanais:
Figura 2 - Aspecto fsico
Este micrococontrolador admite vrias opes de clock. Nessa implementao, foi
escolhido um oscilador interno com cristal de quartzo externo de frequncia 20 MHz, com
a opo PLL habilitada, o que faz com que o clock interno deste microcontrolador seja de
48 MHz.
4. Acionamento do Triac e mdulo de Potncia
Para controlar a resistncia de aquecimento AC foi implementado um controle
digital do ngulo de disparo do TRIAC, entre 0 e 180 graus.
O momento do disparo determinado pelo microcontrolador PIC.
O circuito de acionamento da parte de potncia mostrado abaixo:
Foi utilizado no prottipo um triac modelo TIC263-D, capaz de suportar correntes
de at 25 ampres e tenses de at 600 volts.
Figura 5 Circuito de acionamento do Triac com opto-diac MOC3020
5. Controle da Potncia na carga AC
O circuito com o tiristor TIC263D entrega carga uma senide recortada, que ao
osciloscpio se assemelha figura abaixo:

Figura 6 - Senide recortada pela ao do tiristor
A potncia instantnea fornecida pelo Triac resistncia do aquecedor, cuja unidade
o watt (W), dada pelo produto da tenso aplicada pela corrente que flui no aquecedor:
onde v(t) e i(t) so respectivamente a tenso e a intensidade de corrente no instante t.
A potncia instntanea pode tambm ser escrita como:
Definindo-se a Funo X(t) como:
E lembrando-se da definio de Potncia Mdia ao longo de um semi-ciclo de
perodo pi:
Onde w = 2 .pi .F a frequncia angular da senide, dada em radianos/segundo
A Potncia Mdia entregue carga pode ser calculada, no intervalo entre 0 e To,
por :
no domnio do tempo.
Por outro lado, a tenso instantnea v(t) pode ser expressa por:

=
0
0
2
0
) (
1
) (
T
dt t X
T
t P
) ( ). ( ) ( t i t v t p =
[Eq. 1]
R t v t p / ) ( ) (
2
=
R
t v
t X
) (
) ( =

0
) ( ). (
1
wt d wt p P
media
[Eq. 2]
[Eq. 3]
[Eq. 4]
[Eq. 5]
( )

=
o
T
T
o
mdia
dt t
T
A
P . 120 sen
2
2

[Eq. 7]
Onde :
A: amplitude da senide em volts (V) e
que resulta, substituindo na Eq. 5:
Usando-se a identidade trigonomtrica:
Substituindo na Eq. 7 e resolvendo a integral para o intervalo To< t <Ta, resulta:
A Eq. 9 d a Potncia Mdia por semi-ciclo da senide, em funo do tempo de
acionamento Ta , que a varivel de sada do controlador proposto.
6 - Firmware de Controle
O Microcontrolador determina o momento de disparo do optoisolador MOC3020
(trata-se na verdade de um opto-diac, prprio para acionamento de triacs) atravs do
seguinte algoritmo:
) . sen( . ) ( t A t v =
[Eq. 6]
120 =
( ) ) 2 cos( 1
2
1
) ( sen
2
wt wt = [Eq. 8]
( )

+ =

240
) . . 240 sen(
2
0
0
2
A
A media
T
T T
T
A
P
[Eq. 9]
1 detecta o momento de passagem da senide da rede pelo zero (zero-crossing);
Neste momento, o fluxo do programa desvia para a rotina de interrupo INT_EXT no
cdigo fonte do programa;
2 dispara o Timer3 do PIC, de modo a determinar um tempo entre 0 e 8,33 ms,
que corresponde a meio-ciclo da senide (0 at 180 graus);
3 Os flags de interrupo INT0IF e TMR3IF so limpos manualmente pelo
software;
4 aps o tempo determinado pelo TMR3, ocorre o disparo do triac, atravs do
nvel lgico aplicado ao led do opto-isolador.
Essa rotina foi implementada usando-se a interrupo gerada pelos pulsos do detector de
zero-crossing e foi selecionado o modo rpido (FAST) de atendimento da interrupo, para
evitar atrasos no tratamento e chamada dessa rotina.
O trecho do cdigo-fonte que efetua o controle do ngulo de disparo do Triac
mostrado abaixo, escrito para o compilador PCHW da CCS (Ref. 1):
#INT_EXT FAST
void TRATA_ZC (void ) {
//caso seja interrupo no pino RB0, interrupo de Zero_Cross
if (INT0IF==1)
{ INT0IF=0; // limpa Flag da interrupo
Pstate=0;
output_low(PWM); // inibe o triac
set_timer3(65535 - T_Low); // define o angulo de disparo do TRIAC
TMR3ON =1; // Habilita a contagem do TIMER_3
}
else
{
if(TMR3IF==1)
{ TMR3IF=0; // limpa o flag de interrupo do TIMER3
if (Pstate==1)
{ Pstate=0;
TMR3ON=0; // desliga a contagem do TMR3
}
else
{ output_high(PWM);
Pstate=1;
set_timer3(65535-pulso); // define a largura do pulso
// do disparo
}
}
} } //TRATA_ZC
Com o triac, sendo o ngulo de disparo igual nos dois semi-ciclos, a forma de onda da
tenso na carga simtrica e portanto seu valor mdio nulo.
Conforme demonstrado anteriormente (e simplificando-se a equao), a tenso
eficaz aplicada resistncia em funo do ngulo alfa de disparo , para rede de 127
volts, dada por:
Pela Equao (2), a potncia eficaz aplicada na resistncia ser:

4
2 sen
2 2
1
. 2 . 127 + =
eficaz
V
Eq. [10]
R P /
4
2 sen
2 2
1
. ) 127 .( 2
2
|

\
|
+ =

Eq. [11]
onde R o valor da resistncia de carga em ohms.
7 - Filtro Snubber
Como melhoria adicional a este circuito, recomenda-se acrescentar um resistor de
100 ohms em srie com um capacitor de 10 nF em paralelo com os terminais T1 e T2 do
Triac, com a finalidade de se reduzir a emisso de harmnicas na rede de energia, conforme
tambm mostrado na figura acima. Este filtro RC srie conhecido na literatura como
snubber e tem por funo atenuar harmnicas e deformaes na senide da rede,
provocadas pelas rpidas comutaes do triac.
8 - Filtro contra EMI (Eletromagnetic Interference) :
Em aplicaes onde uma carga indutiva necessite ser controlada pelo triac,
necessrio proteger o circuito e a rede de energia dos surtos de tenso gerados pela rpida
comutao do triac, os quais podem causar interferncias em frequncias de rdio de ondas
mdias e baixas, tipicamente entre 100 KHz e 5 MHz.
Um filtro LC mais elaborado pode ser implementado com esta finalidade, como
mostrado na figura abaixo:
Figura 7 -Filtro contra EMI sugerido
So utilizados um indutor de 200 uH (com fator de mrito Q > 100) e um capacitor
de 100 nF com isolao mnima de 400 volts.
As equaes que descrevem o filtro acima sugerido, onde fo a frequncia central
de sintonia, so :
Este filtro tem um plo duplo na frequncia de 35 kHz, que suficientemente mais
alto do que a frequncia da rede AC (60 Hz) para prevenir algum desvio de fase adicional
ou alguma atenuao da tenso da linha.
9 - Outra forma de controle de Potncia:
Uma outra maneira para prevenir distores na senide da linha de energia AC
usar pacotes de ondas. Ao invs de se disparar o triac continuamente em ngulo de fase
varivel, entrega-se carga semi-ciclos inteiros de senide.
Este mtodo tem a desvantangem de produzir um controle nada suave de energia na
carga: uma lmpada, por exemplo, ao invs de ter sua luminosidade variando
continuamente, passaria a piscar. Entretanto, este efeito irrelevante se a finalidade
desejada for apenas o controle da temperatura de uma resistncia, como no caso em estudo.
Por exemplo: Deseja-se um Controle de 30% da Potencia Total; estipula-se um
periodo de controle total de 20 segundos, e uma resoluo de Controle de 0,2 seg (200 ms).
kHz
LC
fo
LC
o
LC s
s H 6 . 35
1
2
1 1
1
1
) (
2
= = =
+
=

Eq. [12]
Assim, para que tenhamos 30% da Potncia total na carga, mantemos o triac
disparado durante 30 x 0,2 = 6 segundos a cada 20 segundos, repetindo-se sempre este
ciclo. Para evitar um acionamento aos trancos da carga (distribuio desigual da potncia
no tempo) poder-se-ia utilizar o Algoritmo de Bresenham para distribuir igualmente estes
6 segundos dentro do perodo total de 20 segundos (por exemplo).
10 - Algoritmo de Bresenham:
Embora originalmente desenvolvido para aplicaes em Computao Grfica (trata-
se de um algoritmo matemtico que foi originalmente desenvolvido para otimizar o traado
de retas em diagonais e otimizar desenhos de texturas), este algoritmo, quando aplicado ao
programa do Microcontrolador, permite distribuir N ciclos de senide igualmente dentro de
um periodo M de tempo de maneira a equiparticionar a energia (Ref. 16).
Se a potncia for ajustada para 50% do total, a cada 20 segundos no ocorrer
primeiro 10 segundos de conduo do triac (ON) e 10 segundos desligado (OFF) depois.
Pelo contrrio, este algoritmo possibilitar um controle de 0.2 Seg ON, 0.2 Seg
OFF, 0.2 Seg ON, 0.2 Seg. OFF e assim por diante.
Figura 8 - Distribuio dos pulsos do triac ao longo do tempo, de acordo com o Algoritmo proposto.
Para testar este algoritmo, foi escrito uma rotina no PC utilizando-se o compilador
DevC++, a qual listada abaixo:
------------------------------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int M,N,E,I,D ;
while (1)
{
printf("\n Algoritmo de Bresenham distribui igualmente N ciclos dentro de M
segundos");
printf("\n ");
printf("\n Enter M: ");
scanf("%d",&M);
printf(" Enter N: ");
scanf("%d",&N);
printf("\n ");
E= 2*N - M;
for(I=0 ; I<M ; I++)
{
if (E>=0)
{
E=E + 2*(N-M);
printf("1 ");
}
else
{
E=E + 2*N;
printf("0 ");
}
}
printf("\n ");
}
// system("PARADO");
return 0;
}
-----------------------------------------------------------------------------------------
Alguns testes foram feitos com o Algoritmo de Bresenham e com esta forma de
Controle do Triac.
Entretanto, optou-se aqui neste projeto pela forma de controle de ngulo de disparo
proposta anteriormente, por possibilitar um controle mais preciso e mais suave da potncia
aplicada na carga. Essa segunda idia melhor quando se deseja menor produo de
harmnicos na rede.
11 - Circuito monitor de falhas no Triac:
Ainda como outra idia interessante a ser acrescentada, sugere-se o uso de um LED
(diodo emissor de luz) em paralelo com o triac, com a finalidade de indicar a queima deste
componente.
Quando o triac danificado irremediavelmente, geralmente tal dano manifesta-se
por um curto-circuito definitivo entre seus terminais T1 e T2.
Um triac em curto provocar um aquecimento exagerado da resistncia de
aquecimento, sem controle.
Para monitorar este eventual curto-circuito no triac, sugere-se acrescentar o seguinte
circuito:
Circuito monitor de falhas
No circuito da figura acima, o LED1 acender em diversas intensidades enquanto o
triac estiver operando normalmente, ainda que acenda com pouco brilho.
Entretanto, em caso de queima do triac por curto-circuito, este led ir se apagar
definitivamente, porquanto no existir diferena de potencial entre os terminais do resistor
R1 e do diodo D2.
A funo dos diodos D1 e D2 proteger o prprio led contra tenses reversas da
rede AC e os resistores R1 e R2 limitam as correntes que circulam pelos diodos a um valor
seguro.
R3 e C1 compe o circuito de filtro snubber j discutido acima.
O filtro LC no mostrado nesta figura, por uma questo de simplicidade no
entendimento.
12 - CONCLUSO:
Os dois mtodos estudados so efetivos no Controle do disparo de triacs usando-se
microcontrolador.
O primeiro mtodo, que faz uso do sistema PPM, recomendado para cargas que exigem
linearidade no controle, tais como motores AC monofsicos e lmpadas de iluminao
incandescentes.
O segundo mtodo, baseado no controle de pacotes de perodos completos da senide e no
algoritmo de Bresenham tem a vantagem de produzir menor quantidade de harmonicas e
EMI, mas tem a desvantagem de ser pouco linear no que se refere ao controle da carga.
Esse segundo mtodo recomendvel apenas para resistncias de aquecimento.
Destarte, ambos os mtodos so vlidos e a aplicao e o elemento a ser controlado que
definem qual ser o escolhido.
APNDICE 1 FIRMWARE PARA O CONTROLE DO TIPO PPM
//----------------------------------------------------------------------------
//
// CONTROLE DE DISPARO DO TRIAC
// PROGRAMA TESTE ESCRITO EM 10/5/2009
// vers. 2.0
//----------------------------------------------------------------------------
#include <18F4550.h>
#DEVICE ADC=10
#include <regs_18fxx2.h>
#DEVICE HIGH_INTS=TRUE // Use this option for
// high or low priority interrupts on the PIC18.
#DEVICE *=16
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN, nomclr
#use delay(clock=48000000)
//------------------------------------------------
#define limpa_display lcd_escreve('\f');
#define bt1 pin_D1
#define bt2 pin_D0
#define bt3 pin_D2
#define PWM pin_c2
//-------------------------------------------------
//-------------------------------------------------------------
// Variaveis Globais
int16 T_Low=0; //angulo de disparo do TRIAC em us
int16 pulso=0;
short int Pstate=0, led=0;
int16 x=0;
float alfa; // angulo de disparo do triac, em graus
float alfa_rad; // angulo de disp triac em readianos
float PN; //informa o valor da Potencia normalizada
float A10, A11, A12, A13, A14, A15;
//---------------------------------------------------------------
#include <lcd_unisal.c>
#include <math.h>
//-----------------------------------------------------------------------------
#INT_EXT FAST
void TRATA_ZC(void ){
//caso seja interrupo no pino RB0, interrupo de Zero_Cross
if (INT0IF==1)
{ INT0IF=0; // limpa Flag da interrupo
Pstate=0;
output_low(PWM); // inibe o triac
set_timer3(65535-T_Low); //define o angulo de disparo do TRIAC
TMR3ON =1; //Habilita a contagem do TIMER_3
}
else
{
if(TMR3IF==1)
{ TMR3IF=0; //limpa o flag de interrupo do TIMER3
if (Pstate==1)
{ Pstate=0;
TMR3ON=0; //desliga a contagem do TMR3
}
else
{ output_high(PWM);
Pstate=1;
set_timer3(65535-pulso); //define a largura do pulso
// do disparo
}
}
}
} //TRATA_ZC
//-----------------------------------------------------------------------------
void main(void) {
SETUP_TIMER_3( T3_INTERNAL| T3_DIV_BY_8 );
SET_TIMER3(65535-T_Low);
EXT_INT_EDGE( L_TO_H );
//Inicializa o LCD e mostra as telas de apresentao no LCD
lcd_ini( );
delay_ms(300);
ENABLE_INTERRUPTS(INT_EXT );
ENABLE_INTERRUPTS( INT_TIMER3 );
ENABLE_INTERRUPTS ( GLOBAL );
pulso =500;
// limites para T_Low:
// max: 12300 min:200
// 6150 = metade do ciclo
T_Low =6150; // tempo em que a saida do PWM fica nivel baixo
X=6150;
limpa_display ;
lcd_pos_xy(1,1);
printf(lcd_escreve,"V=%05lu ",X) ;
lcd_pos_xy(1,2);
printf(lcd_escreve,"Ajuste Manual ") ;
//----------------------------
// LOOP PRINCIPAL
while(TRUE){
led=!led ;
OUTPUT_BIT(PIN_B7, led); //APAGA O led
//calculo do angulo de disparo do TRIAC:
alfa = (float) (0.007438*(x-200)); //alfa dado em GRAUS)
//calculo da Potncia Normalizada, de 0 at 100%
// 1- tranforma a Potencia para radianos
alfa_rad = (float) (3.1416*alfa)/180 ;
// 2- calcula a Potncia Normalizada e entrega o resultado entre 0 e 100%
A10 = (float) 2*alfa_rad ;
A11 = (float) sin( A10 ) ;
A12 = (float) A11 / 12.5664 ;
A13 = (float) alfa_rad/2;
A14 = (float) ( 0.5 - A13 + A12 ) ;
A15 = (float) sqrt( A14) ;
PN = (float) 115.66 * A15 ;
//PN = (float) 141.42* sqrt( 0.5 - (alfa_rad/2) + (sin(2*alfa_rad)/12.566));
if (!input(bt1)) { if(x>200) x=x-10 ;
lcd_pos_xy(1,1);
printf(lcd_escreve,"V=%05lu ",X) ;
lcd_pos_xy(9,1);
printf(lcd_escreve,"A=%2.2F ",alfa) ;
lcd_pos_xy(1,2);
printf(lcd_escreve,"Power=%2.2F",PN) ;
lcd_pos_xy(12,2);
lcd_escreve(37) ; // imprime caractere % no final da linha
lcd_pos_xy(13,2);
printf(lcd_escreve," ");
delay_ms(50);
}
if (!input(bt2)) { if(x<12300) x=x+10 ;
lcd_pos_xy(1,1);
printf(lcd_escreve,"V=%05lu ",x) ;
lcd_pos_xy(9,1);
printf(lcd_escreve,"A=%2.2F ",alfa) ;
lcd_pos_xy(1,2);
printf(lcd_escreve,"Power=%2.2F",PN) ;
lcd_pos_xy(12,2);
lcd_escreve(37) ; // imprime caractere % no final da linha
lcd_pos_xy(13,2);
printf(lcd_escreve," ");
delay_ms(50); }
if (!input(bt3)) {delay_us(10); }
T_Low = x;
delay_ms(50);
}//while(true)
}//main
REFERNCIAS BIBLBIOGRFICAS:
1 - CCS PIC C C COMPILER - Manual de Referncia do Compilador, www.ccsinfo.com
2 - BURIAN JR, Yaro: (1997): Circuitos Eltricos, Editora da Unicamp.
3- CARVALHO, J. L. Martins (2000): Sistemas de Controle Automtico, Editora LTC,
cap. 1.
4 - CASTRO, TANAKA, Carlos A., Mrcia (1994) : Circuitos de Corrente Alternada um
curso introdutrio, Editora da Unicamp.
5 - DESBOROUGH, L.; NORDH, P.N e MILLER, R. (2001): Control System Reliability -
Process Out of Control. In Tech with Industrial Computing, August.
6 - FAMBRINI, Francisco (2006): Uma Soluo por Software para implementar pwm em
qualquer microcontrolador PIC, Revista Saber Eletrnica n. 402, pp.17,18,19.
7 - LJUNG, L. (1987): System Identification, Theory for the User. New Jersey. Prentice
Hall.
8 - MICROCHIP Semiconductores (2008) : Datasheet do Microcontrolador PIC18F4550,
site do fabricante.
9 - MOHAN, Undeland and Robins (1994) : Power Electronics: Converters, Applications
and Desing, 2
a
Edio, John Wiley.
10 - NATIONAL Semiconductores (1992): Datasheet do componente MOC3020, opto-
isolador para disparo de triac;
11 - PEREIRA, Fabio (2001): Microcontroladores PIC Linguagem C, Ed. rica, 2
a
Edio.
12 - PHILLIPS, C. L. e NGLE, H. T. (1995): Digital Control System Analysis and
Design, 3rd Edition, Prenctice-Hall.
13 - S. BUSO (1995): Digital Control of Power Converters, FEEC, Editora da Unicamp.
14 - SILVESTRE, Fernando (2008): Notas de Aula da Disciplina Identificao de
Sistemas , Unisal, Campinas.
15 - RASHID, M. H. (1993): Power Electronics, Circuits, Devices and Applications, 2
a
Edio, Prentice-Hall, 1993.
16 - Zero-error 1 second Timer - www.romanblack.com/one_sec.htm, site na internet;