Neste artigo, os autores descrevem duas técnicas para controle de potência em Sistemas Monofásicos A .C., através 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 temporizações precisas no controle do ângulo de disparo dos semicondutores.

 

O primeiro método descreve o controle angular da senóide e faz uso do timer do Microcontrolador e de rotinas de interrupção escritas em Linguagem C.

Este método é também chamado PPM ( Modulação por Posição de Pulso ).

O segundo método envolve o conceito de ciclos completos de onda e é baseado no Algoritmo de Bresenham visando a equipartição da Energia dentro de um período de tempo pré-fixado.

Ambas as técnicas foram testadas pelo autor em laboratório e os códigos gravados no microcontrolador foram escritos em linguagem C, utilizando-se o compilador PCWH fabricado pela CCS.

Sistemas de filtros (snubber, LC ) são também discutidos como necessidade a ser implementada devido à emissão de harmônicas e EMI ocasionadas pelo rápido chaveamento dos triacs.

 

1. PPM

É uma sigla que significa Pulse Position Modulation, ou Modulação por Posição de Pulso. É a forma de modulação de sinal na qual os M bits de uma mensagem são codificados transmitindo-se um único pulso em uma das 2^M trocas de tempo possíveis. Isto é repetido a cada T segundos, tal que a taxa de bits transmitidos seja M/T bits por segundo. A característica de um sistema do tipo PPM é que dentro de um período de tempo T, apenas um pulso é gerado. O que muda é o instante no qual tal pulso é produzido.

 

Figura 1 - Gráfico ilustrando o sistema PPM
Figura 1 - Gráfico 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 tensão alternada, a escolha recaiu sobre um TRIAC do tipo TIC263 D.

 

Figura  2 - TRIAC controlando resistência de carga, disparado pelo sinal PPM
Figura 2 - TRIAC controlando resistência de carga, disparado pelo sinal PPM

 

Os Triacs (Tiristores para Corrente Alternada) e os SCR (Retificadores Controlados de Silício), uma vez que recebem um pulso de disparo no seu terminal G (gate) permanecem na condição de "disparo" (conduzindo a corrente) até que a senóide 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 senóide.

A figura abaixo ilustra o uso do PPM para controle do ângulo de disparo do TRIAC em

função da senóide de 60 Hz (período aproximado de 16,666 ms ):

 

Figura  3 - Efeito do PPM sobre o momento de disparo do triac
Figura 3 - Efeito do PPM sobre o momento de disparo do triac

 

 

2. Detetor de Passagem pelo Zero (Zero-Crossing)

A função desta etapa do circuito é produzir uma onda retangular a cada vez que a senóide da rede passar pelo zero, para proporcionar o adequado sincronismo no disparo do Triac. Fornece uma amostra da senóide da rede para que o Microcontrolador decida o momento adequado de iniciar o timer que controlará o PPM.

A solução encontrada, levando-se em conta a segurança 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

 

 Circuito detetor de passagem pelo zero (zero-crossing)
Circuito detetor de passagem pelo zero (zero-crossing)

 

É importante frisar que existe isolamento galvânico entre a rede de 127 volts e o circuito digital, observando que os terras de um lado e de outro do opto-acoplador são diferentes. Tal isolamento torna o sistema seguro e robusto com relação aos picos de energia que eventualmente podem ser originados a partir da rede.

O circuito acima produz uma onda muito próxima de retangular nos instantes exatos em que a senóide da rede atravessa o zero, servindo como ótima referência 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 geração na data em que este trabalho foi desenvolvido.

 

  Figura 5 -  Pinagem do Microcontrolador usado na implementação.
Figura 5 - Pinagem do Microcontrolador usado na implementação.

 

Algumas características deste dispositivo são:

- 40 pinos em encapsulamento DIP, com 35 I/Os (entradas/saídas);

- Alta Performance, com tecnologia Nanowatt (r) para baixo consumo de energia;

- Hardware preparado para comunicação USB 2.0

- Memória Flash avançada, com mais de 100.000 ciclos de leitura e apagamento;

- Arquitetura otimizada para compilador C;

- 32 Kbytes de Memória de programa interna;

- 2048 bytes de memória RAM embutida;

- 256 bytes de memória para dados não voláteis;

- clock máximo de até 48 MHz, com velocidade de até 12 MIPs;

- Conversor AD interno com resolução 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 funções múltiplas (compartilhadas).

Por exemplo: os pinos 23 e 24, além de serem pinos normais de I/O (entrada ou saida) também são os pinos D+ e D- para conexão ao conector USB, caso se desejasse fazer este tipo de comunicação serial.

A foto abaixo ilustra o aspecto físico deste Microcontrolador, que pode ser encontrado em encapsulamento dip, facilitando a construção de protótipos artesanais:

 


Aspecto Físico

 

Este micrococontrolador admite várias opções de clock. Nessa implementação, foi escolhido um oscilador interno com cristal de quartzo externo de frequência 20 MHz, com a opção PLL habilitada, o que faz com que o clock interno deste microcontrolador seja de 48 MHz.

 

4. Acionamento do Triac e módulo de Potência

Para controlar a resistência 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 potência é mostrado abaixo:

Foi utilizado no protótipo um triac modelo TIC263-D, capaz de suportar correntes de até 25 ampéres e tensões de até 600 volts.

 

Figura 7 - Circuito de acionamento do Triac com opto-diac MOC3020
Figura 7 - Circuito de acionamento do Triac com opto-diac MOC3020

 

 

5. Controle da Potência na carga AC

O circuito com o tiristor TIC263D entrega à carga uma senóide "recortada", que ao osciloscópio se assemelha à figura abaixo:

 

 Figura 8 - Senóide recortada pela ação do tiristor
Figura 8 - Senóide recortada pela ação do tiristor

 

A potência instantânea fornecida pelo Triac à resistência do aquecedor, cuja unidade é o watt (W), é dada pelo produto da tensão aplicada pela corrente que flui no aquecedor:

 - EQ 01

 

onde v(t) e i(t) são respectivamente a tensão e a intensidade de corrente no instante t.

A potência instântanea pode também ser escrita como:

 - EQ 02

 

 

Definindo-se a Função X(t) como:

 - EQ03

 

 

E lembrando-se da definição de Potência Média ao longo de um semi-ciclo de período pi:

 - EQ 04

 

Onde w = 2 .pi .F é a frequência angular da senóide, dada em radianos/segundo

A Potência Média entregue à carga pode ser calculada, no intervalo entre 0 e To, por :

                                                                                                       - EQ 05

 

 

no domínio do tempo.

Por outro lado, a tensão instantânea v(t) pode ser expressa por:

 - EQ 06

 

Onde :

A: amplitude da senóide em volts (V) e

que resulta, substituindo na Eq. 5:

 - EQ 07

Usando-se a identidade trigonométrica:

 - EQ.08

 

Substituindo na Eq. 7 e resolvendo a integral para o intervalo To< t

 - EQ 09

 

A Eq. 9 dá a Potência Média por semi-ciclo da senóide, em função do tempo de acionamento Ta , que é a variável de saída 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, próprio para acionamento de triacs) através do seguinte algoritmo:

1 - detecta o momento de passagem da senóide da rede pelo zero (zero-crossing); Neste momento, o fluxo do programa desvia para a rotina de interrupção INT_EXT no código 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 senóide (0 até 180 graus);

3 - Os flags de interrupção INT0IF e TMR3IF são limpos manualmente pelo software;

4 - após o tempo determinado pelo TMR3, ocorre o disparo do triac, através do nível lógico aplicado ao led do opto-isolador.

 

Essa rotina foi implementada usando-se a interrupção gerada pelos pulsos do detector de zero-crossing e foi selecionado o modo rápido (FAST) de atendimento da interrupção, para evitar atrasos no tratamento e chamada dessa rotina.

O trecho do código-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 interrupção no pino RB0, interrupção de Zero_Cross

if (INT0IF==1)

{ INT0IF=0; // limpa Flag da interrupção

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 interrupção 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 tensão na carga é simétrica e portanto seu valor médio é nulo.

Conforme demonstrado anteriormente (e simplificando-se a equação), a tensão eficaz aplicada à resistência em função do ângulo "alfa" de disparo é, para rede de 127 volts, dada por:

 - EQ 10

 

Pela Equação (2), a potência eficaz aplicada na resistência será:

 

Figura 9 -Filtro contra EMI sugerido - EQ 11

 

onde R é o valor da resistência de carga em ?.

 

7 - Filtro "Snubber"

Como melhoria adicional a este circuito, recomenda-se acrescentar um resistor de 100 ? em série com um capacitor de 10 nF em paralelo com os terminais T1 e T2 do Triac, com a finalidade de se reduzir a emissão de harmônicas na rede de energia, conforme é também mostrado na figura acima. Este filtro RC série é conhecido na literatura como "snubber" e tem por função atenuar harmônicas e deformações na senóide da rede, provocadas pelas rápidas comutações do triac.

 

8 - Filtro contra EMI (Eletromagnetic Interference) :

Em aplicações onde uma carga indutiva necessite ser controlada pelo triac, é necessário proteger o circuito e a rede de energia dos surtos de tensão gerados pela rápida comutação do triac, os quais podem causar interferências em frequências de rádio de ondas médias 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 9 -Filtro contra EMI sugerido

 

 

São utilizados um indutor de 200 uH (com fator de mérito Q > 100) e um capacitor de 100 nF com isolação mínima de 400 volts.

As equações que descrevem o filtro acima sugerido, onde "fo" é a frequência central de sintonia, são :

 

Figura 10 -   Distribuição dos pulsos do triac ao longo do tempo, de acordo com o Algoritmo proposto. EQ - 12

 

Este filtro tem um pólo duplo na frequência de 35 kHz, que é suficientemente mais alto do que a frequência da rede AC (60 Hz) para prevenir algum desvio de fase adicional ou alguma atenuação da tensão da linha.

 

9 - Outra forma de controle de Potência:

Uma outra maneira para prevenir distorções na senóide da linha de energia AC é usar pacotes de ondas. Ao invés de se disparar o triac continuamente em ângulo de fase variável, entrega-se à carga semi-ciclos inteiros de senóide.

Este método tem a desvantangem de produzir um controle nada suave de energia na carga: uma lâmpada, por exemplo, ao invés 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 resistência, 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 resolução de Controle de 0,2 seg (200 ms).

Assim, para que tenhamos 30% da Potência 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 (distribuição desigual da potência no tempo) poder-se-ia utilizar o Algoritmo de Bresenham para distribuir igualmente estes 6 segundos dentro do período total de 20 segundos (por exemplo).

 

10 - Algoritmo de Bresenham:

Embora originalmente desenvolvido para aplicações em Computação Gráfica (trata-se de um algoritmo matemático que foi originalmente desenvolvido para otimizar o traçado de retas em diagonais e otimizar desenhos de texturas), este algoritmo, quando aplicado ao programa do Microcontrolador, permite distribuir N ciclos de senóide igualmente dentro de um periodo M de tempo de maneira a equiparticionar a energia (Ref. 16).

Se a potência for ajustada para 50% do total, a cada 20 segundos não ocorrerá primeiro 10 segundos de condução do triac (ON) e 10 segundos desligado (OFF) depois.

Pelo contrário, 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 11Circuito monitor de falhas
Figura 10 - Distribuição 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

#include

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

{

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 potência aplicada na carga. Essa segunda idéia é melhor quando se deseja menor produção de harmônicos na rede.

 

11 - Circuito monitor de falhas no Triac:

Ainda como outra idéia 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 resistência de aquecimento, sem controle.

Para monitorar este eventual curto-circuito no triac, sugere-se acrescentar o seguinte circuito:

 


Figura 11 - 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 não existirá diferença de potencial entre os terminais do resistor R1 e do diodo D2.

A função dos diodos D1 e D2 é proteger o próprio led contra tensões reversas da rede AC e os resistores R1 e R2 limitam as correntes que circulam pelos diodos a um valor seguro.

R3 e C1 compõe o circuito de filtro "snubber" já discutido acima.

O filtro LC não é mostrado nesta figura, por uma questão de simplicidade no entendimento.

 

12 - CONCLUSÃO:

Os dois métodos estudados são efetivos no Controle do disparo de triacs usando-se

microcontrolador.

O primeiro método, que faz uso do sistema PPM, é recomendado para cargas que exigem linearidade no controle, tais como motores AC monofásicos e lâmpadas de iluminação incandescentes.

O segundo método, baseado no controle de pacotes de períodos completos da senóide 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 método é recomendável apenas para resistências de aquecimento.

Destarte, ambos os métodos são válidos e é a aplicação e o elemento a ser controlado que definem qual será o escolhido.

 

 

APÊNDICE 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 interrupção no pino RB0, interrupção de Zero_Cross

if (INT0IF==1)

{  INT0IF=0;          //  limpa Flag da interrupção

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 interrupção 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 apresentação 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 Potência Normalizada, de 0 até 100%

 

//  1- tranforma a Potencia para radianos

alfa_rad = (float) (3.1416*alfa)/180 ;

 

// 2- calcula a Potência 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)

}

 


 

REFERÊNCIAS BIBLBIOGRÁFICAS:

1 - CCS PIC C C COMPILER - Manual de Referência do Compilador, www.ccsinfo.com

2 - BURIAN JR, Yaro: (1997): Circuitos Elétricos, Editora da Unicamp.

3- CARVALHO, J. L. Martins (2000): Sistemas de Controle Automático, Editora LTC, cap. 1.

4 - CASTRO, TANAKA, Carlos A., Márcia (1994) : Circuitos de Corrente Alternada - um curso introdutório, 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 Solução por Software para implementar pwm em qualquer microcontrolador PIC, Revista Saber Eletrônica 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, 2a Edição, 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, 2a Edição.

12 - PHILLIPS, C. L. e NÄGLE, 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 "Identificação de Sistemas" , Unisal, Campinas.

15 - RASHID, M. H. (1993): Power Electronics, Circuits, Devices and Applications, 2a Edição, Prentice-Hall, 1993.

16 - Zero-error 1 second Timer - www.romanblack.com/one_sec.htm, site na internet;