• Nenhum resultado encontrado

5.3 – Descrição do Código VHDL para a Obtenção dos Pulsos de Comando do SEPIC-

Circuito 3: Sensor de corrente

1 B IT IRetif-1 (Ponte de diodos) Circuito 4: Comando SEPIC1 1 B IT 1 B IT Sens or Sens or Sensor Semiciclo_Va Semiciclo_Va 1 BIT 1 BIT 1 BIT 30º 210º 360º t 30o 150º 0 0 1 1 1 330º K t 1 1 1 1 1 1 0 1 0 0

A/D

7478 8 Bits 1 B IT 8 BITS

183 Os quatro circuitos auxiliares para interface do retificador híbrido (Sensor de tensão, sensor de correntes, aquisição de correntes e comando SEPIC1) com o dispositivo FPGA estão também representados na Figura 5.13, dando uma visão completa e detalhada do esquema de controle desenvolvido para a fase “a”. Cabe esclarecer que o código VHDL é ativado e desativado externamente por dois seletores manuais SW1 e SW2 (ON, OFF) disponíveis no módulo FPGA, que geram respectivamente os sinais lógicos Cmdo_Aquisição (Comando Aquisição) e Cmdo_SEPIC (Comando SEPIC). O sinal Cmdo_Aquisição ativa simultaneamente os componentes “A”, “B”, “C” e “D”. A partir de então, a corrente de referência Ref_SEPIC1(n) e a corrente de entrada Iinl(n) do SEPIC1 serão geradas e estarão disponíveis para o componente “E”. Entretanto, os pulsos de comando para o SEPIC1 só serão gerados a partir do instante em que o componente “E” (Modulador Histerese) for ativado pelo sinal Cmdo_SEPIC. A seguir será realizada uma descrição detalhada das funções de cada componente, “A”, “B”, “C”, “D” e “E”, respectivamente, nos tópicos 5.3.2 até 5.3.6.

5.3.2 – Componente A: Protocolo de Aquisição de Correntes

O componente “A” (protocolo de aquisição) tem a finalidade de comandar a aquisição das correntes iRetif-1(.t) e iin1(.t) e de fazer a transferência dos dados digitalizados pelos conversores A/D serial (Figuras 5.3 e 5.4), para o FPGA de forma simultânea. Em seguida os dados digitais iRetif-1(n) e iin1(n) de 8 bits serão transferidos para os componentes “C” e “D”, respectivamente, para o devido processamento.

As lógicas de aquisição das correntes iRetif-1(.t) e iin1(.t) são idênticas, portanto, será abordada somente a lógica de aquisição da corrente iin1(.t).

De acordo com a figura 5.14, a rotina de aquisição de dados é subdividida em etapas, descritas a seguir. Cada etapa contempla um ou mais estados, denominados S0, S1,S2 e S3: - Início: Nesta etapa, o componente “A”, encontra-se desligado. Os sinais CS_1 e o

trem de pulsos SCLK_1 possuem estado lógico “0”. Ao final desta etapa, na transição do estado S0 para S1, o componente “A” é ativado através do sinal Cmdo_aquisição. O sinal CS_1 assume o estado lógico “1” levando o conversor A/D para o modo de espera (Tespera) e o trem de pulsos SCLK_1 também é ativado.

- Aquisição e conversão de dados A/D: Após um intervalo de tempo de 360 nano-

segundos (Tespera=360ns), o sinal CS_1 é comandado para o estado lógico “0”, na transição do estado S1 para o estado S2, dando início à aquisição do dado analógico. A aquisição do dado só ocorre de fato se no instante em que o sinal CS_1 assumir o valor “0” o sinal SCLK_1 estiver em estado lógico “1”. Por esta razão estes dois sinais encontram-se defasados. Após o

término da aquisição do dado analógico, tem-se o início da digitalização deste dado, realizada durante o estado S2.

- Transferência de dados para o FPGA: Esta etapa tem início ainda no estado S2. A partir do instante em que o sinal CS_1 assume o estado lógico “0”, a cada transição negativa do sinal SCLK_1 (estado lógico “1” para “0”) ocorre a transferência do bit disponível no canal de saída SDATA_1 do A/D para o FPGA. Entretanto, os quatro bits transferidos durante o estado S2 possuem sempre valor lógico “0” e são descartados. Desta forma, a transferência de dados válidos para o FPGA tem início na transição do estado S2 para S3, a partir da qual o dado digital é transferido bit a bit, do mais significativo (D7) para o menos significativo (D0), para o FPGA sob o comando do trem de pulsos SCLK_1.

Neste exemplo, são mostradas a digitalização e transferência do número 63 para o FPGA. Após o término da transferência do dado menos significativo (D0), o sinal lógico CS_1 assume novamente o estado lógico “1”, na transição do estado S3 para S1, comandando o conversor A/D para o modo de espera até o próximo comando de aquisição.

Dado disponível para o processamento Cmdo_Aquisição 1 BIT SW1 Digilent DIO4 Peripheral Board Início Aquisição e conversão A/D Transferência de dados para o FPGA

S0 S2 S3 Taq=2,24us 1,16us t1 t2 t3 680ns ( faq=446,428 kHz ) S1 0 0 0 0 SCLK_1 CS_1 SDATA_1 D7 D6 D5 D3 D2 D1 D0 0 0 1 1 1 1 1 1 D4 Intervalo de espera S1 S2 00111111 Tespera 00111111 Tespera 320ns 320ns t0 t 4 TSCLK=160ns

185 - Dado disponível para o processamento: Nesta etapa (estado S1), o dado digital está disponível no FPGA para o processamento.

É importante mencionar que o funcionamento de todo o código VHDL está vinculado a um oscilador (pulso de clock) de freqüência de 50MHz (Período de 20ns).

Portanto, todos os intervalos de tempo que se deseja controlar, tais como: Modo de espera (Tespera), período do trem de pulsos SCLK_1 (TSCLK) e período de aquisição (Taq), deverão ser múltiplos de 20ns.

Isto implica na necessidade de se fazer ajustes de algumas grandezas, como por exemplo, a freqüência de comutação (fS) e freqüência de aquisição (faq).

Existem duas restrições que devem ser obedecidas durante a construção do protocolo de aquisição para que o conversor A/D 7478 funcione corretamente, descritas a seguir:

ƒO período do SCLK_1 (TSCLK) deve ser escolhido entre 50ns e 100us;

ƒO intervalo de espera (Tespera) não poderá ser menor do que 50ns.

5.3.3 – Componente B: Gera a senóide de referência

O componente “B” tem como função gerar um sinal senoidal Sen_unit(n) com uma amplitude unitária de 8 bits (representação fracionária) e transferir este sinal para o componente “D” devidamente sincronizado com a rede de alimentação.

Este sinal foi gerado inicialmente na forma analógica através de um software matemático.

Posteriormente, fez-se amostras a cada 20us totalizando 417 valores discretos, durante o semiciclo positivo da senóide {sen(.t)}. Estes valores foram convertidos em 8 bits, resultando em uma tabela de dados a qual foi inserida no código VHDL.

Assim, com uma lógica de seleção apropriada e com o uso de contadores lógicos, o componente “B” seleciona um novo valor nesta tabela de dados, a cada intervalo de 20us,

possibilitando a reconstrução da função sen(.t) dentro do dispositivo FPGA.

Conforme discutido no tópico 5.2.3, o sensor de tensão gera o sinal “Semiciclo_Va” com nível lógico “0” quando a tensão va(.t) está no semiciclo positivo e nível lógico “1” para va(.t) no semiciclo negativo.

Portanto, o sinal Semiciclo_Va tem a função de zerar todos os contadores lógicos e reiniciar a seleção de dados da tabela a cada transição positiva e negativa do sinal Semiciclo_Va, proporcionando a sincronização correta do sinal Sen_unit(n) com a rede.

5.3.4 – Componente C: Controle do Formato da Corrente de Referência para o SEPIC1

O componente “C” tem como objetivo identificar os intervalos de tempo nos quais a

corrente de entrada ia1(.t) do retificador não controlado é nula, analisando-se as bordas de subida e descida do pulso “Ia1_sensor” (obtido através do sensor de corrente do circuito mostrado na Figura 5.10), e gerar dois sinais lógicos auxiliares “Control_Isen1” e “Control_Ia1” que são combinados com o propósito de controlar o formato do sinal de referência de corrente Ref_SEPIC1(n) para o componente “D” (será discutido no tópico 5.3.5).

A largura destes sinais lógicos auxiliares, “Control_Isen1” e “Control_Ia1”, depende do intervalo de descontinuidade “.t(K)” (varia em função do parâmetro “K”), calculado pela equação (2.36) apresentada no capítulo 2. Assim, conforme Figuras 5.13 e 5.15, o sinal “Control_Ia1” receberá sinal lógico “1” se {30°+.t(K)}<.t<{150°-.t(K)} ou se {210°+.t(K)}<.t<{330°-.t(K)}, senão “Control_Ia1” receberá sinal lógico “0”.

Adicionalmente, o sinal “Control_Isen1” receberá sinal lógico “0” se 30°<.t<{30°+.t(K)}, ou se {150°-.t(K)}<.t<150°, ou se 210°<.t<{210°+.t(K)}, ou se {330°-.t(K)}<.t<330°, senão, receberá sinal lógico “1”.

Componente C:

Documentos relacionados