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
}
}