Relatório de Projeto - Desenvolvimento de um Controlador de Rotação para Motores de Corrente...

Post on 07-Jun-2015

764 views 2 download

Transcript of Relatório de Projeto - Desenvolvimento de um Controlador de Rotação para Motores de Corrente...

Instituto Federal sul-rio-grandenseCurso de EletrônicaDisciplina: Eletrônica de Potência I Professor: Carlos Augusto Montelli Neves

CONTROLADOR DE ROTAÇÃO PARA MOTORES DE CORRENTE CONTÍNUA

Turma: TRO_6Ni

Pelotas, 5 de Março de 2012

Introdução

Atualmente diversos equipamentos que realizam conversão eletromecânica de energia utilizam motores de corrente contínua. Este tipo de motor tem a vantagem de poder ser alimentado por baterias, e com isso não haver a necessidade de estar continuamente conectado a rede de energia. Esta característica é o que permite o seu grande uso em equipamentos móveis, tais como veículos elétricos.

A maior parte das aplicações destes motores exige controle de potência, e por isto são desenvolvidos circuitos eletrônicos capazes de realizar este controle com a menor perda de energia possível, os drives de potência. Neste trabalho foi desenvolvido um drive microcontrolado de 5 A para controle de velocidade e sentido de rotação de um motor de corrente contínua alimentado com, no máximo, 24 V.

Objetivos

O projeto implementado teve o objetivo de desenvolver, de forma prática, os conteúdos estudados na disciplina de Eletrônica de Potência I durante o semestre. Foi possível também desenvolver conteúdos de outras disciplinas, tais como, Eletrônica Geral, Eletrônica Digital, Sistemas Microprocessados e Programação.

Desenvolvimento

O controlador de rotação para motores de corrente contínua desenvolvido utiliza uma bateria de 12 V para alimentar o drive de potência e uma fonte de 5 V para alimentar o circuito do microcontrolador. A fonte desenvolvida teve o propósito de recordar o conteúdo de fontes estudado no 3º semestre do curso e foi encaixada no projeto com o papel de fornecer a alimentação do circuito do microcontrolador. A montagem desses três circuitos foi feita em placas diferentes, sendo que as placas do drive e do microcontrolador foram desenhadas no software Eagle, da CadSoft e a placa da fonte, montada em uma placa universal.

• Fonte de 5V

A fonte desenvolvida tem capacidade de fornecer, no máximo, uma corrente de 800 mA. Entretanto o circuito do micro controlador não consome mais do que 20 mA. A fonte desenvolvida consiste em uma fonte linear com um transformador com enrolamento primário adequado para a rede de 220 V e enrolamentos secundários do tipo 18V + 18V com Center tape. Foi utilizado apenas um dos enrolamentos, colocando-se uma ponte de diodo e um capacitor de filtro a fim de retificar a tensão alternada proveniente do transformador. Logo após usou-se um regulador de tensão de 5 V, o 7805, com seu devido capacitor de filtro, para estabilizar a tensão em 5 V regulados. É importante salientar que a tensão que cai sobre o regulador utilizado é superior a tensão recomendada pelo datasheet do componente. O procedimento certo neste caso seria trocar o transformador ou usar outros reguladores para dividir esta queda de tensão. Estes procedimentos não foram executados devido ao fato da fonte de alimentação não ser o foco deste trabalho e sim o desenvolvimento do drive de potência.

• Drive de Potência

O drive de potência tem a função de controlar a corrente média que circula pelo motor através de um chaveamento de transistores (drive meia-ponte). Este conversor, quando acrescentado de mais dois transistores, é capaz de controlar além da velocidade, o sentido de rotação do motor (drive ponte-completa ou drive ponte H). Este controle é feito variando-se o tempo em que os transistores conduzem , através de uma modulação por largura de pulsos (técnica chamada de PWM), além de selecionar quais transistores irão conduzir para que a polaridade do motor seja invertida no momento em que seja dado o comando de inversão de sentido.

No circuito desenvolvido foram usados os transistores TIP122 e TIP127 para a implementação da ponte H. Foram usados 4 transistores BC548 para fazer a interface entre o circuito digital de controle e as tensões aplicadas às bases de cada transistor. Além disto, foi utilizado o circuito integrado 74LS09 (quatro portas AND de 2 entradas com saídas de coletor aberto) para se implementar uma lógica que além de fazer o controle de 3 estados do motor, girando para a direita, girando para esquerda e em curto, evita curtos circuitos que podem ocorrer facilmente devido aos atrasos dos transistores e eventuais erros nos sinais de controle. Neste circuito há também um regulador de tensão 7805 e um capacitor de 4700 uF que tem a finalidade de filtrar as interferências causadas pelo chaveamento do motor.

• Microcontrolador

O circuito do microcontrolador tem a função de gerar o sinal PWM para controle de velocidade do motor e os sinais que definem o estado de rotação do motor. Estes sinais são funções do estado de um potenciômetro e de um push-button.

O microcontrolador utilizado foi o PIC 16F877A, com freqüência de clock de 4MHz, programado em linguagem C.

O potenciômetro está ligado à uma entrada configurada como analógica do microcontrolador. O periférico conversor A/D converte o valor de tensão que cai sobre o terminal do meio do potenciômetro, podendo variar de 0 à 5V, em um valor binário que é usado para controlar a razão cíclica do sinal PWM gerado por um outro periférico, o módulo CCP (Compare/Capture/PWM).

O push-button serve para fazer um pedido de interrupção para o processador e analisar condições com a finalidade de tomar decisões diferentes em cada uma delas. Ao pressionar o push-button por menos de 2 s o processador deve entender que este é um comando para mudança do sentido de rotação. Ao pressionar o botão por mais de 2 s, o processador deve entender que este é um comando para parar o motor. Isto equivale a colocá-lo em curto por 2 s, afim de freá-lo e mantê-lo desligado até a próxima interação do potenciômetro.

Conclusão

Ao desenvolver os conteúdos da disciplina de forma prática com certeza aprendeu-se muito mais do que se tivesse desenvolvido de forma puramente teórica. Foi possível além de aprender elementos de eletrônica de potência, esquematizar placas, programar um microcontrolador, usar um conversor A/D e pensar na interface do dispositivo com um possível usuário, além de projetar circuitos de proteção anti-curto-circuito para a etapa de potência. Quando se desenvolve um conteúdo específico de forma prática, ao mesmo tempo desenvolve-se uma série de outros conteúdos e habilidades, inclusive a própria teoria da matéria de forma muito mais utilizada no "mundo real".

Apêndice A – Drive de Potência

Apêndice B – Micro controlador

Apêndice C – Fonte

Apêndice D – Firmware

//desenvolvido por: Gustavo Fernandes//Controlador de rotação p/ motores cc//Eletrônica de Potência I

#include <16f877a.h>#device adc=8#use delay(clock = 4000000)#FUSES NOWDT //No Watch Dog Timer#FUSES HS //High speed Osc (> 4mhz)#FUSES NOPUT //No Power Up Timerint cycler = 0 , cycled = 0;

#int_extvoid trata_ext(){int x;for(x=0; !(input(pin_b0)); x++) // tempo em que o botão ficou pressionado delay_ms(100);if(x<3){

if(!(input(pin_c6))){output_high(pin_c6); output_low(pin_c7); } else { output_high(pin_c7); output_low(pin_c6); } }else{ set_pwm1_duty(0); //desliga o pwmoutput_low(pin_c6); // coloca o motor em curto por 2soutput_low(pin_c7);delay_ms(2000);output_high(pin_c6); //seta o sentido anti-horario de rotação

}}

void main(){

enable_interrupts(GLOBAL|INT_EXT);ext_int_edge(0, H_TO_L);setup_ADC_ports(RA0_analog);setup_adc(ADC_CLOCK_INTERNAL);set_adc_channel(0);

setup_timer_2(T2_DIV_BY_4, 248, 1);setup_ccp1(ccp_pwm);set_pwm1_duty(0);

output_high(pin_c6); output_low(pin_c7);

while(1){

cycler = read_adc();

if(cycler!=cycled){ cycled = cycler; set_pwm1_duty(cycled); }

}

}