Você está na página 1de 54

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DO CEARÁ

TECNOLOGIA EM MECATRÔNICA INDUSTRIAL


DISCIPLINA DE ACIONAMENTOS DE MÁQUINA I

Antonio Roberto de França Gomes Oliveira


Felipe Costa do Nascimento
Rerick Pessoa Costa

DRIVE PARA ACIONAMENTO DE UM MOTOR CC-


CC POR MEIO DE PONTE H

Sobral–CE
2018
Antonio Roberto de França Gomes Oliveira
Felipe Costa do Nascimento
Rerick Pessoa Costa

DRIVE PARA ACIONAMENTO DE UM MOTOR CC-


CC POR MEIO DE PONTE H

Relatório técnico apresentado como requisito parcial


para obtenção de aprovação na disciplina de
Acionamento de Máquinas elétricas I, no Curso de
Tecnologia em Mecatrônica Industrial, no Instituto
Federal do Ceará.

Prof. José Aglailson Silva de Olivindo

Sobral–CE
2018
RESUMO
Este trabalho apresenta a metodologia utilizada para o dimensionamento e posterior
construção de um sistema de controle e de potência de um drive para o acionamento de um
motor CC. O sistema de controle é formado basicamente por um microcontrolador
PIC18F4550, juntamente com o CI IR2110. Enquanto que o sistema de potência é formado
pelos MOSFETS que constituem a ponte H. O drive construído apresenta as principais
funcionalidades necessárias ao controle de um motor, como partida em ambos os sentidos,
parada e controle de velocidade por meio da variação do PWM fornecido.

Palavras-chave: Motor CC. Modulação por largura de pulso. Acionamento de motores CC.
Sumário
1. INTRODUÇÃO .................................................................................................................. 1
2. FUNDAMENTAÇÃO TEÓRICA ...................................................................................... 3
2.1 O MOTOR CC ..................................................................................................................... 3
2.1.1 Aspectos construtivos ........................................................................................................ 3
2.1.2 Princípio de funcionamento ............................................................................................... 6
2.1.3 Controle de velocidade de um motor CC .......................................................................... 8
2.1.4 Tipos de excitação ........................................................................................................... 11
2.1.5 Vantagens e desvantagens do acionamento em corrente contínua. ................................. 12
2.1.5.1 Vantagens ..................................................................................................................... 12
2.1.5.2 Desvantagens ................................................................................................................ 13
2.2 IR2110 ................................................................................................................................ 13
2.2.1 Capacitor de BOOTSTRAP ............................................................................................ 14
2.2.2 Garantindo a desativação do IR2110 ............................................................................... 15
2.3 PONTE H ........................................................................................................................... 16
2.4 MICROCONTROLADOR PIC18F4550 ........................................................................... 17
2.4.1 Modo PWM ..................................................................................................................... 18
3.4.2 Interrupção e Timer ......................................................................................................... 19
3. DESENVOLVIMENTO ................................................................................................... 20
3.1 OBJETIVO GERAL ........................................................................................................... 20
3.2 OBJETIVOS ESPECÍFICOS ............................................................................................. 20
3.3 METODOLOGIA ............................................................................................................... 20
3.4 PROCEDIMENTOS ESPERIMENTAIS .......................................................................... 20
3.4.1 Dimensionamento, simulação e confecção do circuito de controle................................. 20
3.4.2 Dimensionamento, simulação e confecção do circuito de potência ................................ 25
3.5 OBSERVAÇÕES DE DEMAIS ERROS APRESENTADOS ........................................... 30
3.6 LISTA DE COMPONENTES ............................................................................................ 31
4. RESULTADOS ................................................................................................................. 33
5. CONCLUSÃO .................................................................................................................. 39
6. TRABALHOS FUTUROS................................................................................................ 40
REFERÊNCIAS BIBLIOGRÁGICAS .................................................................................... 41
ANEXO I .................................................................................................................................. 42
1

1. INTRODUÇÃO

A máquina elétrica pode ser definida com uma máquina capaz de converter energia
elétrica em energia mecânica ou o oposto. Segundo Kosow (1982, p. 38) “a máquina de CC é
uma máquina elétrica girante, capaz de converter energia mecânica em energia elétrica
(gerador) ou energia elétrica em energia mecânica (motor)”. É o mais utilizado dentre os tipos
de motores, pois une benefícios como a facilidade no transporte, economia, custo reduzido em
relação aos outros tipos de motores, facilidade na limpeza e no comando. E são máquinas de
construção simplificada e pode se adaptar a qualquer tipo de carga.
Segundo Toro (1994, p. 266) “A máquina de CC é uma máquina altamente versátil. Pode
fornecer torques de partida elevados, assim como torques de aceleração e desaceleração
elevados. É capaz de inversões rápidas e controle de velocidade numa faixa de 4:1 é obtido
com relativa facilidade, em comparação com todos os outros dispositivos de conversão
eletromecânica de energia”. Como consequência, a máquina CC se apresenta como a melhor
opção em inúmeras aplicações, tais com:
 Máquinas de papel
 Bobinadeiras e desbobinadeiras
 Laminadores
 Máquinas de impressão
 Extrusoras
 Prensas
 Elevadores
 Movimentação e elevação de cargas
 Moinhos de rolos
 Mesa de testes de motores
O microcontrolador é um circuito integrado especial, assim como o microprocessador.
Enquanto que um CI comum pode ser formado apenas por portas lógicas, como AND, OR ou
NOT, por exemplo. Há também CIs que podem ser usados como temporizadores, osciladores
ou decodificadores. Ou seja, existem CIs com funções únicas e bem específicas que fazem
apenas aquilo para que foram projetados, consequentemente, existem milhares de CIs de
tipos e funções diferentes. O microcontrolador, por sua vez, não faz algo específico, ele é um
CI de uso geral, já que dá a possibilidade ao operador de programa-lo para executar uma
determinada função.
2

As aplicações que podem ser empregadas ao microcontrolador irão depender dos


conhecimentos e criatividade do programador e do hardware fornecido pelo microcontrolador.
Os microcontroladores também estão limitados a sua memória, capacidade de processamento
e ao número de instruções. O microcontrolador escolhido para realizar o controle do
acionamento e operação do motor foi o PIC18F4550.
3

2. FUNDAMENTAÇÃO TEÓRICA

2.1 O MOTOR CC

2.1.1 Aspectos construtivos


O motor de corrente contínua é composto de duas estruturas magnéticas, que podem ser
visualizadas na Figura 1:
 Estator (enrolamento de campo ou ímã permanente);
 Rotor (enrolamento de armadura).
Figura 1 – Partes do motor.

Fonte: Cardoso 2005


O estator, apresentado na Figura 2, é a parte fixa, possui sapatas polares formadas por
pacotes de lâminas de aço silício justapostas. Em torno das sapatas polares se enrolam fios
condutores que formam bobinas. O rotor, apresentado na Figura 3, é a parte móvel do motor,
está ligada diretamente ao eixo de transmissão de movimento e possui um conjunto de
lâminas de aço silício que apresenta ranhuras, onde são instaladas as bobinas do motor.
4

Figura 2 - Estator

Fonte:
https://edisciplinas.usp.br/pluginfile.php/322205/mod_resource/content/1/PEA%202400%20Notas%20de%20aula_6_revB.pdf

Figura 3 - Rotor

Fonte:
https://edisciplinas.usp.br/pluginfile.php/322205/mod_resource/content/1/PEA%202400%20Notas%20de%20aula_6_revB.pdf
Os terminais dessas bobinas estão conectados diretamente ao coletor. O coletor,
apresentado na Figura 4, conecta eletricamente as bobinas do rotor através de escovas de
5

carvão à fonte de energia elétrica, de modo a permitir a movimentação do rotor sem causar
curtos-circuitos. As escovas, visualizadas na Figura 5, são constituídas de carvão grafite ou
carbono e conduzem a energia da fonte externa para os contatos do comutador e as bobinas do
rotor.

Figura 4 – Coletor de um motor CC

Fonte: http://leviclawprojetos.no.comunidades.net/index.php?pagina=1907076966

Figura 5 – Escovas de um motor CC

Fonte: https://pt.wikipedia.org/wiki/Escova_(electricidade)
6

2.1.2 Princípio de funcionamento


A figura 6 mostra, de maneira simplificada, o funcionamento do motor CC de dois pólos.
Figura 6 – Princípio de funcionamento de um motor CC

Fonte: SIEMENS, Motores de corrente contínua.


A figura anterior apresenta um desenho esquemático simples de um motor onde o estator é
composto por ímãs permanentes e o rotor é uma bobina de fio de cobre esmaltado no qual
circula uma corrente elétrica. Sendo que as correntes elétricas produzem campos magnéticos,
essa bobina se mantem como um ímã permanente, com seus pólos N (norte) e S (sul)
ilustrados na respectiva figura.
Na Figura 6a a bobina encontra-se na horizontal. Uma vez que os pólos opostos se atraem,
a bobina adquire um torque que age no sentido de girar a bobina no sentido anti-horário. A
bobina sofre aceleração angular e continua seu giro para a esquerda, como pode ser visto na
Figura 6b. Esse torque continua até que os pólos da bobina alcancem os pólos opostos dos
ímãs fixos (estator). Na Figura 6c a bobina girou 90º, onde não há torque algum, uma vez que
os braços de alavanca são nulos, ou seja, a direção das forças passa pelo centro de rotação.
Neste instante o rotor está em equilíbrio estável (força resultante nula e torque resultante
nulo). Esse é o momento adequado para inverter o sentido da corrente na bobina. Neste
instante os pólos de mesmo nome estão muito próximos e a força de repulsão é intensa.
Devido à inércia do rotor e como a bobina já apresenta um momento angular para a esquerda,
ela continua girando no sentido anti-horário (semelhante a uma “inércia de rotação”) e o novo
torque (agora propiciado por forças de repulsão), representado na Figura 6d, colabora para a
manutenção e aceleração do movimento de rotação.
7

Mesmo após a bobina ter sido rotacionada 180º, cuja situação não está ilustrada na Figura
6, o movimento continua, a bobina chega à vertical realizando um giro de 270º. No qual o
torque novamente se anula, a corrente então inverte seu sentido, há um novo torque e a bobina
chega novamente à situação apresentada na Figura 6a, finalizando um giro de 360º. E o ciclo
se repete.
Essas atrações e repulsões bem coordenadas é que fazem o rotor girar. A inversão do
sentido da corrente (comutação), no momento oportuno, é uma condição indispensável para a
manutenção dos torques que garantem o funcionamento dos motores. A comutação consiste
na mudança de uma lâmina do comutador, onde as bobinas são ligadas em série, para a
próxima. Durante esta comutação a bobina é momentaneamente curto-circuitada pelas
escovas, o que ajuda a liberar energia a armazenada, antes de a corrente fluir no sentido
oposto.
Porém, como essa inversão de corrente não é instantânea, uma força eletromotriz é
induzida na espira o que origina uma corrente de curto-circuito que circula no coletor, nas
espiras e nas escovas. Após o curto-circuito, a interrupção dessa corrente dá origem ao
aparecimento de faíscas nos contatos das escovas com o coletor, que podem gerar arcos
elétricos perigosos e que danificam o coletor, tendo, portanto que ser eliminadas. A fim de
eliminar as faíscas, torna-se necessário induzir na espira, durante o curto-circuito, uma força
eletromotriz que anule a resultante do processo de comutação. Conseguido através dos pólos
de comutação, de menores dimensões e situados sobre a linha neutra e percorridos pela
mesma corrente do rotor. No entanto estes pólos, além de anularem o fenômeno da
comutação, enfraquecem o fluxo do estator – fenômeno chamado de “reação magnética do
rotor”. Nas máquinas de grandes dimensões esse fenômeno é eliminado através dos
enrolamentos de compensação que, ligados em série com o rotor e colocados na periferia dos
pólos do estator, geram um fluxo com a mesma intensidade e sentido contrário do fluxo de
reação, anulando-o.
8

2.1.3 Controle de velocidade de um motor CC


A Figura 7 ilustra o modelo do circuito elétrico do motor CC.

Figura 7 – Modelo do circuito elétrico do motor CC

Fonte: SIEMENS, Motores de corrente contínua.


A Lei de Kirchhoff aplicada ao circuito de armadura resulta em:
U a  Ra * I a  E (1)

Onde:
Ua = Tensão de armadura.
Ra = Resistência da armadura.
I = Corrente de armadura.
E = Força Eletromotriz induzida ou Força Contra-Eletromotriz da armadura.

Pela Lei da Indução de Faraday, a força eletromotriz induzida é proporcional ao fluxo e à


rotação, ou seja:
E  kE    n (2)
Combinando as eq. (1) e (2), a expressão para a velocidade do motor CC é dada por:
U a  I a  Ra
n (3)
kE  
Onde:
n = Velocidade de rotação.
9

kE = Constante dependente do tamanho do rotor, do número de polos do rotor e


como esses polos são interconectados.
Φ = Fluxo no entreferro.

O conjugado do motor é dado por:


T  KT  I a   (4)

Onde:
T = Conjugado eletromagnético do motor.
KT = Constante de torque.

O controle de velocidade, até à rotação nominal é feito através da variação da tensão da


armadura, mantendo-se o fluxo constante. Dessa forma, observando-se a eq. (4) a corrente de
armadura se eleva de modo a produzir o conjugado total requerido pela carga, mais o
conjugado necessário para a aceleração. O conjugado acelerador incrementa a velocidade da
máquina e, de acordo com a eq. (2), a força eletromotriz induzida no motor também aumenta.
Assim, segundo a eq. (1), a corrente transitória cai até um ponto de equilíbrio, que
corresponde à manutenção do torque exigido pela carga. Esse ponto de equilíbrio é definido
pelo valor da tensão de armadura aplicado e pela queda de tensão na resistência de armadura,
como mostra a eq. (1). Se o conjugado requerido pela carga for constante, o motor tenderá a
supri-lo, sempre absorvendo uma corrente de armadura também praticamente constante.
Somente durante as acelerações provocadas pelo aumento da tensão, a corrente se eleva
para provocar a aceleração da máquina, retornando após isso, ao seu valor original. Portanto,
em regime, o motor CC opera a corrente de armadura essencialmente constante também. O
nível dessa corrente é determinado pela carga no eixo. Assim, no modo de variação pela
tensão de armadura, até a rotação nominal, o motor tem a disponibilidade de acionar a carga
exercendo um torque constante em qualquer rotação de regime estabelecida, como mostra a
Figura 8, que representa as curvas características dos motores CC. Esse torque pode ser
qualquer, até o limite do valor nominal, que corresponde a uma corrente de armadura
nominal, definida por aspectos técnicos de dimensionamento do motor.
Ao relacionar uma nova velocidade a partir de uma velocidade inicial e da variação de
tensão na armadura tem-se a equação (5).
Ua2
n2   n1 (5)
U a1
10

Segundo Toro (1994, p. 297) “a variação na velocidade do motor que ocorre á medida
que a carga muda do valor nominal a em vazio é um importante indicador de desempenho e é
chamada de regulação de velocidade (RV)”. Esse valor é expresso em porcentagem e pode ser
obtido a partir da equação (6).
velocidade0  velocidadeT
RV  (6)
velocidadeT
Onde:
velocidade0 = velocidade em vazio.
velocidadeT = velocidade em plena carga.

Figura 8 – Curvas características de um motor CC

Fonte: SIEMENS, Motores de corrente contínua.


A curva de magnetização é um gráfico obtido experimentalmente, que relaciona a indução
magnética (B) com a intensidade do campo magnético ou excitação magnética (H). O gráfico,
apresentado na figura 9, também pode relacionar o fluxo magnético (ϕ) com a corrente de
excitação.
11

Figura 9 – Curva de magnetização

Fonte: http://efisica.if.usp.br/eletricidade/basico/campo_magnetico/curva_b_h/

2.1.4 Tipos de excitação


Os motores CC são classificados de acordo com o tipo de excitação, como pode ser
visualizado na Tabela 1.
Tabela 1 – Tipos de motores CC

Tipo de Representação Características


excitação
Série - Bobinas de campo estão em série com
o enrolamento da armadura.
- Só há fluxo no entreferro da máquina
quando a corrente da armadura for
diferente de zero (máquina carregada).
- Conjugado é em função quadrática da
corrente, uma vez que o fluxo é
praticamente proporcional à corrente
de armadura.
- Conjugado elevado em baixa rotação.
- Potência constante.
- Velocidade extremamente elevada
quando o motor é descarregado, por
isso não se recomenda utilizar
transmissões por meio de polias e
correias.
12

Paralelo - Velocidade praticamente constante.


- Velocidade ajustável por variação da
tensão de armadura.

Independente - Motor excitado externamente pelo


circuito de campo.
- Velocidade praticamente constante.
- Velocidade ajustável por variação da
tensão de armadura e também por
enfraquecimento de campo.
- São os motores mais aplicados com
conversores CA/CC na indústria.
- Aplicações mais comuns: máquinas
de papel, laminadores, extrusoras,
fornos de cimento, etc.

Composto - Enrolamento de campo independente.


- Apresenta um fluxo mínimo mesmo
com o motor em vazio.

Fonte: SIEMENS, Motores de corrente contínua.

2.1.5 Vantagens e desvantagens do acionamento em corrente contínua.


De acordo com a aplicação, os acionamentos em corrente contínua são comumente os que
apresentam as maiores vantagens, em termos de confiabilidade, operação amigável e dinâmica
de controle. Entretanto, esse tipo de acionamento impõem alguns pontos negativos que serão
abordados a seguir.

2.1.5.1 Vantagens
 Opera nos quatro quadrantes com custos reduzidos.
 Ciclo permanece contínuo mesmo em rotações baixas.
 Apresenta alto torque na partida e em rotações baixas.
13

 Ampla variação de velocidade.


 Apresenta facilidade em controlar a velocidade
 Confiabilidade
 Flexibilidade (pois apresenta vários tipos de excitação)

2.1.5.2 Desvantagens
 Os motores de corrente contínua são maiores e mais caros que os motores de indução,
se comparados para uma mesma potência.
 É necessária uma maior quantidade de manutenções (devido aos comutadores).
 Ocorrência de arcos e faíscas devido à comutação de corrente por elemento mecânico
(não pode ser instalado em ambientes com risco de explosão e produtos inflamáveis).
 Necessidade de métodos especiais de partida, mesmo em máquinas de pequeno porte.

2.2 IR2110
O IR2110 é um driver de alta tensão para chaves de potência (MOSFET e IGBT) e que
possuam canais de saída independentes referenciados no lado alto e baixo. Quando apenas
MOSFETs do tipo N são utilizados em uma ponte H, é necessário um método para que os
MOSFETs superiores sejam saturados, visto que não possuem referência entre o gate e o
source. Com o uso do IR2110,é possível referenciar o source do MOSFET superior, de modo
de que ele entre em saturação, quando a tensão de saturação for aplicada entre o gate e o
source. A Figura 10 representa a conexão típica do driver IR2110.
Os pinos HIN E LIN são as responsáveis por receber o sinal que irá acionar a ponte H. O
pino VDD é o responsável pela alimentação lógica do circuito de 5 V. Os pinos SD e VSS
devem ser aterrados, visto que se o pino SD for posto em estado alto, o IR2110 é desativado.
Por fim, os pinos VCC e 𝑉𝐵 são alimentados com 12 V, os quais são responsáveis por
saturar os MOSFETs da ponte H. Devido ao IR2110 só acionar um sentido da ponte H, é
necessário que dois IRs sejam utilizados para acionar uma ponte completa e assim garantir a
mudança de sentido do motor durante a operação.
14

Figura 10 – Conexão típica do IR2110

Fonte: INTERNATIONAL RECTIFIER. Data Sheet IR2110(-1-2)(S)PbF/IR2113(-1-2)(S)PbF

2.2.1 Capacitor de BOOTSTRAP


O capacitor de bootstrat (CBOOT) é carregado sempre que o drive da parte baixa está
ligado e o pino de saída está abaixo do fornecimento da tensão (VDD) do driver. O capacitor
de bootstrap é descarregado apenas quando o interruptor da parte alta está ligado. Este
capacitor é a tensão de alimentação (VBS) para a seção superior do circuito. O primeiro
parâmetro a ser considerado é a queda de tensão máxima que devemos garantir quando o
interruptor da parte alta está ligado. A queda de tensão máxima permitida (VBOOT) depende da
tensão mínima do acionamento do gate a ser mantida, para o interruptor da parte alta. Se
VGSMIN é a tensão mínima gate-source, a queda no capacitor deve ser:
VBOOT  VCC  VF  VGSMIN (7)

Onde:
VDD = Tensão de alimentação do driver do gate [V].
VF = Queda de tensão do diodo de bootstrap [V].

O valor do capacitor de bootstrap é calculado por:


QTOTAL
CBOOT  (8)
VBOOT
Onde:
QTOTAL = Valor total da carga fornecida pelo capacitor.
15

A carga total fornecida pelo capacitor de bootstrap é calculada pela equação:

QTOTAL  QGATE   I LKCAP  I LKGS  I QBS  I LK  I LKDIODE   ton  QLS (9)

Onde:
QGATE = Carga total do gate;
ILKCAP = Corrente de fuga no gate-source do interruptor;
ILKGS = Corrente de fuga no capacitor de bootstrap;
IQBS = Corrente quiescente do circuito de bootstrap;
ILK = Corrente de fuga do circuito de bootstrap;
ILKDIODE = Corrente de fuga do diodo de bootstrap;
Ton = Tempo de ligação da parte alta;
QLS = Carga requerida pelo deslocador de nível interno, que é definido como 3ηC para
todos os drivers de gate de alta frequência.
A corrente de fuga do capacitor é importante apenas se for usado um capacitor
eletrolítico, caso contrário, pode ser desconsiderada.

2.2.2 Garantindo a desativação do IR2110


Como pode ser vista na imagem abaixo retirada do datasheet do IR2110. O pino SD ao ser
mantido com nível lógico baixo garante que o sinal inserido nos pinos HIN e LIN seja emitido
pelos pinos HO e LO. Entretanto ao alimentar o pino SD com nível lógico alto, os pinos de
saída HO e LO não emitiram nenhum sinal, independente da alimentação inserida nos pinos
HIN e LIN, seja ela de nível lógico alto ou baixo. Garantindo que as chaves não sejam
acionadas.

Figura 11 – Diagrama de tempo de entrada/saída

Fonte: INTERNATIONAL RECTIFIER. Data Sheet IR2110(-1-2)(S)PbF/IR2113(-1-2)(S)PbF


16

2.3 PONTE H
A ponte H é um circuito que possibilita a inversão da direção da corrente através de uma
determinada carga e é muito utilizado para o controle do sentido de giro de motores de
corrente contínua. O circuito fornece dois caminhos para a corrente, um para cada sentido de
rotação do motor.
A ponte é composta por quatro interruptores eletrônicos que possuem controle
independente. Geralmente são construídas utilizando transistores ou MOSFETs. O circuito
fornece dois sentidos de circulação para corrente que, no caso de um motor, modifica o
sentido de giro do mesmo. Seu funcionamento depende da combinação das chaves que estão
acionadas. A Figura 12 faz a representação básica de uma ponte H.
Figura 12 – Ponte H

Fonte: Autores
De acordo com a combinação das chaves acionadas o sentido percorrido pela corrente
no motor é modificado, como pode ser visualizado na Figura 13 e Figura 14.

Figura 13 – Ponte H operando no sentido horário

Fonte: Autores
17

Figura 14 – Ponte H operando no sentido anti-horário

Fonte: Autores
Quando S1 e S4 estão acionadas a corrente passa pelo motor, considerando a
representação ilustrativa na figura, da “esquerda para a direita”, pois passa primeiro pela
chave S1 depois pelo motor e então por S4. Quando S3 e S2 estão fechados acontece o
oposto, a corrente circula pelo motor indo da “direita para a esquerda” e assim o sentido de
giro do motor muda. O sentido de rotação de um motor é invertido quando se inverte a
corrente de armadura ou o sentido do fluxo de campo. No circuito real as chaves eletrônicas
são acionadas por PWM.
Duas chaves de um mesmo braço da ponte H não devem ser acionadas
simultaneamente porque desta forma a fonte será curto-circuitada. Para o acionamento da
ponte H são utilizados drivers IR2110 que fornecem uma saída PWM e uma saída baixa com
sinal contínuo. Cada IR2110 controla dois MOSFETs, ou seja, um braço da ponte H, levando
PWM para uma das chaves e sinal baixo para a outra. A ponte H é controlada por dois IR2110
e necessita de sua atuação simultânea, sendo um fornecendo o sinal PWM e o outro o sinal
contínuo.

2.4 MICROCONTROLADOR PIC18F4550


Os microcontroladores são microprocessadores que podem ser programados para funções
específicas. Em geral, eles são usados para controlar circuitos e, por isso, são comumente
encontrados dentro de outros dispositivos, sendo conhecidos como "controladores
embutidos". A estrutura interna de um microcontrolador apresenta um processador, bem como
circuitos de memória e periféricos de entrada e saída.
Segundo Miyadaira (2013, p. 266) “o PIC18F4550 é construído com base na arquitetura
Harvard com instruções do tipo RISC (Computador com Conjunto Reduzido de Instruções).
É um dispositivo de 8bits dotado de 32Kbytes de memória de programa e 2.048bytes de
memória RAM”. O modelo utilizado possui 40 pinos, sendo que 35 podem ser configurados
18

como I/O. A Figura 15 apresenta o microcontrolador PIC18F4550 e seus respectivos pinos


disponíveis.

Figura 15 – PIC18F4550

Fonte: MICROCHIP. Data Sheet PIC18F4550

2.4.1 Modo PWM


Para realizar o controle de rotação bem como de velocidade foi utilizado o modo PWM
(modulação por largura de pulso) presente no microcontrolador. Este por sua vez possui dois
módulos de PWM, o módulo CCP e o módulo ECCP, ambos possuindo uma resolução de
PWM de 10bites. A modulação por largura de pulso (PWM) consiste basicamente em
controlar o tempo em que o sinal permanecerá em nível alto (duty cycle), ou seja, controlar a
largura de pulso em um período pré-estabelecido.
Para determinar o valor para o registro PR2, que especifica o período do PWM, é utilizada
a equação (10).
FOSC
PR2  (10)
FPWM  4  PRESCALE
Onde:
FOSC = Representa o tipo de oscilador.
FPWM = Frequência do PWM.
19

PRESCALE = Ciclo de Máquina.


O módulo ECCP foi utilizado como gerador do PWM, pois possui características
adicionais em relação ao módulo CCP. Uma dessas características é a configuração do PWM
para operar no modo full-bridge. Este modo permite o controle de uma ponte H completa por
meio de 4 pinos de saída, permitindo assim controlar a velocidade e a rotação de um motor
CC.

3.4.2 Interrupção e Timer


Segundo Miyadaira “as interrupções desempenham um papel importante em sistemas
microcontrolados, pois permitem suspender a qualquer momento a execução de uma linha de
código e começar a executar uma rotina designada ao tratamento de uma determinada
interrupção”. A interrupção foi utilizada no programa como forma de medir os pulsos
enviados pelo sensor IR, por tratar-se de uma interrupção esses pulsos serão medidos
independentemente do programa principal. O microcontrolador PIC18F4550 possui diversas
fontes de interrupção, sendo possível dessa forma, definir o nível de prioridade de cada uma,
visando à importância de cada rotina no programa.
O microcontrolador PIC18F4550 possui quatro TIMERs incorporados; TIMER 0, TIMER
1, TIMER 2, TIMER3. Esses TIMERs podem ser usados como contadores, incrementado por
uma fonte externa, ou temporizadores, incrementados por uma fonte de clock interna. Neste
projeto o TIMER é utilizado como temporizador com intervalos de 1 segundo, ou seja, a cada
1 segundo sua rotina é executada. Essa rotina é responsável por multiplicar o número de
pulsos contados na interrupção do sensor por 60, dando o resultado em rpm e em sequência
zera o contador do sensor para que o mesmo inicie sua contagem a partir do 0.
20

3. DESENVOLVIMENTO

3.1 OBJETIVO GERAL


Projetar e construir um drive para o acionamento e controle de velocidade de um motor
CC.

3.2 OBJETIVOS ESPECÍFICOS


Dimensionar e executar a construção de um protótipo de um drive que garanta a
alimentação de um motor CC por meio de uma ponte H, bem como realizar o controle de
velocidade e sentido de rotação por meio de um microprocessador do tipo PIC18F4550.

3.3 METODOLOGIA
 Projetar a ponte H e os componentes de proteção, a partir das especificações do motor
que irá ser acionado. Este estágio possui grande importancia para o andamento do
projeto, pois a partir dos dados obtidos iremos dimensionar as chaves e fusíveis.
 Desenvolver a programação referente ao acionamento, controle de velocidade, sentido
de rotação, parada e medição de rpm do motor.
 Realizar a construção do protótipo do drive de potência e do circuito de controle.
 Realizar os teste e fazer os ajustes necessários
 Desenvolver o relatório final do projeto.

3.4 PROCEDIMENTOS ESPERIMENTAIS


Nesta etapa do relatório serão explanados os procedimentos utilizados para o
dimensionamento, simulação e posterior confecção das placas de potência e controle do drive
de acionamento. As etapas referentes ao circuito de potência foram realizadas em sequência,
enquanto que as etapas referentes ao circuito de controle foram realizadas paralelamente.

3.4.1 Dimensionamento, simulação e confecção do circuito de controle


Inicialmente foi desenvolvido o programa que iria realizar o acionamento, parada e
controle de velocidade do motor CC, bem como transmitir as informações relevantes de
funcionamento e status em um display de lcd. O software utilizado para o desenvolvimento do
programa foi o MPLAB X. A construção ocorreu por etapas, de inicio foi desenvolvida a
partida em ambos os sentidos do motor (horário e anti-horário) e sua parada, ao serem
21

acionados botões específicos. Também foi necessário a implementação de um sistema de


intertravamento para evitar que os dois sentidos fossem acionados simultaneamente e assim
ocorresse um curto entre os braços da ponte H. A alimentação do motor seria equivalente a
um sinal PWM (modulação por largura de pulso) emitido pelo microcontrolador.
A próxima etapa do desenvolvimento do programa foi a inserção da variação da
velocidade do motor. Durante esta etapa surgiu um questionamento sobre como seria feito o
controle dessa variação, de modo analógico por meio de um potenciômetro ou de modo digital
por meio de botões. Após uma análise sobre as vantagens e desvantagens dos dois modos foi
decidido que seria implementada de modo digital por meio de botões, pois desta forma
teríamos um controle de velocidade a cada variação de 1% de razão cíclica. A variação da
velocidade ocorre por meio da variação da largura de pulso emitida pelo microcontrolador.
Finalmente, foram inseridas no programa as funções referentes ao sensor infravermelho
que seria responsável pela medição do rpm (rotação por minuto) do motor. Uma função iria
contar o número de pulsos elétricos emitidos pelo sensor, cada pulso equivale a uma rotação
do motor. A segunda função iria contar esse número de pulsos emitidos pelo sensor a cada 1
segundo e multiplicaria por 60, resultando em um valor em rpm.
Com o programa finalizado iniciaram-se os testes em bancada, incialmente o PWM
fornecido pelo micro controlador possuía frequência de 20 kHz, entretanto devido ao mau
funcionamento do circuito de potência, optou-se por diminuir a frequência para 10 kHz. A
diminuição da frequência do PWM está limitada ao cristal oscilador utilizado que determina o
ciclo de máquina do microcontrolador, no caso deste projeto foi utilizado um cristal de 8
MHz. Após os testes confirmarem a perfeita operação de todas as funções presentes no
programa, a construção da placa de controle foi iniciada. O software EAGLE foi utilizado
para a construção do esquemático, apresentado na Figura 16, e do layout da placa, cuja versão
final está ilustrada na Figura 17. Todos os botões de controle são pull-down, pois fornecem
normalmente sinal alto e ao serem acionados fornecem sinal baixo. Cada botão é
acompanhado de duas resistências uma resistência de pull-up de 10 kΩ que garante o sinal
alto para o respectivo pino do microcontrolador e outra resistência de 1kΩ necessária para
limitar a corrente direcionada ao pino. Também foi inserido um capacitor eletrolítico de 10 μF
em paralelo com o motor com o intuito de evitar o efeito bouncing.
22

Figura 16 – Esquemático do circuito de controle

a) Microcontrolador PIC18F4550 e conectores de entrada e saída da placa

b) Display LCD, cristal oscilador e botão de reset.


23

c) Botões de controle
Fonte: Autores
Figura 17 – Layout da placa de controle

a) Com representação de componentes


24

b) Sem representação de componentes


Fonte: Autores

O desbaste da placa de circuito impresso foi realizado por meio de uma ploter LPKF E33
presente no laboratório de eletrônica 2. A Figura 18 apresenta a placa finalizada, após o
desbaste e com os devidos componentes soldados.
25

Figura 18 – Placa de controle finalizada.

Fonte: Autores

3.4.2 Dimensionamento, simulação e confecção do circuito de potência


Inicialmente a ponte H juntamente com o IR2110 foi simulada no Proteus, esta etapa
visou à verificação do funcionamento do IR2110 perante o acionamento de um motor CC. A
Figura 19 apresenta o circuito simulado no Proteus que serviu como base para a confecção da
placa de potência. Como planejamento inicial foi estabelecido que a placa de potência fosse
formada apenas pela ponte H e que os IRs iriam estar acoplados na placa de controle
juntamente com o microcontrolador e os demais componentes, como pode ser visualizado na
Figura 20, onde são apresentados os layouts iniciais das placas de potência e controle.
26

Figura 19 – Circuito simulado no Proteus

Fonte: Autores

Figura 20 – Layouts das placas de controle e potência versão 1

a) Layout da placa de controle versão 1


27

b) Layout da placa de potência versão 1


Fonte: Autores

Com o desenvolvimento do projeto houve uma primeira grande mudança no design


construtivo, foi sugerido que uníssemos os dois IRs á placa de potência junto da ponte H.
Pedido que foi prontamente atendido e as devidas mudanças ocorreram em sequência. A partir
dessas informações o primeiro esquemático e layout foram desenvolvidos utilizando o
software EAGLE, apresentado na Figura 21 e Figura 22. Além da ponte H e dos dois IRs,
também foi incluído na placa um regulador de tensão de 5 V, já que a placa será alimentada
com 12 V. Este regulador tem a função de fornecer a alimentação de 5 V para o IR2110, que
por sua vez necessita de duas alimentações, uma de 12 V e outra de 5V.

Figura 21 – Esquemático do circuito de potência versão 2.

Fonte: Autores
28

Figura 22 – Layout do circuito de potência versão 2.

Fonte: Autores

Durante os testes em bancada verificou-se que o circuito composto pelo IR2110 não
funcionava como fora projetado. Pois ao alimentar os pinos HIN com PWM e LIN com
tensão contínua, as respectivas saídas HO e LO não operavam como esperado, já que essas
saídas deveriam fornecer um sinal igual ao sinal de entrada fornecido aos pinos HIN e LIN.
Algumas suposições foram criadas para responder a essa questão. A primeira delas é que os
capacitores não estariam respondendo à alta frequência e assim o IR2110 não operava de
maneira correta ocasionando a sua queima. A segunda suposição era que os diodos que se
conectam ao gate do MOSFET estavam fornecendo um caminho para a corrente reversa
produzida durante o chaveamento do motor. A fim de resolver ambas as suposições, um novo
esquemático e um novo layout foram desenvolvidos.
Os diodos que se conectam ao gate do MOSFET foram retirados e os demais diodos
foram trocados por diodos de ação ultrarrápida, já que a frequência do PWM é de 10 kHz.
Novos capacitores cerâmicos foram utilizados ao invés dos capacitores de filme utilizados
anteriormente. Um capacitor eletrolítico 1000μF foi inserido como forma de melhorar a
filtragem no barramento de 12 V que alimenta o motor. Com a realização dos testes em
Com as devidas alterações realizadas, deu-se início a confecção do novo layout. A Figura
23 apresenta o novo esquemático, com as novas alterações. Enquanto que a Figura 24 ilustra o
novo layout e a Figura 25 mostra a placa finalizada.
29

Figura 23 – Esquemático do circuito de potência – versão final

Fonte: Autores

Figura 24 – Layout do circuito de potência – versão final

Fonte: Autores
30

Figura 25 – Placa de potência finalizada

Fonte: Autores

3.5 OBSERVAÇÕES DE DEMAIS ERROS APRESENTADOS


 Devido à alta frequência de comutação de 10 kHz, foi necessária a utilização de diodos
ultrarrápidos, com a finalidade de carrega o capacitor de Bootstrap. Também foram
adicionados diodos ultrarrápidos em paralelo com cada MOSFET, afim diminuir as tensões
reversas do motor e fornecer um caminho para a corrente reversa. Estes diodos ultrarrápidos
atuam em conjunto com os diodos intrínsecos presente normalmente nos MOSFETs. Durante
os testes houve a queima de diversos drives de acionamento (IR2110) devido aos diodos
intrínsecos dos MOSFETs, que estavam inoperantes. Como solução, foram utilizados
capacitores eletrolíticos de 100 μF para garantir a ativação dos MOSFETs S1 e S3.
 Inicialmente foi detectado um mau funcionamento do microcontrolador PIC18F4550,
mais precisamente no oscilador externo, causado por um erro no momento da escolha dos
capacitores, em vez de 22 pF foram utilizados capacitores de 22 ηF. Este erro gerou uma
alteração na frequência do cristal oscilador de 8 MHz, tornado o microcontrolador inoperante.
 Após queima de diversos drives de acionamento (IR2110), foi analisado que dois
MOSFETs estavam com seu diodo intrínseco inoperante. Como consequência a corrente
reversa circulava pela referência (pino Vs) do IR2110, causando um erro na comutação dos
MOSFETs, após a substituição dos referidos componentes não foi detectado o problema
novamente. Uma tentativa de corrigir esse problema foi a retirada das conexões Vs com o
31

source dos MOSFETs superiores. Entretanto estes MOSFETs começaram a comutar sem
estarem saturados completamente, ou seja, a tensão não estava sendo fornecida diretamente
para carga, tornando o propósito do projeto invalido. Como consequência, optou-se por trocar
os MOSFETs defeituosos por outros novos e assim o problema foi resolvido.
 Nos testes iniciais foram utilizados capacitores eletrolíticos como capacitor de
Bootstrap, mas como o mesmo não responde a altas frequências tornaram a comutação dos
MOSFETs irregular devido ao fato de seu tempo de carga e descarga não ocorrer no tempo
correto. Para resolver este problema foi utilizado como capacitor de Bootstrap, um capacitor
de 100 ηF, de multicamadas de poliéster.
 Após os testes foi possível observar que o resistor conectado no gate-source estava
atrapalhando a comutação dos MOSFETs, pois geram um caminho auxiliar para a corrente
reversa do motor. Consequentemente gerando um potencial entre gate-source.
 No layout versão 1, incluía um diodo em série com a referência (Vs), até o source dos
MOSFETs 1 e 3, porém com essa adição não foi possível descarregar o capacitor de
Bootstrap. Então foi feita duas mudanças na topologia, à primeira foi a troca do capacitor de
100 μF eletrolítico por um de 100 ηF cerâmico, pois o primeiro não conseguia carregar e
descarrega completamente, e a segunda mudança foi a retirada do diodo em série com a
referência.

3.6 LISTA DE COMPONENTES


A Tabela 2 apresenta os componentes utilizados na placa de controle, enquanto que a
Tabela 3 aponta os componentes utilizados na placa de potência.
Tabela 2 – Lista de componentes utilizados na placa de controle

Componente Especificação Fabricante Quantidade


Parâmetros
Microcontrolador PIC18F4550 Microchip 1
Cristal Oscilador - - 1
Push-button - - 6
Resistor 10 kΩ - 6
Resistor 1 kΩ - 5
Capacitor Eletrolítico CD110 JEC 5
10 μF – 50 V
Capacitor Eletrolítico ECR 1L10 HITANO 1
22 μF – 63 V
Capacitor Eletrolítico B41821 EPCOS 1
100 μF – 25 V
Diodo 1N4007 DIODES 1
INCORPORATED
Capacitor Cerâmico 100 ηF Suntan 2
32

Potênciometro 1 kΩ - 1
Display LCD HC 1624-B-LWH Tsingtek 1

Fonte: Autores

Tabela 3 – Lista de componentes utilizados na placa de potência

Componente Especificação Fabricante Quantidade


Parâmetros
Capacitor Eletrolítico B41821-A6108- EPCOS 1
M
1000μF-50 V
Capacitor Eletrolítico 100μF-63 V BUANG 2
Capacitor Eletrolítico 1L10 HITANA 1
22μF-63 V
Capacitor Eletrolítico 10μF-63 V JBC 3

Capacitor de poliéster μ1k63 1H7 EPCOS 1


100nF

Capacitor cerâmico 100nF - 2


Diodo schottky 31DQ1B IOR 6
Diodo retificado 1N4007 NXP 1
MOSFET IRFZ44N IOR 4
Regulado de tensão 5V LM7805 FAIRCHLD 1
Drive de acionamento IR2110 IOR 2
do MOSFET
Resistor 22Ω - 4

Fonte: Autores
33

4. RESULTADOS
O motor CC utilizado para ser acionado e controlado, apresentado na Figura 26, foi um
exemplar MOTRON MR 710 12Vcc.

Figura 26 – Motor CC MOTRON MR 710 12Vcc

Fonte: Autores

Inicialmente o motor foi acionado no sentido horário e no sentido anti-horário. Os dois


sinais PWM emitidos pelo circuito de controle para o circuito de potência são apresentados na
Figura 27 e 28. Na Figura 27 pode-se verificar o sinal PWM que aciona o motor no sentido
horário, onde o canal 1 aponta o sinal de PWM e o canal 2 permanece em estado lógico baixo,
e na Figura 28 os sinais são invertidos, o canal 1 permanece em nível lógico baixo, enquanto
que o canal 2 transmite o sinal de PWM, acionando o sentido anti-horário. O canal 1 mostra o
sinal emitido pelo pino P1D (RD7), enquanto que o canal 2 mostra o sinal fornecido pelo pino
P1B (RD5). A amplitude do sinal é de 5 V e os sinais não podem ser acionados
simultaneamente a fim de evitar um curto entre os braços da ponte H. A razão cíclica inicial
fornecida é de 80%, podendo ser aumentada ou diminuída a cada 1%, de acordo com a
necessidade do operador.
34

Figura 27 – Forma de onda transmitida pelo microcontrolador acionando o motor no sentido horário

Fonte: Autores

Figura 28 – Forma de onda transmitida pelo microcontrolador acionando o motor no sentido horário

Anti-horário

Fonte: Autores
A análise das formas de onda foi realizada considerando os dois sentidos de giro do motor, por
isso será apresentada um exemplo de cada situação. A Figura 29 apresenta a comutação e
acionamento do MOSFET S1 no sentido horário e S2 no sentido anti-horário. No canal 1 é
apresentado a tensão dreno-source, os picos de tensão de 12 V ocorrem quando a chave está aberta e a
faixa de 0 V ocorre quando a chave está fechada, consequentemente, conduzindo corrente ao motor.
No canal 2 é apresentado a tensão gate-source, essa tensão é fornecida pelos pinos HO e Vs do IR2110,
nesse canal é possível visualizar a saturação do MOSFET, ou seja, quando há tensão gate-source a
tensão dreno-source é praticamente 0 V.
35

Figura 29 – Formas de onda obtidas nos MOSFETs superiores

Fonte: Autores

Na Figura 30 é mostrada a comutação e acionamento do MOSFET S4 no sentido horário


e S3 no sentido anti-horário. De modo semelhante à figura anterior, o canal 1 apresenta a
tensão dreno-source no MOSFET, enquanto que o canal 2 mostra a tensão gate-source. A
diferença com a forma de onda anterior é que esta é fornecida pelo pino LO do IR2110 e o
negativo do circuito.
Figura 30 - Formas de onda obtidas nos MOSFETs inferiores

Fonte: Autores
Na Figura 31 é ilustrado o carregamento e descarregamento do capacitor de Bootstrap junto
com o sinal de PWM fornecido pelo pino HO do IR2110 e a referência. O canal 1 apresenta a
tensão no capacitor de Bootstrap e o canal 2 mostra a tensão HO-referência. No instante de
tempo toff do PWM gerado ocorre o carregamento do capacitor de Bootstrap, elevando a sua
tensão como pode ser observado na Figura 31. No instante de tempo ton ocorre o
36

descarregamento do capacitor de Bootstrap devido a sua carga ser transferida para o gate do
MOSFET durante o acionamento.
Figura 31 – Carga e descarga do capacitor de bootstrap

Fonte: Autores
A Figura 32 mostra a tensão de acionamento do motor, que nesse caso é formada pela
tensão positiva, já a tensão negativa é gerada pela força contra eletromotriz que ocorre no
tempo que o motor permanece desenergizado. Devido ao motor ser uma carga indutiva, ele
tende a permanecer com a mesma corrente que passa pela os diodos Schottky em paralelo
com as chaves, resultando na inversão da sua polaridade.
Figura 32 – Forma de onda nos terminais do motor

Fonte: Autores

Na Figura 33 é mostrada a tensão do motor no canal 1 do osciloscópio, e a corrente do


motor no canal 2 do osciloscópio. Pode-se associar o motor elétrico a um indutor
37

armazenando energia na forma de campo magnético, assim, definimos que a tensão é igual à
indutância vezes a taxa de variação da corrente sob a taxa de variação do tempo. Então se
aplicarmos uma tensão pulsante positiva o resultado será uma tensão alternada nos terminais
do motor, por conta da característica do indutor ser uma fonte de corrente. Sendo assim, a
corrente tende a permanecer no mesmo sentido, invertendo a tensão nos terminais do motor
no instante de tempo toff da comutação.
A corrente se apresentar triangular, pois se divide em dois momentos, no instante de
tempo ton de comutação aumenta até 200 mA e diminui no instante de tempo toff, juntamente
com a tensão que fica negativa, neste momento o motor funciona como um gerador..

Figura 33 – Formas de onda da tensão e corrente nos terminais do motor

Fonte: Autores

Na Figura 34 é apresentado a realização da medição do rpm por meio do encolder


produzido no projeto e o tacômetro Poleterm, com a razão cíclica máxima de 99%.
Medições:
 Valor exato (Paleterm): 3780 rpm
 Valor aproximado (Tacômetro do projeto): 3807 rpm
Calculado o erro da medição de rpm:
Valor _ aproximado  Valor _ exato 3801  3780
%erro   100   100  0.55%
Valor _ exato 3801 (11)
A variação de erro ficou abaixo de 1% em todas as medições.
38

Figura 34 – Comparação de rpm com tacômetro

Fonte: Autores
Tabela 4 – Equipamentos utilizados

Equipamento Modelo
Tacômetro Politerm DT6236B
Fonte CC Minipa MPL-3305M
Multímetro Digital TEKTRONIX DMM4020x
Osciloscópio TEKTRONIX MSO-2012-100MHz
Gerador de Função TEKTRONIX AFG2021
Sonda de Corrente TEKTRONIX TCP312A
Amplificador para Sonda de Corrente TCPA300
TEKTRONIX
Fonte: Autores
39

5. CONCLUSÃO
Neste relatório foi proposto um drive para acionamento de um motor CC de 12 V.
Durante o desenvolvimento do projeto até a sua finalização, diversas conclusões foram
possíveis a partir da análise experimental detalhada e observações realizadas com a utilização
dos equipamentos presentes nos laboratórios de eletrônica 1 e 2. Com o decorrer do
dimensionamento e posterior montagem do drive houve a detecção prática do papel de cada
componente presente no circuito. A escolha inadequada do diodo ocasionou a queima de
diversos drives de acionamento (IR2110) do MOSFET. Durante os testes verificou-se que o
uso do diodo ultrarrápido era essencial para manter a operação na frequência de 10 kHz.
Com as placas de potência e controle já montadas os testes com o respectivo motor
foram feitos. Neles pode-se confirmar o perfeito funcionamento dos circuitos, no qual o motor
foi acionado em ambos os sentidos e o controle da velocidade se mostrou bastante eficaz. O
controle foi bastante preciso proporcionado principalmente pela possibilidade de variação da
razão cíclica em 1% por meio do uso de botões. Também foi detectado que a variação de
velocidade correspondia diretamente à variação de razão cíclica.
Os testes referentes à medição de rpm através do sensor IR foram bastante
satisfatórios, pois apresentaram baixar variações entre os valores medidos pelo sistema de
controle e pelo tacómetro usado no teste. Estes testes apresentaram erros que variam de 0,5 a
1% com o motor operando em condições máximas, ou seja, com a razão cíclica em torno de
99%. A parada ocorreu de maneira esperada, ao ser acionado o respectivo botão o PWM
fornecido pelo sistema de controle é desligado completamente e consequentemente
promovendo a parada do motor.
O projeto do drive, especialmente da seção dedicada à potência, foi pensado e
desenvolvido visando o acionamento de um motor CC de 24 V e 15 A, em valores nominais,
no entanto pela impossibilidade do acoplamento do equipamento de medição de velocidade
no motor tomado como referência para o desenvolvimento do projeto, o acionamento
realizado para os testes foi de uma máquina CC de menor potência com 12 V de tensão
nominal e a corrente limitada na fonte em 180 mA, sendo este valor fornecido no datasheet da
máquina para sua operação com carga.
40

6. TRABALHOS FUTUROS
Como possíveis trabalhos futuros, pode-se apontar:
 Proteção contra travamentos no eixo.
Existe a possibilidade de desenvolver o código do programa a fim de se obter proteções
no caso de travamentos no eixo, aumentando desta forma, a segurança dos equipamentos e do
operador.
 Sistema supervisório.
Com o andamento do projeto é possível desenvolver um sistema supervisório que interaja
com o sistema de controle a fim de acompanhar em tempo real as informações
disponibilizadas pelo microcontrolador.
 Teclado numérico.
O uso de um teclado numérico pode ser considerado como uma outra forma de se alterar
a velocidade do motor, seja incrementando ou decrementando, ou ainda digitando o valor de
razão cíclica desejada.
 Sistema de proteção para grandes potências.
É aconselhável que seja instalado um sistema de proteção para o uso do drive no
acionamento de potência elevadas, como exemplo, a inclusão de fusíveis e monitoramento da
temperatura do motor.
 Diminuição da frequência de comutação.
Com a diminuição da frequência é possível diminuir as perdas provenientes da
comutação dos MOSFETs. Também irá facilitar o trabalho exercido pelo IR2110, que não
necessitará de diodos ultrarrápidos, barateando o projeto.
41

REFERÊNCIAS BIBLIOGRÁGICAS

INTERNATIONAL RECTIFIER. Data Sheet IR2110(-1-2)(S)PbF/IR2113(-1-2)(S)PbF.

MICROCHIP. Data Sheet PIC18F2455/2550/4455/4550.

KOSOW, I. I. Tradução: DAIELO, F. L. R. e SOARES, P. A. P. MÁQUINAS ELÉTRICAS


E TRANSFORMADORES. 15ª ed. São Paulo. GLOBO. 2005.

MIYADAIRA, A. N. MICROCONTROLADORES PIC18: APRENDA E PROGRAME


EM LINGUAGEM C. 4ª ed. São Paulo. Érica. 2013.

SIEMENS. Motores De Corrente Continua: Guia rápido para uma especificação precisa.
Ed.01.2006.

TORO, V.D. Tradução: Andrade, O. Fundamentos de Máquinas Elétricas. Rio de Janeiro.


LTC. 2009.
42

ANEXO I
/*
* File: lcd_16x2_4bits.c
* Autores: Felipe Costa, Rerick Pessoa, Antonio Roberto de França

*
* Created on 27 de Dezembro de 2017, 08:22
*/

// Definições de parâmetros do microcontrolador


#pragma config FOSC = HS
#pragma config PLLDIV = 1
#pragma config CPUDIV = OSC1_PLL2
#pragma config MCLRE = ON
#pragma config LVP = OFF
#pragma config WDT = OFF
#pragma config PBADEN = OFF

#include <xc.h>
#include <stdlib.h>
#include <stdio.h> // printf - imprime valor na saída padrão do sistema
// putch - função auxiliar do printf

#define _XTAL_FREQ 8000000


#define RS LATEbits.LATE0
#define RW LATEbits.LATE2
#define EN LATEbits.LATE1

// Protótipos de função
void inicia_lcd();
void envia_cmd_lcd(char cmd);
void envia_cararacter_lcd(char caracter);
void envia_string_lcd(char *string);
void envia_caracter_cgram_lcd(char carater[]);
void set_pos_cursor(char lin, char col);
void limpa_lcd();
void delay_us_lcd(int us);
void delay_ms_lcd(int ms);

// Declarações de variáveis
int aux1 = 0;
int duty_cycle = 160;
int aux_1 = 0;
int aux_2 = 0;
int T0 = 0;

void setup()
{
43

ADCON1 = 0b1111; // desliga porta analogica


// Configuração TIMER 0 - 16 bits
INTCON = 0b11100000; /*
GIE = 1;
PEIE = 1;
TMROIE = 1
INTE = 0;
RBIE = 0;
TMR0IF = 0;
INTF = 0;
RBIF = 0;
*/

// Configuração do timer 0.
T0CON = 0b11000111; // TMR0on - habilita o TIMER 0
// T08BIt - modo de operação de 8 bits
// T0CS - fonte de clock interna- fosc/4
// T0SE - nao utilizado
// PSA - usa prescale
// PS2-Ps0 - prescale de 256
TMR0L = 61; // Configura para 1 seg.

// Configuração do PWM
TRISCbits.RC2 = 0; // pino CCP1 como saída para PWM
TRISDbits.RD5 = 0; // pino CCP1 como saída para PWM
TRISDbits.RD6 = 0; // pino CCP1 como saída para PWM
TRISDbits.RD7 = 0; // pino CCP1 como saída para PWM
LATCbits.LATC2 = 0; // Escreve nível lógico baixo no pino
LATDbits.LATD5 = 0; // Escreve nível lógico baixo no pino
LATDbits.LATD6 = 0; // Escreve nível lógico baixo no pino
LATDbits.LATD7 = 0; // Escreve nível lógico baixo no pino
PR2 = 199; // Período do PWM - 10000 Hz
CCPR1L = 160; // Razão cíclica - 80%
T2CON = 0; // Sem prescaler, TRM2 Off

// Configuração do pino do sensor


TRISBbits.RB2 = 1;
INTCON2bits.RBPU = 0; // habilita pull-ups da porta B

// Configuração da interrupção com níveis de prioridade


RCONbits.IPEN = 1; // Com prioridade de interrupção
INTCONbits.GIE_GIEH = 1; // Habilita interrupção global
INTCONbits.PEIE_GIEL = 1;// Habilita interrupção de periférico

// Configuração da interrupção externa INT21


INTCON3bits.INT2IE = 1; // Habilita INT1
INTCON2bits.INTEDG2 = 0; // Interrupção por borda de descida
INTCON3bits.INT2IF = 0; // Limpa a flag de INT2
INTCON3bits.INT2IP = 0; // Baixa prioridade
44

// Configuração do pino dos botões

TRISBbits.RB3 = 1; // Botão parada


TRISBbits.RB4 = 1; // Botão sentido anti-horario
TRISBbits.RB5 = 1; // Botão sentido horário
TRISBbits.RB6 = 1; // Botão sentido anti-horario
TRISBbits.RB7 = 1; // Botão sentido horário

ADCON1 = 0b1111;
INTCON2bits.RBPU = 0; // habilita pull-ups da porta B
}

/*---- Função de Tempo ----*/


void delay_ms(int ms) // delay_ms(1000) -> 1 Segundo
{
char i;
for (i = 0; i < ms; i++)
{
__delay_ms(1);
}
}

/* Timer 0 - processo para calcular o RPM -


* o número de pulsos medido pelo sensor a cada 1 segundo é multiplicado
* por 60, resultando em um valor em rpm.
*/
void interrupt int_TRM0()
{
if (TMR0IF)
{
TMR0L = 61; // A interrupção irá se repetir a cada 25 ms.
TMR0IF = 0;
T0++;
if (T0 >= 40) // Gera base de tempo de 1 seg - 25 ms x 40
{
T0=0;

aux_2 = aux_1 * 60; // Multiplica o valor do pulso por 60 = rpm


aux_1 = 0;

}
}

/* ------- Programa principal*/


void main(void)
{
setup (); //Chama a função setup
45

inicia_lcd(); // chama a função do display

limpa_lcd();
set_pos_cursor(2,3);
envia_string_lcd ("STAND BY"); // Informa que o motor está em STAND BY.

while (1)
{
// Informa a porcentagem de razão cíclica.
set_pos_cursor(1,1);
envia_string_lcd ("D:");
set_pos_cursor(1,6);
envia_string_lcd ("%");
set_pos_cursor (1, 3);
printf ("%03u",duty_cycle/2);

// Mostra RPM
set_pos_cursor (1, 8);
envia_string_lcd ("RPM:");
set_pos_cursor (1, 12);
printf ("%05u",aux_2);

// Botão de parada - O motor só liga após acioná-lo


if (!PORTBbits.RB3)
{
T2CONbits.TMR2ON = 0;
aux1 = 1;
duty_cycle = 0; // Razão cíclica de 0%
limpa_lcd();
set_pos_cursor(1,1);
envia_string_lcd ("STOP");
delay_ms(200);
delay_ms(200);
limpa_lcd();
set_pos_cursor(2,1);
envia_string_lcd ("MOTOR PARADO");
}

while (aux1 == 1)
{

// Botão que aciona o motor no sentido horário


if (!PORTBbits.RB4)
{

CCP1CON = 0b01101100; // Modo PWM e decimal para PWM


TMR2 = 0; // Inicializa Timer2=0
T2CONbits.TMR2ON = 1; // Inicia contagem do timer
duty_cycle = 160; // Razão cíclica de 80%
limpa_lcd();
46

set_pos_cursor(1,1);
envia_string_lcd ("SENTIDO");
set_pos_cursor(2,1);
envia_string_lcd ("HORARIO");
delay_ms(200);
delay_ms(200);
limpa_lcd();
aux1 = 0;
set_pos_cursor(1,8);
while (!PORTBbits.RB4);
}
// Botão que aciona o motor no sentido anti-horário
if (!PORTBbits.RB5)
{

CCP1CON = 0b11101100; // Modo PWM e decimal para PWM


TMR2 = 0; // Inicializa Timer2=0
T2CONbits.TMR2ON = 1; // Inicia contagem do timer
duty_cycle = 160; // Razão cíclica de 80%
limpa_lcd();
set_pos_cursor(1,1);
envia_string_lcd ("SENTIDO");
set_pos_cursor(2,1);
envia_string_lcd ("ANTI-HORARIO:");
delay_ms(200);
delay_ms(200);
limpa_lcd();
aux1 = 0;
while (!PORTBbits.RB5);
}

// Botão que aumenta a velocidade.


if(!PORTBbits.RB6)
{
duty_cycle = duty_cycle +2;
if (duty_cycle > 199) // Impede que a razão cíclica seja maior que 99%
{
duty_cycle = 199;
}

CCPR1L = duty_cycle; // carrega valor da razão ciclica


delay_ms(200);
set_pos_cursor (1, 3);
printf ("%03u",duty_cycle/2); //Mostra a razão cíclica no display
INT1IF = 0;

}
47

// Botão que diminui a velocidade


if(!PORTBbits.RB7)
{
duty_cycle = duty_cycle -2;
if (duty_cycle < 0)
{
duty_cycle = 0;
}
CCPR1L = duty_cycle; // carrega valor da razão ciclica
delay_ms(200);
set_pos_cursor (1, 3);
printf ("%03u",duty_cycle/2); // Mostra a razão cíclica no display
INT2IF = 0;
}

// Interrupção do sensor IR
void interrupt low_priority int2_rb2()
{
if(INTCON3bits.INT2IF)
{
aux_1++; // Incrementa a cada rotação do motor
INTCON3bits.INT2IF = 0; // Zera a flag da interrupção

}
}

// Biblioteca LCD
void inicia_lcd()
{
// Configura pinos do barramento de dados
TRISDbits.RD0 = 0;
TRISDbits.RD1 = 0;
TRISDbits.RD2 = 0;
TRISDbits.RD3 = 0;

LATDbits.LATD0 = 0;
LATDbits.LATD1 = 0;
LATDbits.LATD2 = 0;
LATDbits.LATD3 = 0;

// Configura pinos de controle


TRISEbits.RE0 = 0;
TRISEbits.RE1 = 0;
48

TRISEbits.RE2 = 0;
RS = 0;
RW = 0;
EN = 0;

// Comandos para inicialização do LCD


delay_ms_lcd(20);
envia_cmd_lcd(0x33);
envia_cmd_lcd(0x32);
envia_cmd_lcd(0x28); // LCD 16x2, celula com matriz 8x5 px
envia_cmd_lcd(0x02); // desloca cursor para linha 1, coluna 1
envia_cmd_lcd(0x0C); // desliga cursor
envia_cmd_lcd(0x06); // desloca cursor para direita quando novo caracter for inserido

char set_bit(char cmd, char comp)


{
if((cmd & comp) >= 1)
{
return 1;
}
else
{
return 0;
}
}

void envia_cmd_lcd(char cmd) // cmd = 0x28 = 0b0010 1000


{
RS = 0; // instrução (comando)
RW = 0; // escrita

LATDbits.LATD0 = set_bit(cmd, 0b00010000); //0


LATDbits.LATD1 = set_bit(cmd, 0b00100000); //0
LATDbits.LATD2 = set_bit(cmd, 0b01000000); //1
LATDbits.LATD3 = set_bit(cmd, 0b10000000); //0

// gerar pulso para unidade de controle


EN = 1;
delay_ms_lcd(5);
EN = 0;

LATDbits.LATD0 = set_bit(cmd, 0b00000001); //0


LATDbits.LATD1 = set_bit(cmd, 0b00000010); //0
LATDbits.LATD2 = set_bit(cmd, 0b00000100); //0
LATDbits.LATD3 = set_bit(cmd, 0b00001000); //1

// gerar pulso para unidade de controle


EN = 1;
delay_ms_lcd(5);
49

EN = 0;
}

void envia_cararacter_lcd(char caracter)


{
RS = 1; // comando para informar que a informação será um caracter
RW = 0; // escrita

LATDbits.LATD0 = set_bit(caracter, 0b00010000);


LATDbits.LATD1 = set_bit(caracter, 0b00100000);
LATDbits.LATD2 = set_bit(caracter, 0b01000000);
LATDbits.LATD3 = set_bit(caracter, 0b10000000);

// gerar pulso para unidade de controle


EN = 1;
delay_ms_lcd(5);
EN = 0;

LATDbits.LATD0 = set_bit(caracter, 0b00000001);


LATDbits.LATD1 = set_bit(caracter, 0b00000010);
LATDbits.LATD2 = set_bit(caracter, 0b00000100);
LATDbits.LATD3 = set_bit(caracter, 0b00001000);

// gerar pulso para unidade de controle


EN = 1;
delay_ms_lcd(5);
EN = 0;
}

void envia_string_lcd(char *string)


{
while(*string != '\0')
{
envia_cararacter_lcd(*string);
string++;
}

void envia_caracter_cgram_lcd(char carater[])


{
envia_cmd_lcd(0x40);
int i;
for (i = 0; i < 8; i++)
{
envia_cararacter_lcd(carater[i]);
}

void putch(char c)
50

{
envia_cararacter_lcd(c);
}

void limpa_lcd()
{
envia_cmd_lcd(0x01);
}

void set_pos_cursor(char lin, char col) // 1,1


{
char pos;

switch(lin)
{
case 1: pos = (0x80 + col) - 1;
break;

case 2: pos = (0xC0 + col) - 1;


break;

default: pos = (0x80 + col) - 1;


break;
}

envia_cmd_lcd(pos);

void delay_ms_lcd(int ms)


{
while(ms--)
__delay_ms(1);
}

void delay_us_lcd(int us)


{
while(us--)
__delay_us(1);
}

Você também pode gostar