0% acharam este documento útil (0 voto)
23 visualizações100 páginas

Carga Eletrônica DC Programável de Baixo Custo

O documento apresenta um projeto de um protótipo de carga eletrônica DC programável, desenvolvido com a plataforma Arduino, visando oferecer uma alternativa de baixo custo em comparação às opções comerciais que custam cerca de US$ 525,00. O protótipo possui especificações de 50V, 10A e 70W, e foi construído por um custo total de R$248,06, atendendo às necessidades de estudantes e profissionais da área. Os testes realizados confirmaram que o projeto atendeu às expectativas de desempenho.

Enviado por

marcio.alcantara
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
23 visualizações100 páginas

Carga Eletrônica DC Programável de Baixo Custo

O documento apresenta um projeto de um protótipo de carga eletrônica DC programável, desenvolvido com a plataforma Arduino, visando oferecer uma alternativa de baixo custo em comparação às opções comerciais que custam cerca de US$ 525,00. O protótipo possui especificações de 50V, 10A e 70W, e foi construído por um custo total de R$248,06, atendendo às necessidades de estudantes e profissionais da área. Os testes realizados confirmaram que o projeto atendeu às expectativas de desempenho.

Enviado por

marcio.alcantara
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL

ESCOLA DE ENGENHARIA
DEPARTAMENTO DE ENGENHARIA ELÉTRICA

GABRIEL MINUZZI LAZARINI

PROJETO E DESENVOLVIMENTO DE CARGA ATIVA MICROCONTROLADA DE


BAIXO CUSTO

PORTO ALEGRE
2017
GABRIEL MINUZZI LAZARINI

PROJETO E DESENVOLVIMENTO DE CARGA ATIVA MICROCONTROLADA DE


BAIXO CUSTO

Projeto de Diplomação apresentado ao


Departamento de Engenharia Elétrica da
Universidade Federal do Rio Grande do Sul,
como requisito parcial à obtenção do título de
Engenheiro Eletricista.

Orientador: Professor Dr. Hamilton Klimach

Porto Alegre
2017
GABRIEL MINUZZI LAZARINI

PROJETO E DESENVOLVIMENTO DE CARGA ATIVA


MICROCONTROLADA DE BAIXO CUSTO

Este Projeto de Diplomação foi analisado e


julgado adequado para obtenção do título de
Bacharel em Engenharia Elétrica e aprovado
em sua forma final pelo orientador e pela
Banca Examinadora.

______________________________________________
Professor orientador, Prof. Dr. Hamilton Klimach, UFRGS.

______________________________________________
Regente da disciplina, Prof. Dra. Léia Bernardi Bagesteiro,
UFRGS.

Aprovado em: ___/___/___

BANCA EXAMINADORA

__________________________________________________
Prof. Dr. Hamilton Klimach, UFRGS

__________________________________________________
Prof. Dr. Luiz Fernando Ferreira, UFRGS

__________________________________________________
Eng. Roger Zamparetti, UFRGS

__________________________________________________
Eng. Gabriel Guimarães, UFRGS
AGRADECIMENTOS

Agradeço aos meus pais, por todas as oportunidades que me foram


proporcionadas por eles.

Agradeço à ela, que em tão pouco tempo fez tanto por mim.

Agradeço à minha família, por tudo que com eles aprendi.

Agradeço àqueles que, por vontade da vida, não estão mais entre nós, mas que
me fizeram chegar até aqui.

Agradeço aos meus amigos, pela paciência e pelo convívio.

Agradeço ao DAELE, pelos ensinamentos a respeito da importância de um bom


café e de bons momentos de lazer e gestão de tempo.

Por fim, agradeço aos leitores desse texto – não há reconhecimento maior pela
dedicação aqui empregada.
“It’s not personal, it’s just business”
Don Vito Corleone, em The Godfather (1972)
RESUMO

O presente relatório versa a respeito do projeto e construção de um protótipo de carga


eletrônica DC, programável, baseada em torno da plataforma de desenvolvimento
Arduino, e cujo objetivo é constituir uma opção de menor custo frente às opções
comerciais, ao mesmo tempo que é robusta, versátil, flexível e facilmente expansível.
Para tanto, a devida pesquisa de mercado foi realizada, levantando as opções de
entrada disponíveis, cujo preço base encontrado foi de US$ 525,00. Com isto,
verificou-se quais as necessidades do público a que o equipamento aqui desenvolvido
se destina (estudantes universitários de cursos de engenharia elétrica e afins,
hobbistas, entusiastas e profissionais da área em geral), realizou-se uma revisão
bilbiográfica em torno de conceitos fundamentais e por fim projetou-se e construiu-se
o referido circuito, com capacidade de tensão elétrica máxima de 50V, corrente
elétrica máxima de 10A e potência elétrica máxima de 70W. Com a realização de
testes de desempenho, conclui-se que o projeto desenvolvido atendeu às
expectativas, fazendo-o por um custo total de R$248,06, significativamente inferior
àquele anteriormente citado, conforme era desejado.

Palavras-chave: carga eletrônica, programável, Arduino, carga DC.


ABSTRACT

This report states over the project and construction of a prototype for a electronic
programmable DC load, based over an Arduino development platform, whose
objective is to be a low cost option for the commercialy available ones, as well as being
robust, versatile, flexible and easily expansible. To do so, the required market research
has been done, gathering the entry level options available, which yelded a base price
of US$525,00. That being said, the necessities of the targeted public which this
equipment is intended for (college students of electrical engineering and areas alike,
hobbysts, enthusiasts and general professionals) have been verified, a bibliographic
revision around fundamental concepts has been done, and at last the said circuit has
been projected and built, with ratings as of 50V for maximum voltage, 10A for maximum
current and 70W for maximum power. With the realization of performance tests,
conclusions are that the develped project met the expectations, doing so for a cost of
R$248,06, significantly lower than the one quoted before, as desired.

Keywords: electronic load, programmable, Arduino, DC load.


LISTA DE ILUSTRAÇÕES

Figura 1 - Carga Eletrônica DC Programável Model 8540. .................................................................... 14


Figura 2 - Carga Eletrônica DC Programável Model 8600. .................................................................... 15
Figura 3 - Carga Eletrônica DC Programável Model 2380-120-60......................................................... 17
Figura 4 - Diagrama de blocos de uma carga eletrônica DC. ................................................................ 19
Figura 5 - O amplificador operacional GAP/R K2-W, foto (e) e diagrama esquemático (d).................. 22
Figura 6 - GAP/R P45, um amplificador operancional de estado sólido. .............................................. 23
Figura 7 - ADI HOS-050 - Amplificador operacional híbrido de alta velocidade. .................................. 23
Figura 8 - Símbolo Elétrico de um MOSFET. .......................................................................................... 25
Figura 9 - Corte transversal de um transistor NMOS. ........................................................................... 26
Figura 10 - Curvas e regiões de operação de um transistor MOSFET. .................................................. 27
Figura 11 - Placa de desenvolvimento Arduino UNO. ........................................................................... 30
Figura 12 - Circuito de um Divisor Resistivo. ......................................................................................... 32
Figura 13 - Circuito completo para medição de tensão elétrica de entrada. ....................................... 34
Figura 14 - Circuito de um amplificador não-inversor. ......................................................................... 36
Figura 15 - Circuito de medição de corrente elétrica............................................................................ 37
Figura 16 - Circuito base para controle do transistor MOSFET. ............................................................ 38
Figura 17 - Circuito driver do MOSFET de potência. ............................................................................. 41
Figura 18 - Conexão elétrica do MCP4725. ........................................................................................... 43
Figura 19 - Circuito completo da conexão do conversor D/A. .............................................................. 46
Figura 20 - Conexão elétrica do ADS1115. ............................................................................................ 46
Figura 21 - Circuito Elétrico Equivalente Para Circuito Térmico. .......................................................... 47
Figura 22 - Circuito para medição de temperatura. .............................................................................. 51
Figura 23 - Diagrama de conexão do sensor DS18B20.......................................................................... 51
Figura 24 – Circuito amortecedor – snubber. ....................................................................................... 52
Figura 25 – Circuito de proteção contra sobretensão. ......................................................................... 53
Figura 26 - Circuito elétrico para conexão dos botões.......................................................................... 54
Figura 27 - Diagrama para conexão do display LCD. ............................................................................. 55
Figura 28 - Diagrama esquemático das fontes de alimentação. ........................................................... 56
Figura 29 - Diagrama do circuito - Entrada e conversores. ................................................................... 57
Figura 30 - Diagrama do circuito - Fontes de alimentação e Arduino................................................... 58
Figura 31 - Diagrama do circuito - Display e botões. ............................................................................ 58
Figura 32 - Tensão Elétrica de Entrada Vin e Saída Vout. ..................................................................... 60
Figura 33 - Tensão Elétrica de Entrada Vin e Corrente Elétrica no Zener Id. ........................................ 60
Figura 34 - Corrente Elétrica de Entrada Iin e Tensão Elétrica de Saída Vout. ..................................... 61
Figura 35 - Tensão Elétrica de Saída Vout e Tensão Elétrica no Resistor Shunt Vs............................... 62
Figura 36 - Corrente Elétrica de Entrada Iin e Corrente Elétrica no Diodo Zener Id. ............................ 62
Figura 37 - Corrente de Entrada Iin e Tensão de Referência Vref......................................................... 64
Figura 38 - Corrente de Entrada Iin e Tensão de Referência Vref, overshoot inicial. ........................... 64
Figura 39 - Corrente de Entrada Vin e Tensão de Referência Vref, erro estático. ................................ 65
Figura 40 - Corrente Elétrica de Entrada para aplicação de degraus na Tensão de Referência. .......... 66
Figura 41 - Detalhe do comportamento da Corrente Elétrica de Entrada Iin quando da aplicação de
um degrau de 20mV na Tensão de Referência Vref. ............................................................................ 66
Figura 42 - Detalhe do comportamento da Corrente Elétrica de Entrada Iin quando da aplicação de
um degrau de 30mV na Tensão de Referência Vref. ............................................................................ 67
Figura 43 - Corrente Elétrica de Entrada (em verde) quando da aplicação de um degrau de 20V na
Tensão Elétrica de Entrada (em vermelho). .......................................................................................... 67
Figura 44 - Fluxograma referente ao programa desenvolvido.............................................................. 69
Figura 45 - Layout do circuito impresso, lado cobreado. ...................................................................... 73
Figura 46 - Layout do circuito impresso, posição dos componentes. ................................................... 74
Figura 47 - Protótipo final montado...................................................................................................... 75
Figura 48 - Limites de operação. ........................................................................................................... 81
LISTA DE TABELAS

Tabela 1 - Especificações da Carga Eletrônica Model 8540. ................................................................. 14


Tabela 2 - Especificações da carga eletrônica Model 8600................................................................... 16
Tabela 3 - Especificações da Carga Eletrônica Model 2380-120-60...................................................... 17
Tabela 4 - Especificações técnicas da placa Arduino UNO. ................................................................... 29
Tabela 5 - Caracterísitcas do MOSFET IRFP260N. ................................................................................. 42
Tabela 6- Faixas de tensão elétrica de saída e entrada. ....................................................................... 44
Tabela 7 - Dados para Projeto Térmico. ................................................................................................ 48
Tabela 8 - Constantes e variáveis declaradas no programa. ................................................................. 70
Tabela 9 - Descrição das funções utilizadas. ......................................................................................... 71
Tabela 10 - Valores de Calibração do Circuito de Medição de Tensão. ................................................ 77
Tabela 11 - Valores de Calibração do Circuito de Medição de Corrente. ............................................. 78
Tabela 12 - Dados de Teste do Circuito Driver. ..................................................................................... 80
Tabela 13 - Comparativo entre as opções citadas. ............................................................................... 82
Tabela 14 - Lista de materiais utilizados e seus valores. ....................................................................... 83
LISTA DE SIGLAS

A/D – Analógico para Digital

ADC – Analogic to Digital Converter

AMPOP – Amplificador Operacional

CI – Circuito Integrado

D/A – Digital para Analógico

DAC – Digital to Analogic Converter

DELET – Departamento de Engenharia Elétrica

FS – Full Scale

IC – Integrated Circuit

MOSFET – Metal Oxide Semiconductor Field Effect Transistor

MSRP – Manufacturer’s Suggested Retail Price

OPAMP – Operational Amplifier

UFRGS – Universidade Federal do Rio Grande do Sul


SUMÁRIO

1 INTRODUÇÃO ....................................................................................................... 12
1.1 MOTIVAÇÃO PARA O ESTUDO ................................................................. 12
1.2 OPÇÕES COMERCIAIS .............................................................................. 13
1.3 ESTRUTURAÇÃO DO TEXTO .................................................................... 18
2 REVISÃO DE CONCEITOS TEÓRICOS ............................................................... 19
2.1 PRINCÍPIO DE FUNCIONAMENTO DE UMA CARGA ELETRÔNICA ........ 19
2.2 O AMPLIFICADOR OPERACIONAL ............................................................ 21
2.3 TRANSISTOR DE EFEITO DE CAMPO – MOSFET ................................... 24
2.4 A PLATAFORMA ARDUINO ........................................................................ 28
3 PROJETO E CONSTRUÇÃO DE PROTÓTIPO .................................................... 31
3.1 DEFINIÇÃO DAS CARACTERÍSTICAS DESEJADAS................................. 31
3.2 PROJETO E CÁLCULO ............................................................................... 31
3.3 SIMULAÇÃO – PARTE ANALÓGICA .......................................................... 59
3.4 PROGRAMAÇÃO......................................................................................... 68
3.5 IMPLEMENTAÇÃO PRÁTICA ...................................................................... 72
4 TESTES E FUNCIONAMENTO ............................................................................. 76
4.1 METODOLOGIA DE TESTE E CALIBRAÇÃO ............................................. 76
4.2 RESULTADOS E DISCUSSÃO ................................................................... 81
5 CONCLUSÕES ...................................................................................................... 86
6 SUGESTÕES PARA TRABALHOS FUTUROS .................................................... 88
REFERÊNCIAS ......................................................................................................... 89
BIBLIOGRAFIA CONSULTADA .............................................................................. 90
CÓDIGO DO PROGRAMA PRINCIPAL ....................................... 91
CÓDIGO PARA CALIBRAÇÃO DE VIN E IIN ................................. 97
CÓDIGO PARA CALIBRAÇÃO DO DAC ..................................... 98
12

1 INTRODUÇÃO

1.1 MOTIVAÇÃO PARA O ESTUDO

No decorrer de alguns cursos, em especial os de Engenharia Elétrica e áreas


afins, os alunos são solicitados a desenvolverem e realizarem os mais diversos tipos
de atividades e trabalhos, sejam eles teóricos ou práticos. Estes, por sua vez,
envolvem as mais variadas competências e capacidades, que possível e
provavelmente lhes serão posteriormente cobradas quando do exercício de sua
atividade profissional.

A fim de cumprir com o solicitado, faz-se necessário o uso de diferentes


conhecimentos, bem como de ferramentas que tanto possibilitem quanto facilitem a
realização de tais tarefas. Tratando em específico daquelas que envolvem um cunho
prático, podemos citar alguns instrumentos e equipamentos de utilização comum e
corriqueira, tais como multímetros, fontes de alimentação, geradores de sinal e
osciloscópios. De uma forma geral, estes equipamentos são suficientes para suprir
grande parte das necessidades, o acesso aos mesmos é descomplicado, além de
serem facilmente encontrados no mercado, em uma ampla faixa de preços.

Contudo, existem casos em que ferramentas que tornariam o trabalho melhor


ou mais fácil não estão disponíveis, ou seu uso é proibitivo em virtude do seu custo
ou facilidade de obtenção. Uma destas ferramentas que se pode citar é a chamada
carga eletrônica, também conhecida como carga ativa. Trata-se de uma ferramenta
muito útil em especial quando se trabalha com circuitos de alimentação, tais como
fontes e baterias, bem como de acionamentos, os quais necessitam serem testados
sob condições de carga.

Seu objetivo é simples: fazer as vezes de um simples resistor, porém com


significativas e importantes diferenças. Enquanto que um resistor possui um valor de
resistência elétrica fixo, uma carga ativa pode ser configurada de forma a apresentar
ao circuito conectado aos seus terminais o valor de resistência elétrica desejado pelo
operador. Além disso, pode-se definir não um valor de resistência elétrica fixo, mas
sim um valor de corrente elétrica ou de potência elétrica a ser consumida,
independente da tensão de alimentação aplicada. Soma-se ainda a estas vantagens
o fato destes dispositivos serem capazes de dissipar facilmente potências elétricas da
13

ordem de algumas centenas de Watts, algo bastante pouco prático de se realizar com
resistores comuns.

Apesar de sua grande versatilidade, as cargas eletrônicas encontradas no


mercado situam-se em uma faixa de preço bastante elevada, com preços partindo de
algo próximo a meio milhar de reais por um dispositivo bastante simples, além de
serem difíceis de encontrar à venda. Este fato torna seu uso bastante restrito, tanto
por alunos de cursos como o de Engenharia Elétrica, bem como por hobbistas e até
mesmo alguns profissionais da área.

Estes fatos constituem a motivação fundamental para a realização deste


trabalho, o qual busca desenvolver uma solução simples, de custo acessível, baseada
em tecnologias e plataformas de desenvolvimento bem conhecidas, ao mesmo tempo
que seja completa em termos de funcionalidades, voltada ao público anteriormente
citado. Não obstante tais fatos, deseja-se obter uma base de hardware que permita
futuras expansões de funcionalidades que por ventura sejam desejadas, de forma que
o presente projeto possa ser expandido em eventuais futuros trabalhos.

1.2 OPÇÕES COMERCIAIS

Existe atualmente uma gama de cargas eletrônicas DC programáveis no


mercado, fabricadas por conhecidas marcas de equipamentos de laboratório e
instrumentação, tais como BK Precision e Tektronix. A seguir, são apresentadas três
diferentes opções, que constituem as versões de entrada da linha de produtos de
ambos os fabricantes, ordenadas de acordo com o seu MSRP (Manufacturer’s
Suggested Retail Price – preço de venda sugerido pelo fabricante), do menor para o
maior preço.

Com um preço sugerido de US$ 525,00, a carga eletrônica Model 8540 da BK


Precision constitui a opção mais barata atualmente disponível na linha de produtos
dos fabricantes consultados. As características da mesma estão apresentadas na
Tabela 1, enquanto o equipamento em si está representado na Figura 1.
14

Figura 1 - Carga Eletrônica DC Programável Model 8540.

Fonte: Imagem Digital, BK Precision, 2017.

Tabela 1 - Especificações da Carga Eletrônica Model 8540.

Faixa de Entrada Tensão Corrente Potência

(0 – 40°C) 0 – 60V 1mA – 30A 150W

Faixa Precisão Resolução

0 – 10V ±(0,05% + 0,1%𝐹𝑆) 1mV

Regulação de Carga 0 – 60V ±(0,05% + 0,1%𝐹𝑆) 10mV

0 – 3A ±(0,1% + 0,1%𝐹𝑆) 1mA

0 – 30A ±(0,1% + 0,15%𝐹𝑆) 10mA

Modo Tensão Constante 0,1 – 60V ±(0,05% + 0,1%𝐹𝑆) 10mV

0 – 3A ±(0,1% + 0,1%𝐹𝑆) 1mA


Modo Corrente Constante
0 – 30A ±(0,1% + 0,15%𝐹𝑆) 10mA
15

0,1 – 10Ω ±(1% + 0,8%𝐹𝑆) 0,001Ω

Modo Resistência 10 – 99Ω ±(1% + 0,8%𝐹𝑆) 0,01Ω


Constante 100 – 999Ω ±(1% + 0,8%𝐹𝑆) 1Ω

1k – 4kΩ ±(1% + 0,8%𝐹𝑆) 1Ω

0 – 3A ±(0,1% + 0,1%𝐹𝑆) 1mA


Medição de Corrente
0 – 30A ±(0,1% + 0,15%𝐹𝑆) 10mA

Medição de Tensão 0 – 10V ±(0,05% + 0,1%𝐹𝑆) 1mV


Elétrica 0 – 60V ±(0,05% + 0,1%𝐹𝑆) 10mV

0 – 10W ±(1% + 0,5%𝐹𝑆) 1mW

Medição de Potência 10 – 99W ±(1% + 0,5%𝐹𝑆) 10mW

100–150W ±(1% + 0,5%𝐹𝑆) 100mW


Fonte: Model 8540 datasheet, BK Precision, 2014.

Como segunda opção, tem-se a carga eletrônica Model 8600, com preço
sugerido de US$ 1050,00, mostrada na Figura 2 a seguir, e cujas especificações
encontram-se na Tabela 2.

Figura 2 - Carga Eletrônica DC Programável Model 8600.

Fonte: Imagem digital. BK Precision, 2017.


16

Tabela 2 - Especificações da carga eletrônica Model 8600.

Faixa de Entrada Tensão Corrente Potência

(0 – 40°C) 0 – 120V 0A – 30A 150W

Faixa Precisão Resolução

Modo Tensão 0 – 18V ±(0,05% + 0,02%𝐹𝑆) 0,1mV


Constante 0 – 120V ±(0,05% + 0,025%𝐹𝑆) 1mV

Modo Corrente 0 – 3A ±(0,05% + 0,05%𝐹𝑆) 0,01mA


Constante 0 – 30A ±(0,05% + 0,05%𝐹𝑆) 0,1mA

Modo Resistência 0,05 – 10Ω ±(0,01% + 0,08 𝑆) 16 bits


Constante 10 – 7,5kΩ ±(0,01% + 0,0008 𝑆) 16 bits

Modo Potência Const. 150W 0,1% + 0,1% 𝐹𝑆 10mW

Medição de Corrente 0 – 3A ±(0,05% + 0,05%𝐹𝑆) 0,01mA


Elétrica 0 – 30A ±(0,05% + 0,05%𝐹𝑆) 0,1mA

Medição de Tensão 0 – 18V ±(0,05% + 0,05%𝐹𝑆) 0,1mV


Elétrica 0 – 120V ±(0,05% + 0,05%𝐹𝑆) 1mV

Medição de Potência 0 – 150W ±(1% + 0,1%𝐹𝑆) 10mW


Fonte: Model 8600 datasheet, BK Precision, 2015.

Como último modelo avaliado, tem-se a carga eletrônica Model 2380-120-60,


produzida pela Tektronix, cujo MSRP é de US$ 1880,00. A mesma é mostrada na
Figura 3 e as suas características estão presentes na Tabela 3.
17

Figura 3 - Carga Eletrônica DC Programável Model 2380-120-60.

Fonte: Imagem digital. Tektronix, 2017.

Tabela 3 - Especificações da Carga Eletrônica Model 2380-120-60.

Faixa de Entrada Tensão Corrente Potência

(0 – 40°C) 0 – 120V 0A – 60A 250W

Faixa Precisão Resolução

Modo Tensão 0 – 18V ±(0,05% + 0,025%𝐹𝑆) 1mV


Constante 0 – 120V ±(0,05% + 0,025%𝐹𝑆) 10mV

Modo Corrente 0 – 6A ±(0,05% + 0,1%𝐹𝑆) 0,1mA


Constante 0 – 60A ±(0,05% + 0,1%𝐹𝑆) 1mA

Modo Resistência 0,05–10Ω ±(0,01% + 0,08 𝑆) 0,001Ω


Constante 10–7,5kΩ ±(0,01% + 0,0008 𝑆) 0,01Ω

Modo Potência 250W 0,2% + 0,2% 𝐹𝑆 10mW


Constante

Medição de Corrente 0 – 6A ±(0,05% + 0,1%𝐹𝑆) 0,1mA


Elétrica 0 – 60A ±(0,05% + 0,1%𝐹𝑆) 1mA

0 – 18V ±(0,025% + 0,025%𝐹𝑆) 0,1mV


18

Medição de Tensão 0 – 120V ±(0,025% + 0,025%𝐹𝑆) 1mV


Elétrica

Medição de Potência 0 – 250W ±(0,2% + 0,2%𝐹𝑆) 10mW


Fonte: Model 2380 Datasheet, Tektronix.

Tendo sido apresentadas as opções disponíveis no mercado, convém analisar


o princípio de funcionamento destes dispositivos, de forma a permitir maior
entendimento a respeito do assunto para o posterior projeto do mesmo

1.3 ESTRUTURAÇÃO DO TEXTO

O presente trabalho estrutura-se em seis capítulos principais, os quais versam


acerca das disposições iniciais, introdução ao tema e motivação para o estudo no
capítulo 1; uma revisão teórica dos fundamentos necessários à realização do mesmo
é apresentada no capítulo 2; o capítulo 3 trata a respeito do projeto e construção do
protótipo, incluindo a definição das características desejadas, o cálculo e
dimensionamento dos diferentes circuitos, bem como suas simulações
computacionais, além das etapas de programação e implementação prática; os testes
e análise de funcionamento do dispositivo construído encontram-se no capítulo 4; as
conclusões a respeito dos resultados observados em relação àquilo que foi proposto
estão apresentados no capítulo 5; sugestões para futuros trabalhos situam-se no
capítulo 6.

Adicionalmente, existem três diferentes apêndices: no APÊNDICE A - é


apresentado o código do programa principal; no APÊNDICE B - é apresentado o
código utilizado na calibração e ajuste dos circuitos de medição de tensão elétrica e
corrente elétrica de entrada; e no APÊNDICE C - é apresentada a rotina utilizada para
calibração do conversor D/A.
19

2 REVISÃO DE CONCEITOS TEÓRICOS

2.1 PRINCÍPIO DE FUNCIONAMENTO DE UMA CARGA ELETRÔNICA

Uma carga ativa microcontrolada pode ser descrita, de forma simplifacada,


pelo diagrama de blocos apresentado na Figura 4, do qual podemos identificar alguns
blocos de circuitos e suas finalidades.

Figura 4 - Diagrama de blocos de uma carga eletrônica DC.


Vin

Iin
DISPLAY
CONVERSOR MEDIÇÃO
A/D Vin

CONVERSOR
SERIAL ARDUINO D/A DRIVER MOSFET

TECLADO
CONVERSOR MEDIÇÃO
A/D Iin

Barramento
I²C

Fonte: Do autor.

O primeiro bloco trata da interface entre o dispositivo e o operador. É


composto por um display, que tem por objetivo informar dados do funcionamento do
equipamento, tais como corrente e tensão elétrica nos seus terminais, potência
elétrica consumida, informações de configuração, modo de operação, set-points, entre
outros dados relevantes. Faz parte deste bloco também um dispositivo de entrada de
dados, que pode ser tanto um encoder rotativo, um teclado, ou mesmo uma
combinação de ambos.

Em seguida destaca-se o bloco que envolve o microcontrolador em si, bem


como os dispositivos de conversão analógico-digital (ADC – Analogic-to-Digital
Converter) e de conversão digital-analógico (DAC – Digital-to-Analogic Converter).
Tem-se neste concentradas as tarefas de leitura dos sensores, sejam eles de tensão
elétrica, corrente elétrica, temperatura, entre outros cujos dados forem de interesse,
bem como do dispositivo de entrada escolhido.
20

Os valores de leitura dos sensores estão presentes na entrada do ADC, o qual


converte os mesmos para um número binário com tantos bits quantos forem a
resolução do dispositivo empregado. Quanto maior a resolução, maior o universo de
valores possíveis, e portanto menores variações são perceptíveis ao circuito.

Os dados pertinentes são enviados ao display, enquanto que o valor


adequado é definido pelo microcontrolador e enviado ao dispositivo DAC, na forma de
um número binário de n bits, de acordo com a resolução do conversor empregado,
para que seja convertido em um valor analógico, o qual será responsável pela
definição do valor de referência a ser seguido pelo controlador. Da mesma forma que
os conversores analógico-digital, quanto maior a resolução do conversor digital-
analógico, menores serão as variações de tensão elétrica obtiveis em sua saída, e
mais preciso será o controle do circuito.

Destaca-se em seguida os blocos referentes aos sensores de tensão elétrica


de entrada e de corrente elétrica consumida pelo dispositivo. No primeiro caso, o
mesmo é composto por um divisor resistivo, cujo objetivo é adequar os níveis de
tensão elétrica da entrada para os limites tolerados pelo circuito, neste caso, pelo ADC
empregado. A saída do divisor resistivo é conectada a um amplificador operacional
em configuração seguidor de tensão, afim de que não seja consumida corrente elétrica
da saída do circuito divisor, assim não alterando a medida realizada. Posteriormente,
este seguidor de tensão tem sua saída conectada à entrada do conversor analógico-
digital.

Por outro lado, o sensor de corrente elétrica é composto de um resistor shunt


de baixo valor de resistência elétrica, conectado em série com a entrada do
dispositivo. Um amplificador de instrumentação é utilizado para efetuar a leitura do
valor de queda de tensão elétrica entre os terminais deste resistor, valor este que é
dependente da corrente elétrica que circula pelo shunt, tal como dado pela Lei de
Ohm. O ganho do amplificador é definido de forma a adequar o nível de tensão elétrica
referente à leitura da corrente elétrica à faixa de valores tolerados pelo ADC
empregado, bem como aproveitá-la toda, assim maximizando a precisão de leitura..

Tem-se ainda o bloco referente ao circuito de controle analógico, responsável


por receber o valor de referência fornecido através do conversor digital-analógico pelo
21

microcontrolador, o qual deve ser comparado ao valor de leitura do sensor de corrente


elétrica, e a partir da diferença entre estes dois valores, é definido o sinal de controle
a ser aplicado. Este circuito é implementado com base em um amplificador
operacional, de forma que permita obter-se na saída um seguimento à referência
aplicada ao controlador.

O último bloco que compõe o circuito básico é o próprio transistor MOSFET,


o qual é responsável pela dissipação da potência elétrica consumida, e cujas
características estão mais bem detalhadas no decorrer deste documento.

2.2 O AMPLIFICADOR OPERACIONAL

Apesar de hoje em dia os amplificadores operacionais (do inglês, operational


amplifier – OpAmp) serem bem conhecidos e largamente utilizados na forma de
circuitos integrados monolíticos, o seu desenvolvimento remonta ao início do século
XX. Segundo Walt Jung (2002), foram duas as invenções chave que levaram ao que
hoje é um padrão largamente utilizado na indústria, sendo elas a criação de um
elemento retificador baseado em uma placa, a qual quando polarizada positivamente,
atuava como um eletrodo capturando elétrons emitidos por um filamento, estando
ambos situados no interior de um bulbo de vidro selado a vácuo. Este dispositivo,
patenteado em 1904 por J.A. Fleming, ficou conhecido como “diodo de Fleming”.

Adicionalmente a esta criação, foi de fundamental importância a invenção, por


parte de Lee De Forest em 1906, de uma válvula tríodo de três elementos. Este foi o
primeiro dispositivo capaz de realizar a amplificação de sinais elétricos, utilizando um
outro eletrodo, denominado grade (grid), posicionado entre o filamento e a placa de
uma válvula diodo. Desta forma, tornou-se possível o desenvolvimento de toda a
gama de dispositivos eletrônicos modernos.

Em se tratando de amplificadores operacionais, um conceito muito importante


é o de realimentação. Neste sentido, é importante destacar a concepção do princípio
de realimentação (feedback) em amplificadores, desenvolvido nos Laboratórios Bell
(Bell Telephone Laboratories), durante o final dos anos 1920 e início dos anos 1930.
Foi este conceito que abriu caminho para soluções como os amplificadores
22

operacionais de aplicação geral (general purpose) baseados em válvulas, tais como o


apresentado na Figura 5, os quais começaram a surgir no início dos anos 1940 e
permaneceram em voga até a sua substituição por versões de estado sólido nas
décadas de 1950 e 1960.

Figura 5 - O amplificador operacional GAP/R K2-W, foto (e) e diagrama esquemático


(d).

Fonte: Op Amp Applications, Walter G. Jung, 2002.

Os amplificadores operacionais baseados em válvulas termoiônicas eram


dispositivos grandes, os quais ocupavam um considerável espaço, geravam uma
quantidade grande de calor, e consumiam uma potência elétrica considerável. Como
alternativa a eles, iniciou-se um processo de miniaturização, utilizando os então recém
disseminados transistores de junção bipolar (BJT). Neste período, teve-se a criação
de dispositivos como os GAP/R P45, introduzido em 1963, e os ADI HOS-050,
introduzidos em 1977, mostrados na Figura 6 e Figura 7.
23

Figura 6 - GAP/R P45, um amplificador operancional de estado sólido.

Fonte: Op Amp Applications, Walter G. Jung, 2002.

Figura 7 - ADI HOS-050 - Amplificador operacional híbrido de alta velocidade.

Fonte: Op Amp Applications, Walter G. Jung, 2002.

Como uma última etapa da evolução, tem-se o desenvolvimento do primeiro


amplificador operacional encapsulado em um circuito integrado monolítico, por volta
da metade dos anos 1960. Deste ponto em diante, houve um rápido desenvolvimento
quanto às características de desempenho dos mesmo, e não mais tanto a sua
topologia ou encapsulamento, com a apresentação de modelos que viriam a se tornar
padrões na indústria, como os bem conhecidos 𝜇A702 (Fairchild Semiconductors,
1963), o qual foi um marco histórico, sendo um dos primeiros amplificadores
operacionais monolíticos, LM101 (National Semiconductors, 1967), 𝜇A741 (Fairchild
Semiconductors, 1968), LM324 (National Semiconductors, 1972) e OP07 (Precision
24

Monolithics, 1975). Cabe destacar a grande importância do 𝜇A741, um amplificador


operacional monolítico com compensação interna, que viria a se tornar um grande
marco na indústria, amplamente utilizado até os dias atuais, sendo sem sombra de
dúvidas o mais popular dentro desta classe de circuitos integrados.

Exposta de forma breve a história deste componente que é fundamental às


mais diversas aplicações atualmente, cabe citar alguns aspectos técnicos
fundamentais ao entendimento do funcionamento destes dispositivos, bem como
permitir o seu equacionamento. Desta forma, tal como exposto por Walt Jung (2002),
um amplificador operacional idealmente possui ganho diferencial infinito, ganho de
modo comum nulo, tensão de offset nula e corrente de polarização nula.
Adicionalmente, apresenta em suas entradas uma alta impedância, e uma baixa
impedância de saída. Desta forma, surgem dois conceitos muito utilizados no
equacionamento de circuitos envolvendo amplificadores operacionais: o curto circuito
virtual, onde considera-se que as entradas inversora e não inversora estão
conectadas, e a corrente de entrada nula, onde não há fluxo de corrente elétrica nas
entradas do amplificador operacional.

2.3 TRANSISTOR DE EFEITO DE CAMPO – MOSFET

Segundo Sedra, A.; Smith, K.C. (2004), o transistor de efeito de campo de


metal-óxido-semicondutor, do inglês Metal Oxide Semiconductor Field Effect
Transistor – MOSFET, um tipo de transistor de efeito de campo (Field Effect Transistor
– FET), é um dispositivo composto de quatro terminais, denominados Fonte (Source),
Porta (Gate), Dreno (Drain) e Substrato (Body). Quando tratado na forma de
componente discreto, tem-se apenas três terminais acessíveis, uma vez que o
substrato é conectado ao terminal de fonte, tal como tem-se representado na Figura
8.
25

Figura 8 - Símbolo Elétrico de um MOSFET.

A teoria básica por trás do seu funcionamento foi patenteada por Julius Edgar
Lillenfeld, em 1925. Porém somente em 1959 o primeiro transistor MOSFET foi
desenvolvido, nos laboratórios Bell, por Dawon Kahng e Martin Atalla. Hoje, o termo
metal no nome não passa de uma reminiscência dos primeiros chips, onde o terminal
de porta era composto de metal.

Ocorre então uma mudança, onde o terminal de porta passa a ser composto
de silício policristalino, isolado do substrato por uma fina camada de óxido de silício.
Com a posterior evolução, a partir da tecnologia fabril de 45nm, voltou-se a utilizar
metal como o terminal de porta, embora não mais alumínio como antes, e sim
tungstênio ou tântalo. O substrato, por sua vez, é composto de um semicondutor, mais
comumente silício, com uma dopagem complementar à dos poços que compõem os
terminais de fonte e dreno. Notadamente, em um MOSFET do tipo N, tem-se o
substrato com uma dopagem P, enquanto os poços possuem dopagem N, enquanto
que nos transistores do tipo P o substrato possui dopagem N, e os poços, dopagem
P. A Figura 9 a seguir ilustra o aspecto construtivo.
26

Figura 9 - Corte transversal de um transistor NMOS.

Quando uma diferença de potencial elétrico é aplicada entre os terminais de


Porta e Substrato, cria-se um campo elétrico entre eles, capaz de causar uma
redistribuição de cargas, e assim permitindo a formação de um canal condutor entre
os terminais de dreno e fonte. Dado o fato de, em dispositivos discretos, os terminais
de Substrato e Fonte estarem conectados, é atribuído a sigla V GS à esta diferença de
potencial elétrico.

É fácil notar que quanto maior for a diferença de potencial V GS aplicada, maior
será a condutividade do canal criado. Assim, o transistor MOSFET é um dispositivo
que permite o controle de sua condutividade, e por consequência, da corrente elétrica
que flui entre os terminais Fonte e Dreno, por meio da tensão elétrica V GS aplicada.

De forma resumida, podemos descrever três diferentes modos de operação


para um transistor deste tipo, sendo estas definidas por meio das tensões elétricas
aplicadas a seus terminais. Para um transistor N-MOS, os modos são os seguintes:

a) Região de Corte, definido quando VGS < Vth, onde Vth é a Tensão de
Threshold, parâmetro do dispositivo que indica o ponto do limiar de
condução. Neste estado, o transistor encontra-se cortado (desligado), e
não há corrente circulando entre dreno e fonte.

b) Região de Triodo, dada quando VGS > Vth e VDS < VGS – Vth, onde VDS é a
tensão elétrica entre os terminais dreno e fonte. Aqui tem-se o início da
condução, quando o canal que permite o fluxo de corrente elétrica entre
27

os terminais de dreno e fonte é criado. Tal corrente é dada através da


seguinte expressão

2 ),
𝜇𝑛 𝐶𝑜𝑥 𝑊
𝐼𝐷 = 𝑎 (2(𝑉𝐺𝑆 − 𝑉𝑡ℎ )𝑉𝐷𝑆 − 𝑉𝐷𝑆 𝑜𝑛𝑑𝑒 𝑎 =
2 𝐿

Nota-se, portanto, que o MOSFET opera como um resistor, controlado pelo


valor de tensão elétrica aplicado ao terminal de porta.

c) Região de Saturação, quando VGS > Vth e VDS > VGS – Vth. Nesta condição,
é criado um canal que permite a fluxo de corrente entre dreno e fonte.
Entretanto, como a tensão elétrica entre estes terminais é maior do que
aquela aplicada à porta, cria-se uma região de pinçamento neste canal, e
portanto a corrente elétrica que circula entre dreno e fonte é independente
da tensão de dreno, em uma primeira aproximação, sendo controlada
somente pela tensão elétrica VGS e dada por:

𝜇𝑛 𝐶𝑜𝑥 𝑊
𝐼𝐷 = 𝑎 (𝑉𝐺𝑆 − 𝑉𝑡ℎ )2 , 𝑜𝑛𝑑𝑒 𝑎 =
2 𝐿

Estes três casos são ilustrados na Figura 10. Cabe ressaltar que, apesar de o
MOSFET apresentar um comportamento linear na região de tríodo, o seu uso como
elemento amplificador dá-se quando polarizado na região de saturação.

Figura 10 - Curvas e regiões de operação de um transistor MOSFET.


28

2.4 A PLATAFORMA ARDUINO

Segundo Jeremy Blum (2013), “A melhor parte a respeito da plataforma de


prototipagem Arduino é que ela é qualquer coisa que você queira que ela seja” (“The
best part about the Arduino prototyping platform is that it’s whatever you want it to be”).
Esta definição a respeito de o que é a plataforma Arduino destaca uma de suas
maiores virtudes: a versatilidade.

Criado em 2003 por Hernando Barragán, como uma tese de mestrado no


Interaction Design Institute Ivrea (IDII), na Itália, com o objetivo de ser uma plataforma
de uso fácil e descomplicado, de baixo custo, e que permitisse mesmo àqueles com
pouco ou nenhum conhecimento na área de eletrônica e programação desenvolverem
os mais diversos projetos. Desde circuitos tão simples como um pisca LED, até
circuitos complexos de controle das mais diversas plantas. Pela grande facilidade e
agilidade de implementação, atraiu grande atenção e interesse tanto por parte de
leigos quanto de profissionais com vasto conhecimento na área.

Mais conhecido pelo hardware em si, na verdade Arduino é o nome dado ao


conjunto de hardware e software, isto é, à plataforma. O software é open-source,
multiplataforma e gratuito, enquanto o hardware, a placa em si, também open-source,
está disponível para compra no mercado por valores bastante atrativos, ou mesmo
pode ser montada por quem assim o desejar, uma vez que os diagramas de circuito
estão disponíveis de forma pública. Segundo dados estimados pela Adafruit
Industries, distribuidor oficial de placas e acessórios Arduino, situada em Nova York,
no ano de 2013 haviam mais de 700.000 placas Arduino oficiais nas mãos de usuários
– isto sem contar todas as versões “clone”, uma vez que trata-se de hardware open-
source.

Além disso, pela grande adesão e alta relevância em nível mundial, a


plataforma conta com um fórum e uma comunidade bastante ativos, de forma que se
promove uma troca de experiências vasta. Desta forma, existe sempre um bom
suporte a quem esteja tendo alguma dificuldade com o seu projeto. Do mesmo modo,
opções e possibilidade são constantemente discutidas, possibilitando e encorajando
ainda mais a realização dos projetos intencionados.
29

Dentre as diversas versões da placa Arduino disponíveis no mercado, para o


presente projeto optou-se por trabalhar com a placa Arduino UNO, de revisão 3 (R3),
por se tratar de um dos modelos mais simples e de ampla disseminação. As
especificações do mesmo são as mostradas na Tabela 4.

Tabela 4 - Especificações técnicas da placa Arduino UNO.

ARDUINO UNO R3
Microcontrolador ATmega328P
Tensão de Operação 5V
Tensão de Entrada (recomendada) 7 a 12V
Tensão de Entrada (limite) 6 a 20V

Pinos de E/S Digitais 14 (dos quais 6 com saída PWM)


Pinos de E/S Digitais PWM 6
Pinos de Entrada Analógica 6
Corrente DC por Pino de E/S 20mA
Corrente DC para Saída de 3.3V 50mA
32KB (ATmega328P), dos quais
Memória Flash
0,5KB são usados pelo bootloader

SRAM 2KB (ATmega328P)


EEPROM 1KB (ATmega328P)
Frequência de Clock 16MHZ
Interface USB
Dimensões
Comprimento 68,6mm

Largura 53,4mm
Peso 25g
Fonte: [Link]
30

Figura 11 - Placa de desenvolvimento Arduino UNO.

Fonte: Imagem digital, [Link]


31

3 PROJETO E CONSTRUÇÃO DE PROTÓTIPO

3.1 DEFINIÇÃO DAS CARACTERÍSTICAS DESEJADAS

Tomando como base as características de cargas eletrônicas disponíveis


comercialmente, nota-se que para o uso pretendido para o equipamento aqui proposto
estas são bastante exageradas. Para um estudante de Engenharia Elétrica, correntes
e tensões elétricas da ordem de cinco ou mais dezenas de ampères ou algumas
centenas de volts são coisas pouco comuns no decorrer da graduação. Desta forma,
não cabe aqui propor algo que se equipare ao que é oferecido pelas opções
comerciais disponíveis, e sim algo direcionado para o uso pretendido.

Desta forma, com base nas experiências vividas e nas necessidades


sentidas no decorrer do curso, as seguintes características seriam ideais e desejadas:

 Tensão Elétrica de Entrada Máxima: 50V;


 Corrente Elétrica de Entrada Máxima: 10A;
 Potência Elétrica Máxima Dissipada: 70W;
 Temperatura Máxima de Operação: 40°C;

Uma vez decididos estes parâmetros, pode-se dar sequência ao projeto e


cálculo do circuito necessário.

3.2 PROJETO E CÁLCULO

De forma a ser possível o projeto do circuito, toma-se como base o diagrama


de blocos apresentado na Figura 4, analisando e desenvolvendo o circuito necessário
para cada uma de suas partes, tendo por guia as características desejadas,
relacionadas na seção anterior.

3.2.1 Medição da Tensão Elétrica de Entrada – Vin

Iniciando pelo bloco referente à medição da tensão elétrica de entrada, a qual


sabe-se que será limitada a 50V, faz-se necessário um circuito capaz de compatibilizar
os níveis de tensão elétrica de entrada àqueles tolerados pelo conversor AD. Sabendo
que este opera em uma faixa de 0 a 5V em sua entrada, deve-se utilizar um divisor
32

resistivo que apresente uma razão entre tensão elétrica de saída e tensão elétrica de
entrada de 1/10.

Figura 12 - Circuito de um Divisor Resistivo.

Fonte: Do autor.

Com base na Figura 12 pode-se obter facilmente a equação para um divisor


resistivo. Supondo que inexiste corrente elétrica sendo drenada na saída, a corrente
que circula pelos resistores R1 e R2 é igual, e definida por:

𝑉𝑖𝑛
𝑖=
𝑅1 + 𝑅2

Por sua vez, a queda de tensão elétrica em R2, que é equivalente à tensão
elétrica de saída Vout, é dada por:

𝑉𝑅2 = 𝑉𝑜𝑢𝑡 = 𝑅2 × 𝑖

Substituindo a primeira equação na segunda, tem-se a equação do divisor de


tensão resistivo:

𝑅2
𝑉𝑜𝑢𝑡 = 𝑉𝑖𝑛
𝑅1 + 𝑅2

𝑉𝑜𝑢𝑡 𝑅2
∴ =
𝑉𝑖𝑛 𝑅1 + 𝑅2
33

Sabendo que a razão Vout/Vin desejada é de 1/10, e fixando R2 como sendo


𝑅2 = 10𝑘Ω, tem-se:

𝑉𝑜𝑢𝑡 1 10𝑘
= =
𝑉𝑖𝑛 10 𝑅1 + 10𝑘

∴ 𝑅1 = 10𝑘 × 10 − 10𝑘

∴ 𝑅1 = 90𝑘Ω

De forma a permitir um ajuste na relação entre os resistores R1 e R2, e


portanto entre a tensão elétrica de entrada e de saída, emprega-se uma associação
série entre trimpot multivoltas de 20𝑘Ω e um resistor de 82𝑘Ω para R1.

Com estes valores, a corrente elétrica total máxima que circulará pelo divisor
resistivo será de:

𝑉𝑖𝑛 𝑚𝑎𝑥 50𝑉


𝑖𝑚𝑎𝑥 = =
𝑅1 + 𝑅2 90𝑘Ω + 10𝑘Ω

50𝑉
∴ 𝑖𝑚𝑎𝑥 = = 500μ𝐴
100𝑘Ω

Assim como a potência máxima dissipada pelo conjunto será de:

𝑃𝑚𝑎𝑥 = 𝑉𝑖𝑛 𝑚𝑎𝑥 × 𝑖𝑚𝑎𝑥

𝑃𝑚𝑎𝑥 = 50𝑉 × 500μ𝐴

∴ 𝑃𝑚𝑎𝑥 = 25𝑚𝑊

Que são valores adequados de forma a não proporcionarem alterações nas


medidas realizadas, bem como evitarem aquecimentos excessivos dos componentes
envolvidos.

Cabe agora garantir que a corrente de saída 𝑖𝑜𝑢𝑡 seja efetivamente nula – ou
na prática, tão pequena que não cause erro significativo na medida, e portanto deve
ser muito menor quando comparada à corrente elétrica que circula pelo divisor de
tensão. Para tanto, adota-se um circuito seguidor de tensão, baseado em um
amplificador operacional, uma vez que estes circuitos tem por característica
34

idealmente apresentarem correntes elétricas nulas – ou, na prática, muito pequenas


– em suas entradas.

No presente caso, escolheu-se utilizar os amplificadores operacionais OP07,


fabricados pela Analog Devices, devido às suas características. Estes apresentam, de
acordo com o datasheet fornecido pelo fabricante, uma corrente de bias de no máximo
±3𝑛𝐴, que por sua vez resultaria em um erro máximo de tensão de ±0,03𝑚𝑉. Este
erro encontra-se dentro daquilo que pode ser considerado aceitável.

Por fim, como forma de proteção, adiciona-se um conjunto de um resistor e


um diodo zener 1N4733 de 5,1V à saída do circuito, de forma que este atue como
uma proteção contra sobretensão, limitando a tensão máxima aplicada na entrada do
conversor A/D. Da mesma forma, um diodo zener 1N4737 de 7,5V é adicionado à
entrada não inversora do amplificador operacional de forma a protegê-la de uma
eventual sobretensão sem acarretar distorções nos valores medidos. A seguir, tem-se
o circuito completo do presente bloco, na Figura 13:

Figura 13 - Circuito completo para medição de tensão elétrica de entrada.

Fonte: Do autor.
35

3.2.2 Medição da Corrente Elétrica de Entrada - Iin

Uma vez concluído o projeto do bloco referente à medição da tensão elétrica


de entrada, pode-se prosseguir ao desenvolvimento daquele referente à medição da
corrente elétrica que está sendo drenada. Para tanto, emprega-se um resistor shunt,
de valor bem conhecido e com baixa tolerância, em série com a entrada do circuito,
de forma que a queda de tensão elétrica neste seja proporcional a corrente elétrica
que circula pelo circuito. É importante adotar-se um valor de resistência elétrica
pequeno o suficiente para que a dissipação de potência neste elemento seja mantida
no menor nível possível, embora grande o suficiente para que se produza um valor
aceitável de queda de tensão.

Sabendo-se que a corrente elétrica máxima que circulará por este dispositivo
será de 10A, adotando-se um resistor shunt de 0,01Ω, a queda de tensão elétrica
sobre o mesmo será de:

𝑉𝑅𝑠ℎ𝑢𝑛𝑡 = 10𝐴 × 0,01Ω = 0,1𝑉

E a potência elétrica dissipada máxima será de:

𝑃𝑚𝑎𝑥 = 10𝐴 × 0,1𝑉 = 1𝑊

Este é um valor adequado de potência, a fim de garantir que não haja


aquecimento excessivo dos componentes envolvidos. Desta forma, será empregada
uma associação paralela composta por dois resistores de 0,02Ω, capazes de dissipar
cada um uma potência de 1W, assim melhorando a confiabilidade do circuito. Serão
utilizados resistores com tolerância de 1% de forma a obter maior precisão nas
leituras.

Novamente, é desejado que se compatibilize os níveis de tensão elétrica


presentes na saída do elemento sensor – neste caso, o resistor shunt – à faixa de
entrada tolerada pelo conversor AD, de forma a aproveitar o máximo da resolução do
mesmo, obtendo-se assim maior precisão de leitura. Sabendo que o valor máximo de
tensão elétrica aceito pelo conversor em sua entrada é de 5V, e que o maior valor
presente na saída do elemento sensor será de 0,1V, deve-se utilizar um circuito
amplificador, de topologia não-inversora, tal como mostrado na Figura 14.
36

Figura 14 - Circuito de um amplificador não-inversor.

Fonte: Do autor.

Sabendo que para um amplificador operacional ideal as seguintes


proposições são verdadeiras:

a) 𝑉 + = 𝑉 −

b) 𝑖 + = 𝑖 − = 0

Tendo em vista o explícito em b), é fácil perceber os resistores R1 e R2


formam um divisor resistivo, e portanto é imediato que a tensão presente na entrada
inversora do circuito será:

𝑅1
𝑉 − = 𝑉𝑜𝑢𝑡
𝑅1 + 𝑅2

Com base em a), tem-se que:

𝑅1
𝑉𝑖𝑛 = 𝑉𝑜𝑢𝑡
𝑅1 + 𝑅2

𝑉𝑜𝑢𝑡 𝑅1 + 𝑅2
∴ =
𝑉𝑖𝑛 𝑅1
37

Substituindo os valores de tensão elétrica de entrada e de saída, obtém-se


que:

5 𝑅1 + 𝑅2
=
0,1 𝑅1

∴ 𝑅2 = 49 × 𝑅1

Assim, adota-se 𝑅1 = 1𝑘Ω e 𝑅2 = 49𝑘Ω. Sabendo que 49𝑘Ω não trata-se de


um valor comercialmente disponível, opta-se por utilizar um trimpot multivoltas de
20kΩ associado em série com um resistor de 39kΩ, de forma a permitir um ajuste mais
preciso do ganho do amplificador, e assim obter-se a melhor relação possível entre a
tensão elétrica na saída do mesmo e a corrente elétrica que passa pelo MOSFET.

Figura 15 - Circuito de medição de corrente elétrica.

Fonte: Do autor.

Tal como adotado no circuito anterior como forma de proteção, empregou-se


neste também um conjunto de resistor e um diodo zener 1N4733, de forma a proteger
a entrada do conversor A/D de uma eventual sobretensão decorrente de uma corrente
de entrada excessiva, assim como um diodo zener 1N4737 de 7,5V é adicionado à
entrada não inversora do amplificador operacional de forma a protegê-la de uma
eventual sobretensão

3.2.3 Driver MOSFET


38

Uma vez definidos os circuitos responsáveis pelas medições de corrente e


tensão elétricas, pode-se prosseguir ao desenho dos elementos responsáveis pelo
controle do dispositivo de potência, neste caso representado pelo MOSFET, bem
como à escolha do mesmo.

Iniciando pelo desenho do circuito responsável pelo controle do transistor


MOSFET, escolheu-se baseá-lo em torno de um simples amplificador operacional, tal
como a Figura 16 apresenta. Uma tensão elétrica de referência, proveniente do
conversor digital-analógico e controlada pelo microcontrolador é aplicada à entrada
não-inversora do amplificador operacional. A saída deste é conectada à porta do
transistor, de forma exercer controle sobre o mesmo, limitando a corrente que circula
entre os terminais de dreno e fonte e a queda de tensão elétrica entre estes terminais.
A entrada inversora é conectada ao terminal de fonte do MOSFET, bem como a um
dos terminais do resistor shunt, formando assim um laço de feedback.

Figura 16 - Circuito base para controle do transistor MOSFET.

Fonte: Do autor.

Desta forma, a tensão elétrica na entrada inversora será igual à queda de


tensão elétrica sobre o resistor shunt, a qual, por sua vez, é proporcional à corrente
elétrica que por ele circula. Sabendo que esta corrente elétrica é a mesma que
atravessa o transistor MOSFET, uma vez que pode-se considerar que inexiste fluxo
de corrente elétrica nas entradas de um amplificador operacional, e portanto é
39

equivalente à corrente elétrica consumida da carga, temos que a tensão elétrica na


entrada inversora é proporcional à corrente elétrica consumida. Assim, esta pode ser
dada pela seguinte equação:

𝑉 − = 𝑉𝑠ℎ𝑢𝑛𝑡 = 𝑅𝑠ℎ𝑢𝑛𝑡 × 𝐼𝑖𝑛

Onde 𝑉 − é a tensão elétrica na entrada inversora do amplificador operacional,


dada em Volts, 𝑉𝑠ℎ𝑢𝑛𝑡 é a queda de tensão elétrica no resistor shunt dada em Volts,
𝑅𝑠ℎ𝑢𝑛𝑡 é a resistência elétrica do resistor shunt, dada em Ohms, e 𝐼𝑖𝑛 é a corrente
elétrica de entrada, dada em Àmperes.

Por sua vez, sabe-se que para um amplificador operacional, o seguinte é


verdadeiro:

𝑉+ − 𝑉− = 0

Onde 𝑉 + é a tensão elétrica na entrada não inversora do amplificador


operacional, dada em Volts, e 𝑉 − é a tensão elétrica na entrada inversora do
amplificador operacional, dada em Volts.

Isto posto, e tendo aplicado na entrada não inversora uma tensão elétrica de
referência, é imediato perceber que o amplificador operacional controlará a sua tensão
elétrica de saída 𝑉𝑂 de forma a controlar o transistor MOSFET e assim drenar uma
corrente elétrica de entrada tal que cause uma queda de tensão elétrica no resistor
shunt igual à tensão elétrica de referência aplicada. Equivalentemente, temos que:

𝑉𝑟𝑒𝑓 − 𝑉𝑠ℎ𝑢𝑛𝑡 = 0

∴ 𝑉𝑟𝑒𝑓 = 𝑅𝑠ℎ𝑢𝑛𝑡 × 𝐼𝑖𝑛

𝑉𝑟𝑒𝑓
∴ 𝐼𝑖𝑛 =
𝑅𝑠ℎ𝑢𝑛𝑡

Onde 𝐼𝑖𝑛 é a corrente elétrica de entrada, dada em Àmperes, 𝑉𝑟𝑒𝑓 é a tensão


elétrica de referência, dada em Volts, e 𝑅𝑠ℎ𝑢𝑛𝑡 é a resistência elétrica do resistor shunt,
dada em Ohms.
40

Sendo 𝑉𝑟𝑒𝑓 um valor controlado pelo microcontrolador e 𝑅𝑠ℎ𝑢𝑛𝑡 um valor


constante, logo 𝐼𝑖𝑛 é passível de ser controlado, tal como desejado.

Adicionalmente, um capacitor foi acrescentado à saída do amplificador


operacional, de forma a dar mais estabilidade ao circuito, bem como um resistor de
valor baixo entre a saída do amplificador e a porta do MOSFET, para atuar como
proteção de forma a limitar a corrente elétrica que eventualmente circule por ali, uma
vez que os terminais de porta e fonte comportam-se como um capacitor. O circuito
completo encontra-se na Figura 17. Ressalta-se que, quando da elaboração do
circuito final, uma pequena alteração na conexão entre o elemento sensor – o resistor
shunt – e a entrada do amplificador operacional é necessária, haja vista o
compartilhamento deste entre o presente circuito e aquele responsável pela medição
da corrente elétrica de entrada.

Vale notar que a resposta dinâmica do conjunto circuito e MOSFET apresenta


dependência do valor de capacitância de gate do transistor escolhido, o que no caso
de dispositivos de potência costuma ser de valor elevado, bem como com a
capacidade de corrente elétrica de saída do amplificador operacional empregado no
controle, a qual é responsável por carregar e descarregar a capacitância
anteriormente citada. Tão maior for a razão entre a corrente elétrica de saída do
amplificador operacional e a capacitância entre porta e fonte do transistor, mais rápida
tende a ser a resposta do circuito.
41

Figura 17 - Circuito driver do MOSFET de potência.

Fonte: Do autor.

Por fim, como último passo desta etapa, cabe selecionar um transistor
MOSFET de canal N adequado à aplicação. Para tanto, deve-se ter em mente os
requisitos do projeto, definidos no item 3.1. Assim sendo, deve-se escolher um
transistor que possua as seguintes características:

 Tensão elétrica 𝑉𝐷𝑆 máxima > 50V;


 Corrente elétrica 𝐼𝐷 máxima > 10A;
 Potência elétrica dissipada 𝑃𝐷 máxima > 70W.

Adicionalmente, deseja-se um transistor que possua o menor valor de


resistência elétrica entre dreno e fonte 𝑅𝐷𝑆𝑜𝑛 , de forma a obter-se a menor limitação
de potência elétrica consumida para tensões elétricas de entrada pequenas. Não
menos importante, cabe observar também os quesitos custo e disponibilidade, uma
42

vez que o objetivo deste projeto é o de apresentar uma opção de fácil construção e
baixo custo frente aos dispositivos comercialmente disponíveis.

Observando estes dados, optou-se por utilizar o transistor MOSFET


IRFP260N, fabricado pela International Rectifier, que apresenta as características
expostas na Tabela 5.

Tabela 5 - Caracterísitcas do MOSFET IRFP260N.

Característica Valor
Tensão elétrica 𝑽𝑫𝑺 máxima 200V
Corrente elétrica 𝑰𝑫 máxima 50A
Potência elétrica dissipada 𝑷𝑫 máxima 300W
Resistência elétrica entre dreno e fonte 𝑹𝑫𝑺𝒐𝒏 40mΩ
Fonte: IRFP260N datasheet, International Rectifier, 2004.

3.2.4 Interface ADC e DAC

Tendo sido projetadas as demais partes componentes, tal como descrito nos
subcapítulos anteriores, é necessário que sejam definidas as conexões dos módulos
responsáveis pela interface entre as partes analógicas e digitais. Deste modo, de
acordo com as necessidades e especificações deste projeto, optou-se por utilizar um
conversor digital-analógico com uma única saída, e um conversor analógico-digital
com quatro entradas, ambos utilizando um barramento I²C (Inter-Integrated Circuit).

De acordo com dados da NXP Electronics (2014), o protocolo I²C é um padrão


mundial, sendo atualmente implementado em mais de 1000 diferentes circuitos
integrados, fabricados por mais de 50 companhias. Como destaques, este protocolo
requer um barramento com apenas duas linhas de dados, denominadas SDA (Serial
Data Line) – através da qual os dados são efetivamente transmitidos, de forma serial
– e SCL (Serial Clock Line), a qual carrega um sinal de relógio (clock), de forma a
sincronizar os diversos dispositivos conectados ao barramento. Cada um destes
dispositivos pode ser endereçado através de software, possuindo cada um deles um
endereço único, além de poderem operar tanto como mestres ou escravos, enviando
ou recebendo dados a qualquer momento. Diferentes taxas de transferência são
43

possíveis, dependendo do sistema e dos componentes implementados, sendo elas de


até 100kbit/s no modo padrão (standard mode), até 400kbit/s no modo rápido (fast
mode), até 1Mbit/s no modo rápido aprimorado (fast mode plus), ou até 3,4Mbit/s no
modo de alta velocidade (high speed mode).

Para o conversor D/A, escolheu-se um MCP4725, produzido pela Microchip


Technology Inc., que de acordo com dados do fabricante conta com resolução de 12
bits, distribuídos de acordo com a tensão elétrica de alimentação do circuito integrado,
a qual pode ser qualquer valor entre 2,7 e 5,5V. Este circuito integrado utiliza-se do
protocolo I²C para comunicação, suportando os modos padrão (100kbit/s), rápido
(400kbiit/s) e de alta velocidade (3,4Mbit/s). Além disso, possui um pino externo de
endereçamento, permitindo assim que se utilizem dois MCP4725 em um mesmo
barramento sem que haja conflito. A conexão elétrica do mesmo é bastante
simplificada, tal como ilustrado na Figura 18.

Figura 18 - Conexão elétrica do MCP4725.

Fonte: MCP4725 Datasheet, Microchip Technology Inc., 2007.

Adicionalmente ao circuito apresentado, é necessário empregar um simples


divisor resistivo conectado à saída do circuito integrado, a fim de compatibilizar as
faixas de tensões elétricas de saída do circuito e de entrada do circuito driver do
44

transistor MOSFET. Notadamente, temos o exposto na Tabela 6, e a partir destes


dados, a relação do divisor resistivo pode ser calculada e o mesmo projetado.

Tabela 6- Faixas de tensão elétrica de saída e entrada.

Faixa de Tensão Elétrica Valor


Saída do MCP4725 (VDD = 5V) 0 a 5,0V
Entrada do driver (Vref) 0 a 100mV

Tem-se que, para um divisor resistivo, o seguinte é verdadeiro:

𝑉𝑜𝑢𝑡 𝑅2
=
𝑉𝑖𝑛 𝑅1 + 𝑅2

E para o presente caso:

𝑉𝑜𝑢𝑡 1 𝑅2
= =
𝑉𝑖𝑛 50 𝑅1 + 𝑅2

∴ 𝑅1 = 49 × 𝑅2

Adota-se, portanto, R1 = 1kΩ e para R2 utiliza-se uma associação série entre


um resistor de 39kΩ e um trimpot multivoltas de 20kΩ. O circuito final encontra-se na
Figura 19.

Desta forma, tem-se que para a resolução do conversor empregado, o passo


de tensão elétrica mínimo passível de ser obtido será dado pela equação:

𝑉𝐶𝐶
𝑉𝑠𝑡𝑒𝑝 =
2𝑛𝑏𝑖𝑡𝑠

5,0
∴ 𝑉𝑠𝑡𝑒𝑝 =
212

∴ 𝑉𝑠𝑡𝑒𝑝 = 1,22𝑚𝑉

E levando em consideração o fator de divisão utilizado, o menor passo de


tensão aplicado à entrada do circuito driver será de:
45

𝑉𝑠𝑡𝑒𝑝
𝑉𝑠𝑡𝑒𝑝−𝑑𝑟𝑖𝑣𝑒𝑟 =
50

∴ 𝑉𝑠𝑡𝑒𝑝−𝑑𝑟𝑖𝑣𝑒𝑟 = 24,4𝜇𝑉

Que por sua vez resulta em um passo de corrente de 2,44mA.

Por sua vez, para o conversor A/D foi escolhido o circuito integrado ADS1115,
fabricado pela Texas Instruments, e cujas características segundo a mesma incluem
16 bits de resolução, uma faixa de tensões de alimentação de 2,0 a 5,5V, taxa de
amostragem programável entre 8 e 860 amostras por segundo (SPS – samples per
second), referência de tensão elétrica interna de baixo desvio (low drift), quatro
endereços passíveis de seleção através de pino de endereçamento, quatro entradas
de medição simples (single-ended) ou duas entradas de medição diferenciais. Além
disso, possui ainda um amplificador de ganho programável interno (PGA –
Programmable Gain Amplifier), permitindo selecionar faixas de tensão elétrica de
entrada entre ±256mV e ±6,144V, de forma a permitir medidas precisas tanto de
grandes quanto de pequenos sinais. Tal como no caso anterior, a conexão elétrica é
bastante simples e está ilustrada na Figura 20.
46

Figura 19 - Circuito completo da conexão do conversor D/A.

Fonte: Do autor.

Figura 20 - Conexão elétrica do ADS1115.

Fonte: ADS1115 Datasheet, Texas Instruments, 2016.


47

3.2.5 Projeto Térmico

Concluídas as etapas anteriores, deve-se calcular os requerimentos no que


diz respeito ao dissipador de calor necessário para lidar com a potência elétrica
necessária sem que ocorra o aquecimento do transistor MOSFET a ponto de danificá-
lo. Para tanto, é necessário que se utilize a teoria referente ao projeto térmico,
observando as características específicas do presente caso.

De acordo com (Pomílio, 2014), o calor decorrente do efeito Joule, nos


dispositivos semicondutores de potência, é produzido na pastilha semicondutora,
fluindo desta para o encapsulamento, e posteriormente para o ambiente. Tal fluxo é,
portanto, dependente de fatores como as características térmicas e materiais
envolvidos.

De uma forma geral, esta aproximação pode ser modelada através de uma
analogia com um circuito elétrico, conforme o mostrado Figura 21. Neste, tem-se a
potência elétrica dissipada, dada em Watts, através de uma fonte de corrente, as
resistências térmicas entre os diferentes meios (junção - junction, encapsulamento –
case, dissipador – sink e ambiente – ambiente) são modeladas através de resistores,
cujos valores são dados em °C/W. As temperaturas de cada um dos meios são,
portanto, análogas às tensões em cada um dos nós do circuito.

Figura 21 - Circuito Elétrico Equivalente Para Circuito Térmico.

Fonte: Eletrônica de Potência, J. A. Pomílio, 2014.

Para fins de projeto, considera-se que a temperatura ambiente (Ta)


permanece constante, e avalia-se para o pior caso esperado – isto é, para a máxima
temperatura ambiente esperada. Deve-se, assim, garantir que a temperatura da
junção (Tj) não ultrapasse um dado valor máximo, o qual deve ser, de acordo com as
48

boas práticas de projeto, de 20 a 30% inferior à temperatura de junção máxima (Tjmax)


especificada pelo fabricante do dispositivo. As resistências térmicas entre junção e
encapsulamento (Rtjc) e encapsulamento e dissipador (Rtcd) são dados do
componente e fornecidos pelo fabricante. Para fins de cálculo, a resistência térmica
entre encapsulamento e ambiente (Rtca) pode ser omitida, uma vez que esta é
bastante elevada se comparada à associação série de Rtcd e Rtda.

Dessa forma, a equação a seguir descreve o circuito equivalente dado na


Figura 21:

𝑇𝑗 = 𝑇𝑎 + 𝑃 (𝑅𝑡𝑗𝑐 + 𝑅𝑡𝑐𝑑 + 𝑅𝑡𝑑𝑎 )

Na qual Tj, Ta, P, Rtjc e Rtcd são valores conhecidos tanto dos dados técnicos
do componente em questão quanto das especificações do projeto, e R tda é o valor a
ser determinado. Deste modo, reorganizando a equação, obtém-se o seguinte:

𝑇𝑗 − 𝑇𝑎
𝑅𝑡𝑑𝑎 = − 𝑅𝑡𝑗𝑐 − 𝑅𝑡𝑐𝑑
𝑃

A partir disso, e com base nos valores dados na Tabela 7, pode-se prosseguir
ao cálculo da resistência térmica do dissipador a ser empregado.

Tabela 7 - Dados para Projeto Térmico.

Grandeza Valor
Potência Elétrica Máxima Dissipada (Pmax) 70W
Temperatura Ambiente Máxima (Ta) 40°C
Temperatura de Junção Máxima (Tj max) 175°C
Resistência Térmica Junção – Encapsulamento (Rtjc) 0,5°C/W
Resistência Térmica Encapsulamento – Dissipador (Rtcd) 0,24°C/W

Isto posto, prosseguindo ao cálculo da resistência térmica entre o dissipador


de calor e o ambiente, estipula-se a temperatura de junção máxima de operação (Tj),
escolhida como sendo 70% da temperatura de junção máxima (Tj max), ou seja,
122,5°C. A partir disso, aplicam-se os valores à equação adequada, obtendo-se o que
segue:
49

122,5°𝐶 − 40°𝐶
𝑅𝑡𝑑𝑎 = − 0,5°𝐶/𝑊 − 0,24°𝐶/𝑊
70𝑊

∴ 𝑅𝑡𝑑𝑎 = 0,44°𝐶/𝑊

Assim, deve-se escolher um dissipador de calor cuja resistência térmica seja


inferior ao valor obtido de 0,44°C/W. Este, por sua vez, é um valor bastante pequeno,
dado que usualmente a resistência térmica de um dissipador de alumínio atuando por
convecção natural situa-se por volta de 1,3°C/W. Isto posto, de forma a manter as
dimensões físicas deste componente dentro de limites aceitáveis, é indispensável que
se adote um meio de ventilação forçada, através do uso de um microventilador
acoplado ao dissipador de calor.

3.2.6 Medição de Temperatura

É apresentado a seguir uma solução simples, embora eficiente para o


acompanhamento da temperatura junto ao dissipador de calor, de forma a possibilitar
a futura implementação de meios de proteção contra sobretemperatura, tanto por
redução da corrente elétrica drenada quanto pela desconexão da fonte de potência
elétrica.

O circuito baseia-se em um sensor de temperatura bastante comum, de


referência LM35, fabricado pela Texas Instruments. O mesmo tem por característica
apresentar uma tensão elétrica em sua saída diretamente proporcional à temperatura
medida, com um fator de equivalência de 10,0mV/°C, capaz de realizar medições em
uma faixa de 0 a 150°C, de acordo com dados do fabricante. Desta forma, tem-se uma
variação da tensão elétrica de saída do mesmo entre 0 e 1,50V.

Implementando um simples amplificador em topologia não-inversora, de forma


a compatibilizar a tensão de saída do sensor à faixa de entrada do conversor
analógico-digital, pode-se obter a máxima resolução na leitura da temperatura. Para
tanto, deve-se aplicar um ganho G ao amplificador adotado, dado por:

𝐸𝑛𝑡𝑟𝑎𝑑𝑎 𝑚á𝑥𝑖𝑚𝑎 𝐴𝐷𝐶 5𝑉


𝐺= =
𝑆𝑎í𝑑𝑎 𝑚á𝑥𝑖𝑚𝑎 𝑠𝑒𝑛𝑠𝑜𝑟 1,5𝑉
50

∴ 𝐺 = 3,33

Tal como dado anteriormente no capítulo 3.2.2, o ganho para um amplificador


não inversor é dado pela equação:

𝑉𝑜𝑢𝑡 𝑅1 + 𝑅2
=𝐺=
𝑉𝑖𝑛 𝑅1

Substituindo os valores pertinentes:

𝑅1 + 𝑅2
3,33 =
𝑅1

∴ 𝑅2 = 2,33 𝑅1

Adota-se, portanto, R2 = 10𝑘Ω e R1 = 22𝑘Ω, valores comercialmente


disponíveis. Desta forma, o ganho do circuito será de 3,2 vezes, enquanto a máxima
tensão elétrica aplicada ao conversor A/D será de 4,8V. O circuito completo encontra-
se na Figura 22.

Para o presente momento, decidiu-se por não implementar este circuito,


utilizando-se um sensor digital DS18B20, o qual utiliza o barramento 1-Wire, composto
por apenas uma linha de dados para comunicação, e que pode realizar medições em
uma faixa de temperaturas de -55ºC a +125°C, com precisão de ±0,5°C entre -10°C
e +85°C. O diagrama de conexão do mesmo é mostrado na Figura 23.
51

Figura 22 - Circuito para medição de temperatura.

Fonte: Do autor.

Figura 23 - Diagrama de conexão do sensor DS18B20.

Fonte: DS18B20 datasheet, Maxim Integrated, 2015.

3.2.7 Proteções
52

Além das proteções já empregadas anteriormente, outras fazem-se


necessárias de forma a proteger o circuito de eventuais situações que possam causar-
lhe danos. As mesmas serão descritas a seguir.

[Link] Snubber

Um circuito snubber é constituído por um resistor e um capacitor conectados


em série. Por sua vez, este circuito é conectado em paralelo com o transistor
MOSFET. Desta forma, o mesmo atua amortecendo eventuais picos de corrente e
tensão elétrica sobre o transistor, ocasionados por variações na fonte conectada à
carga eletrônica, e assim protegendo o MOSFET de uma situação destrutiva.

Figura 24 – Circuito amortecedor – snubber.

Fonte: Do Autor.

[Link] Varistor e Fusível

O varistor é um componente que comporta-se essencialmente como um


circuito aberto até que se atinja em seus terminais um determinado nível de tensão
elétrica, definido pelo seu valor nominal. Quando esta condição se verifica, o mesmo
passa a se comportar como um curto circuito.

Portanto, aproveitando-se desta característica, conecta-se um varistor em


paralelo com a entrada do circuito, bem como um fusível em série antes do mesmo.
Desta forma, ocorrendo uma situação de sobretensão na entrada, o varistor atua,
53

causando um curto circuito, e caso este curto circuito provoque uma situação de
sobrecorrente, dá-se a queima do elemento fusível, desconectando fisicamente a
fonte de energia da carga eletrônica.

Figura 25 – Circuito de proteção contra sobretensão.

Fonte: Do autor.

3.2.8 Interface Arduino, Display e Teclado

Cabe agora definir as conexões elétricas necessárias aos demais


componentes do equipamento. Com a decisão de utilizar um display de cristal líquido
(LCD) para a informação dos dados referentes às leituras e parâmetros de seleção da
carga ativa, e de um teclado composto por seis teclas, como forma de entrada de
dados, é necessário que se definam as conexões requeridas entre os mesmos e a
placa Arduino.

Em se tratando das teclas, e tendo a quantidade necessária de pinos de


entrada digital disponíveis no microcontrolador, optou-se por utilizar um esquema
simples, composto de um botão de ação momentânea (push button), um resistor de
pull-down, e um capacitor, de forma a implementar um circuito de debouncing físico
no lugar de uma solução via software. A Figura 26 ilustra o referido circuito, cujo
54

funcionamento é bastante simples: com o acionamento da chave, o pino à que a chave


encontra-se conectada é levado a nível alto, enquanto o capacitor é carregado com a
tensão elétrica de 5V. Ao ser solta, o capacitor passa a descarregar através do resistor
de pull-down, levando o pino a que a chave está conectada a nível baixo quando a
tensão do mesmo cai abaixo de um determinado valor. É através desse tempo de
descarga do capacitor que o fenômeno de bouncing, no qual leituras errôneas de
acionamentos do botão acontecem, é evitado, criando um certo intervalo mínimo entre
cliques sucessivos.

Figura 26 - Circuito elétrico para conexão dos botões.

Fonte: Do autor.

Em termos do display escolhido, trata-se de um LCD de 16 colunas por 2


linhas (16x2), baseado no controlador Hitachi HD4470, o qual, segundo dados do
fabricante, permite a conexão em modo paralelo de 8 bits ou 4 bits com um conjunto
de instruções reduzido. Para a presente aplicação, optou-se pela conexão de 4 bits,
uma vez que a mesma é suficiente para atender aos objetivos, desta forma não
ocupando desnecessariamente pinos de entrada/saída do microcontrolador. A
conexão do mesmo é bastante simples, e está ilustrada na Figura 27.
55

Figura 27 - Diagrama para conexão do display LCD.

Fonte: Do autor.

Por fim, cabe citar a conexão necessária entre os conversores A/D e D/A e a
placa Arduino. A mesma se dá através do barramento I²C, cujas linhas SDA e SCL
correspondem, respectivamente, aos pinos A4 e A5 da referida placa. Ressalta-se a
necessidade do emprego de resistores de pull-up ao longo destas linhas, uma vez que
tratam-se de linhas com topologia de coletor aberto.

3.2.9 Fontes de Alimentação

Para alimentar as diferentes partes e componentes do circuito projetado, são


necessários três diferentes níveis de tensão elétrica, notadamente sendo eles de 5V
para alimentação dos conversores analógico-digital e digital-analógico e do display
LCD, e simétrico de ±12V para os amplificadores operacionais e a placa Arduino.

Por se tratarem de circuitos com baixo consumo de potência elétrica, optou-


se por utilizar uma solução simplificada, composta de um transformador com primário
em 110/220V, e secundário de 15+15V, com capacidade de corrente de 250mA,
56

comercialmente disponível. Aliado à ele, foram empregados três circuitos integrados


reguladores de tensão, um LM7805, um LM7812 e um LM7912, juntamente com uma
retificação e filtragem adequada, promovida por um conjunto de diodos conectados
em ponte e uma associação de capacitores eletrolíticos e de poliéster, tanto na
entrada quanto na saída dos circuitos reguladores. O diagrama esquemático encontra-
se na Figura 28.

Figura 28 - Diagrama esquemático das fontes de alimentação.

Fonte: Do autor.

3.2.10 Circuito Completo

A seguir é apresentado o diagrama esquemático completo do circuito,


incluindo todas as partes anteriormente citadas. O mesmo foi dividido em três
diferentes partes para melhor visualização, de acordo com a Figura 29, Figura 30 e
Figura 31 a seguir. Desta forma, conclui-se a etapa de projeto e cálculo, prosseguindo
às demais atividades necessárias para a conclusão do projeto.
57

Figura 29 - Diagrama do circuito - Entrada e conversores.

Fonte: Do autor.
58

Figura 30 - Diagrama do circuito - Fontes de alimentação e Arduino.

Fonte: Do autor.

Figura 31 - Diagrama do circuito - Display e botões.

Fonte: Do autor.
59

3.3 SIMULAÇÃO – PARTE ANALÓGICA

Concluída a etapa de cálculo, e tendo os circuitos já sido projetados, é de


interesse que se realizem algumas simulações a fim de validar as escolhas realizadas,
bem como avaliar o funcionamento dos diferentes circuitos quanto à sua função e
desempenho. Para tanto, foi utilizado o software Isis, da suíte de aplicativos Proteus,
desenvolvido pela Labcenter Electronics. Os resultados seguem nos próximos
subcapítulos.

3.3.1 Circuito de Medição de Tensão Elétrica

Com base no circuito apresentado na Figura 13, elaborou-se uma estratégia


de simulação que fosse capaz de demonstrar o correto funcionamento do circuito
projetado, bem como pudesse apontar possíveis problemas ou falhas no projeto que
causem algum tipo de comprometimento na sua função ou desempenho.

Para tanto, aplicou-se uma variação na tensão elétrica de entrada do circuito,


partindo do valor de 0V até atingir o limite superior de 60V, ao longo de 60 segundos
(isto é, com uma taxa de crescimento de 1V/s). Observou-se a tensão elétrica de saída
do circuito, bem como a corrente que percorre o diodo zener. Os resultados estão
apresentados nos gráficos presentes nas Figura 32 e Figura 33.
60

Figura 32 - Tensão Elétrica de Entrada Vin e Saída Vout.

Figura 33 - Tensão Elétrica de Entrada Vin e Corrente Elétrica no Zener Id.


61

Tal como pode ser observado, o funcionamento do circuito se deu de acordo


com o esperado, mostrando um desempenho satisfatório para toda a faixa de
medição, sem grandes inserções de erros por conta do diodo zener aplicado. Quanto
a este último, fica claro a atuação do mesmo como elemento de proteção quando a
tensão elétrica de entrada excede o limite de 50V, atuando como um grampo na
tensão de saída, mantendo-a sempre dentro do limite máximo tolerado pelo conversor
A/D de VDD + 0,3V, onde no presente caso VDD = 5V.

3.3.2 Circuito de Medição de Corrente Elétrica

Da mesma forma, deu-se a simulação do circuito presente na Figura 15, neste


caso tendo sido aplicada uma corrente elétrica de entrada partindo de 0A até um limite
superior de 15A, ao longo de 15 segundos (1A/s). Foram aferidas a tensão elétrica de
saída do circuito e a tensão elétrica sobre o resistor shunt, bem como a corrente
elétrica que perpassa o diodo zener de proteção. Os resultados estão presentes nas
Figura 34, Figura 35 e Figura 36.

Figura 34 - Corrente Elétrica de Entrada Iin e Tensão Elétrica de Saída Vout.


62

Figura 35 - Tensão Elétrica de Saída Vout e Tensão Elétrica no Resistor Shunt Vs.

Figura 36 - Corrente Elétrica de Entrada Iin e Corrente Elétrica no Diodo Zener Id.
63

Tal como se pode observar, o circuito teve um bom funcionamento, atuando


na compatibilização dos níveis de tensão elétrica de entrada e saída de acordo com a
corrente elétrica aplicada, provendo a devida amplificação. Da mesma forma, nota-se
novamente a atuação da proteção implementada por meio do diodo zener, protegendo
o circuito de conversão de um possível excesso de corrente na entrada por meio da
limitação da tensão de saída a não mais do que 5,1V.

3.3.3 Driver do Transistor MOSFET

Como última etapa no processo de simulação dos circuitos elétricos


projetados, é interessante que se avalie o comportamento daquele responsável por
controlar o dispositivo de potência, neste caso o transistor MOSFET IRFP264N. Para
tal, realizou-se a simulação do circuito driver, conforme mostrado na Figura 17,
aplicando em um primeiro momento um sinal de referência em forma de rampa na
entrada do circuito, enquanto a corrente elétrica drenada pelo transistor era avaliada.
O resultado deste ensaio encontra-se na Figura 37. Na Figura 38 tem-se em detalhe
o comportamento inicial do circuito (transitório), enquanto a Figura 39 mostra em
detalhe o comportamento do circuito quando da aplicação de uma referência
constante.
64

Figura 37 - Corrente de Entrada Iin e Tensão de Referência Vref.

Figura 38 - Corrente de Entrada Iin e Tensão de Referência Vref, overshoot inicial.


65

Figura 39 - Corrente de Entrada Vin e Tensão de Referência Vref, erro estático.

Após, avaliou-se a resposta do mesmo com relação à aplicação de uma série


de degraus no valor da tensão elétrica de referência, avaliando a resposta do circuito
para tais eventos. Por fim, simulou-se o comportamento quando da aplicação de uma
perturbação na tensão elétrica de entrada, composta por um degrau de 20V sobre um
nível DC de também 20V, enquanto mantinha-se o valor da tensão elétrica de
referência constante.

Os resultados destes testes encontram-se na Figura 40 e Figura 43,


respectivamente. Mostrado em detalhe nas Figura 41 e Figura 42 está o
comportamento do circuito de controle quando aplicado na entrada um degrau
correspondente a uma corrente elétrica de entrada de 1 para 3A (tensão elétrica de
referência de 10 para 30mV) e de 3 para 6A (tensão elétrica de referência de 30 para
60mV), respectivamente.
66

Figura 40 - Corrente Elétrica de Entrada para aplicação de degraus na Tensão de


Referência.

Figura 41 - Detalhe do comportamento da Corrente Elétrica de Entrada Iin quando


da aplicação de um degrau de 20mV na Tensão de Referência Vref.
67

Figura 42 - Detalhe do comportamento da Corrente Elétrica de Entrada Iin quando


da aplicação de um degrau de 30mV na Tensão de Referência Vref.

Figura 43 - Corrente Elétrica de Entrada (em verde) quando da aplicação de um


degrau de 20V na Tensão Elétrica de Entrada (em vermelho).
68

Analisando os resultados obtidos, tem-se que o comportamento do circuito é


satisfatório, muito embora existam uma série de pontos passíveis de serem
aprimorados em um momento futuro. Tal como representado na Figura 37, o circuito
cumpre aquela que é a sua função principal: permitir que se exerça controle sobre a
corrente elétrica drenada pelo transistor por meio de uma tensão elétrica de
referência. O comportamento oscilatório apresentado pelo circuito na presença de um
transitório como o da Figura 38 é algo que merece ser tratado de forma mais
aprofundada em uma oportunidade futura. O erro estático apresentado na Figura 39
é passível de ser corrigido através do código carregado na placa Arduino. Contudo,
por se tratar de um erro de 3,3𝜇V, considerou-se o mesmo desprezível.

No que diz respeito às aplicações de degraus na tensão elétrica de referência,


o comportamento foi satisfatório, dado o tempo de acomodação apresentado, da
ordem de 2,85ms entre o momento da aplicação do degrau e a saída atingir 98% do
valor de regime, como pode ser percebido na Figura 41. Quanto à perturbação
aplicada na tensão elétrica de entrada, o circuito apresentou um comportamento
oscilatório no transiente, entretanto convergindo de forma breve novamente para o
valor de corrente elétrica definido pela referência aplicada, tal como visto na Figura
43. Trata-se de mais um ponto a ser avaliado em uma nova aproximação ao tema.

De modo geral, considerando-se as pretensões quando do projeto e os


resultados obtidos, avalia-se que o circuito respondeu dentro do esperado, e portanto
pode ser implementado sem maiores prejuízos aos objetivos pretendidos. Contudo,
trata-se de forma clara de um ponto onde futuros refinamentos são de grande
necessidade.

3.4 PROGRAMAÇÃO

No que diz respeito à programação da plataforma Arduino, três são as


possibilidades básicas existentes em termos de linguagem de programação a ser
utilizada. Nativamente, o Arduino usa uma IDE própria, a qual suporta uma linguagem
de programação própria, simplificada, que nada mais é do que um conjunto de funções
em C e C++ que podem ser chamadas diretamente a partir do código. Quando da
compilação do mesmo, pequenas mudanças são realizadas pela IDE, a qual gera os
protótipos das funções utilizadas, e posteriormente envia o código modificado
69

diretamente ao compilador avr-gcc. Desta forma, é possível que a plataforma seja


também programada diretamente em C ou C++.

Para o presente projeto, tendo em vista os objetivos inicialmente propostos de


tratar-se de um dispositivo de fácil compreensão e que permita aos mais diversos
usuários interessados em promover alterações e melhorias ao mesmo fazê-las, optou-
se por realizar a programação com base na linguagem própria do Arduino. Para tanto,
utilizaram-se as bibliotecas especificas para cada um dos módulos empregados, de
forma a serem providas as funções necessárias ao uso dos mesmos. O fluxograma
apresentado na Figura 44 demonstra o comportamento do programa, enquanto a
Tabela 8 cita as diversas constantes e variáveis declaradas no escopo do mesmo,
bem como seu tipo e função. O código final encontra-se no APÊNDICE A -.

Figura 44 - Fluxograma referente ao programa desenvolvido.

Fonte: Do autor.
70

Tabela 8 - Constantes e variáveis declaradas no programa.

Nome Tipo Função


Constantes
k_adcCurrent constant int Entrada do ADC para medição de corrente
k_adcVoltage constant int Entrada do ADC para medição de tensão
k_readToVoltage constant float Fator de conversão Volts/Leitura
k_readToCurrent constant float Fator de conversão Àmperes/Leitura
k_showMenu constant int Mostra o menu de seleção de corrente
k_showRead constant int Mostra os valores de tensão e corrente lidos
k_maxCurrent constant int Limite de corrente máxima de entrada
k_maxVoltage constant int Limite de tensão máxima de entrada
k_maxPower constant int Limite de potência máxima de entrada
button1 constant int Pino referente ao botão MODE
button2 constant int Pino referente ao botão UP
button3 constant int Pino referente ao botão DOWN
button4 constant int Pino referente ao botão RIGHT
button5 constant int Pino referente ao botão LEFT
button6 constant int Pino referente ao botão SET
relay constant int Pino referente ao relé
fan constant int Pino referente ao ventilador
Variáveis
g_lcdShow int Define a tela a ser mostrada (Menu ou Leitura)
g_button[6] int array Armazena a leitura dos botões
g_inputVoltage float Armazena a leitura da tensão de entrada
g_inputCurrent float Armazena a leitura da corrente de entrada
g_setCurrent float Armazena a corrente de entrada selecionada
g_lastDisplay unsigned long Usado para definir a atualização do display

Uma vez especificadas e descritas as constantes e variáveis utilizadas no


decorrer do programa, é importante que se entenda o funcionamento das diversas
funções criadas e utilizadas. Para tanto, as mesmas seguem descritas na Tabela 9.
71

Tabela 9 - Descrição das funções utilizadas.

Função Descrição
void setDac (value) Utilizada para atualizar o valor enviado ao
conversor D/A, alterando assim o valor de
tensão elétrica de referência aplicado ao
circuito driver. Realiza esta alteração
enviando o valor presente na variável ‘value’
recebida quando da chamada da função.
void readCurrent () Realiza a leitura da corrente elétrica de
entrada, por meio do valor reportado pelo
conversor A/D para a porta especificada na
constante k_adcCurrent, aplicando o fator de
conversão armazenado em k_readToCurrent,
e por fim dispondo este resultado na variável
global g_inputCurrent.
void readVoltage () Realiza a leitura da tensão elétrica de entrada,
por meio do valor reportado pelo conversor
A/D para a porta especificada na constante
k_adcVoltage, aplicando o fator de conversão
armazenado em k_readToVoltage, e por fim
dispondo este resultado na variável global
g_inputVoltage.
float roundFloat (num, dec) Arredonda uma variável do tipo float cujo valor
esteja presente em num para um número de
casas decimais especificados em dec,
retornando o resultado calculado.
void currentToDac (setCurrent) Converte o valor de corrente elétrica
selecionado, o qual é dado em Ampères, para
um número do tipo int, com base nos valores
de corrente elétrica máxima presente em
k_maxCurrent e na resolução do conversor
D/A utilizado (12 bits).
boolean updateLCD () Verifica o tempo transcorrido desde a última
atualização do display, e retorna verdadeiro
para o caso de ser necessária uma nova
atualização ou falso para quando ainda não
transcorreu o tempo especificado (500ms).
void readButtons () Realiza a leitura de todos os seis botões
presentes, armazenando o status de cada um
deles no vetor g_buttons, o qual possui seis
posições: uma para cada botão.
Notadamente, os botões MODE, UP, DOWN,
RIGHT, LEFT e SET correspondem às
posições 0, 1, 2, 3, 4 e 5, respectivamente.
void updateScreen (displayType) Responsável por, caso esteja sinalizada a
necessidade de atualização da tela, assim
72

fazê-lo de acordo com o modo atual: Set ou


Run. No modo Set, apresenta a corrente
elétrica selecionada no momento, enquanto
que no modo Run apresenta os valores de
leitura da tensão e corrente elétricas de
entrada.
void setup () Nesta função ocorrem as inicializações
necessárias aos diversos componentes: ADC,
DAC, LCD, interface serial, modos dos pinos
referentes aos seis botões (entradas) e ao relé
e ventilador (saídas). É responsável também
por ativar o ventilados.
void loop () Função principal, a qual roda continuamente
enquanto o sistema estiver ligado.
Inicialmente, é chamada a função
readButtons, em seguida é testado para uma
possível alternância entre os modos Run e
Set. Após, testa-se o modo corrente. Sendo
modo Run, são chamadas as funções
readVoltage e readCurrent. Se modo Set,
executa as rotinas referentes ao ajuste da
corrente selecionada. Por fim, é chamada a
função updateScreen, que atualiza a tela,
retornando ao início da função e a executando
novamente.

3.5 IMPLEMENTAÇÃO PRÁTICA

Uma vez que os circuitos foram validados computacionalmente, parte-se


então à implementação prática dos mesmos. Com este objetivo, foi desenhada uma
placa de circuito impresso, de forma a acomodar os diversos componentes, bem como
proporcionar as devidas conexões elétricas entre os mesmos. Para este fim, utilizou-
se o software Ares, da suíte Proteus, desenvolvida pela Labcenter Electronics. Optou-
se por utilizar uma placa de face simples, uma vez que o número de conexões entre
os componentes assim o permite.

Com base no diagrama esquemático do circuito, procedeu-se à disposição


preliminar dos componentes em uma placa de circuito impresso com dimensões de
10cm por 15cm. Optou-se também por conectar a placa de desenvolvimento Arduino
UNO diretamente à placa de circuito impresso através de um conector, formando um
conjunto de ambas. Quanto aos botões e display LCD, uma placa à parte foi
73

desenhada, permitindo que a mesma forme o painel frontal do dispositivo quando da


montagem em uma caixa adequada.

No desenho da placa de circuito, observou-se o correto dimensionamento dos


encapsulamentos dos componentes, de forma a permitir o correto encaixe dos
mesmos na placa. Junto a isso, o dimensionamento das trilhas na placa também foi
algo que recebeu boa atenção, principalmente aquelas responsáveis pela condução
de correntes elétricas elevadas. De uma forma geral, foi empregado bastante cuidado
também no que diz respeito aos caminhos dos sinais elétricos, a fim de evitar ao
máximo possíveis interferências e distorções nos mesmos.

Figura 45 - Layout do circuito impresso, lado cobreado.

Fonte: Do autor.
74

Figura 46 - Layout do circuito impresso, posição dos componentes.

Fonte: Do autor

Concluído o desenho, tal como mostrado na Figura 45 e Figura 46,


confeccionou-se as referidas placas através do método de transfer térmico. O mesmo
consiste na impressão a laser do leiaute em uma folha de papel transfer, o qual
posteriormente é posicionado sobre a placa de circuito impresso virgem, e este
conjunto prensado a uma temperatura de 220°C por um período de 3 minutos. Após,
é removido o papel transfer, tendo sido o desenho impresso transferido para a placa.
Dá-se então a corrosão da mesma, que quando concluída, segue-se à perfuração e
posterior montagem da mesma. O resultado final do protótipo montado encontra-se
na Figura 47.
75

Figura 47 - Protótipo final montado.


76

4 TESTES E FUNCIONAMENTO

4.1 METODOLOGIA DE TESTE E CALIBRAÇÃO

Uma vez concluída a montagem do circuito, cabe a realização do


procedimento de calibração, a fim de tornar o equipamento o mais preciso possível.
Desta forma, o mesmo deve ser ajustado de forma a atender e funcionar de acordo
com as características estipuladas em 3.1.

Para tanto, devem ser calibrados três diferentes circuitos: aquele referente à
medição de tensão elétrica, o referente à medição de corrente elétrica, bem como o
responsável pela determinação da corrente elétrica a ser consumida – isto é, o circuito
driver.

4.1.1 Calibração e Ajuste do Circuito de Medição de Tensão Elétrica

Tendo como base o circuito apresentado na Figura 13, deve-se em primeiro


lugar proceder ao ajuste do mesmo, de forma que a faixa de tensões elétricas de
entrada esperadas coincida com a faixa de tensões elétricas de saída permitidas e
desejadas.

Para tal, deve-se ajustar a razão do divisor resistivo por meio da regulagem
do trimpot empregado para este fim. Aplicando-se a máxima tensão elétrica esperada,
no caso 50V, o trimpot deve ser ajustado de forma a se obter na saída do circuito uma
tensão elétrica de 5V. Além disso, deve-se proceder também ao ajuste de zero,
garantido que a entrada esteja aterrada e ajustando o trimpot correspondente de
forma a obter zero volts na saída do circuito.

Uma vez realizado tal procedimento, dá-se seguimento à calibração do


circuito em questão. Para tanto, foram aplicados os valores de tensão elétrica de
entrada (VIN) presentes na Tabela 10, com o uso de uma fonte de alimentação Minipa
MPC-303, ao passo que os valores de tensão elétrica aplicados à entrada do
conversor A/D foram mensurados, e a leitura do valor reportado por este capturada
por meio do código presente no APÊNDICE B -, pela plataforma Arduino. Repetiu-se
este processo por três vezes e calculou-se um valor médio para cada uma das tensões
elétricas de entrada. Com base na tensão elétrica aplicada e no valor de leitura do
conversor analógico-digital capturado, foi calculada a relação entre estes dois valores.
77

Os resultados obtidos estão presentes na Tabela 10. As leituras do valor de tensão


de entrada foram realizadas com o auxílio de um multímetro Minipa ET-997, na escala
de 40VDC, a qual apresenta uma resolução de 0,1V e precisão de ± (0,5% +
5 𝑑𝑖𝑔𝑖𝑡𝑜𝑠).

Tabela 10 - Valores de Calibração do Circuito de Medição de Tensão.

VIN (V) VIN – ADC (V) Leitura ADC Volt / Leitura


50,0 5,01 26798 0,001866
45,0 4,51 24081 0,001869
40,0 4,01 21442 0,001866
35,0 3,51 18713 0,001870
30,0 3,01 16068 0,001867

25,0 2,51 13362 0,001871


20,0 2,00 10693 0,001870
15,0 1,50 8011 0,001872
12,5 1,25 6681 0,001871
10,0 1,00 5347 0,001870
7,5 0,75 4004 0,001873
5,0 0,50 2673 0,001871

4,0 0,40 2137 0,001872


3,0 0,30 1597 0,001878

Com base nos dados obtidos para o fator Volt/Leitura, calculou-se um valor
médio de forma a obter-se a menor discrepância possível entre o valor verdadeiro e o
mensurado pelo circuito, obtendo-se a seguinte razão:

𝑉𝑜𝑙𝑡
= 0,001870 𝑉
𝐿𝑒𝑖𝑡𝑢𝑟𝑎
78

4.1.2 Calibração e Ajuste do Circuito de Medição de Corrente Elétrica

De forma análoga ao circuito anterior, em um primeiro momento deve ser


realizado o ajuste do ganho do amplificador não inversor presente no circuito
representado na Figura 15.

Para tanto, faz-se percorrer através do resistor shunt a corrente máxima


esperada, a qual no presente caso é de 10A, e dá-se o ajuste do trimpot presente no
circuito. O mesmo deve ser realizado de forma que, para este valor de corrente
elétrica, a saída do circuito apresente a máxima tensão elétrica desejada e tolerada
na entrada do conversor A/D, isto é, 5V. Além disso, deve-se proceder também ao
ajuste de zero, garantido que a entrada esteja aterrada e ajustando o trimpot
correspondente de forma a obter zero volts na saída do circuito.

Concluído este procedimento, parte-se à calibração do circuito de medição de


corrente elétrica. Com este fim, foram aplicados os valores de corrente elétrica
presentes na Tabela 11, à medida que os valores de tensão elétrica aplicada à entrada
do ADC foram mensuradas, e o valor de leitura informado pelo mesmo capturado com
o uso do Arduino e do código anteriormente utilizado. Repetiu-se este processo por
três vezes e calculou-se um valor médio para cada uma das correntes elétricas de
entrada. A leitura dos valores de corrente elétrica foram realizados com o uso de um
multímetro Minipa ET-997, na escala de 20ADC, a qual possui resolução de 0,01A e
precisão de ± (1,2% + 10 𝑑í𝑔𝑖𝑡𝑜𝑠). Por fim, a razão entre a corrente elétrica aplicada
e o valor numérico de leitura reportado pelo conversor foi calculada para cada caso.

Tabela 11 - Valores de Calibração do Circuito de Medição de Corrente.

IIN (A) VIN – ADC (V) Leitura ADC Amp / Leitura

10,00 4,99 26900 0,0003710


9,00 4,51 24378 0,0003700
8,00 4,03 21707 0,0003713
7,00 3,54 19068 0,0003713
6,00 3,06 16482 0,0003713
5,00 2,54 13696 0,0003709
79

4,50 2,28 12258 0,0003720


4,00 2,02 10898 0,0003707
3,50 1,76 9433 0,0003710
3,00 1,51 8102 0,0003703

2,50 1,25 6723 0,0003719


2,00 1,00 5362 0,0003730
1,50 0,75 4022 0,0003730
1,00 0,50 2690 0,0003717
0,50 0,25 1348 0,0003708
0,25 0,13 670 0,0003729

De forma a realizar a calibração do circuito, calculou-se o valor médio das


razões Ampère/Leitura, de forma a manter a maior fidelidade possível entre o valor
real e aquele medido pelo circuito para toda a faixa de medição. A razão obtida foi a
que segue:

𝐴𝑚𝑝è𝑟𝑒
= 0,0003714
𝐿𝑒𝑖𝑡𝑢𝑟𝑎

4.1.3 Ajuste do Circuito Driver

Faz-se necessário, também, que se realize o ajuste do circuito de controle do


transistor MOSFET, de forma que com a máxima tensão elétrica de referência,
aplicada ao mesmo através do conversor digital-analógico, seja drenada a máxima
corrente elétrica desejada.

Em primeiro lugar, deve-se garantir que o conversor D/A esteja aplicando em


sua saída o valor máximo de tensão elétrica possível. Isto é feito por meio do código
apresentado no APÊNDICE C -, carregado no microcontrolador para este fim.

Isto posto e realizado, com uma fonte de alimentação capaz de fornecer a


corrente elétrica máxima desejada conectada ao circuito da Figura 17, procede-se ao
80

ajuste do trimpot presente no mesmo, de forma a obter uma leitura de 10A de corrente
elétrica drenada.

A seguir, a tensão elétrica de saída do conversor D/A foi verificada para 16


diferentes níveis, bem como a correspondente corrente elétrica drenada, expostos na
Tabela 12. Estão apresentados ambos os valores obtidos através de cálculo e os
medidos efetivamente.

Tabela 12 - Dados de Teste do Circuito Driver.

Calculado Medido
DAC DAC Vout (V) I in (A) DAC Vout (V) I in (A)
0 0,00 0,00 0,00 0,01
273 0,33 0,67 0,34 0,68
546 0,67 1,33 0,67 1,34

819 1,00 2,00 1,00 2,00


1092 1,33 2,67 1,34 2,68
1365 1,67 3,34 1,67 3,34
1638 2,00 4,00 2,01 4,01
1911 2,33 4,67 2,33 4,66
2184 2,67 5,34 2,68 5,34

2457 3,00 6,01 3,01 6,00


2730 3,33 6,67 3,34 6,66
3003 3,67 7,34 3,69 7,33
3276 4,00 8,01 4,01 8,02
3549 4,33 8,68 4,32 8,68
3822 4,67 9,34 4,66 9,33

4095 5,00 10,01 4,99 10,00


81

4.2 RESULTADOS E DISCUSSÃO

Concluídas as etapas de projeto, simulação, construção, testes e ajustes do


circuito, pode-se então extrair e analisar os resultados obtidos com o a realização do
presente projeto. Para tanto, é importante ter em vista os objetivos estipulados quando
da proposição deste, e desta forma realizar também uma análise a respeito daquilo
que foi alcançado.

Como ponto fundamental e mais importante, tem-se o fato de que o circuito


como um todo apresentou um bom funcionamento dentro daquilo que era esperado.
O mesmo foi capaz de drenar a corrente elétrica desejada de uma fonte de
alimentação, de forma estável e continuada, sem apresentar falha ou
superaquecimento, dentro dos limites estipulados no projeto, os quais estão ilustrados
na Figura 48. Além disso, permitiu a seleção do valor desejado, ajustando a corrente
elétrica consumida de acordo com esta seleção, apresentando os valores correntes
de tensão e corrente elétricas presentes nos terminais do equipamento, bem como a
potência elétrica total consumida no momento.

Figura 48 - Limites de operação.

Fonte: Do autor.
82

Isto posto, é importante que se realize um comparativo entre as opções


comercialmente disponíveis apresentadas anteriormente no capítulo 1.2 e a versão
aqui desenvolvida quanto às suas características básicas e limites de operação. Tal
comparativo encontra-se na Tabela 13, apresentada a seguir.

Tabela 13 - Comparativo entre as opções citadas.

BK Precision BK Precision Tektronix Carga


Model 8540 Model 8600 Model 2380 Projetada
Tensão
60V 120V 120V 50V
Máxima
Corrente
30A 30A 60A 10A
Máxima
Potência
150W 150W 250W 70W
Máxima
Modos CC, CV, CR CC, CV, CR, CP CC, CV, CR, CP CC
Valor R$ 1685,25 R$ 3370,50 R$ 6034,80 R$ 248,06

Observando os dados apresentados, nota-se que a versão desenvolvida


encontra-se bem aquém daquelas disponíveis no mercado, principalmente no que diz
respeito à capacidade de corrente e modos de operação. Entretanto, quando levado
em consideração os requisitos do usuário a que se destina, percebe-se que o
equipamento desenvolvido no decorrer deste projeto é aquele que mais se aproxima
das necessidades destes, de forma a não apresentar grande capacidade ociosa em
termos de características técnicas, as quais se revertem em um menor custo de
aquisição.

Tratando-se do fator custo, a Tabela 14 - Lista de materiais utilizados e seus


valores. apresenta a lista de materiais utilizados na construção do protótipo aqui
documentado, bem como os valores correntes para cada um dos componentes no
momento da realização deste trabalho. Assim, tem-se que o custo total para
construção deste dispositivo foi de R$ 248,06, muito inferior àquele da opção
comercial de menor valor atualmente (US$525,00), que em moeda local, com a
cotação atual, seria de R$ 1685,25 (cotação atual: US$ 1,00 = R$ 3,21). De fato, em
uma comparação, o custo de construção do presente projeto é de menos de 15%
daquele referente ao modelo 8540 da BK Precision.
83

Tabela 14 - Lista de materiais utilizados e seus valores.

Componente Quant Valor Unitário Valor Total


Capacitores
Poliéster 100nF 23 R$ 0,26 R$ 5,98
Poliéster 22nF 1 R$ 0,26 R$ 0,26
Poliéster 1nF 1 R$ 0,26 R$ 0,26
Eletrolítico 220uF x 25V 6 R$ 0,19 R$ 1,14
Resistores
10k x 1/4W – 5% 11 R$ 0,05 R$ 0,55
39k x 1/4W – 5% 2 R$ 0,05 R$ 0,10
0,02R x 1W – 1% SMD 2 R$ 1,10 R$ 2,20
1k x 1/4W – 5% 2 R$ 0,05 R$ 0,10
150R x 1/4W – 5% 3 R$ 0,05 R$ 0,15
330R x 1/4W – 5% 1 R$ 0,05 R$ 0,05
82k x 1/4W – 5% 1 R$ 0,05 R$ 0,05
2,2k x 1/4W – 5% 1 R$ 0,05 R$ 0,05
Trimpots
Trimpot Multivoltas 20k 7 R$ 1,02 R$ 7,14
Circuitos Integrados
LM7812 1 R$ 1,08 R$ 1,08
LM7912 1 R$ 1,05 R$ 1,05
LM7805 1 R$ 0,72 R$ 0,72
OP07 3 R$ 1,02 R$ 3,06
Módulos
MCP4725 1 R$ 12,25 R$ 12,25
ADS1115 1 R$ 25,00 R$ 25,00
Transistores
2N2222 2 R$ 0,24 R$ 0,48
IRFP260N 1 R$ 9,27 R$ 9,27
Diodos
1N4733 2 R$ 0,18 R$ 0,36
1N4737 2 R$ 0,18 R$ 0,36
1N4007 5 R$0,07 R$ 0,35
Outros
Arduino Uno R3 1 R$ 59,90 R$ 59,90
84

Display LCD 16x2 1 R$ 29,72 R$ 29.72


Fusível 10A 1 R$ 0,14 R$ 0,14
Soquete para Fusível 1 R$ 1,50 R$ 1,50
Conector SIL 8 pinos 2 R$ 0,96 R$ 1,92
Conector SIL 6 pinos 2 R$ 0,68 R$ 1,36
Relé 12V 20A 1 R$ 3,53 R$ 3,53
Varistor 1 R$ 0,80 R$ 0,80
Pushbutton 12x12x12mm 6 R$ 0,47 R$ 2,82
PCI 10x15cm 1 R$ 3,91 R$ 3,91
PCI 15x5cm 1 R$ 1,95 R$ 1,95
Transformador 15+15V 500mA 1 R$ 18,50 R$ 18,50
Dissipador + Fan 1 R$ 50,00 R$ 50,00
Total.................. R$ 248,06

Além dos pontos já apresentados, o fato desta carga ativa ser baseada em
torno de uma plataforma de desenvolvimento amplamente difundida torna-a bastante
convidativa a aperfeiçoamentos por parte de qualquer um que venha a se interessar.
Desta forma, e com base no hardware desenvolvido, é possível que sejam
implementados futuramente novas funcionalidades e recursos, tais como diferentes
modos de operação (resistência constante, tensão constante, potência constante),
hoje ausentes, aplicação de variações nos parâmetros de seleção, como por exemplo
para testes de comportamento transitório de fontes de alimentação, entre outros.
Desta forma, é possível que se torne esta opção mais próxima do que é oferecido
pelos produtos hoje no mercado, com uma adição de custo praticamente nula.

Ainda, a presença da interface de comunicação serial, por meio da conexão


USB, propicia que sejam desenvolvidas ferramentas para captura e tratamento de
dados com o uso de um computador e softwares adicionais, permitindo que sejam
realizadas operações de registro de dados para posterior análise, bem como traçado
de gráficos, por exemplo, de curvas de descarga de baterias.

Por fim, havendo necessidade e interesse em expandir-se os limites de


operação deste dispositivo, aproximando-o mais daqueles das versões comerciais,
isto pode ser feito sem maiores modificações ao circuito aqui desenvolvido. Como
exemplos, pode-se citar uma ampliação da faixa de tensões de entrada com um
85

simples ajuste na relação do divisor resistivo, bem como escolha de um transistor


adequado. Por sua vez, um aumento da capacidade de corrente máxima requer que
haja uma adequação dos resistores shunt quanto à capacidade de dissipação de
potência, ajuste do ganho do amplificador não-inversor para compatibilizar os novos
níveis de tensão elétrica e seleção de um MOSFET capaz de suportar tal corrente
desejada.

A potência máxima, por outro lado, depende do transistor empregado, bem


como, principalmente, do dissipador em uso, e constitui o elemento mais custoso em
termos de expansão. Em um cálculo rápido, para estender os limites máximos para
60V e 30A, com uma potência máxima de 150W, estima-se um custo adicional de R$
131,89, totalizando R$ 379,59. Valor este ainda muito inferior aos R$ 1685,25 do
modelo 8540 da BK Precision.
86

5 CONCLUSÕES

O desenvolvimento do presente trabalho possibilitou o estudo de formas de


projetar-se uma carga eletrônica DC programável como alternativa em relação aos
modelos disponíveis atualmente no mercado. Juntamente com este fato, permitiu que
se obtivesse uma melhor noção a respeito da faixa de preço em que estas se situam,
bem como as funções por elas oferecidas, assim servindo como elemento de
comparação para o equipamento desenvolvido no decorrer do presente relatório.

Baseado em necessidades mais específicas do público ao qual destinou-se o


presente trabalho, notadamente acadêmicos, hobbistas ou profissionais fora do
ambiente corporativo, foi possível o desenho e construção de um equipamento cujo
custo de montagem é bastante inferior ao valor de uma carga eletrônica DC comercial.
Adicionalmente, uma vez que o mesmo baseou-se em torno da plataforma de
desenvolvimento Arduino, uma futura adição de recursos e funcionalidades é algo que
pode ser concretizado sem dificuldades maiores, bem como não requerendo um
conhecimento avançado a respeito. Desta forma, pode-se dizer que os objetivos
propostos foram efetivamente alcançados com a realização deste projeto.

As simulações computacionais realizadas foram de fundamental importância


para que se obtivesse uma melhor noção acerca do correto funcionamento, bem como
do comportamento dos circuitos projetados. Eventuais falhas puderam ser detectadas
e corrigidas, assim como diferentes soluções puderam ser avaliadas e a com melhor
desempenho, escolhida. Da mesma forma, a realização de calibrações e testes foram
essenciais para que o circuito apresentasse o comportamento adequado, de acordo
com o que fora projetado e esperado para o mesmo, assim como comprovar que o
funcionamento se dava tal como planejado. Assim, comprovou-se que o dispositivo
projetado é realmente funcional, e pode ser utilizado para os fins pretendidos.

Dada a importância que um equipamento desses tem para propiciar uma


melhor formação acadêmica, fornecendo uma poderosa ferramenta na realização de
testes e análises de circuitos eletrônicos de potência, é importante que se desenvolva
uma opção que seja acessível, sem os requerimentos aplicados a um equipamento
de nível laboratorial. Não obstante, permite também àqueles que têm interesse na
área de projetos eletrônicos possuírem um equipamento acessível, que pode lhes ser
87

muito útil no desenvolvimento de seus projetos, bem como pode ser customizado para
atender de forma mais específica as necessidades individuais de cada um.

Desta forma, o uso de componentes eletrônicos amplamente disponíveis no


mercado, aliado ao emprego de uma plataforma bastante difundida, permite a
obtenção de uma carga eletrônica DC programável com um custo total de R$248,06,
o que representa menos de 15% do valor da opção comercialmente disponível mais
barata. Ao mesmo tempo, permite que suas características e limites sejam facilmente
ampliados, de acordo com as necessidades, assim propiciando uma significativa
economia de recursos.
88

6 SUGESTÕES PARA TRABALHOS FUTUROS

Uma vez concluído o presente trabalho, ficam elencadas a seguir uma série
de sugestões acerca de pontos passíveis de uma análise e desenvolvimentos
aprofundados em uma futura oportunidade, por parte de quem possa interessar.

 Implementação dos modos de resistência constante (CR), potência


constante (CP) e tensão constante (CV), por meio da programação das
funções adequadas. Verificar comportamento dinâmico de um laço de
controle envolvendo o microcontrolador;

 Projeto de um circuito driver com melhor resposta, assim diminuindo o tempo


de acomodação e melhorando a resposta em frequência do equipamento;

 Caracterização detalhada acerca da resposta dinâmica do circuito, resolução


e precisão;

 Inserção de opções de variações programadas na corrente selecionada,


como por exemplo, aplicações de degraus de corrente para testes de
transitórios em fontes de alimentação;

 Ampliação dos limites de tensão elétrica máxima, corrente elétrica máxima


e potência elétrica máxima;

 Desenvolvimento de ferramentas que possibilitem o uso da interface serial


via USB para recebimento e tratamento de dados, possibilitando o uso para
testes de baterias, com a possibilidade do traçado de suas respectivas
curvas de descarga;

 Implantação de rotina de proteção e superaquecimento no programa.


89

REFERÊNCIAS

JUNG, W.G. Op Amp Applications. Analog Devices, 2002. Disponível em


<[Link]
[Link]>. Acesso em 25/05/2017.

POMÍLIO, J.A. Eletrônica de Potência. Campinas, SP: UNICAMP, 2014.

SEDRA, A.; SMITH, K.C. Microelectronic Circuits. 5th edition. McGraw-Hill, 2004.

BLUM, J. Exploring Arduino: Tools and Techniques for Engineering Wizardry.


Indianapolis, IN: Wiley, 2013.

NXP SEMICONDUCTORS. UM10204: I²C Bus Specification and User Manual. Rev.
6. NXP Semiconductors, 2014. Disponível em <[Link]
guide/[Link]>. Acesso em 06/06/2017.

KEITHLEY. Series 2380 Programmable DC Electronic Loads. 2015.

BK PRECISION. DC Electronic Load: Model 8540. 2014.

BK PRECISION. Programmable DC Electronic Loads: 8600 Series. 2015.

ANALOG DEVICES. OP 07 – Ultralow Offset Voltage Operational Amplifier.

INTERNATIONAL RECTIFIER. IRFP260N – HEXFET® Power MOSFET. 2004.

MICROCHIP. MCP4725 – 12-Bit Digital-to-Analog Converter with EEPROM


Memory. 2007.

TEXAS INSTRUMENTS. ADS111x Ultra-Small, Low-Power, I²C-Compatible, 860-


SPS, 16-Bit ADCs with Internal Reference, Oscillator, and Programmable
Comparator. 2016.

TEXAS INSTRUMENTS. LM35 Precision Centigrade Temperature Sensors. 2016.

MAXIM INTEGRATED INC. DS18B20 – Programmable Resolution 1-Wire Digital


Thermometer. 2015.

ARDUINO. Arduino Uno Rev3. Disponível em <[Link]


uno-rev3>. Acesso em 02/07/2017.

BK PRECISION. DC Electronic Loads. Disponível em


<[Link] Acesso em
10/05/2017.

TEKTRONIX. Series 2380 DC Electronic Loads. Disponível em


<[Link] Acesso em 10/05/2017.
90

BIBLIOGRAFIA CONSULTADA

KITCHIN, C.; COUNTS, L. A Designer’s Guide to Instrumentation Amplifiers. 3rd.


ed. Analog Devices, 2006.

SATTAR, A. Power MOSFET Basics. IXYS Corporation, 2006. Disponível em


<[Link] Acesso em 02/06/2017.

BAKER, B.C. Designing an Anti-Aliasing Filter for ADCs in the Frequency


Domain. Texas Instruments, 2015.
ANALOG DEVICES. MT-038: Op Amp Input Bias Current. Analog Devices, 2008.
Disponível em <[Link]
[Link]>. Acesso em 28/05/2017.
91

CÓDIGO DO PROGRAMA PRINCIPAL


#include <LiquidCrystal.h> //Biblioteca LCD
#include <Wire.h> //Biblioteca i2C
#include <Adafruit_MCP4725.h> //Biblioteca conversor D/A
#include <Adafruit_ADS1015.h> //Biblioteca conversor A/D

Adafruit_MCP4725 dac;
Adafruit_ADS1115 ads;

// Definição de constantes

const int k_adcCurrent = 0; // Entrada de medição de corrente


const int k_adcVoltage = 1; // Entrada de medição de tensão

const float k_readToVoltage = 0.00187; // Fator de conversão V/leitura


const float k_readToCurrent = 0.0003714; // Fator de conversão A/leitura

const int k_showMenu = 1; // Mostra o menu para seleção da corrente


const int k_showRead = 0; // Mostra os valores lidos

const int k_maxCurrent = 10; // Limite de corrente


const int k_maxVoltage = 50; // Limite de tensão
const int k_maxPower = 70; // Limite de potência

const int button1 = 6; // Botão Mode


const int button2 = 5; // Botão Up
const int button3 = 4; // Botão Down
const int button4 = A0; // Botão Right
const int button5 = A1; // Botão Left
const int button6 = A2; // Botão Set

const int relay = 2; // Relé


const int fan = 3; // Ventilador

// Variáveis

int g_lcdShow = 0; // Define a tela a ser apresentada


92

int g_button[6] = {0,0,0,0,0,0}; // Armazena status dos botões

float g_inputVoltage = 0; // Armazena a leitura da tensão de entrada


float g_inputCurrent = 0; // Armazena a leitura da corrente de entrada
float g_setCurrent = 0; // Armazena a corrente selecionada

unsigned long g_lastDisplay = 0; // Usada para atualizar o display

LiquidCrystal lcd(12, 11, 10, 9, 8, 7); // Conexões do LCD (RS, EN, D4, D5, D6, D7)

// Funções

//Seta o valor da saída do DAC


void setDac(int value)
{
[Link](value, false);
}

//Lê a corrente de entrada


void readCurrent()
{
g_inputCurrent = (ads.readADC_SingleEnded(k_adcCurrent))*k_readToCurrent;
}

//Lê a tensão de entrada


void readVoltage()
{
g_inputVoltage = (ads.readADC_SingleEnded(k_adcVoltage))*k_readToVoltage;
}

// Arredonda um float para n casas


float roundFloat(float num, int dec)
{
float round_float = round(num * pow(10, dec)) / pow(10, dec);
return round_float;
}
93

// Converte a corrente setada em um valor a ser enviado para o DAC


void currentToDac(float setCurrent)
{
int dacCurrent = setCurrent * 4095 / k_maxCurrent;
setDac(dacCurrent);
}

// Atualiza o display a cada 500ms


boolean updateLCD()
{
unsigned long now = millis();
if(now - g_lastDisplay >= 500)
{
g_lastDisplay = now;
return true;
}
else
{
return false;
}
}

// Lê os botões
void readButtons()
{
g_button[0] = digitalRead(button1);
g_button[1] = digitalRead(button2);
g_button[2] = digitalRead(button3);
g_button[3] = digitalRead(button4);
g_button[4] = digitalRead(button5);
g_button[5] = digitalRead(button6);
}

// Escreve no display
void updateLCD(int displayType)
{
char buf[17]; //LCD de 16 colunas
94

switch (displayType)
{
case 0:
if(updateLCD())
{
[Link]();
[Link]("Tensao:");
[Link](10, 0);
[Link](g_inputVoltage, 3);
[Link]("V");
[Link](0, 1);
[Link]("Corrente:");
[Link](10, 1);
[Link](g_inputCurrent, 3);
[Link]("A");
}
break;

case 1:
if(updateLCD())
{
[Link]();
[Link](4, 0);
[Link]("Set Mode");
[Link](0, 1);
[Link]("Corrente:");
[Link](10, 1);
[Link](g_setCurrent, 3);
[Link]("A");
}
break;
}
}
95

// Inicializações
void setup()
{
[Link](); // Inicia o conversor AD
[Link](0x62); // Inicia o conversor DA
[Link](16, 2); // Inicia o display LCD
[Link](9600); // inicia a interface serial
pinMode(button1, INPUT); // Define o pino button 1 como entrada
pinMode(button2, INPUT); // Define o pino button 2 como entrada
pinMode(button3, INPUT); // Define o pino button 3 como entrada
pinMode(button4, INPUT); // Define o pino button 4 como entrada
pinMode(button5, INPUT); // Define o pino button 5 como entrada
pinMode(button6, INPUT); // Define o pino button 6 como entrada
pinMode(fan, OUTPUT); // Define o pino fan como saída
pinMode(relay, OUTPUT); // Define o pino relay como saída

digitalWrite(fan, HIGH); //Ativa o ventilador


}

void loop()
{
readButtons(); //Lê os botões
if(g_button[0] == HIGH) // Alterna a tela mostrada
{
if(g_lcdShow = 0)
{
g_lcdShow = 1;
digitalWrite(relay, LOW); // Desliga a saída
}
else
{
g_lcdShow = 0;
digitalWrite(relay, HIGH); // Liga a saída
}
}

if(g_lcdShow = 0) // Se modo leitura


96

{
readVoltage(); // Lê a tensão
readCurrent(); // Lê a corrente
}
else // Se modo ajuste
{
if(g_button[1] == HIGH)
{
g_setCurrent = g_setCurrent + 0.1; // Incrementa em 100mA a corrente setada
if(g_setCurrent > k_maxCurrent) // Caso a corrente seja maior que o limite
{
g_setCurrent = k_maxCurrent;
}
delay(500); // Atraso de 500ms
}
if(g_button[2] == HIGH)
{
g_setCurrent = g_setCurrent - 0.1; // Decrementa em 100mA a corrente setada
if(g_setCurrent < 0) // Caso a corrente seja menor que zero
{
g_setCurrent = 0;
}
delay(500); // Atraso de 500ms
}
if(g_button[5] == HIGH) // Botão Set pressionado
{
currentToDac(g_setCurrent); // Seta a saída do DAC
g_lcdShow = 0; // Volta a exibir os valores de leitura
digitalWrite(relay, HIGH); // Liga a saída
}
}

updateLCD(g_lcdShow); // Atualiza o display


}
97

CÓDIGO PARA CALIBRAÇÃO DE VIN E IIN

#include <Wire.h> /* Biblioteca necessária para uso do protocolo I²C */


#include <Adafruit_ADS1015.h> /* Biblioteca incluindo as funções para controle e uso
do ADC ADS1115 */

Adafruit_ADS1115 ads; /* Define ads como equivalente a Adafruit_ADS1115 */

void setup(void)
{
[Link](9600); /* Inicializa a comunicação serial com baud rate de 9600bps */
[Link](); /* Inicializa o ADS no endereço padrão */
}

void loop(void)
{
int16_t adc0, adc1; /* Define as variáveis necessárias para o funcionamento do
código */

adc0 = ads.readADC_SingleEnded(0); /* Realiza a leitura da entrada A0 do ADC e


armazena o valor lido na variável adc0 */
adc1 = ads.readADC_SingleEnded(1); /* Realiza a leitura da entrada A1 do ADC e
armazena o valor lido na variável adc1 */

[Link]("A0: "); /* Envia, via comunicação serial, o texto A0: */


[Link](adc0); /* Imprime o valor da leitura na entrada A0 */
[Link](" "); /* Insere uma linha em branco */
[Link]("A1: "); /* Envia, via comunicação serial, o texto A1: */
[Link](adc1); /* Imprime o valor da leitura na entrada A1 */
[Link](" "); /* Insere uma linha em branco */

delay(3000); /* Força um atraso na execução do código a fim de permitir a leitura


dos dados reportados */
}
98

CÓDIGO PARA CALIBRAÇÃO DO DAC

#include <Wire.h> // Biblioteca necessária para uso do


protocolo I²C
#include <Adafruit_MCP4725.h> // Biblioteca incluindo as funções para
controle e uso do DAC MCP4725
Adafruit_MCP4725 dac; // Define dac como equivalente a
Adafruit_MCP4725
void setup(void)
{
[Link](9600); // Inicializa a comunicação serial com baud
rate de 9600bps
[Link](0x62); // Inicializa o DAC no endereço (0x62)
}

void loop(void)
{
int16_t voltage = 0; // Define as variáveis necessárias para o
funncionamento do código
for (int i = 0; i<15; i++)
{
[Link]("DAC set: "); // Envia, via serial, o texto DAC set:
[Link](voltage); // Imprime o valor setado para a DAC
[Link](voltage, false); // Seta o valor armazenado em 'voltage' no
DAC
voltage = voltage + 273; // Acresce em 273 o valor armazenado em
'voltage'
delay (3000); // Atrasa a execução do código em 3
segundos
}
}

Você também pode gostar