Robô Seguidor de Trilhas Protótipo de um Modelo Automotivo

Propaganda
HENRIQUE ARAÚJO DE MORAES
ROBÔ SEGUIDOR DE TRILHAS
PROTÓTIPO DE UM MODELO AUTOMOTIVO COM TRAÇÃO ELÉTRICA
MICROCONTROLADO GUIADO POR SENSORIAMENTO
LONDRINA
2011
HENRIQUE ARAÚJO DE MORAES
ROBÔ SEGUIDOR DE TRILHAS
PROTÓTIPO DE UM MODELO AUTOMOTIVO COM TRAÇÃO ELÉTRICA
MICROCONTROLADO GUIADO POR SENSORIAMENTO
Trabalho de conclusão de curso submetido à
Universidade Estadual de Londrina como parte
dos requisitos para a obtenção do grau de
Engenheiro Eletricista.
Orientador: Prof. Aziz Elias Demian Junior
LONDRINA - PR
2011.
HENRIQUE ARAÚJO DE MORAES
ROBÔ SEGUIDOR DE TRILHAS
PROTÓTIPO DE UM MODELO AUTOMOTIVO COM TRAÇÃO ELÉTRICA
MICROCONTROLADO GUIADO POR SENSORIAMENTO
„Este trabalho foi julgado adequado para a
conclusão do curso de Engenharia Elétrica e
aprovado em sua forma final pela Coordenação do
Curso de Engenharia Elétrica da Universidade
Estadual de Londrina‟
BANCA EXAMINADORA
Orientador: Prof. Dr. Aziz Elias Demian Junior
Orientador
Prof.Msc.André Luiz Batista Ferreira
Prof. Dr. Marcio Roberto Covacic
Londrina, _____de ___________de _____.
À minha família, minha namorada querida e aos amigos que ganhei durante a graduação.
.
AGRADECIMENTOS
Agradeço à minha família, minha namorada querida e todos os amigos que ganhei
durante toda essa caminhada da Engenharia Elétrica. Com certeza nossa amizade contribuiu
para que conseguíssemos seguir em frente na graduação.
Ao meu professor orientador, Aziz, que me deu a oportunidade de realizar esse
projeto o qual garantiu bastante crescimento profissional e experiência, e sempre me orientou
positivamente para conquista dos resultados. Ao pessoal do laboratório da T4 que me auxilio
nas atividades práticas do projeto.
Também um agradecimento especial à 3E-UEL a qual fiz parte durante boa parte da
graduação e me ensinou valores como respeito, amizade, trabalho em equipe e o espirito
empreendedor que levarei em todas as atividades que farei ao longo da vida.
iv
MORAES, Henrique Araújo. Robô Seguidor de Trilhas: Protótipo de um modelo
automotivo com tração elétrica microcontrolado guiado por sensoriamento.
2011. 89. Trabalho de Conclusão de Curso (Graduação em Engenharia Elétrica) –
Universidade Estadual de Londrina, Londrina, 2011.
RESUMO
O projeto visa o desenvolvimento do protótipo de um modelo automotivo que é
tracionado por dois motores de corrente contínua em eixos independentes e se locomove
guiado por uma trilha pintada na pista. Foram utilizados dois sensores do tipo LDR: Light
Dependent Resistor. Estes são dispositivos passivos que tem a propriedade de variar sua
resistência conforme variação da incidência de luz. A detecção das curvas é processada por
um microcontrolador PIC16F874A. As informações dos sensores são interpretadas e o
controle é feito através de sinais PWMs (Pulse Width Modulation) independentes que
acionarão os circuitos de potência. A direção é baseada na variação angular do eixo do robô
proporcionalmente à diferença da velocidade angular dos motores. Também foi projetada a
parte mecânica onde estão sobrepostos os blocos eletrônicos.
Palavras chaves: 1. PWM - 2. Acionamento de motores CC- 3. Microcontrolador PIC - 4.
Sensores 5. Robô
v
MORAES, Henrique Araújo. Trail Follower Robot: prototype of a microcolled
automobile model guided by optical sensors. 2011. 89. Trabalho de Conclusão de Curso
(Graduação em Engenharia Elétrica) – Universidade Estadual de Londrina, Londrina, 2011.
ABSTRACT
This project aims to develop a prototype of an automobile model that is pulled by two direct
current (DC) motors to move through independent axes and guided by a trail painted on the
track. It was used two sensors of LDR (Light Dependent Resistor). These are passive devices
that have the ability to vary its resistance as the variation of incidence of light. The
detection of the curves is processed by a microcontroller PIC16F874A. The information from
the sensors is used as input to the device controls the two motor's velocity by PWMs
signals (Pulse Width
Modulation) that
triggers the independent power
circuits. The
direction is based on the angular variation of the robot‟s axis in proportion to the difference of
the angular speed of the motors. It should also be designed the model‟s mechanics structure.
Key Words: 1. PWM - 2. DC motor drivers - 3. Microcontroller PIC - 4. Sensors 5. Robot
vi
Conteúdo
LISTA DE FIGURAS ........................................................................................................................................... IX
LISTA DE TABELAS .......................................................................................................................................... XII
INTRODUÇÃO................................................................................................................................................. 13
FUNDAMENTAÇÃO TEÓRICA .......................................................................................................................... 15
2.1 PRINCÍPIO DE ELETRÔNICA DE POTÊNCIA ............................................................................................................... 15
2.2 MODULAÇÃO POR LARGURA DE PULSO - PWM ..................................................................................................... 18
2.2.1 Demonstração Matemática ................................................................................................................. 20
2.2.2 Tensão RMS ......................................................................................................................................... 21
2.3 TRANSISTORES TBJ ........................................................................................................................................... 22
2.3.1 Operação em Corte e Saturação .......................................................................................................... 22
2.3.2 Caraterísticas Físicas reais do chaveamento ....................................................................................... 26
2.3.3 Configuração Darlington ...................................................................................................................... 28
2.4 CIRCUITOS DE ACIONAMENTO DE MOTORES CC ..................................................................................................... 29
2.4.1 Conversor Buck .................................................................................................................................... 29
2.4.2 Conversor Ponte Completa – Ponte H .................................................................................................. 32
2.5 MOTOR CC ..................................................................................................................................................... 36
2.6 CONCEITOS DE INSTRUMENTAÇÃO ELETRÔNICA ...................................................................................................... 39
2.7 SENSORES LDR ................................................................................................................................................ 40
2.8 CIRCUITOS DE INSTRUMENTAÇÃO ........................................................................................................................ 43
2.9 MICROCONTROLADORES .................................................................................................................................... 47
2.9.1 Microcontroladores.............................................................................................................................. 47
2.9.2 PIC16F874A ......................................................................................................................................... 48
2.9.3 PROGRAMANDO NO PIC ................................................................................................................................ 51
2.9.3 ADC ...................................................................................................................................................... 56
2.9.4 PWM ................................................................................................................................................... 58
DESENVOLVIMENTO PRÁTICO ....................................................................................................................... 59
3.1 VISÃO GERAL DO PROJETO .................................................................................................................................. 59
3.2 DRIVERS DOS MOTORES DE CORRENTE CONTÍNUA ................................................................................................... 60
3.2.1 Projeto Ponte H .................................................................................................................................... 60
3.2.2 Alternativa para driver em Ponte H ..................................................................................................... 63
3.2.3 Projeto Conversor Buck ........................................................................................................................ 64
3.3 PROJETO CIRCUITO DO SENSORIAMENTO .............................................................................................................. 66
3.3.1 Teste de valores de LDR ....................................................................................................................... 68
3.3.2 Determinação do Rpot do divisor de tensão .......................................................................................... 69
3.3.2 Comparador lógico Schmitt Trigger ..................................................................................................... 70
3.3.2 Diodo Zener e Buffer de entrada .......................................................................................................... 73
3.3 PROJETO DO ALGORITMO DO FIRMWARE ............................................................................................................... 75
3.3.2 Ligações físicas do microcontrolador ................................................................................................... 75
3.3.2 Lógica de funcionamento do Robô....................................................................................................... 77
vii
3.3.2.1 Acionamento do motor ..................................................................................................................... 80
3.3.3 Fluxograma de funcionamento ............................................................................................................ 81
3.4 FONTE DE ALIMENTAÇÃO DO CIRCUITO ................................................................................................................. 83
3.4.1 Escolha da bateria................................................................................................................................ 84
3.5 ESTRUTURA FÍSICA ............................................................................................................................................ 85
3.5.1 Estrutura mecânica .............................................................................................................................. 85
3.5.2 Projeto da placa eletrônica .................................................................................................................. 87
3.5.3 Integração dos blocos .......................................................................................................................... 89
RESULTADOS E DISCUSSÕES........................................................................................................................... 90
4.1 SIMULAÇÃO DO CIRCUITO DE ACIONAMENTO DO MOTOR .......................................................................................... 90
4.1.2 Testes em Protoboard .......................................................................................................................... 95
4.2 ESTUDOS SOBRE O COMPORTAMENTO DOS LDRS; .................................................................................................. 97
4.3 SIMULAÇÕES DO FUNCIONAMENTO DO CÓDIGO .................................................................................................... 100
4.2.1.1 Caso de teste 1: Robô segue em linha reta ................................................................................................... 101
4.2.1.2 Caso de teste 2: Curva à direita .................................................................................................................... 102
4.2.1.3 Caso de teste 3: Curva à esquerda ................................................................................................................ 103
4.2.1.4 Caso de teste 4: Ambos os sensores sobre a trilha ....................................................................................... 104
4.2.1.4 Caso de teste 5: Histerese incerteza ............................................................................................................. 105
CONCLUSÕES ................................................................................................................................................107
BIBLIOGRAFIA ...............................................................................................................................................109
ANEXOS ........................................................................................................................................................111
ANEXO 1 - CÓDIGO DO MICROCONTROLADOR EM LINGUAGEM C................................................................................. 111
ANEXO 2 – PROJETO ELETRÔNICO COMPLETO E LAYOUT DA PLACA ............................................................................... 114
viii
Lista de Figuras
Figura 1.1 – Diagrama de blocos do sistema......................................................................................... 13
Figura 2.1 - Controle por variação de tensão..........................................................................................15
Figura 2.2 - Controle por chaveamento ................................................................................................. 16
Figura 2.3 - Perdas por chaveamento .................................................................................................... 17
Figura 2.4 - Sinais PWM......................................................................................................................... 19
Figura 2.5 - Representação dos TBJs NPN e PNP ................................................................................ 22
Figura 2.6 - Circuitos de polarização dos transistores ........................................................................... 23
Figura 2.7 - Gráfico de curva característica de um transistor com carga .............................................. 24
Figura 2.8 - Tempos de comutação de um trasistor de potência para carga resistiva ........................... 27
Figura 2.9 – Transistor TBJ em configuração Darlington ..................................................................... 28
Figura 2.10 – Conversor Buck .............................................................................................................. 29
Figura 2.11 - Formas de onda de um conversor Buck ........................................................................... 30
Figura 2.12 – Resposta de corrente em função da indutância da carga ................................................. 32
Figura 2.13 – Conversor “Ponte H” ...................................................................................................... 33
Figura 2.14 - Motor acionado em um dos sentido de rotação ............................................................... 33
Figura 2.15 - Motor acionado no sentido oposto de rotação ................................................................. 34
Figure 2.16 - Exemplo de projeto de Ponte H ....................................................................................... 35
Figura 2.17 - Circuito com dois quadrantes de operação ...................................................................... 35
Figura 2.18 - Estrutura básica de um motor de corrente contínua......................................................... 36
Figura 2.19 - Circuito elétrico equivalente do motor cc........................................................................ 37
Figura 2.20 - Quadrantes de operação do motor ................................................................................... 38
Figura 2.21 - Foto LDR real e seu símbolo elétrico .............................................................................. 41
Figura 2.22 - Foto LDR real e seu símbolo elétrico .............................................................................. 41
Figura 2.23 - LDR em divisor de tensão................................................................................................ 42
Figura 2.24 – Divisor de tensão do LDR............................................................................................... 43
Figura 2.25 - Ponte de Wheatstone ....................................................................................................... 44
Figura 2.26 – Amplificador Operacional .............................................................................................. 45
Figura 2.27 - Circuito comparador com Amplificador operacional ...................................................... 45
Figura 2.28 - Amplificador inversor...................................................................................................... 46
ix
Figura 2.29 - Schmitt Trigger ................................................................................................................ 46
Figura 2.30 - Blocos que compõe um microcontrolador ....................................................................... 48
Figura 2.31 - Características principais dos PICs 16F87X ................................................................... 50
Figura 2.32 - Pinos encapsulamento PDIP do 16F874A e 16F877A .................................................... 50
Figura 2.33 - Diagrama de blocos do PIC16F874A .............................................................................. 53
Figura 2.34 - Conjunto de arquivos do compilador............................................................................... 55
Figura 3.2 - Diagrama de blocos do Robô............................................................................................. 60
Figura 3.3 – Projeto Ponte H ................................................................................................................. 61
Figura 3.4 - Pinagem CI SN74LS08 ..................................................................................................... 62
Figura 3.5 - Polarização das Chaves T1 e T2 ........................................................................................ 62
Figura 3.6 - CI L298N ........................................................................................................................... 64
Figura 3.7 - Driver com transistor Darlington ....................................................................................... 65
Figura 3.8 - Divisor de tensão com LDR .............................................................................................. 66
Figura 3.9 - Topologias com divisor de tensão ..................................................................................... 67
Figura 3.10 - Curva de histerese do comparador Schmitt Trigger ....................................................... 71
Figura 3.11 - Comparador Schmitt Trigger ........................................................................................... 72
Figura 3.12 - Divisor de tensão para porta de entrada do PIC .............................................................. 74
Figura 3.13 - Grampeamento de tensão para máximo de 5,1V na entrada do PIC .............................. 74
Figura 3.14 - Circuito oscilador gerador de clock externo .................................................................... 77
Figura 3.15 – Ligações físicas ao microcontrolador ............................................................................. 77
Figura 3.16 - Detecção das curvas pelo robô ....................................................................................... 79
Figura 3.17 - Direção em função da diferença de velocidade entre os eixos ........................................ 81
Figura 3.18 - Fluxograma do código ..................................................................................................... 82
Figura 3.19 - Bloco regulador de tensão do circuito ............................................................................. 83
Figura 3.20 - Bateria de 9V dimensionamento...................................................................................... 84
Figura 3.21 - Materiais para fazer os chassi .......................................................................................... 85
Figura 3.22 - Chassi com eixos independentes ..................................................................................... 86
Figura 3.23 - Foto do motor de corrente contínua utilizado .................................................................. 86
Figura 3.24 - Foto da parte mecânica definitiva .................................................................................... 87
Figura 3.25 - Esquemático do projeto eletrônico completo .................................................................. 88
Figura 3.265 - Placa finalizada .............................................................................................................. 88
Figura 3.276 - Versão final do protótipo ............................................................................................... 89
x
Figura 4. 1 – Driver dos motores........................................................................................................... 90
Figura 4. 2 - Tensão VCE em função do tempo ...................................................................................... 91
Figura 4. 3 - Relação entre a tensão VBE e VCE do par Darlington. ................................................... 92
Figura 4. 4 - Corrente de base do transistor BC337 .............................................................................. 93
Figura 4. 5 - Corrente de coletor (onda menor) em função da tensão coletor emissor do transistor
BD139. Ic ≅ 417mA ............................................................................................................................. 94
Figura 4. 6 - Tensão VCE no transistor BD139 ...................................................................................... 95
Figura 4.7 - Tensão VCE no transistor BD139 com grande valor de D no sinal PWM da base ............. 95
Figura 4. 8 - Tensão RMS variante com Duty Cycle do sinal PWM ..................................................... 96
Figura 4.9 - Corrente RMS com o transistor chaveando e em corte. .................................................... 96
Figura 4.10 - Circuitos dos sensores e interface com microcontrolador PIC16F874A ......................... 97
Figura 4.11 - Tensão de saída do divisor de tensão em função da densidade luminosa........................ 99
Figura 4. 12 - Resistência do LDR em função da densidade luminosa ................................................ 99
Figura 4.13 - Esquemático de simulação do Proteus........................................................................... 100
Figura 4.14 - PWM gerado para caso de teste 1. Duty Cycle = 250/1024........................................... 102
Figura 4.15 - PWM gerado para caso de teste. Ch A: 350, Ch B: 150 ................................................ 103
Figura 4.16 - PWM gerado para caso de teste. Ch A: 150, Ch C: 350 ................................................ 104
Figura 4.17 - PWM gerado para caso de teste. Ch A: 350, Ch C: 150 ................................................ 105
Figura 4.18 - PWM mantido do caso de teste 4. Ch A: 0, Ch C: 0 ...................................................... 106
xi
Lista de Tabelas
Table 2.1 - Frequências máximas e mínimas configuráveis para PWM ................................... 58
Tabela 3.1 - Lógica das entradas da Ponte H para ativar as chaves ...................................................... 62
Tabela 3. 2 - Circuito de polarização das chaves T1 e T2 ..................................................................... 63
Tabela 3. 3 - Resultados dos testes com LDR ....................................................................................... 69
Tabela 3. 4 - Valores de Vo conforme variação da resistência do sensor ............................................. 70
Tabela 3. 5 - Valores de referência para comparador lógico ................................................................. 71
Tabela 3. 6 - Valores de referência para comparador lógico ................................................................. 71
Tabela 3. 7 - Interpretação do comparador em relação à detecção das trilhas ...................................... 72
Tabela 4.1 - Relação entre a tensão de saída e a densidade luminosa do modelo ................................. 98
Tabela 4.2 - Relação entres os parâmetros do LDR com a tensão do divisor de tensão ........................ 98
Tabela 4.3 - Valores de referência para simulação.............................................................................. 100
xii
Capítulo 1
Introdução
Este trabalho visa a apresentação dos conceitos e passos para a criação de
um modelo automotivo com tração elétrica, microcontrolado e guiado por sensoriamento. O
modelo irá se movimentar guiado por uma trilha pintada de cor escura em uma superfície que
terá cortar branca. Por simplicidade de nomeclatura será denomidado apenas como “Robô
Seguidor de Trilhas”.
O objetivo é apresentar toda a teoria envolvida afim de servir de base a
futuras implementações. Além do projeto teórico do sistema, será desenvolvido um protótipo
para validação dos resultados.
A estratégia seguida é de reduzir o escopo à ideia mais simplificada possível
e a partir do objetivo inicial alcançado, estudar formas de melhorar o desempenho e aumentar
as funcionalidades do sistema.
Os requisitos deste projeto consistem na determinação de cada bloco
funcional como mostrado abaixo. A interrelação entre os blocos funcionais são mostrados na
figura 1.1.
Mecânica
Bateria
Sensor
LDR
Esquerdo
Sensor
LDR
direito
Microcontrolador PIC16874A
Driver motor
esquerdo
Driver motor
direito
Motor CC
esquerdo
Motor CC
direito
Figura 1.1 – Diagrama de blocos do sistema
Fonte: Autoria Própria
13
Motores: Dentre as possiblidades, foram escolhidos motores de baixa
potência e alta velocidade em corrente contínua. Serão apresentados os conceitos e teorias
relacionadas a este dispositivo;
Drivers dos motores: Circuito de acionamento de motores. Para este projeto
optou-se por um driver controlado por cheveamento através da variação da largura de pulso
(técnica é denominada PWM) em detrimento aos controlados por variação direta da tensão nos
terminais do motor;
Sensores: Os dispositivos usados para detectar as variações de luminosidade
provocadas pela trilha é denominado LDR, ou Light Dependent Resistor. No decorrer deste
documento é apresetado as carecterísticas deste componente eletrônicos, técnicas de
instrumentação e alternativas a este sensor;
Controle Microprocessado: O microprocessador PIC16F874A da fabricante
Microchip Inc. é utilizado para coletar o sinal proveniente dos sensores, interpretá-lo e gerar o
controle da largura de pulso para acionamento das chaves do driver do motor. A programação
do código foi feito usando linguagem C.;
Alimentação: Para prover alimentação de energia a todos os blocos, foram
projetados reguladores de tensão. A fonte de alimentação é uma bateria de Niquel Cádmio.
Existe uma grande variedade de baterias as quais vão ser apresentadas como alternativas para
futuros projetos;
Mecânica: a característica mecânica do robô é existência de dois eixos
independentes tracionados por motores DC. Em cada eixo há uma caixa de redução, estrutura
de engrenagens que transformam velocidade angular em torque.
Todos os blocos eletrônicos serão acondicionados sobre uma estrutura
mecânica que foi projetada especialmente para este trabalho.
Esta monografia é dividida em três etapas: fundamentação teórica,
desenvolvimento prático e, resultados e discussões. Na primeira é apresentado os conceitos
necessários para o profundo entendimento do funcionamento do robô. Na segunda serão
mostrados os projetos e alternativas viáveis de implementação. No último demonstram-se os
resultados obtidos a partir do protótipo e o detalhamento do funcionamento do projeto.
14
Capítulo 2
Fundamentação Teórica
2.1 Princípio de Eletrônica de Potência
A eletrônica de potência é a área responsável pela “aplicação de dispositivos
semicondutores de potência, como tiristores e transistores, na conversão e no controle de
energia elétrica em níveis altos de potência.” (AHMED, 2000, P.14)
Segundo esse conceito, sempre quando é necessário controlar a entrega de
energia a uma carga, recorre-se a topologias e circuitos estudados por esta área da engenharia
elétrica.
No processo de controlar a entrega de potência proveniente de uma fonte
para uma determinada carga, pode-se recorrer a duas topologias básicas: controle pela
variação de tensão ou controle por chaveamento.
No primeiro caso é empregado um dispositivo em série com a carga capaz
de variar a tensão sobre seus terminais, exemplo destes controladores são: transformadores
com ajuste de tap ou um potenciômetro. A figura 2.1 apresenta esta topologia básica.
Figura 2.1 – Controle por variação de tensão
Fonte: (AHMED, 2000)
A desvantagem desse método é que a fonte fica constantemente fornecendo
energia à carga e esta é conduzida através do dispositivo controlador. Como este componente
tem uma resistência associada, há grande dissipação de potência sobre ele, tornando-o
ineficaz e gerando sobreaquecimento sobre o dispositivo.
15
No caso da topologia de controle por chaveamento, a chave é ligada e
desligada em determinada frequência. No momento em que está ligada (fechada) a
transferência de energia da fonte para a carga é máxima, já que ela se comporta idealmente
como um condutor sem resistência. Quando desligada (aberta) a chave intenrrompe o
fornecimento de potência.
Dessa forma os dispositivos por chavemento tem um efiência ideal bastante
alta. Além disso o controle do tempo em que fica ligada permite controlar a variação da
transferência energética garantindo assim várias aplicações na eletrônica de potência. A figura
2.2 mostra a topologia básica de controle por chaveamento.
Figura 1.2 - Controle por chaveamento
Fonte: (AHMED, 2000)
Exemplos de componentes que são usados como chaves são: transistores de
junção bipolar (TBJ), transistores por efeito de campo (FET), tiristores, etc. Neste projeto
foram empregados TBJ.
Um um dispositivo de chavemento real existem perdas de potências. Estas
são classificadas em dois tipos: perdas por condução e por chaveamento. Outro ponto
negativo é a geração de interferência eletromagnética provocada pelas fontes chaveadas,
Treviso (2009, p. 127) afirma:
[...] as fontes chaveadas produzem níveis elevados de energia
eletromagnética que se espalham por um amplo espectro de freqüências,
interferindo ou até interrompendo sistemas de telecomunicações e
equipamentos que passam a funcionar erroneamente ou simplesmente
deixam de funcionar.
As perdas por condução acontecem pois os componentes reais não tem uma
tensão nula entre seus terminais quando ligados, provocando uma pequena diferença de
potencial que gera dissipação de energia. O TBJ, por exemplo, tem uma queda intrínsica
16
denominada tensão de saturação, dessa forma parte da potência é dissipada em através da
resistência interna do dispositivo quando o mesmo está em condução.
As perdas por chaveamento são provocadas pelo tempo decorrido para que a
tensão nos terminais do dispositivo (no caso do TBJ é a tensão VCE) comutem de 0V para
tensão máxima de saída Vs ou de Vs para 0V. Estes tempos são designados respectivamente
como tsw(on) e tsw(off). À medida que a tensão na chave cai, a corrente de carga passa a ser
transferida através da chave, neste processo há dissipação de potência. A situação inversa
também é válida. A figura 2.3 resume este este caso.
Figura 2.2 - Perdas por chaveamento
Fonte: (AHMED, 2000)
As propriedades de controle por tensão e chaveamento mostrados
anteriormente permitem uma variedade enorme de circuitos usados na eletrônica de potência
para diversas aplicações. Entre estes destacam-se:

Retificadores: convertem tensão CA (corrente alternada) em CC
(corrente contínua);

Conversores CC/CC ou Choppers: Convertem tensão CC com
um determinado valor de amplitude constante na entrada em uma tensão CC na saída
com amplitude que pode ser ajustada através do circuito;

Inversores CC/CA: convertem tensão CC em tensão CA;
17

Controladores CA/CA: convertem tensão CA com amplitude e
frequencia constantes em tensão CA com amplitude e frequência que podem ser
ajustadas através do circuito.
Neste trabalho são apresentados de conversores CC/CC para acionamento
de motores de corrente contínua.
2.2 Modulação por Largura de Pulso - PWM
PWM é a sigla em inglês para Pulse Width Modulation ou modulação por
largura de pulso. Em eletrônica de potência, a técnica de PWM é utitilizada em diversas
aplicações com circuitos baseados em chaveamento.
A modulação PWM consiste na variação da largura de pulso de um sinal
digital, ou seja, o tempo em que o sinal digital se mantêm em nível lógico alto.
Essa variação pode ser usada para evitar queda da tensão de saída de uma
fonte através de uma malha de controle, geração de um sinal alternado apartir de uma tensão
contínua, alteração de tensão e potência de saída de fontes e conversores, entre outras
aplicações.
O PWM consiste em um padrão de rápida alternância entre liga e desliga de
um período T, na qual, parte do tempo ela estará em estado ativo e parte do
tempo em estado desativado. Vemos assim que a potência média aplicada a
carga pode ser diferente dos valores digitais e que a tensão sobre a carga
varia. (GIOOPO et al., 2009)
A porcentagem do tempo em que o sinal se mantêm em nível lógico alto
Ton em relação ao período total do sinal T é chamada de Ciclo de Trabalho, razão cíclica ou
Duty Cycle, denotado por D, conforme é demonstrado na equação 2.1:
(2.1)
[ ]
(2.2)
Nas equações 2.1 e 2.2, os valores Ton e Toff representam respectivamente os
períodos de tempo em que o sinal está em nível lógico alto (tensão máxima) e em nível lógico
18
baixo (chave aberta, tensão de saída igual a 0 volts). A somatória desses tempos definem o
período total T como mostrado na figura 2.4.
(2.3)
(2.4)
Período T (s) é inverso da frequência F (Hz) do sinal digital conforme
equação 2.5:
(2.5)
Conforme apresentado previamente, na situação prática o PWM modula a
largura de pulso de uma onda quadrada, que pode ser uma tensão alternada entre dois níveis
digitais, por exemplo, zero e cinco volts.
Figura 2.3 - Sinais PWM
Fonte: (AHMED, 2000)
19
2.2.1 Demonstração Matemática
Toda forma de onda tem como característica a possibilidade de ser
representada por uma expressão ou por uma série matemática. Será apresentada a seguir a
comprovação da propriedade de variação da tensão média de um sinal PWM baseada na
variação do ciclo de trabalho D.
Funções periódicas são funções que se repetem com o tempo em
determinada frequência, ou seja, a cada período T o valor da função é o mesmo.
Matematicamente é apresentado conforme equação 2.6:
(2.6)
Um sinal real contínuo e periódico pode ser escrito como uma somatória
infinita de funções senos e cossenos denominada Série de Fourier.
Cada termo dessa série denomina-se harmônica de ordem n. A soma de cada
harmônica a cada instante de tempo forma o sinal original. A expressão 2.7 mostra a forma
genérica de uma função escrita como uma série de senos e cossenos:
∑
(
)
(2.7)
Os parâmetros ao, an e bn são calculados da seguinte forma:
∫
(2.8)
∫
(
)
(2.9)
∫
(
)
(2.10)
Busca-se entender a relação entre a tensão média da forma de onda e o ciclo
de trabalho da onda PWM. Como apresentado anteriormente, um sinal PWM digital pode ser
representado como segue:
20
{
(2.11)
Neste caso, a tensão média da série de Fourier é calculada através da
constante ao segundo a equação 2.13:
∫
∫
(2.12)
Portanto a tensão média de uma onda retangular de um sinal PWM é dada
pela equação 2.13:
(2.13)
2.2.2 Tensão RMS
Além da tensão média, há a tensão média quadrática ou RMS (Root Mean
Square). A tensão RMS é calculada para determinação da potência real consumida por uma
carga em determinado período T.
Fisicamente, ela representa o valor realmente sentido pela carga em termos
de consumo de energia. Pode ser definida como a potência consumida por um sinal CA
equivalente a um sinal CC de mesmo valor que o indicado pelo cálculo RMS. A definição
matematicamente é mostrada na equação 2.14:
√ ∫
(2.14)
No caso de um sinal retangular, como o do PWM, o valor é obtido através
do seguinte equacionamento:
√ ∫
√
21
(2.15)
√
(2.16)
√
(2.17)
Logo o valor Vo(RMS) representa a tensão em corrente contínua que causaria a
mesma dissipação de potência que o sinal alternado aplicado a uma determinada carga.
Portanto, com esta seção verifica-se que tanto tensão média quanto tensão
RMS de um sinal modulado por largura de pulso são relacionadas com a amplitude do sinal de
entrada aplicado e com o tempo Ton em que o sinal fica em estado ativo ou ligado. Esta
propriedade permite o controle de velocidade do motor CC através da variação da tensão
média aplicado em seus terminais, causadas por dispositivos de chaveamento rápido.
Neste projeto, optou-se pelos Transistores Bipolares de Junção (TBJ) como
elementos de chave. A seguir serão apresentados os conceitos necessários para entendimento
do funcionamento deste componente eletrônico.
2.3 Transistores TBJ
2.3.1 Operação em Corte e Saturação
O Transistor Bipolar de Junção, ou TBJ, é um dispositivo semicondutor que
funciona como uma chave controlada por corrente. Através desta característica, o TBJ pode
operar em três regiões distintas: corte, saturação e linear. Dessa forma, o transistor TBJ é um
dos componentes mais úteis em eletrônica pois é utilizado em aplicações digitais de pequenos
sinais, eletrônica analógica e em aplicações de potência. Sua representação é mostrada na
figura 2.5.
Figura 2.4 - Representação dos TBJs NPN e PNP
22
O transistor é um dispositivo de três terminais sendo eles: base (B), coletor
(C) e emissor (E). Através da aplicação de uma corrente no terminal de base pode-se controlar
o fluxo de carga elétrica através das junções entre os terminais de coletor e emissor,
possibilitando as múltiplas aplicações do TBJ. Devido à característica de ser uma fonte de
corrente controlada por corrente, este apresenta um parâmetro β que é o ganho estático do
mesmo:
(2.18)
Para se obter a operação desejada deve-se polarizar o transistor seguindo
três estruturas básicas: base-comum, coletor-comum e emissor comum. A figura 2.6 ilustra
estes modos.
Figura 2.5 - Circuitos de polarização dos transistores
Deseja-se obter a polarização do transitor atuando como chave, ou seja, em
corte e saturação. Seguindo o equacionamento apresentado por Malvino (1995, v.1)
demonstra-se a condição de saturação para a configuração emissor comum.
Segundo a malha 1 do circuito da letra c da figura 2.6, configuração
emissor-comum, obtém-se a seguinte equação:
(2.19)
(2.20)
O gráfico da figura 2.7 mostra a curva característica e a curva de carga do
circuito emissor-comum apresentado. Define-se três regiões: Corte, Linear e Saturação. Além
de uma região de transição chamada: Quase-Saturação.
23
Figura 2.6 - Gráfico de curva característica de um transistor com carga
Fonte: (AHMED, 2000)
À medida que se aumenta a corrente de base, IB, a tensão VCE decai até ser
idealmente zero, isso ocorre no ponto 1 (P1) da figura 2.7. Neste ponto atinge-se a corrente de
base, IBsat necessária para colocar o transistor em saturação. Na saturação a equação da malha
passa a ser:
≅
(2.21)
Sendo,
≅
(2.22)
Dessa forma, a máxima corrente fornecida pela carga acontece na saturação
do transistor. Segundo Treviso (2009) há uma região de transição entre a saturação e a região
linear, chamada Quase Saturação. Naquela região, o valor de β é substituído por βF ou Beta
Forçado, que é menor do que o ganho linear, ou seja:
(2.23)
(2.24)
Na prática o ganho em saturação varia entre 5 e 10. Segundo Ahmed (2000),
uma corrente de base mínima que assegura a operação na saturação é dada por:
24
(2.25)
Como já mencionado, um acréscimo na corrente de base acima do valor de
limiar de saturação é desnecessário, pois a tensão Vce(sat) não diminui significativamente. Pelo
contrário, se forçar uma polarização maior no transistor, o projetista compromete o
desempenho da chave. Treviso (2009, p. 172) afirma que forçar a operação na região de plena
saturação:
[...] deve ser evitado porque provoca atraso na recuperação dos portadores
presentes na junção, isto faz com que o sistema de recombinação (tempo de
estocagem) (ts) seja aumentado, aumentando os tempos de comutação do
transistor bipolar.
Do mesmo modo que na saturação, na região de corte, indicada pelo ponto 4
(P4) da figura 2.7, a corrente de base determina a sua operação. Neste ponto a corrente de
base é praticamente zero. Com esse valor, não se consegue polarizar o transistor para que ele
conduza, fazendo com que o mesmo fique em estado desligado. Neste caso, segundo a
equação da malha do circuito:
≅
(2.26)
Sendo,
≅
(2.27)
Portanto nesta região não há fluxo de corrente na carga e o transistor age
como uma chave aberta. Na prática, há apenas uma corrente de fuga, provocada pelo
movimento de cargas nas junções do semicondutor, mas que por ser irrisória, não é
considerada.
25
2.3.2 Caraterísticas Físicas reais do chaveamento
Ao projetar um conversor chaveado utilizando transitores deve-se ter em
mente uma série de parâmetros que influenciam seu funcionamento e seu desempenho
energético. Ahmed (2000, p. 60) resume as principais fontes de dissipação de potência em um
TBJ atuando em corte e saturação.
Há quatro fontes de perda de potência em um transistor: perdas na condução
ou no estado ligado, perdas por fuga ou no estado desligado, perdas por
passagem para o estado ligado durante a ligação e perdas por passagem para
o estado desligado durante o desligamento da chave.
A essas perdas estão associados os tempos de comutação do transistor que
podem ser classificados nos seguintes parâmetros:
(2.28)
Onde TR é o tempo de subida quando o transistor entra em condução, Td é o
tempo de retardo, relacionado ao dalay entre a subida da corrente Ib e consequente subida da
corrente de coletor Ic.
(2.29)
Onde TF é o tempo total para chavear para estado desligado. Ts é o tempo de
estocagem (Storage Time). ”[...] É o tempo necessário para o corte do transistor. Este tempo é
diretamente proporcional à saturação, ou seja, se a super-saturação for evitada e se for
extraída uma corrente inversa de base ele é consideravelmente reduzido.” (TREVISO, 2009,
p. 181). Tf é o tempo de descida da corrente de coletor no desligamento da chave. (Fall time).
Os parâmetros de tempo de comutação são mostrados figura 2.8.
26
Figura 2.7 - Tempos de comutação de um trasistor de potência para carga resistiva
Fonte: (TREVISO, 2009)
Além dos parâmetros de tempo, um transistor real tem as seguintes
características:

VCE(sat): Tensão de saturação entre coletor – emissor;

β: Ganho de corrente DC;

βF: Ganho Forçado, relacionado à região de saturação. Varia
entre 5 e 10 normalmente;

Ic(máx): Máxima corrente de coletor;

Pmáx: Máxima Potência;

Vce(max): Máxima tensão entre coletor e emissor.
27
2.3.3 Configuração Darlington
Geralmente o ganho de corrente de um transistor em saturação é muito
baixo. Dessa forma, não se consegue obter a operação entre corte e saturação, fazendo com
que o mesmo fique na região linear. Para resolver este problema utiliza-se a configuração
Darlington.
A figura 2.9 mostra o esquema Darlington. Nesta configuração tem-se a
multiplicação do ganho do transistor Q1 com a do transistor Q2. Esta configuração tem duas
desvantagens: “A primeira é que resulta em uma queda de tensão (VCE(Sat)) mais alta no estado
ligado. [...] As perdas no estado ligado são, portanto, mais altas. A segunda desvantagem da
conexão Darlington reside em sua menor velocidade de chaveamento.” (AHMED, 2000, p.
68)
Figura 2.8 – Transistor TBJ em configuração Darlington
Fonte: Autoria Própria
28
2.4 Circuitos de Acionamento de Motores CC
2.4.1 Conversor Buck
O conversor de tensão CC/CC, também conhecidos como chopper, é o
circuito chaveamento mais básico para acionamento de motores CC. Sua aplicação se deve ao
fato de sua tensão de saída ser diretamente proporcional à tensão de entrada e à razão cíclica
do chaveamento. O chaveamento de um conversor chopper é feito através da técnica de
PWM.
Segundo Ahmed (2000) existem dois tipos de conversores choppers, o stepdown, mais conhecido como Conversor Buck e o Step-up, ou Boost. Neste trabalho é utilizado
um esquema parecido com o Buck. O esquemático do conversor Buck é apresentado na figura
2.10.
Figura 2.9 – Conversor Buck
Fonte: (TREVISO, 2009)
A aplicação como acionador de motores de corrente contínua, como
mencionado, é devida a possibilidade de variar a tensão de saída apatir de uma entrada fixa,
utitlizando um controle PWM. Empregando um TBJ como chave, o controle sinal PWM é
aplicado na base de modo a operá-lo entre corte e saturação. A equação que relaciona entrada
e saída é apresentada a seguir:
29
(2.30)
Onde D é a razão cíclica do sinal PWM apresentado na seção 2.2.
Conforme figura 2.11, a presença de uma carga indutiva (como a de
motores) na saída do conversor garante a continuidade da corrente de saída. Como o indutor
tem a propriedade de armazenamento de energia, no momento em que a chave está aberta
uma corrente de magnetização Im é induzida linearmente através da carga. Caso a carga seja
de natureza puramente resistiva e necessita-se que a corrente seja de modo contínuo, colocase um indutor em série na saída.
Figura 2.10 - Formas de onda de um conversor Buck
Fonte: (TREVISO, 2009)
No desligamento o indutor automaticamente altera sua polaridade para
descarregar essa energia. Por esse motivo, deve-se adicionar um diodo em paralelo com o
circuito RL para garantir um caminho por onde flua a corrente de desmagnetização Idmg.
Treviso (2009) chama esse dispositivo de diodo de roda livre”:
(2.30)
30
Ahmed (2000, p. 313) descreve este processo:
Quando a chave é aberta, a corrente no indutor começa a cair até se anular
(não pode varia de modo instantâneo). Isso provoca, no indutor, uma tensão
induzida de polaridade oposta. A tensão no indutor polariza o diodo
diretamente e a corrente, agora fluindo no indutor, atua como retorno através
do diodo D da carga. A finalidade do diodo, portanto, é fornecer um
caminho para corrente na carga quando S estiver desligada.
O gráfico da figura 2.11 apresenta as características do conversor BUCK.
Nota-se que devido à desmagnetização do indutor, consegue-se manter um nível de corrente
na carga, que varia apenas entre a corrente Iomin e Iomáx. As equações de corrente de mínima e
máxima de um conversor Buck são dadas por:
(2.31)
(2.32)
Idealmente, a corrente média na chave é:
(2.33)
(2.34)
O caso apresentado na figura 2.11, é dito que o conversor está no modo
contínuo, ou seja, consegue manter uma corrente contínua. A medida que a indutância de
carga tem seu valor reduzido, o conversor não consegue manter a corrente, como mostrado na
figura 2.12. Para evitar operar neste modo, deve-se garantir um indutância mínima em série
com a carga, Ahmed (2000) afirma que uma alta indutância na carga é desajada, pois evita
modo descontínuo. Dessa forma “[...] Quando a indutância de carga se tornar idealmente
infinita, conseguiremos uma corrente sem ondulação (DC pura)”
31
Figura 2.11 – Resposta de corrente em função da indutância da carga
Fonte: (AHMED, 2000)
Como um motor CC se comporta eletricamente como um circuito RL em
série, com alta indutância, se torna muitas vezes desnecessário incluir o indutor em série, e o
mesmo garante uma operação de corrente contínua através do chaveamento do conversor,
permitindo seu controle de velocidade.
2.4.2 Conversor Ponte Completa – Ponte H
O conversor Buck permite a rotação do motor em apenas uma direção e sem
efeito de frenagem. Caso deseja-se inverter o sentido de rotação, um circuito mais utilizado é
o conversor Ponte Completa, ou Full Bridge, conhecido popularmente como PONTE H. Por
sua versatilidade no acionamento de motores CC, este esquema é bastante utilizado em
robótica. A figura 2.13 mostra o esquemático do circuito.
32
Figura 2.12 – Conversor “Ponte H”
Fonte: (PATSKO, 2006)
Na Ponte H, a tensão de entrada é fixa, enquanto a tensão de saída que
alimenta os terminais do motor é variável. Assim como no conversor Buck, o controle de
tensão nos terminais é feito por pulsos PWMs.
Embora os pulsos gerem uma corrente de saída alternada, devido à natureza
indutiva do motor, este garante a continuidade da corrente, possibilitando assim a ampla
aplicação do conversor ponte completa no acionamento dos motores de corrente contínua.
O princípio de funcionamento da Ponte H é acionar as chaves
diagonalmente opostas para permitir passagem de corrente através dos terminais do motor.
Dessa forma, com as chaves 1 e 3 ligadas, aparece um Vo positivo no motor, figura 2.14.
Figura 2.13 - Motor acionado em um dos sentido de rotação
Fonte: (PATSCO, 2006)
33
Para mudar o sentido de rotação basta abrir as chaves 1 e 3, conforme figura
2.15, e fechar as chaves 2 e 4, aparecendo assim uma tensão inversa nos terminais do motor.
Figura 2.14 - Motor acionado no sentido oposto de rotação
Fonte: (PATSCO, 2006)
Deve-se tomar cuidado para não acionar as chaves do mesmo lado da ponte,
1 e 3 ou 2 e 4, pois isso faz com que “o fluxo da corrente vá direto do pólo positivo para o
negativo, causando um curto-circuito fatal para a fonte de alimentação e para os componentes
eletrônicos envolvidos no circuito” (PATSKO, 2006, p. 3)
Mohan, Underland e Robbins (1995) advertem ainda que deve ser dado um
tempo em que toda a Ponte fique desligada quando for necessário inverter a polarização da
tensão de saída, devido às caraterísticas reais das chaves que pode colocar a fonte em curto
circuito no tempo de comutação.
Além do efeito de mudança do sentido de rotação, é possível frenar
eletricamente o motor CC através da Ponte H, acionando simultaneamente as chaves
paralelas, 1 e 2 ou 3 e 4.
Isso ocorre porque o motor, como todo componente indutivo, gera uma
tensão entre os seus terminais. Quando os terminais do motor são conectados
no mesmo pólo, fazemos um “curto-circuito” no motor, e a tensão que
gerada pelo motor força-o a girar na direção oposta, fazendo com que ele
pare instantaneamente. Mas se todas as chaves forem fechadas, o circuito
será desligado e caso o motor estivesse girando, ele parará suavemente.
(PATSKO, 2006, p.3)
34
Em circuitos não ideiais, além da chave, é necessário colocar um diodo em
paralelo com cada chave da Ponte devido à caraterística indutiva do motor que tende a
desmagnetizar-se quando a chave está em Toff., ou tempo desligado. Dessa maneira o diodo
garante um caminho alternativo para corrente no sentido reverso. Um exemplo de projeto de
Ponte H usando compenentes reais é mostrado na figura 2.16
Figure 2.15 - Exemplo de projeto de Ponte H
Fonte: (PATSCO, 2006)
Conforme apresentado por Moham, Undeland e Robbins (1995) há três
topologias básicas de conversores acionadores de motores de corrente contínua. Caso se
deseja apenas controlar a velocidade em um único sentido de rotação, um circuito como o do
conversor Buck é suficiente, este opera em apenas 1 quadrante. Caso deseja um sentido de
rotação mas com possibilidade de frenagem, pode-se empregar um circuito intermediário
como o da figura 2.17 que opera em dois quadrantes.
Figura 2.16 - Circuito com dois quadrantes de operação
Fonte: (MOHAN; UNDERLAND; ROBBINS, 1995)
35
Por fim, aplicações que exigem alterar o sentido de rotação e utilizar
frenagem, o conversor Ponte H é utilizado, este opera nos 4 quadrantes.
2.5 Motor CC
Os motores elétricos são empregados na tração de cargas mecânicas a partir
da aplicação de energia elétrica em seus terminais. O princípio de funcionamento é baseado
na conversão eletro-mecânica de energia, através do emprego das leis do eletromagetismo na
estrutura construtiva dessas máquinas. Existem motores de corrente alternada e contínua. Em
aplicações de robótica, geralmente empregam-se motores de corrente contínua de pequeno
porte.
Segundo Moham, Undeland e Robbins (1995), há dois tipos de motores de
corrente contínua: os motores com fluxo magnético fixo no estator e motores com
enrolamento de estator e controle de fluxo magnético por corrente elétrica.
Figura 2.18, mostra a estrutura simplificada de um motor de corrente
contínua. Seu funcionamento se baseia na Lei da Força magnética de Lorentz, dada pela
equação 2.36:
(2.36)
Essa equação diz que se passar uma corrente através de um campo
magnético B, cria-se uma força ortogonal ao sentido da corrente e do campo.
Figura 2.17 - Estrutura básica de um motor de corrente contínua
Fonte: http://www.camacho.eng.br/MCC.htm
36
A alimentação do enrolamento do rotor é feita por dois comutadores fixos
na armadura. Portanto, a medida que o enrolamento gira, provocado pela força motriz, seus
terminais invertem de polaridade. “Esta mudança do sentido da corrente é essencial para que o
torque sobre o comutador esteja atuando sempre no mesmo sentido.” (GIOPPO et al., 2009, p.
11)
Quando se aplica a tensão nos terminais do motor, gera-se uma tensão
eletromotriz E dependente da velocidade angular ωm e um torque mecânico Tem proporcional
à corrente de armadura I , equações 2.37 e 2.38 descrevem este conceito:
(2.37)
(2.38)
Nota-se que ambos são dependentes também do fluxo magnético ϕ e tem
constantes de proporcionalidade, kt e ke, que são particulares de cada motor. A equação que
relaciona todos os parâmetros do motor com a tensão Vt aplicada a seus terminais é dada por:
(2.39)
Onde a corrente é absorvida pelo rotor e depende da carga mecânica que
será tracionada, portanto do torque exigido para o motor. A resistência R e a indutância L são
proveniente dos enrolamentos do rotor. O circuito elétrico equivalente do motor CC é
apresentado pela figura 2.19:
Figura 2.18 - Circuito elétrico equivalente do motor cc
Fonte: (MOHAN; UNDERLAND; ROBBINS, 1995)
37
A corrente de partida de motores CC é muito grande, as vezes até maior que
o valor em regime permanente. Isto ocorre pois quando o motor é ligado, a
armadura está parada e portanto a força contra-eletromotriz E é nula. Logo,
toda a tensão sobre o motor é aplicada na resistência da armadura, que é
pequena, resultando em uma corrente alta. (GIOPPO et al., 2009, p. 11)
O motor de corrente contínua pode operar tanto em sentido de rotação
horário quanto anti-horário e pode ser frenado em amboas os sentidos. Fazendo com que a
tensão Vt nos terminais seja menor do que a força eletromotriz E, força-se uma corrente em
sentido reverso no motor, isso provoca a frenagem do rotor.
Além disso, a interrupção bruca da tensão de alimentação, faz com que a
corrente I flua em sentido contrário até que a tensão E vá a zero. Para prevenir que os
componentes da chave se danifiquem com essa corrente reversa coloca-se um diodo em
paralelo com o motor ou com a chave, como apresentado anteriormente.
Em resumo, o motor opera em quatro quadrantes distintos, como
apresentado por MOHAM, figura 2.20.
Figura 2.19 - Quadrantes de operação do motor
Fonte: (MOHAN; UNDERLAND; ROBBINS, 1995)
Deve-se atentar também ao ripple, ou ondulação da corrente nos terminais
do motor provocada pelo conversor chaveado. O período alternado em que ele está com e sem
tensão em seus terminais provoca uma ondulação de corrente que influencia no torque e no
aquecimento do motor.
38
Mohan, Underland e Robbins (1995) afirmam que a ondulação de corrente
no motor é inversalmente proporcional à indutância do rotor e à frequência de chaveamento
do conversor, portato se for necessário, pode-se incluir um indutor em série com o motor afim
de aumentar sua indutância equivalente e diminuir o ripple da corrente.
2.6 Conceitos de Instrumentação Eletrônica
Por definição, transdutor é qualquer componente que tronsforma um tipo de
energia em outra, por exemplo, energia química em mecânica. Sensores são transdutores
especiais que transforma algum tipo de energia em elétrica, como energia luminosa, térmica,
mecânica em energia elétrica. Na verdade, os sensores são dispositivos que tem propriedades
elétricas, como capacitância ou resistividade, que se alteram com mudanças em outras
varáveis físicas.
Um sistema de instrumentação consegue, através da utilização de sensores e
circuitos de condicionamento do sinal, traduzir uma variação de uma grandeza física em
variação elétrica.
Há um vasto campo de aplicações da instrumentação que se estendem desde
controle de processos industriais até a microeletrônica. Uma aplicação especial é na robótica e
sistema de automação.
Segundo Braga e Braga (2002), algumas caraterísticas que devem ser
levadas em conta na escolha de um sistema de medida são:

Sensibilidade ou Ganho: relação entre a variação da saída (grandeza
elétrica) e a variação da entrada (grandeza não elétrica). Por
exemplo: 0,5 mV/Lux

Calibração ou Range: Faixa de valores que podem ser medidos.
Tanto a variável física quanto o sensor tem um determinado Range.
Por exemplo, um termômetro que tem uma faixa de variação de 0 a
500ºC;

Exatidão (Accuracy): Quão próximo do valor real da grandeza
determinado sensor é capaz de medir. Por exemplo, um termômetro
com uma exatidão de 3% quer dizer que se a temperatura real é
100ºC, pode medir entre 97ºC e 103ºC;
39

Precisão: Repetibilidade de um sensor. Para as mesmas condições
física, quanto maior a precisão, menor é variação do valor medido;

Resolução: Quanto menor a variação da entrada o sensor conseguir
captar, maior sua resolução. Por exemplo: sistema de medida de
distância com resolução de 1mm, ou 1µm;

Linearidade e não-linearidade: A relação entre a variação da
grandeza física e a variação das caraterísticas elétricas. Um sistema
pode ser linear para determinado Range. Por exemplo, um
termômetro que varia 1mV para cada 1ºC entre 0 e 100ºC é linear
nessa região.

Tempo de Resposta: Atraso na respota do sensor a uma variação do
sinal físico de entrada.
Os sensores podem ser divididos em 4 tipos: ativos ou passivos e analógicos
ou digitais. Sensores analógicos assumem infinitos valores entre um máximo e um mínimo
enquanto os digitais assumem valores discretos.
Os sensores ativos atuam como geradores, ou seja, geram uma grandeza
elétrica a partir de uma perturbação de entrada. Exemplo destes são os piezoelétricos que
geram tensão a partir de uma deformação. Sensores passivos atuam como uma impedância,
gerando uma variação de resistência, indutância ou capacitância.
No projeto de um robô seguidor de trilhas, pode ser empregado um LDR:
Light Dependent Resistor. Este é um sensor passivo e analógico do tipo resistivo. Uma
alternativa a seu uso pode ser um fototransistor ou um fotodiodo. Ambos serão apresentados
com mais detalhes a seguir.
2.7 Sensores LDR
LDR é sigla para Light Dependent Resistor, ou Resistor Dependente de Luz.
Sua caraterística básica é de ter uma resistência que se altera conforme altera a luminosidade
incidente sobre ele. Um dos materiais mais utilizados para fabricação de LDRs que tem essa
40
propriedade é o Sulfato de Cádmio (CdS). A figura 2.21 mostra uma foto deste componente e
seus símbolos elétricos.
Figura 2.20 - Foto LDR real e seu símbolo elétrico
O seu princípio físico é a fotocondução. Sabe-se que a incidência de luz, que
é uma onda eletromagnética, fornece energia a qualquer material. Com mais energia, colocase os eletrons mais próximos da camada de condução, ou seja, aumenta-se a condutividade do
material, diminuindo assim sua resistência (COELHO, 2004).
O LDR é um dos sensores mais simples para transdução de luminosidade e
apresenta algumas vantagens e desvantagens por isso. A principal vantagem do LDR é ter
uma alta sensibilidade, ou seja, consegue detectar uma pequena variação de luz. No entanto, a
não linearidade do LDR dificulta na mensuração direta da luz. A curva caraterística de um
LDR é mostrada no gráfico da figura 2.22.
Figura 2.21 - Foto LDR real e seu símbolo elétrico
Fonte: (WITKOVSKI, 2007)
41
A equação 2.40 mostra a relação entre a resistência e o fluxo luminoso de
um LDR. Na equação R é a resistência medida em Ohm (Ω), Φ é o fluxo luminoso medido
Lumen (lm) e α e γ são constantes. Geralmente γ varia entre 0,5 e 1 determina a inclinação da
curva.
(2.40)
Outras desvantagens do LDR são alta sensibilidade térmica: características
mudam conforme temperatura ambiente; e elevado tempo de resposta.
Como vantagem está a simplicidade do circuito condicionador do sinal. É
possível fazer a transdução para um sinal elétrico basicamente fazendo um divisor de tensão,
como o da figura 2.23, onde a tensão de saída é variável conforme a resistência do LDR, ou
seja, à luz.
Na aplicação em um Robô Seguidor de Trilhas, a alta sensibilidade é
vantajosa pois permite uma boa variação da resistência entre a parte branca e a trilha preta.
Através do divisor de tensão é possível ter uma boa variação de tensão no terminal de saída.
Figura 2.22 - LDR em divisor de tensão
Algumas alternativas de sensores para detecção de luz que podem ser
empregados nesse projeto são os fototransistores que geram uma corrente de base que cresce
conforme a incidência de luz. Também há os fotodiodos que quando polarizados
reversamente têm sua condutividade alterada conforme incidência de luz.
42
2.8 Circuitos de Instrumentação
Como dito anteriormente, não basta o sensor para fazer a transdução de uma
grandeza não elétrica em outra elétrica. É necessário condicionar o sinal e trabalhá-lo a fim de
obter uma variação desejada de algum parâmetro elétrico como corrente, tensão ou potência.
O objetivo de um sistema de instrumentação muitas vezes é para controle de
um processo. É necessário tratar o sinal captado pelo sensor e gerar a interpretação dos dados
via um microcontrolador. Este será o procedimento feito no projeto do robô.
Uma forma simplificada de trabalhar o sinal de um sensor é através de um
divisor de tensão como mostrado na figura 2.24.
Figura 2.23 – Divisor de tensão do LDR
A saída do divisor é dependente do sinal do sensor como mostra as equações
2.41 e 2.42. Na primeira o sensor está ligado ao terra e na segundo o sensor está ligado ao
VCC:
(2.41)
(2.42)
O divisor de tensão é mais empregado quando o sensor é do tipo passivo,
por exemplo um LDR ou um termistor – resistor que varia com a temperatura. A saída deste é
analógica e pode ser entrada para um conversor analógico digital, ou para alterar o ganho de
43
um amplificador possibilitando assim aplicações como controle de acionamento automático
de luz.
Outros circuito de intrumentação bastante utilizado é a ponte Wheatstone.
Nela coloca-se um sensor passivo em uma das pernas da ponte e mede-se a tensão nos
terminais intermediários. É possível regular a ponte para uma condição de equilibrio onde a
tensão Vo é igual a zero volts. Qualquer variação do sensor provoca assim uma tensão que
pode ser medida e processada pelo sistema de controle. A figura 2.25 mostra a ponte de
Wheatstone. Em condição de equilibrio tem-se as impedâncias da ponte na seguinte relação.
(2.43)
Uma variação da grandeza medida, como uma deformação de um Strain
Gage, sensor resistivo de deformação (pode ser usado para medir força por exemplo), provoca
o desequilíbrio da ponte.
Figura 2.24 - Ponte de Wheatstone
Fonte: (BRAGA; BRAGA, 2002)
Além dos circuitos passivos, um componentes largamente utilizado é o
amplificador operacional. Os amplificadores operacionais (AOP) “São condicionadores ativos
capazes de aumentar a potência de um sinal através do aumento da amplitude da sua tensão ou
corrente.” (BRAGA; BRAGA, 2000, p. 20). A representação de um AOP é feita na figura
2.26. Caracterisam-se por possuir:
44

Alta Resistência de entrada (idealmente infinita) ⇒ as entradas do
AOP praticamente não drenam corrente dos circuitos externos. Isto significa
que a carga sobre a fonte de sinal é muito reduzida, evitando-se assim
distorções no sinal medido;

Baixa Impedância de Saída (idealmente zero);

A entrada diferencial: permite que muitos tipos de ruídos, presentes
em ambos terminais de entrada (modo comum) sejam fortemente atenuados;

Alto ganho (idealmente infinito): permite que o ganho da topologia
seja determinado inteiramente pelos componentes externos, deixando o sinal
praticamente imune às variações de temperatura e das variações na fonte de
alimentação.

Alta faixa de Passagem (idealmente infinita)

Alta Razão de rejeição modo comum (CMRR)
(BRAGA; BRAGA, 2000, p. 23).
Figura 2.25 – Amplificador Operacional
Existe uma infinidade de circuitos construidos com amplificadores
operacionais que podem ser usados no processamento de sinais de transdutores. Um exemplo
é o amplificador da figura 2.27. Este circuito implementa um comparador que mantem a saída
em nível VCC enquanto a tensão do divisor do LDR for menor do que a a tensão do
potenciômetro. Quando a luz incidente diminui no LDR, sua resistência aumenta ao ponto qua
tensão no terminal negativo do amp op ultrapassa a do terminal positivo, levando a saída a
uma saturação negativa que aciona o led.
Figura 2.26 - Circuito comparador com Amplificador operacional
Fonte: (WITKOVSKI, 2007)
45
Um exemplo de amplificador linear com realimentação negativa é mostrado
na figura 2.28. Este amplifica e inverte o sinal de entrada, na saída.
Figura 2.27 - Amplificador inversor
O ganho do amplificador inversor é dada por:
(2.44)
Com um amplificador operacional é possível criar integradores e
derivadores, fontes de correntes, amplificadores, filtros ativos, geradores de sinais entre outras
aplicações.
Neste projeto, foi pensado em divisores de tensão e circuitos Schmitt
Trigger com histerese. Os dados proveniente do LDR foram processados através do
microcontrolador que será descrito no próximo subcapítulo.
Um exemplo de circuito que usa realimentação positiva é o comparador
Schmitt Trigger, figura 2.29. Esse realiza a comparação dos sinais de entrada e apresenta na
saída dois possíveis valores de tensão (MALVINO, V. 2, 1995).
Figura 2.28 - Schmitt Trigger
46
2.9 Microcontroladores
2.9.1 Microcontroladores
Microcontrolador é um dispositivo eletrônico digital programável. A
principal característica dos microcontroladores é possuir integrado em um único dispositivo
vários blocos funcionais necessários para o desenvolvimento de uma rotina programável de
controle de qualquer processo.
Os microcontroladores possuem interfaces com o ambiente externo a ele
como portas de entrada e saída digitais e analógicas, portas PWM, portas de comucação serial
e paralela, etc. Além disso, possuem funcionalidades como conversores analógicos digitais,
temporizadores e interrupções.
Para que um microcontrolador desempenhe uma função ele deve ser
programado. Isso é feito através da gravação de um conjunto de instruções, estruturado
através de um software, que é gravado em uma memória interna. Na medida que ele executa
uma determinada instrução faz uma comunicação entre registradores internos, unidades de
armazenamento de dados e unidades de processamento.
Geralmente, como no caso do microcontrolador PIC, a memória de dados e
memória de instruções do programa são separadas. Os microcontroladores PIC tem uma
quantidade de instruções limitadas, o que confere a eles a arquitetura RISC: Reduced
Instruction Set Computer.
Cada instrução de um microcontrolador é feita em pelo menos um ciclo de
máquina, ou seja, a cada transição do relógio (Clock interno) do dispositivo ele faz uma
movimentação de dados para executar uma determinada operação.
Entre as memórias internas associadas a um micontrolador têm:

Memória EEPROM: Electrically-Erasable Programmable Read-Only
Memory: Geralmente onde é gravado o conjunto de instruções do
programa. Este é mantido quando o dispositivo é desligado;

Memória RAM: Random Access Memory: Memória volátil onde
geralmente são gravados os dados durante a execução do programa;
47

Memória Flash: Outra tecnologia de memória não volátil para
armazenamento de dados, geralmente armazena o programa a ser
executado.
A figura 2.30 apresenta um resumo dos blocos apresentados previamente:
Figura 2.29 - Blocos que compõe um microcontrolador
No caso, CPU é a Unidade Central de Processamento que acessa as
memórias e as interfaces através de registradores específicos.
2.9.2 PIC16F874A
PIC é a sigla em inglês para “controlador integrado de periféricos”, é o
conjunto de micrcontroladores da fabricante Microchip Technology Inc. Os diversos
microcontroladores com a marca PIC são diferenciados em famílias, que reúnem dispositivos
de características semelhantes. O PIC16F874A pertence a família 16F87X junto com o *73A,
*76A e *77A. Estes compartilham o mesmo datasheet, diferindo entre si em valores
específicos.
Segundo seu datasheet, o PIC 16F874A tem como principais caraterísticas:

Arquitetura RISC: 35 instruções de máquina;

Encapsulamento com 40 pinos;
48

Memória Flash para gravação do programa: 4K x 14 bits (uma instrução
em PIC tem 14 bits de tamanho);

Memória de dados – RAM: 192 Bytes;

Memória de dados – EEPROM: 128 Bytes;

Dois módulos de Captura/Comparação/PWM;

PWM com resulução máxima de 10 bits;

Portas de comucação serial síncrona: SPI™ (dispositivo mestre) e I2C
(dispositvo mestre ou escravo);

Receptor
no
protocolo
de
comunicação
USART/SCI
(Universal
Synchronous Asynchronous Receiver Transmitter);

Conversor A/D (Analógico digital) de 10 bits com até 8 entradas
multiplexadas e com tensão de referência programável;

5 portas de entrada/saída (I/O ports);

15 rotinas de inturrupção;

Velocidade de clock de 20MHz e 200ns de ciclo de instrução;

Temporizadores (cronômetros) internos com ajuste programável de tempo;

Porta paralela com 8 bits de dados e sinais de controle externos (RD, WR e
CS);

Alimentação simples de 5V;

Modo de baixo consumo de energia – Sleep mode;
Em resumo a figura 2.31 apresenta as funcionalidades do PIC16F874A em
comparação com os demais microncontroladores da mesma família.
49
Figura 2.30 - Características principais dos PICs 16F87X
Fonte: (Datasheet PIC16F87X)
A figura 2.32 apresenta a pinagem do PIC16F874A no encapsulamento
PDIP.
Figura 2.31 - Pinos encapsulamento PDIP do 16F874A e 16F877A
Fonte: (Datasheet PIC16F87X)
50
Conforme figura 2.32, e resumo das funcionalidades apresentadas na figura
2.31, a identificação dos pinos é feita da seguinte forma:

Pinos com identificação R são do tipo Entrada/Saída digital, I/O
Ports (Input/Output). Tem-se portas A, B, C, D e E do tipo I/O
digital;

Pinos com identificação AN são do tipo entrada Analógica;

VRef- e Vref+ são pinos para referência dos conversores AD (ADC)
internos;

MCLR: Memory Clear – usado para resetar o microcontrolador.
Deve ser mantida com um resistor de pull-up com a tensão de
alimentação;

CCP1 e CCP2: são as portas de Capture/Compare/PWM;

OSC1 e OSC2: são as portas usadas para ligar ao gerador de clock
externo (geralmente um Crystal de quartzo.);

RBO/INT: Permite uma interrupção no fluxo do programa quando
muda o estado dessa porta. Geralmente usado para detectar estado de
botões e Push-Bottons;

VDD e VSS: respectivamente tensão de alimentação (5V) e referência
terra (GND).
As demais configurações de portas têm aplicações mais específicas, que
podem ser consultadas no Datasheet do componente. Para este projeto, serão usadas as portas
PWM, entradas analógicas, saídas digitais e possibilidade de programar interrupção através do
pino RB0/INT para mudança do sentido de rotação do motor por parte do operador do
protótipo.
2.9.3 Programando no PIC
Como apresentado anteriormente, para executar o controle de um processo,
o microcontrolador deve ser programado. Um programa ou software é um conjunto de
instruções sequenciais que devem ser executadas para desempenhar a função desejada.
Em baixo nível, ou seja, em linguagem binária, o PIC conta com 35
instruções de 14 bits cada uma. Estas instruções são gravadas pelo projetista em uma memória
51
interna e são executadas a cada ciclo de máquina do microntrolador. Para se executar uma
instrução, o microcontrolador acessa a memória de programa, Flash, armazena um registrador
interno e faz a decodificação dessa palavra de 14 bits. Um registrador PC ou Program
Counter é incrementado a cada chamada para a próxima instrução a ser decodificada.
Geralmente a instrução vem com uma operação e o endereço de memória
onde está o dado a ser processado ou a operação é feita sobre os bits que estão nos registrados
internos do microcontrolador, que podem ser provenientes das interfaces externas. A figura
2.33 apresenta o diagrama de blocos da arquitetura interna de um microcontrolador
PIC16F874A, onde cada bloco representa um registrador interno.
52
Figura 2.32 - Diagrama de blocos do PIC16F874A
Fonte: (Datasheet PIC16F87X)
Em nível de máquina, as instruções são palavras binárias, ou seja, assumem
valores 0 ou 1, onde zero é nível lógico baixo e 1 é nível lógico alto. No entanto, para que o
projetista consiga com maior facilidade montar o programa a ser executado, foi criada a
linguagem Assembly.
53
Assembly consiste em uma forma alternativa de representação dos códigos
de máquinas usando mnemônicos, ou seja, abreviações de termos usuais que
descrevem a operação efetuada pelo comando em código de máquina. A
conversão dos mnemônicos em códigos binários executáveis pela máquina é
feita por um tipo de programa chamado Assembler (montador). (PEREIRA,
2003, p.15)
Como o conjunto de instruções do microcontrolador é bastante simplificado,
para se programar funções mais complexas usando Assembly fica extremamente complicado e
limitado. Com base nisso busca-se linguagens de programação em mais alto nível, no caso a
Linguagem C.
Assim como outras linguagens de alto nível, C utiliza a filosofia de
programação estruturada, ou seja, os programas são divididos em módulos
ou estruturas (que em C são chamados de funções) independentes entre si e
com o objetivo de realizar determinada tarefa. (PEREIRA, 2003, p.18)
Com a utilização do C é possível criar aplicações bem complexas. Mas para
utilizá-lo na programação do PIC, é necessário um compilador que traduza as linhas de
código em C para linguagem de máquinas e instruções próprias deste microcontrolador. Por
isso, necessita-se de compiladores desenvolvidos especialmente para PIC que contêm a
biblioteca necessária para o funcionamento do código.
O compilador utilizado neste projeto foi o PCWH Compiler versão 3.236 da
fabricante Custom Computer Services, Inc. (CCS). “Ele consiste em um ambiente integrado
de desenvolvimento (IDE) para sistemas operacionais Windows e suporta toda a linha de
microcontrolador PIC”. (PEREIRA, 2003, p.33)
Este compilador já contém uma série de funcionalidades que ajudam o
projetista a configurar os registradores do microcontrolador para as condições do projeto.
Quando é feito a compilação do código, não havendo nenhum erro, geram-se alguns arquivos
como apresentado na figura 2.34. Destes, o arquivo onde fica escrito o código é o *.c (asm
para assembly), o arquivo *.inc contem informações para o compilador e o arquivo *.hex é o
utilizado para ser gravado no microcontrolador.
54
Figura 2.33 - Conjunto de arquivos do compilador
Fonte: (ANTONIO, 2006, p. 6)
O compilador CCS PCWH apenas gera os arquivos de compilação. Dois
outros softwares ainda podem ser usados, para simulação e gravação.
Para simular o funcionamento do código, foi utilizado neste projeto o
software PROTEUS versão 7.7 da fabricante Labcenter Eletronics. Este software permite a
simulação do microcontrolador em conjunto com os outros componentes elétricos do circuito
projetado. A desvantagem é que não se consegue debugar o código, ou seja, verificar as
operações intermediárias que acontecem no código. O teste que o projetista faz limita-se a um
teste “caixa preta” que verifica apenas a funcionalidade do sistema.
Para fazer o debug do código, ou seja, o teste da execução linha a linha do
programa, e também para o processo de gravação utiliza-se o software MPLab, que é um IDE
da própria Microchip Inc, fabricante do PIC e é integrado em placas de desenvolvimento de
projetos com PIC. Além de possibilitar a edição e compilação do código, o mesmo permite:
55
“Simulação: O MpLab possui ferramentas para simulação do programa no
próprio computador, possibilitando a execução passo a passo, visualização e
edição do conteúdo dos registradores, edição de estímulos (entradas),
contagem de tempo de execução, etc.
Gravação: Para que o programa seja executado no microcontrolador, o
arquivo hexadecimal deve ser gravado no PIC. O MpLab oferece suporte aos
gravadores fabricados pela Microchip.
Emulação: A Emulação é um recurso de desenvolvimento que possibilita
testes em tempo real. O MpLab oferece suporte ao hardware necessário para
estar emulando um determinado programa. Esta emulação é feita
conectando-se (através do hardware mencionado) o computador ao sistema
projetado, no lugar do PIC.” (ANTONIO, 2006, p. 6)
2.9.3 ADC
As duas funcionalidades do PIC que serão utilizadas neste projeto é a
função ADC – Analogic to Digital Converter e PWM. Serão conceituadas estas estruturas a
seguir.
As portas indentificadas como AN (1 a 7) podem ser usadas como entradas
analógicas numa faixa de 0 a 5V para o conversor analógico digital interno do PIC.
Para realizar a conversão, feita por registradores internos, o PIC transforma
o nível de tensão analógico em um valor binário de até 10 bits, podendo ser configurado
também como ADC de 8 bits. Dessa forma, quando o valor lido é de 0V, o valor em decimal
correspondente é de 0, enquanto que a entrada de 5V corresponde a 1023 em 10bits, ou 255
em 8bits. A forma de conversão é feita seguindo o seguinte equacionamento:
Para 10 bits:
(2.45)
(2.46)
Para 8 bits:
(2.47)
(2.48)
56
Dessa forma um valor de tensão de 2,5V por exemplo correspondente a um
valor decimal igual a 512 em configuração de 10 bits e 128 em 8 bits, conforme equações
2.49 e 2.50.
Exitem 8 portas analógicas no PIC16F874A que podem ser utilizadas
simultaneamente através de multiplexação. Isso quer dizer que o projetista deve configurar a
porta a ser lida pelo ADC interno do PIC para cada aquisição.
Outro ponto importante que deve ser considerado é o tempo de aquisição.
Este é necessário pois o capacitor interno do ADC leva um certo tempo para carregar e
adiquirir a amostra de tensão que será convertida em digital. Este valor pode ser de 10µs.
É possível utilizar a tensão de referência interna, que será de Vdd (5V) ou
utilizar uma tensão de referência através do pino AN3. Para configurar as portas a serem
usadas como analógicas segue-se exemplos de comandos de configuracões em linguagem C:
setup_ADC_ports (ALL_ANALOG); //Todas as portas ANx usadas
como entradas analógicas;
setup_ADC_ports (RA0_RA1_RA3_ANALOG); //Portas AN0, AN1 e
AN3 configuradas como analógicas
setup_ADC_ports (A0_RA1_ANALOGRA3_REF); //Portas AN0, AN1
são entradas analógicas e AN3 é usada como referência.
Para adquirir um valor e convertê-lo para digital, segue um exemplo de
comandos em linguagem C;
set_ADC_channel(2); //seleciona a porta AN2
delay_us(10); //tempo de aquisição do valor de tensão para ser
convertido, em microssegundos
value = read_ADC(); //variável value recebe o valor digital da entrada
analógica.
Através dessas linhas de programação é possível capturar o valor dos sinais
dos sensores para futura comparação.
57
2.9.4 PWM
O PIC16F874A também possui duas portas Capture/Compare/PWM (CCP),
sendo a CCP1 e CCP2. Através destas portas é possível gerar sinais PWMs através do PIC
com nível de amplitude TTL, ou seja, 0 e 5V e Duty Cycle ajustável através de programação.
Os módulos PWM 1 e 2 possibilitam a determinação de razões cíclicas
variando de 0 a 100% através de valores de resolução máxima de 10bits. Este valor depende
da frequência a ser configurada. O range de frequências gerado pelo PIC também é limitado,
como apresentado na tabela 2.1:
Valores máximos e mínimos de frequência do módulo PWM e resolução equivalente do Ciclo de
Trabalho (Duty Cycle – D)
Frequência máxima:
6000 kHz
Resolução de ciclo de trabalho (D)
Duty = 0 a 4
Frequência mínima:
1,465 kHz
Resolução de ciclo de trabalho (D)
Duty = 0 a 1024
Table 2.1 - Frequências máximas e mínimas configuráveis para PWM
Para se determinar o valor de D em valores discretos recorre-se ao seguinte
equacionamento, feito com base na máxima resolução de Duty:
(2.49)
(2.50)
Como exemplo, se se deseja configurar um D de 50%, programa-se o valor
de Duty Cycle como sendo 512. Para configurar o módulo CCPx como PWM e acioná-lo
segue os comandos em linguagem C:
setup_timer_2(T2_DIV_BY_16,255,1); //Timer dois define a
frequência do PWM neste caso
setup_ccp1(CCP_PWM) / / configura CCP1 como um PWM
set_PWM1_duty(VALOR); // Configura o valor de Duty Cycle dentro
dos parênteses.
Com base nas funções de PWM e Conversor Analógico Digital é possível fazer
a lógica de comando do Robô Seguidor de Trilhas.
58
Capítulo 3
Desenvolvimento Prático
3.1 Visão geral do projeto
O Robô Seguidor de Trilhas é um projeto inicial no campo da engenharia
mecatrônica. Uma característica de sistemas robóticos é a interface entre componentes
eletrônicos e partes mecânicas. Da mesma forma, a integração entre vários blocos eletrônicos
se faz necessária para habilitar as funcionalidades do sistema.
Os requisitos de funcionamento deste sistema é que ele se locomova de
forma autônoma guiada por uma trilha pintada em cor escura sobre uma superfície branca.
Dessa forma um sistema de sensoriamento deve identificar curvaturas na trilha. As
informações dos sinais dos sensores são enviadas para um bloco que analisa e envia sinal de
controle para os drivers dos motores.
A locomoção do robô será feita através de dois eixos logitudinais
independentes tracionados por motores de corrente contínua, cada qual com seu circuito de
acionamento. A diferença relativa entre as velocidades angulares de cada eixo gera uma
variação angular na trajetória do robô.
Pode-se conceituar o funcionamento do robô através de um sistema de
controle simples com realimentação. No entanto, no presente projeto não foram considerados
compensadores que melhorariam o desempenho do sistema.
O sistema é formado por um conjunto de miniprojetos eletrônicos e da parte
mecânica que se comunicam como apresentado na figura 3.1.
59
Mecânica
Bateria
Sensor
LDR
Esquerdo
Sensor
LDR
direito
Microcontrolador PIC16874A
Driver motor
esquerdo
Driver motor
direito
Motor CC
esquerdo
Motor CC
direito
Figura 3.1 - Diagrama de blocos do Robô
A seguir serão discutidos os projetos de cada um desses blocos e
alternativas viáveis para cada parte: drivers, motores, instrumentação, microprocessador
(código criado) e alimentação elétrica e projeto mecânico.
3.2 Drivers dos motores de corrente contínua
3.2.1 Projeto Ponte H
Foram projetados dois tipos de acionadores de motores de corrente contínua
para esse sistema. O primeiro é um circuito discreto de um conversor Ponte H e o segundo um
conversor buck. O circuito Ponte H projetado é mostrado na figura 3.2.
60
Figura 3.2 – Projeto Ponte H
Como são dois motores de corrente contínua, todos estes componentes
devem ser duplicados, com excessão do CI 7408 que contêm 4 portas digitais de lógica E
embutidas.
A seguir será descriminado o funcionamento deste circuito. Assim como
apresentado na revisão bibliográfica, a Ponte H atende aos seguintes requisitos:

Controle de velocidade do motor através de variação de tensão em
seus terminais por PWM.

Rotação do motor em ambos os sentidos;

Frenagem de forma elétrica.
No projeto desta Ponte H os transistores T3 e T4 chaveiam enquanto que os
trasistores da T1 e T2 são alimentados diretamente com um sinal digital.
A porta lógica END é util para evitar que os transistores do mesmo lado da
ponte entrem em curto garantindo que a tensão de base em T3 será sempre 0V quando
acionado T1 e a tensão de base em T4 será sempre 0V quando acionado T2. Esta caraterística
é apresentada na tabela 3.1.
61
Combinação das entradas nas portas E para acionamento das chaves da Ponte H
P1 = 0V (0)
T1 - Desligado
P1 & PWM PIC = 0
T4 desligado
P2 = 5V (1)
T2 – Ligado
P2 & PWM PIC = 1
T3 Ligado
P1 = 5V (1)
T1 - Ligado
P1 & PWM PIC = 1
T4 Ligado
P2 = 0V (0)
T2 – Desligado
P2 & PWM PIC = 0
T3 Desligado
P1 = ̅̅̅̅
As entradas P1 e P2 não ter o mesmo nível lógico
Obs: & é simbologia de operação lógica E
Tabela 3.1 - Lógica das entradas da Ponte H para ativar as chaves
Portanto de acordo com a tabela 3.1, verifica-se que não é possível acionar
as chaves diretamente, evitando curto circuito. A pinagem da Porta E é mostrada na figura
3.3.
Figura 3.3 - Pinagem CI SN74LS08
Fonte: Datasheet SN74LS08
Analisando o circuito novamente, verifica-se que as chaves T1 e T2 são do
tipo PNP e acionadas através de um transistor NPN como mostrada a figura 3.4. Essa
configuração foi feita dessa forma para garantir que o BD140 trabalhe em corte ou saturação.
Figura 3.4 - Polarização das Chaves T1 e T2
62
Verificando a malha, observa-se que quando Q1 tem uma tensão de base
com nível lógico alto (cinco volts em sinais TTL), ele entra em condução, dessa forma o
ponto entre R1 e R3 se torna 0V. O transistor PNP conduz com 0V em seus terminais,
portanto ele satura.
Caso contrário, se Q1 está em corte, a tensão que aparece na base de T1 é
VCC que o mantem o BD140 em corte. A tabela 3.2 a seguir resume este fato;
Circuito de polarização das chaves T1 e T2.
P1 (P2) = 0V (0)
Q1 (Q2) está em corte
VB(T1) (VB(T2) ) = Vcc – Ib.R1> 0
T1 (T2) = Corte
P1 (P2) = 5V (1)
Q1 (Q2) em condução
VB(T1) (VB(T2) ) = 0V
T1 (T2) = Satura
Tabela 3. 2 - Circuito de polarização das chaves T1 e T2
Deve ser dada a importância de se colocar os diodos em antiparalelo com os
TBJ, pois estes provem um caminho para corrente reversa que surge da desmagnetização do
motor.
Os transistores BD139 e BD140 são transistores de potência que conseguem
transportar até 1,5A de corrente de coletor em saturação. O BC337 já é um transistor NPN de
menor potência.
Neste projeto, o PWM é gerado pelo PIC, este tem uma tensão de 5V com
larguras de pulsos programáveis. Como são apenas 2 saídas PWM do PIC o mesmo alimenta
as entradas das duas portas E do circuito.
A frequência de chaveamento definida para este projeto foi de 1kHz.
3.2.2 Alternativa para driver em Ponte H
Neste trabalho, foi feito o projeto de um conversor Ponte H discretamente.
Caso o projetista queira utilizar, existe um circuito integrado que desempenha a mesma
função. É o circuito L298N. Uma foto deste componente é mostrada na figura 3.5. As
especificações desse CI são apresentadas por Gioppo et al. (2009, p. 14):
63
[...] são implementadas duas pontes H. A sua utilização é diferente da
ponte H anterior e possui algumas peculiaridades como podem ser
observadas no datasheet. Dentre as diferenças estão: a existência do
“sense” que deve ser conectada a um resistor para o terra com o intuito de
controlar a corrente de carga de cada ponte; a existência de quatro pinos
“out”, duas para cada ponte, que é por onde sai a corrente controlada; a
existência de um pino “Vs” para a entrada da tensão das duas pontes;
“VSS” para a alimentação dos blocos lógicos; “GND” para o terra; dois
“Enable”, um para cada ponte, que funciona justamente para ativar as
pontes; e quatro pinos “Input”, dois para cada ponte, que determinam por
qual “out” sairá a tensão fornecida em “Vs”. No datasheet consta ainda
quatro estados para a ponte H: no caso do Input1 estar recebendo sinal e do
Input2 não, o motor funciona para “frente”, no caso contrário o motor
funciona para “trás”. Caso os dois Input estejam iguais, ou seja, ambos
recebendo sinal ou ambos não recebendo sinal, temos o freio do motor, e
caso enable seja desligado o motor roda apenas com a inércia.
Figura 3.5 - CI L298N
Fonte: (GIOPPO, 2009)
3.2.3 Projeto Conversor Buck
Por simplicidade de montagem, no protótipo deste projeto foi empregado
um outro tipo de driver para os motores CC. Este é apresentado na figura 3.6.
64
Figura 3.6 - Driver com transistor Darlington
Verifica-se que a estrutura deste circuito é bem mais simples do que na
Ponte H, isso confere uma facilidade de montagem mas restringe a aplicação dele pois não
permite que inverta o sentido de rotação do motor, dessa forma este conversor apenas altera a
tensão nos terminais do motor de acordo com o sinal PWM como apresentado na seção 2.4.1.
É necessário que a corrente de base do transistor Q1 seja suficientemente
grande para polarizar o transitor T1 em saturação. Assumiu-se inicialmente neste projeto uma
corrente de base de 5mA. .
Dessa forma a tensão no ponto 1 é aproximadamente 1,7V (valor
aproximado da queda entre base e emissor do par de transistores). Como o sinal PWM
proveniente do PIC é de nível TTL, ou seja, 5V, a equação do resistor de base fica:
(3.1)
(3.2)
(3.3)
Dessa forma um valor máximo do resistor a ser usado é de 660 ohm. Devese tomar cuidado para não usar resistores de valores muito baixos, pois dessa maneira a
corrente de base se torna muito alta levando ao risco de queimar a saída do microcontrolador
65
que apresenta uma capacidade limitada de fornecimento de corrente. Ao mesmo tempo, um
nível de super saturação ocasiona atraso na recuperação dos portadores da junção do TBJ o
que influencia negativamente a resposta transitória.
Por fim, para que a corrente de base fosse ligeralmente maior, optou-se por
um resistor comercial de 540Ω o que confere uma corrente de base de 6,8mA.
O par de transistor Darligton foi utilizado para garantir maior ganho de
corrente e assim garantir que o transistor T1 opere em corte e saturação. O diodo D1
novamente foi empregado para suprir a corrente reversa que surge no motor quando a chave
está desligada.
No capítulo 3 serão apresentados os resultados de simulação dos dois
conversores apresentados anteriormente.
3.3 Projeto Circuito do Sensoriamento
Como apresentado previamente, este projeto utiliza um sensor LDR para
detecção da variação da intensidade luminosa que inside sobre ele. Para captação do sinal do
LDR foi empregado um divisor de tensão, conforme apresenta a figura 3.7.
Figura 3.7 - Divisor de tensão com LDR
66
Como o LDR é um sensor estremamente sensível à luz, qualquer variação de
luminosidade provoca uma alteração em sua resistência e portanto na tensão de saída Vo. A
tensão de saída Vo varia entre 0 e VCC conforme a incidência de luz e alteração da resistência
do sensor.
O valor da leitura do LDR através do divisor resistivo é analógico, ou seja,
pode apresentar infinitos valores dentro da faixa de 0 a 5V. Poderia ser utilizado os dois
arranjos da figura 3.8.
Figura 3.8 - Topologias com divisor de tensão
Como a resistência do LDR diminui conforme a intesidade da luz aumenta,
tem-se duas situações em cada caso.
O caso onde o sensor está ligado ao terra tem sua tensão tendendo a Vcc
conforme diminui a luz ambiente e a tensão tendendo a zero conforme aumenta a luz
ambiente, as equações 3.4 e 3.5 apresentam os casos limites analisados.
(
)
(
)
(3.4)
(3.5)
O caso onde o sensor está ligado ao Vcc tem sua tensão tendendo a Vcc
conforme aumenta a luz ambiente e a tensão tendendo a zero conforme diminui a luz
ambiente, as equações 3.6 e 3.7 apresentam estes casos.
(
)
(3.6)
(
)
(3.7)
67
Devido à caraterística analógica da saída do divisor de tensão, deve-se
projetar um circuito que vai analisar essa saída e determinar se o sensor está sobre a faixa ou
não, para poder detectar uma curva.
Para possibilitar a calibração do divisor, foi utilizado um potenciômetro de
5KΩ. Dessa forma é possível determinar a excursão da tensão de saída conforme a variação
média da resistência do LDR em determinada condição de ambiente.
3.3.1 Teste de valores de LDR
Para projetar a resistência do divisor de tensão, foi necessário determinar
qual o valor médio da resistência elétrica do LDR quando sobre a superfície branca e sobre a
superfície escura da trilha.
Este valor é dependente de algumas varíaveis:

tamanho do LDR. O LDR pode ser de 7mm e 10mm de
comprimento do filamento;

condições de ambiente, portanto varia conforme a intensidade de
luminosidade do local onde está sendo medido;

distância que o LDR está da superfície.
Foram feitos experimentos no laboratório T4 do Departamento de
Engenharia Elétrica (DEEL) da UEL, sob condições de luz artificial fluorescente, sobre a
bancada e com uma distância média de 0,5cm a 1cm do LDR em relação à superfície. Foram
testados LDR de 10mm e 7mm.
Através do estudo dos sensores de 10mm e 7mm observou-se
empiricamente que o primeiro apresentou uma melhor resposta para maiores distâncias da
superfície enquanto que o de 7 mm apresentou uma maior variação de resistência quando
próximo à superfície e à trilha. Por fim, optou-se em utilizar um LDR de 10 mm.
Os valores encontrados médios são apresentados na tabela 3.3:
68
Teste de Resistência do LDR
Condições: LDR de 10mm laboratório T4 do DEEL, 1cm da superfície,
Superfície branca
Faixa pintada em tinta preta
R ≤ 2,8 kΩ
R ≤ 3,5 kΩ
Condições: LDR de 7mm laboratório T4 do DEEL, 1cm da superfície,
Superfície branca
Faixa pintada em tinta preta
R ≤ 2,8 kΩ
R ≥ 3,8 kΩ
Valores médios com obstrução parcial da Luz: > 20 kΩ
LDR escolhido para o projeto: 10 mm
Tabela 3. 3 - Resultados dos testes com LDR
3.3.2 Determinação do Rpot do divisor de tensão
A tensão de alimentação, Vcc neste projeto foi definida como 5V. Dessa
forma, tendo variação de resistência do LDR definida, era necessário determinar um valor de
resistência do potenciômetro que permitisse uma boa faixa de variação da tensão Vo.
Para facilitar a determinação, duas tabelas, no software Microsoft Excel,
foram desenvolvidas para verificar a resistência Vo, conforme as equações 2.41 e 2.42 em
função da resistência do LDR e do resistor do potenciômetro. Por fim decidiu-se uma
calibração de 3kΩ conforme tabela 3.4.
69
Variação da tensão de um divisor de tensão proporcionalmente à resistência do LDR
Divisor de tensão - LDR ligado ao Vcc
Vcc (V)
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
LDR (Ω)
1000
1500
1800
2100
2300
2400
2500
2600
2700
2800
2900
3000
3100
3200
3300
3400
3500
3600
3700
3800
3900
4000
40000
R (Ω)
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
Divisor de tensão - LDR ligado ao GND
Vo (V)
Vcc (V)
3,750
5
3,333
5
3,125
5
2,941
5
2,830
5
2,778
5
2,727
5
2,679
5
2,632
5
2,586
5
2,542
5
2,500
5
2,459
5
2,419
5
2,381
5
2,344
5
2,308
5
2,273
5
2,239
5
2,206
5
2,174
5
2,143
5
0,349
5
LDR (Ω)
1000
1500
1800
2100
2250
2400
2500
2600
2700
2800
2900
3000
3100
3200
3300
3400
3500
3600
3700
3800
3900
4000
10000
R (Ω)
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
3000
Vo (V)
1,250
1,667
1,875
2,059
2,143
2,222
2,273
2,321
2,368
2,414
2,458
2,500
2,541
2,581
2,619
2,656
2,692
2,727
2,761
2,794
2,826
2,857
3,846
Tabela 3. 4 - Valores de Vo conforme variação da resistência do sensor
Optou-se neste projeto empregar a topologia com o sensor ligado à
referência terra. Observa-se que nos valores médios presente nas condições do ambiente de
teste, tem-se um range entre 1,25 V e 2,857V. No capítulo 4 será demonstrada a curva de
varição de Vo e RLDR conforme variação da luz.
3.3.2 Comparador lógico Schmitt Trigger
Como já mencionado, a calibração do sensor depende da luz ambiente. Para
este projeto, todo o cálculo do divisor de tensão e da lógica de interpretação da tensão de
saída foi baseada nas condições da tabela 3.4.
70
Para efeitos práticos, deteminou-se uma variação de resistências para o LDR
conforme tabela 3.5 abaixo:
Faixas de resistências do LDR – valores definidos para condições da tabela 3.3
Superfície branca:
Faixa preta:
R < 3kΩ
R > 3,5kΩ
Tensão conforme topologia da tabela 3.4
Superfície branca:
Faixa preta:
V < 2,5V
Vo > 2,69V
Tabela 3. 5 - Valores de referência para comparador lógico
Estes valores foram determinado para digitalizar a saída do sensor. Ou seja,
conforme a tabela 3.5, a tensão Vo passa a assumir dois valores lógicos: 0 (0V) e 1 (Vcc).
Assim, uma lógica é determinada na tabela 3.6. A representação gráfica desta tabela é
apresentada na figura 3.9.
Valores Lógicos de Vo
Referência Negativa
R < 3kΩ e V < 2,5V
Vo = 0V (Nível digital 0)
Superfície branca
Referência Positiva
R > 3,5kΩ e Vo > 2,69V
Vo = Vcc (Nível digital 1)
Trilha escura
Histerese
3,0kΩ ≤ R ≤ 3,5kΩ e Vo = Mantem estado
anterior.
2,5V ≤ Vo ≤ 2,69V
Tabela 3. 6 - Valores de referência para comparador lógico
Figura 3.9 - Curva de histerese do comparador Schmitt Trigger
71
Incerteza.
Baseado nas tabelas 3.5 e 3.6, e nas simulações com o divisor de tensão do
LDR, a tabela 3.7 resume a comparação dos valores de tensão.
Divisor de tensão - LDR "EM BAIXO"
Vcc LDR
R
Vo
Estado
Pista
5
1000 3000
1,250 zero
Branca
5
2600 3000
2,321 zero
Branca
5
2700 3000
2,368 zero
Branca
5
2800 3000
2,414 zero
Branca
5
2900 3000
2,458 zero
Branca
5
3000 3000
2,500 histerese
mantêm
5
3100 3000
2,541 histerese
mantêm
5
3200 3000
2,581 histerese
mantêm
5
3300 3000
2,619 histerese
mantêm
5
3400 3000
2,656 histerese
mantêm
5
3500 3000
2,692 histerese
mantêm
5
3600 3000
2,727 satura
trilha
5
3700 3000
2,761 satura
trilha
5
3800 3000
2,794 satura
trilha
5
3900 3000
2,826 satura
trilha
5
4000 3000
2,857 satura
trilha
5
10000 3000
3,846 satura
trilha
Tabela 3. 7 - Interpretação do comparador em relação à detecção das trilhas
Com base nesta lógica existe um circuito discreto que permite fazer essa
comparação levando em conta os valores de referência, este é denominado Schmitt Trigger. O
circuito projetado neste trabalho é mostrado na figura 3.10.
Figura 3.10 - Comparador Schmitt Trigger
72
Neste caso, quando a tensão de entrada positiva passa do valor de referência
positiva, conforme tabela 3.6, ele satura para o valor de Vsat. Quando abaixa de 2,5V ele
satura negativamente.
Como este amplificador operacional tem alimentação única, foi adicionado
na entrada negativa um divisor de tensão que define a tensão de referência negativa, VRef-,
como 2,6V.
Com a relação do resistor da entrada positiva com o da malha de
realimentação positiva, dada pela equação 3.7, é configurado o valor de referência positiva
(UTP). A histerese é a duas vezes a diferença entre a tensão de referência positiva (UTP) e
Vref-, conforme equação 3.8. Portanto a tensão de referência negativa (LTP) é dada por 3.8;
(3.7)
(3.8)
O sinal Vo da saída do amplificador operacional satura para 12V ou para
0V, conforme os valores de histerese. O circuito projetado não garante exatidão devido aos
valores de resistores comerciais que podem ser usados, variações percentuais das resistências
devido a fatores de fabricação, influência térmica, não idealidade das tensões de saturação do
amplifacador operacional entre outros fatores.
3.3.2 Diodo Zener e Buffer de entrada
O amplificador operacional deve ser alimentado com tensão maior do que
5V. Na configuração como Schmitt Trigger, quando o sensor estiver sobre a faixa escura, a
saída do comparador deverá apresentar a tensão de saturação positiva. Essa é maior do que a
tensão máxima suportada pela porta de entrada do PIC.
Para evitar que uma entrada maior do que 5V queime a porta digital do PIC,
deve-se grampear essa tensão de saída. Para fazer isso há pelo menos duas formas. A primeira
é utilizando um divisor de tensão em série com a saída do comparador como apresentado na
figura 3.11.
73
Figura 3.11 - Divisor de tensão para porta de entrada do PIC
Em nível lógico alto, o comparador entrega aproximadamente 10V para o
divisor de tensão. Este deve abaixar esta tensão para 5V para a porta digital do
microcontrolador. A segunda forma de executar essa limitação de tensão é através de um
diodo zener de 5,1V conforme mostra a figura 3.12.
Por outro lado, a tensão de saturação negativa não é extamente zero volts
quando a alimentação negativa do amplificador operacional é de zero volts. Isto devido às
características reais do dispositivo, portanto deve-se garantir que o microcontrolador vai
interpretar esta tensão como nível lógico zero.
Para garantir que porta digital do micrcontrolador entenda como zero volts o
nível lógico 0, pode ser necessário adcionados diodos em série com a saída do comparador
para prover uma queda de tensão para próximo de 0V quando em nível lógico 0.
Figura 3.12 - Grampeamento de tensão para máximo de 5,1V na entrada do PIC
Neste caso, é desnecessário adcionar um resistor em série com o diodo
zener, pois a saída do amplificador operacional é de alta impedância não havendo perigo de
queimar o diodo zener. Em outras aplicações onde a saída de tensão a ser grampeada não é de
74
um amplificador operacional, é necessário incluir um resistor em série para evitar queima do
componente.
Além da questão do grampo de tensão em dois níveis de 0 e 5V, é
necessário muitas vezes adcionar um buffer de tensão na entrada do PIC para que mesmo não
queime a porta. O buffer é circuito com realimentação negativa e ganho unitário que serve
para garantir alta impedância de entrada, provendo apenas tensão do sinal sem corrente,
garantindo assim uma segurança a mais para a porta.
O comparador Schmitt trigger, embora atenda aos requisitos da lógica deste
projeto provendo uma curva de histerese e comparação que digitaliza o sinal do LDR,
apresenta algumas desvantagens:

Dificuldade de calibração: resistores comerciais e não ideais;

Alto tempo de resposta amplificador operacional;

Necessidade de prover uma tensão de alimentação maior do 5V;

Componentes
discretos
que
podem
gerar
problemas
na
implementação prática;

Necessidade de grampear a tensão de saída em no máximo 5V para
não queimar a porta de entrada do microcontrolador.
Como o PIC16F874A conta com um conversor A/D que capta valores de 0 a
5V, foi decidido neste projeto implementar a lógica de comparação apresentada previamente
através de programação do microcontrolador. Dessa forma, a tensão do sensor LDR serve de
entrada para um das portas de conversor analógico digital do PIC. Este será explicado a
seguir.
3.3 Projeto do algoritmo do firmware
3.3.2 Ligações físicas do microcontrolador
O microcontrolador PIC16F874A foi utilizado para implementação da
malha de controle do robô. Para realizar esta tarefa ele faz a leitura da entrada analógica do
sinal de entrada proveniente dos sensores LDR esquerdo e direito e gera os pulsos PWM
75
necessários para o chaveamento dos transistores e acionamento dos motores esquerdo e
direito.
Para realizar estas tarefas, o PIC utilizará duas portas de entrada do tipo
ANx e as duas portas CCP em configuração PWM.
Além disso, se faz necessários utilizar algumas portas do microcontrolador
que garantem seu funcionamento. Em resumo, os pinos que foram utilizados neste projeto
são:
Entradas analógicas:

Pino 2 - AN0 – Ligado ao divisor de tensão do LDR Direito;

Pino 3 - AN1 - Ligado ao divisor de tensão do LDR Esquerdo.
Saídas:

Pino 17 - CCP 1 – PWM para acionamento do motor Esquerdo;

Pino 16 - CCP 2 – PWM para acionamento do motor Direito.
Portas para correto funcionamento do microcontrolador:

Pino 13 - OSC1/CLKI – Ligado ao cristal oscilador externo;

Pino 14 - OSC2/CLKO - Ligado ao cristal oscilador externo;

Pino 11/32 - VDD – Tensão de alimentação positiva – VDD = 5V;

Pino 12/31 – VSS – Tensão de referência Terra –VSS = 0V;

Pino 1 – MCLR*VPP – Memory Clear – Ligado ao VDD através de
um resistor de 10kΩ. Evita que o micro se resete sozinho. Para
resetar o microcontrolador fisicamente, conectar esse pino ao terra
por um breve instante de tempo.
Para que o microcontrolador funcione deve ser adicionado aos pinos 13 e 14
um gerador de clock externo. Este gerador de clock é feito através de um circuito oscilador. O
componente ideal para esta implementação é o Oscilador a Cristal de Quartzo.
A figura 3.13 mostra o circuito oscilador gerador de clock externo que foi
implementado com os seguintes componentes:

1 Crytal Oscilador modelo HC49/S de 24MHz;

2 capacitores de cerâmica de 33pF.
76
Figura 3.13 - Circuito oscilador gerador de clock externo
Em resumo, as ligações feitas no PIC são apresentadas na figura 3.14:
Figura 3.14 – Ligações físicas ao microcontrolador
3.3.2 Lógica de funcionamento do Robô
Com as informações já passadas sobre as ligações físicas do
microcontrolador, agora será apresentada a lógica de funcionamento do robô.
Como apresentado anteriormente, o robô se movimentará através de dois
motores em eixos independentes e que se guiarão por uma trilha em tinta escura pintada sobre
uma superfície branca.
77
Os LDR, através de um divisor de tensão, detectam variações de luz quando
se encontram sobre a faixa preta e alteram a tensão de saída do divisor de tensão. Com base
nos valores de referência de tensão apresentados na tabela 3.6 um comparador Schmitt
Trigger é utilizado para digitalizar a sinal do sensor em dois níveis, 0V e 5V.
Devido a maior facilidade em se implementar o comparador através de
programação, a tensão presente sobre o LDR é então captada por uma porta analógica do
microcontrolador e convertida em uma valor digital que será comparado com os valores de
referência positiva e negativa digitais.
O Conversor Analógico Digital (ADC) do PIC foi configurado para 8 bits de
resolução. Duas variáveis foram criadas para armazenar o valor digital das entradas
analógicas:

valor_esq: lê o valor digital da entrada analógica AN1;
o Valores entre 0 e 255 (0 e 5V)

valor_dir: lê o valor digital da entrada analógica AN0;
o Valores entre 0 e 255 (0 e 5V)

O ADC do PIC foi configurado gera valores de 8 bits de resolução:
entre 0 e 255.
Duas constantes foram criadas para comparação. Estas foram calculadas
baseado nas equações 2.47 e 2.48. :

ref_neg = 128. Equivale ao valor de tensão de 2,5V conforme tabela
3.6.

ref_pos = 138. Equivale ao valor de tensão de 2,69 conforme tabela
3.6
As variáveis valor_esq e valor_dir são comparadas com as contantes
ref_neg e ref_pos e setam variáveis lógicas segundo gráfico da figura 3.10. Dessa forma duas
variáveis foram criadas para :

boLDR__esq: Valor lógico do sensor esquerdo:
o 0: sensor está sobre a superfície branca;
o 1: sensor está sobre a trilha escura.

boLDR__dir: Valor lógico do sensor esquerdo:
o 0: sensor está sobre a superfície branca;
o 1: sensor está sobre a trilha escura.
78
Assim a figura 3.15 resume a comparação das variáveis para detecção da
trilha.
Valores das variáveis de comparação para detecção de curva na trilha
Representação da detecção da curva
Valores das variáveis
 boLDR__dir = 0;
 boLDR__esq = 0;
 boLDR__dir = 0;
 boLDR__esq = 1;
 boLDR__dir = 1;
 boLDR__esq = 0;
 boLDR__dir = 1;
 boLDR__esq = 1;



boLDR__dir = 0;
boLDR__esq = estado anterior;
Mantem sentido que estava
Obs: válido também para incerteza no
sensor esquerdo
Figura 3.15 - Detecção das curvas pelo robô
79
3.3.2.1 Acionamento do motor
Seguindo a lógica apresentada, determinada a direção em que o robô irá
seguir, o microcontrolador deve enviar o comando para acionar os motores de ambos os eixos
independentes.
O princípio de funcionamento deste sistema é que a diferença da velocidade
angular entre os eixos causa uma variação angular na direção em que está se movendo. Como
velocidade é diretamente proporcional à tensão aplicada aos terminais do motor, alterando a
tensão nos terminais do mesmo, consegue-se alterar sua velocidade.
Dessa forma, através da variação da largura de pulso do sinal do PWM que
aciona a tensão de base do driver do motor, altera-se a tensão média em seus terminais
conforme apresentado anteriormente.
Assim, para realizar a curva basta acionar os PWMs com largura de pulsos
diferentes entre si. Os drivers serão chaveados com larguras de pulsos diferentes e a tensão
nos terminais também serão diferentes.
O comando para configurar o Duty Cycle do PWM é apresentado abaixo:

set_PWM1_duty(Dx); //PWM do motor esquerdo;

set_PWM2_duty(Dx); //PWM do motor direito.
A frequência configurada para os sinais PWM é de 1,465kHz.
Afim de facilitar na alteração dos parâmetros necessário para calibrar o
sistema em um bom funcionamento, foi determinado quatro constantes de valores de D:

D1: Duty nominal – aciona os motores em linha reta;

D2: Duty com maior largura de pulso para prover maior tempo de
saturação e portanto maior velocidade a um dos motores;

D3: Duty com menor largura de pulso para aumentar o diferencial de
velocidade durante a curva do robô;

D0: Duty com valor zero para parar o sistema quando ambos os
sensores tocam a faixa.
80
Os motores utilizados neste projeto funcionam com níveis de tensão que
variam entre 0,5V e 5V aproximadamente. O valor do D varia de 0 a 100% sendo configurado
com 0 até 1024:
(3.9)
(3.10)
Assim, um valor padrão foi utilizado para iniciar os testes no protótipos
sendo estes:

D1 = 250 correspondente a D = 24,41%;

D2 = 350 correspondente a D = 34,14%;

D3 = 150 correspondente a D = 14,65%;

D0 = 0 correspondente a D = 0.
A figura 3.16 ilustra a mudança de direção em relação à variação de
velocidade entre os motores.
Figura 3.16 - Direção em função da diferença de velocidade entre os eixos
3.3.3 Fluxograma de funcionamento
Com base nas informações previamente passadas, o código, o qual está
apresentado no anexo 1 do presente trabalho, tem o fluxo de comandos conforme fluxograma
apresentado na figura 3.17.
81
Início
Portas: entradas: AN0 (LDR dir) E AN1 (LDR esq)
saídas: CCP1 (motor esq) E CCP2 (motor dir)
Constantes:Duty Cycle: D1, D2, D3 e D0,
ref_neg = 2,5V e ref_pos = 2,59V
Variáveis: 8 bits: valor_esq, valor_dir
1 bit: boLDR__esq, boLDR__dir
valor_esq lê entrada AN1
valor_esq > ref_pos?
valor_dir < ref_neg?
Não
Não
Sim
Sim
boLDR__esq = 1
boLDR__esq = 0
boLDR__esq = boLDR__esq
valor_dir lê entrada AN0
valor_dir > ref_pos?
valor_dir < ref_neg?
Não
Não
Sim
Sim
boLDR__dir = 1
boLDR__dir = 0
boLDR__dir = boLDR__dir
Se
boLDR__dir ==0 e
boLDR__esq ==0
Segue reto - Duty esquerdo = D1
Duty direito
= D1
se não
Se
boLDR__dir ==1 e
boLDR__esq ==0
Curva à direita - Duty esquerdo = D2
Duty direito = D3
se não
Se
boLDR__dir ==0 e
boLDR__esq ==1
Curva à esquerda - Duty esquerdo = D3
Duty direito = D2
se não
Se
boLDR__dir ==1 e
boLDR__esq ==1
Parado -
Duty esquerdo = D0
Duty direito = D0
Figura 3.17 - Fluxograma do código
82
3.4 Fonte de alimentação do circuito
Neste projeto foi empregado uma tensão única de 5Vcc para alimentar todos
os circuitos do sistema. Está tensão deve se manter constante, por esse motivo, foi utilizado
um regulador de tensão de 5V através do Circuito Integrado LM7805.
Este CI é um regulador linear que mantêm a tensão de saída em 5V
(variação de 4,8 a 5,2), enquanto houver uma tensão de entrada maior que 7,5V. A figura 3.18
mostra o circuito de alimentação empregado neste projeto.
Figura 3.18 - Bloco regulador de tensão do circuito
Neste circuito, os capacitores foram empregados para reduzir ondulações de
tensão tanto na entrada como na saída.
Ainda assim, é necessário um par de capacitores em paralelo de 33pF de
tipo cerâmico e 470µF tipo eletrolítico próximos aos pinos de alimentação do
microprocessador para filtrar ruídos que possam prejudicar o PIC.
Outro ponto a ser analisado é a potência dissipada no regulador. Segundo o
datasheet do componente a potência dissipada é Pd ≤ 15W para tensões de entrada entre 7,5V
e 20V e corrente de até 1 A.
Como a aplicação do robô seguidor de trilhas demanda uma média de
500mA com 5V, pode-se esperar que haverá uma potência dissipada no componente podendo
aquecê-lo demasiadamente. Para evitar esse problema é recomendável adicionar um
dissipador de potência junto ao encapsulamento do componente. O encapsulamento utilizado
é do tipo TO-220.
83
3.4.1 Escolha da bateria
A bateria utilizada neste projeto tem tensão nominal de 9V, com dimensões
de 26.5 mm x 17.5 mm x 48.5 mm e peso de 35.5g. Suas vantagens são o tamanho reduzido e
seu baixo peso, o que exerce menor carga mecânica aos motores e consequentemente menor
corrente consumida pelos motores. Além disso elas tem um baixo custo. No entanto essas
baterias tem baixa capacidade de carga e não são recarregáveis, sua capacidade é de 216mAh
de acordo com o fabricante. A figura 3.19 apresenta o dimensionamento dessa bateria.
Figura 3.19 - Bateria de 9V dimensionamento
Fonte: (Datasheet Bateria GP1604S)
Neste projeto, para aumentar a durabilidade das baterias e a capacidade de
fornecer maior carga, duas bateriais desse tipo foram conectadas em paralelo. Dessa forma, a
tensão de entrada no regulador continua sendo de 9V nominal.
Alternativas para a alimentação do sistema pode ser as baterias de ChumboÁcidos que tem grande capacidade de carga no entanto são bastante pesadas e de volume
maior, as de Níquel-cádmio (NiCd) que tem maior potencial energético do que as de chumboácido no entanto são mais caras. Maiores informações sobre os tipos de baterias podem ser
consultadas nos sites das fabricantes.
84
3.5 Estrutura física
3.5.1 Estrutura mecânica
Foi necessário fazer o projeto da parte mecânica do protótipo, que
compreende os eixos independentes, motores e locais para fixar os dois LDRs, bateria e a
placa eletrônica.
Para as necessidades de locomoção de um robô, o motor gira em uma
velocidade muito alta e com um torque muito baixo. Para inverter essa
relação, o motor deve ser ligado a uma caixa de redução que produz
uma nova saída que gira mais devagar, porém com um torque maior.
(GIOPPO, 2009, p. 10)
A parte mecânica deste projeto foi feita com base em peças de carrinhos de
controle remoto de brinquedo adquiridos em uma loja especializada. As peças consistem em
caixas de redução (sistema de engrenagens) com motores inclusos pertencentes a dois
brinquedos iguais, figura 3.20.
Figura 3.20 - Materiais para fazer os chassi
Estas duas caixas de redução que serviam a dois eixos únicos separadamente
foram juntadas através de materiais como isopor e durex para se obter o chassi definitivo do
robô apresentado na figura 3.21.
85
Figura 3.21 - Chassi com eixos independentes
O chassi conta com dois eixos independentes com caixas de redução e
alojamento para os motores de corrente contínua adiquiridos juntamente com eles.
Os motores CC, figura 3.22, são de pequeno porte. Sua tensão de operação
nominal é de 2,5 a 5V e sua velocidade estimada é de 4000 rpm. Estes valores não são
comprovados devido a não obtenção dos dados técnicos dos motores. No entanto em testes
feitos verificou-se que seu funcionamento atende a uma tensão em seus terminais desde 0,6 a
5V sem carga e a corrente média consumida, para uma tensão de 2,5V é de aproximadamente
250mA sem carga.
Foram medidas em laboratório os valores de resistência e indutância série
do motores e os valores obtidos são apresentados a seguir:

Indutância série: 231,2µH;

Resistência série: 3,734 Ω
Figura 3.22 - Foto do motor de corrente contínua utilizado
86
Além dos motores, são necessários ainda posicionar os sensores LDR em
uma distância fixa da superfície entre si. Para fazer isso, recorreu-se a um material de acrílico,
no caso, uma régua comum. Através do mesmo material, foi adicionado na parte da trás do
chassi um local para acondicionar as baterias. Por fim a parte mecânica do projeto ficou como
mostrado na figura 3.23.
Figura 3.23 - Foto da parte mecânica definitiva
3.5.2 Projeto da placa eletrônica
Foi utilizado o software Eagle (Easily Applicable Graphical Layout Editor)
versão 5.11.0 da fabricante CadSoft para montagem do layout da placa de circuito impresso
do robô. O esquemático definitivo é mostrado na figura 3.24.
87
Figura 3.24 - Esquemático do projeto eletrônico completo
O layout da placa foi feito pensando em um arranjo que seguisse a estrutura
do protótipo, com conectores para os LDRs esquerdo e direitos, motores cc esquerdo e direito
e para a bateria arranjados de acordo com a disposição dos mesmo na parte macânica do
protótipo. Os potenciômetros inclusos são uteis para ajustar a tensão dos divisores de tensão
dos sensores. O layout da placa é apresentado no anexo 2 deste trabalho.
O processo de confecção da placa foi feito através e transferência térmica
em placa cobreada de fenolite virgem. As etapas de corrosão da placa, e soldagem dos
componentes foram feitos no laboratório T4 do DEEL. A figura 3.25 mostra a placa já pronta.
Figura 3.255 - Placa finalizada
88
3.5.3 Integração dos blocos
Ao fim da montagem da placa de circuito impresso, os blocos conforme
figura 3.1 foram interligados e são apresentados na figura 3.26.
Figura 3.266 - Versão final do protótipo
Como pista de teste, foi desenvolvido em folha tamanho A2 (420mm x
594mm) com desenho oval possibilitando teste com curvas em ambas as direções. A trilha foi
pintada utilizando tinta preta.
89
Capítulo 4
Resultados e Discussões
No capítulo 4 serão demonstrados os resultados da simulação do software
do microcontrolador, ensaios sobre os LDRs e simulações dos circuitos de acionamento dos
motores.
4.1 Simulação do circuito de acionamento do motor
O circuito utilizado para acionamento dos motores é mostrado na figura 4.1.
Para testar seu funcionamento foram feitas simulações usando o software Orcad 10.1 da
fabricante Cadence.
Figura 4. 1 – Driver dos motores
90
Para resistência de carga foi feita assumindo um valor de 10Ω, pois nestas
condições a corrente média do circuito é de 400mA o que corresponde à corrente média do
motor cc utilizado neste projeto. Foi desconsiderado a indutância série do motor nesta
simulação.
A frequência usada para simulação é de 1kHz. Logo o período da onda
quadrada é de 1ms:
(4.1)
O gráfico da figura 4.2 apresenta a tensão VCE em função do tempo
conforme chaveamento do sinal PWM na base do par de transistores Darlington. A largura de
pulso utilizada na simulação é de 50%.
6.0V
5.0V
4.0V
3.0V
2.0V
1.0V
0V
0s
0.5ms
1.0ms
1.5ms
2.0ms
2.5ms
3.0ms
3.5ms
4.0ms
4.5ms
5.0ms
V(Q1:C)
Time
Figura 4. 2 - Tensão VCE em função do tempo
Analisando o gráfico, observam-se os seguintes valores:
(4.2)
91
Colocando o analisador de tensão do Orcad na base do transistor, é possível
verificar a resposta de chaveamento do transistor ao sinal PWM aplicado. O gráfico da figura
4.3 apresenta este resultado.
6.0V
5.0V
4.0V
3.0V
2.0V
1.0V
0V
-1.0V
0s
V(Q1:C)
0.5ms
V(Q2:B)
1.0ms
1.5ms
2.0ms
2.5ms
3.0ms
3.5ms
4.0ms
4.5ms
5.0ms
Time
Figura 4. 3 - Relação entre a tensão VBE e VCE do par Darlington.
Nota-se que quando a tensão de base está em nível alta, a tensão VCE(sat) é de
0,837V. Ao mesmo tempo a tensão de base equivale à queda VBE de ambos os transistores.
(4.3)
(4.4)
(4.5)
Como pode ser observada, na saturação a tensão VCE não é exatamente
zero. Ao mesmo tempo a tensão VB é a somatória das tensões VBE de ambos os transistores.
A corrente de coletor, IC alimenta a carga é determinada pela seguinte equação:
(4.6)
(4.7)
92
Esta corrente surge apenas quando o transistor está em saturação, com
condições de carga de 10Ω puramente resistiva. Ao mesmo tempo a corrente de base do
transistor é definida como:
(4.8)
≅
(4.9)
Assim, o ganho estático do par de transistores Darlington é de:
≅
(4.10)
O gráfico 4.3 mostra a corrente de base do transistor e o gráfico da figura
4.4 mostra a corrente de coletor em função da tensão VCE do transistor BD139.
8.0mA
6.0mA
4.0mA
2.0mA
0A
-2.0mA
-4.0mA
0s
0.2ms
0.4ms
0.6ms
0.8ms
1.0ms
1.2ms
1.4ms
IB(Q2)
Time
Figura 4. 4 - Corrente de base do transistor BC337
93
1.6ms
1.8ms
2.0ms
6.0
5.0
4.0
3.0
2.0
1.0
0
-1.0
0s
IC(Q1)
0.2ms
V(Q1:C)
0.4ms
0.6ms
0.8ms
1.0ms
1.2ms
1.4ms
1.6ms
1.8ms
2.0ms
Time
Figura 4. 5 - Corrente de coletor (onda menor) em função da tensão coletor emissor do transistor BD139.
Ic ≅ 417mA
A corrente de coletor passa através do transistor de chave, que mantem uma
tensão VCE(sat). Dessa forma surge uma potência dissipada no transistor dada por:
(4.11)
Estes valores calculados até então são para tensões instantâneas no
momento em que a chave está fechada. O valor médio e RMS equivalentes a valores em
corrente contínua são apresentados a seguir:
(4.12)
(4.13)
√
(4.14)
√
(4.15)
94
4.1.2 Testes em Protoboard
Para verificar o funcionamento do driver com componentes reais, foram
feitas testes em uma matriz de contatos da mesma configuração. Os resultados mostrados no
osciloscópio e com os multímetros são apresentados a seguir.
A resistência de carga empregada neste teste foi adquirida através de um
potenciômetro. O sinal PWM foi obtido através de um gerador de funções e os gráficos foram
tirados de osciloscópios analógicos. A tensão de alimentação usada foi proveniente de uma
fonte de tensão CC.
Devido a interferências de ruídos na medida com osciloscópio, não é
apresentado as formas de ondas no acionamento do motor como carga prática. Dessa forma,
estes testes foram apresentados apenas usando carga puramente resistiva.
A figura 4.6 mostra a forma de onda nos osciloscópio da tensão VCE do
transistor BD139. Nesta figura, a escala está em 5 volts por divisão. Verifica-se que há uma
tensão VCE na saturação:
Figura 4. 6 - Tensão VCE no transistor BD139
Se aumentar o Duty Cycle do sinal PWM na base, observa-se um maior
tempo em que a tensão VCE se mantem em saturação, como demonstrado na figura 4.7, que
apresenta 2 volts por divisão.
Figura 4.7 - Tensão VCE no transistor BD139 com grande valor de D no sinal PWM da base
95
Utilizando um multímetro True RMS foi possível verificar a tensão RMS que
surge na carga devido ao chaveamento do transistor, a figura 4.8 mostra dois valores de
tensão correspondentes a dois sinais PWMs com diferentes larguras de pulso.
Figura 4. 8 - Tensão RMS variante com Duty Cycle do sinal PWM
Da mesma forma, a figura 4.9 mostra a corrente de coletor RMS enquanto o
transistor está chaveamento e quando está desligado.
Figura 4.9 - Corrente RMS com o transistor chaveando e em corte.
96
4.2 Estudos sobre o comportamento dos LDRs;
Através de simulação no software Proteus é possível verificar a variação da
saída do divisor de tensão de acordo com a variação da Luz. Além disso, consegue-se
verificar qual a relação entre a resistência do LDR e a intensidade luminosa incidente sobre o
mesmo. O circuito de instrumentação do LDR é mostrado na figura 4.10.
O Proteus conta com um modelo de componentes de LDR que permite
variar o parâmetro de luz incidente. A unidade de medida usada no modelo é o Lux que
significa a densidade do fluxo luminoso e corresponde a 1 Lm/m².
Figura 4.10 - Circuitos dos sensores e interface com microcontrolador PIC16F874A
Deseja-se obter a variação da tensão de saída do divisor de tensão projetado,
com uma resistência série de 3KΩ. Inicia-se a simulação do circuito da figura 4.5 e medem-se
os valores de tensão de saída para variação da densidade luminosa a partir de 0,1. Os dados
obtidos foram reunidos na tabela 4.1.
97
Divisor de tensão de ambos os LDRs
LUX
0
Tensão Vin da porta do PIC
(V)
4,99
30
4,00
60
3,8
90
3,2
120
2,91
150
2,69
160
2,57
170
2,61
180
2,49
210
2,33
250
2,14
Tabela 4.1 - Relação entre a tensão de saída e a densidade luminosa do modelo
Comparando com os dados da tabela 3.7 é possível fazer uma relação entre
a resistência aproximada do LDR para determinada intensidade luminosa incidente no LDR e
a tensão de saída do sensor e interpretar esses dados com o objetivo prático do projeto.
Relações dos parâmetros do LDR com a tensão do divisor de tensão
RLDR (Ω)
LUX
Tensão de saída (V)
Estado
Pista
0
4,99
40000
Satura
Trilha
30
4,00
13000
Satura
Trilha
60
3,80
10000
Satura
Trilha
90
3,20
5500
Satura
Trilha
120
2,91
4000
Satura
Trilha
150
2,69
3500
Histerese
Mantêm
160
2,57
3200
Histerese
Mantêm
170
2,55
3100
Histerese
Mantêm
180
2,49
3000
Zero
Branco
210
2,33
2600
Zero
Branco
250
2,14
2250
Zero
Branco
Tabela 4.2 - Relação entres os parâmetros do LDR com a tensão do divisor de tensão
No modelo do LDR apresentado no Proteus, a faixa de luminosidade
considerada como a parte escura (sensor está sobre a trilha) corresponde a valores menores
98
que 150 lux. A faixa de valores maiores iguais a 150 Lux e menores que 180 compreendem a
zona de histerese, e a faixa de valores acima de 180 é considerado com superfície branca.
Através de interpolação desses valores, são apresentados os gráficos das
figuras 4.11, tensão do divisor em função da densidade luminosa e gráfico 4.7, resistência do
LDR em função da densidade luminosa. Verifica-se através do gráfico da figura 4.12 que a
resposta à incidência de luz do LDR é uma função exponencial.
Tensão de saída (Vo) X Lux
5,250
5,000
4,750
4,500
4,250
4,000
3,750
3,500
3,250
3,000
2,750
2,500
2,250
2,000
1,750
1,500
Tensão de saída (Vo)
0
30
60
90
120 150 180 210 240 270
Figura 4.11 - Tensão de saída do divisor de tensão em função da densidade luminosa
Resistência (Ω) do LDR x Lux
45000
40000
35000
30000
25000
Resistência
20000
15000
10000
5000
0
0
50
100
150
200
250
300
Figura 4. 12 - Resistência do LDR em função da densidade luminosa
99
4.3 Simulações do funcionamento do código
Como mencionado anteriormente, o código do robô converte a tensão
analógico para digital gravando o valor vindo do divisor de tensão. Dessa forma, é possível
utilizando Proteus demonstrar a função de comparação com histerese que foi programada.
Para simular o funcionamento do robô serão utilizados os dados dos testes
com o LDR apresentado na seção anterior. A lógica a ser seguida é apresentada na tabela 4.3.
Id
Valores de referência para o teste do software
RLDR
Tensão
Resultado do teste
Conclusão
ANx
4000
2,91 Satura
Está sobre a faixa
3500
2,69 Transição para
Incerteza
saturação
3200
2,57 Histerese
Incerteza
3000
2,49 Transição para nível
Incerteza
baixo
2600
2,33 Nível Baixo
Está na superfície
branca
Lux
1
2
120
150
3
4
160,1
180
5
210
Tabela 4.3 - Valores de referência para simulação
A figura 4.13 apresenta o esquemático de teste do Proteus para realização
das simulações. Serão alterados os valores de acordo com a tabela 4.3 e verificado a resposta
do PWM no osciloscópio digital do programa.
VDC
5V
POT__DIR
POT__ESQ
3k
3k
U1
13
14
210.1
210.1
LDR__L
2
3
4
5
6
7
LDR
+88.8
Volts
LDR__R
LDR
8
9
10
+88.8
Volts
1
OSC1/CLKIN
OSC2/CLKOUT
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
RE0/AN5/RD
RC1/T1OSI/CCP2
RE1/AN6/WR
RC2/CCP1
RE2/AN7/CS
RC3/SCK/SCL
RC4/SDI/SDA
MCLR/Vpp/THV
RC5/SDO
RC6/TX/CK
RC7/RX/DT
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
33
34
35
36
37
38
39
40
15
16
17
18
23
24
25
26
19
20
21
22
27
28
29
30
PIC16F874A
Figura 4.13 - Esquemático de simulação do Proteus
100
A
B
C
D
A seguir serão apresentados os casos de testes e o resultado encontrado. Os
valores das constantes foram definas como:
 D1 = 250 correspondente a D = 24,41%;

D2 = 350 correspondente a D = 34,14%;

D3 = 150 correspondente a D = 14,65%;

D0 = 0 correspondente a D = 0.
4.2.1.1 Caso de teste 1: Robô segue em linha reta
Ambos os sensores estão sobre a superfície branca. De acordo com a tabela
4.3:

LDR Esquerdo – ID 5;

LDR Direito – ID 5;
Trecho de código:
if ((boLDR__esq == 0) && (boLDR__dir == 0)) // Robô se mantem em linha reta
{
set_PWM1_duty(D1); //duty motor esquerdo
set_PWM2_duty(D1); //duty motor direito
}
É apresentado a seguir o teste 1 e resultado, figura 4.14:
101
Figura 4.14 - PWM gerado para caso de teste 1. Duty Cycle = 250/1024
4.2.1.2 Caso de teste 2: Curva à direita
Sensor direito está sobre a trilha. De acordo com a tabela 4.3:

Sensor direito em saturação.

LDR Esquerdo – ID 5;

LDR Direito – ID 2;
Trecho de código:
else if ((boLDR__esq == 0) && (boLDR__dir == 1)) // Robô detecta curva a direita
{
set_PWM1_duty(D2); //duty motor esquerdo Aumenta vel da esq para gerar curva para direita
set_PWM2_duty(D3); //duty motor direito
}
É apresentado a seguir o teste 2 e resultado, figura 4.15:
102
Figura 4.15 - PWM gerado para caso de teste. Ch A: 350, Ch B: 150
4.2.1.3 Caso de teste 3: Curva à esquerda
Sensor esquerdo está sobre a trilha. De acordo com a tabela 4.3:

Sensor esquerdo em saturação.

LDR Esquerdo – ID 2;

LDR Direito – ID 5;
Trecho de código:
else if ((boLDR__esq == 1) && (boLDR__dir == 0))
{
set_PWM1_duty(D2); //duty motor esquerdo
set_PWM2_duty(D1); //duty motor direito - Aumenta vel da
dir para gerar curva para esquerda
}
É apresentado a seguir o teste 3 e resultado, figura 4.16:
103
Figura 4.16 - PWM gerado para caso de teste. Ch A: 150, Ch C: 350
4.2.1.4 Caso de teste 4: Ambos os sensores sobre a trilha
Ambos os sensores sobre a trilha.

Robô Pára;

LDR Esquerdo – ID 1;

LDR Direito – ID 1;
Trecho de código:
else // caso em que ele toca a trilha em ambos os lados
{
set_PWM1_duty(D0); //duty motor esquerdo
set_PWM2_duty(D0); //duty motor direito
}
É apresentado a seguir o teste 4 e resultado, figura 4.17:
104
Figura 4.17 - PWM gerado para caso de teste. Ch A: 350, Ch C: 150
4.2.1.4 Caso de teste 5: Histerese incerteza
Pelo fato de não saber se está sobre a trilha ou não, o software mantem o
estado anterior do caso de teste 4.

Ambos os sensores sobre a trilha.

Robô Pára;

LDR Esquerdo – ID 1;

LDR Direito – ID 1;
Trecho de código:
else // caso em que ele toca a trilha em ambos os lados
{
set_PWM1_duty(D0); //duty motor esquerdo
set_PWM2_duty(D0); //duty motor direito
}
É apresentado a seguir o teste 5 e resultado, figura 4.18:
105
Figura 4.18 - PWM mantido do caso de teste 4. Ch A: 0, Ch C: 0
106
CAPÍTULO 5. CONCLUSÕES
Capítulo 5
Conclusões
Este projeto visou à aplicação de vários conceitos de engenharia elétrica e
eletrônica no desenvolvimento de um sistema robótico. Embora o escopo deste projeto tenha
sido bastante simplificado quanto à funcionalidade do sistema, os conceitos e técnicas de
projetos empregados são amplamente utilizados na engenharia mecatrônica.
Um dos pontos críticos a ser analisado são os sensores LDR. Estes são
bastante sensíveis à luz e ao mesmo tempo apresentam uma caraterística não linear. Por esse
motivo, é fácil detectar variações da luminosidade incidentes sobre ele, no entanto são
bastante dependentes do ambiente de teste. Isso faz com que a cada ambiente que for ser
utilizado o protótipo deve ser calibrado de maneira a manter o correto funcionamento. O
emprego de sensores mais precisos que o LDR ou o projeto de uma câmera isolada da luz
ambiente com a iluminação forçada de um led poderia resolver esta limitação.
Quanto ao circuito de acionamento dos motores, inicialmente foi projetado
um circuito de Ponte H, que permite alterar o sentido de rotação do motor. Com intuito de
facilitar na montagem do protótipo este foi substituído por um driver de um quadrante de
funcionamento, que permite apenas a variação da tensão nos terminais do motor. Como
proposta para um futuro projeto, é interessante utilizar drivers comerciais como o L298N que
foi apresentado neste trabalho.
Um fator positivo detectado neste projeto é a versatilidade da utilização das
funcionalidades do microcontrolador. O PIC16F874A possui várias portas de entrada e saída,
e funcionalidades que permitem implementações de outras funções ao projeto. Ficou evidente
a boa aplicação do PIC ao substituir o circuito Schmitt Trigger no bloco de comparação. Isso
fez com que os componentes fossem reduzidos, o sistema de alimentação fosse simplificado.
Além disso, a facilidade em alterar os parâmetros via programação é
evidente. Para facilitar o processo de otimização do funcionamento do robô sugere-se a
utilização de uma comunicação serial para atualização do código sem necessidade de retirar o
microcontrolador da placa para gravá-lo.
Quanto à malha de controle, não foi desenvolvido neste projeto um
compensador para melhorar a resposta dinâmica do sistema. Ideias de projetos de controle que
107
CAPÍTULO 5. CONCLUSÕES
visam suavizar a realização das curvas por parte do robô, melhorar a identificação das trilhas
e o desempenho dinâmico do sistema podem ser pensadas para futuros trabalhos.
Quanto ao chassi mecânico, este se mostrou bastante versátil por possuir
dimensões adequadas para incluir as placas eletrônicas, baterias, os sensores e qualquer outro
sistema. Um ponto a ser destacado foi o reaproveitamento de outros produtos para criação do
projeto mecânico deste sistema. Este poderá ser utilizado em outras aplicações em projetos
futuros.
A apresentação deste trabalho de conclusão de curso visa ser um passo
inicial para que outros projetistas se apoiem neste para criar sistemas mais sofisticados
baseado nas lições aprendidas a partir deste.
108
Bibliografia
AHMED, A. Eletrônica de Potência; tradução Bazán Tecnologia e Lingüística; revisão
técnica João Antonio Martino. São Paulo: Prentice Hall, 2000.
TREVISO, C. H. G. Eletrônica de Potência. Apostila. Departamento de Engenharia Elétrica.
Universidade Estadual de Londrina (UEL). Londrina. 2009.
GIOOPO, L. L.; HIGASKINO, M. M. K.; COSTA, R. F.; MEIRA, W. H. T.. Robô seguidor
de linha. Monografia apresentada à unidade curricular da oficina de integração II do Curso
de Engenharia da Computação da Universidade Tecnológica Federal do Paraná. CURITIBA,
2009.
MALVINO, A. P. Eletrônica: Volume 1. 4ª ed. São Paulo: Makron Books, 1995.
PATSKO,
L.
F.
Tutorial
Montagem
da
Ponte
H.
2006.
Disponível
em:
<http://www.maxwellbohr.com.br/downloads/Tutorial Eletrônica - Montagem de uma
PonteH.pdf.>. Acessado em: 04 de abril de 2011.
MOHAN, N.; UNDELAND, T. M.; ROBBINS, W. P.. Power Eletronics: converters,
application and design. 2nd ed. John Wiley & Sons, Inc. United States of America. 1995.
BRAGA, A. R.; BRAGA, M. P. B.. Instrumentação Eletrônica. Notas de aula. 2006.
Departamento acadêmico de engenharia elétrica. Centro Federal de Educação Tecnológica de
Minas Gerais (CEFETMG). Belo Horizonte. 2002.
COELHO, J. P.. Sensores e Actuadores: Material de apoio às aulas. Escola Superior de
Tecnologia e Gestão. Instituto politécnico de Bragança (IPB-ESTiG). Portugal. 2005
WITKOVSKI, A. Sensores – LDR. 2007. Disponível em:
<http://www.ebah.com.br/user/AAAAAE6_MAD/anderson-witkovski >. Acesso em: 01 de
outubro de 2011.
MALVINO, A. P. Eletrônica: Volume 2. 4ª ed. São Paulo: Makron Books, 1995. p. 307-344
109
MICROCHIP. PIC16F87XA Data Sheet: 28/40/44-Pin Enhanced Flash Microcontrollers.
Microchip, 2003.
PEREIRA, F. Microcontroladores PIC: Programação em C. São Paulo: Ética, 2003.
ANTONIO, M. Programação de microcontroladores pic usando linguagem C. Apostila
técnica. Uned – Serra / Automação industrial. Centro Federal de Educação Tecnológica do
Espirito Santo (CEFETES). Vitória. 2006.
BD135/137/139 Data Sheet: NPN Epitaxial Silicon Transistor. Fair Child Semiconductors.
2000.
BD136/BD138/BD140 Data Sheet: Pnp Silicon Transistors. ST. 2001
LM78XX Data Sheet: Series Voltage Regulators. National Semiconductors. 2000.
Model No.: GP1604S Data Sheet: Layer Built Super Heavy Duty Battery. GP Battery. 2011
FREITAS, G. A. L. Tutorial para confecção de Placas de Circuito Impresso. Empresa de
Engenharia Elétrica Jr da UEL (3E-UEL). Londrina. 2011
110
Anexos
ANEXO 1 - Código do microcontrolador em Linguagem C
#include "C:\Users\Notebook\Desktop\Código ajustado\seguidor_de_trilhas.h"
/* declaração das constantes */
#define ref_neg 128 // 2,5V - valor em decimal
#define ref_pos 138 // 2,69 - valor em decimal
#define D1 250 //PWM médio
#define D2 350 //PWM rápido
#define D3 150 //PWM devagar
#define D0 000 //PWM desligado
/* declaração das variáveis */
int1 boLDR__esq = 0; //inicia com sentido frente
int1 boLDR__dir = 0; //inicia com sentido frente
int valor_esq; // le o valor digital da entrada analógica
int valor_dir; // le o valor digital da entrada analógica
/* Programa */
void main()
{
// parâmetros de configuração
setup_adc_ports(ALL_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DIV_BY_16,255,1);
setup_ccp1(CCP_PWM);
//habilita PWM 1
setup_ccp2(CCP_PWM);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
set_pwm1_duty(D1); //duty motor esquerdo
111
set_pwm2_duty(D1); //duty motor direito
for (;;)
{
/* aquisição da tensão do sensor esquerdo */
set_adc_channel(1);
delay_us(10);
valor_esq = read_adc();
/* teste de detecção de curva para LDR esquerdo */
if (valor_esq > ref_pos)
{
boLDR__esq = 1;
}
else if (valor_esq < ref_neg)
{
boLDR__esq = 0;
}
else
{
boLDR__esq = boLDR__esq;
}
/* aquisição da tensão do sensor direito */
set_adc_channel(0);
delay_us(10);
//tempo de aquisição
valor_dir = read_adc();
/* teste de detecção de curva para LDR direiro */
if (valor_dir > ref_pos)
{
boLDR__dir = 1;
}
else if (valor_dir < ref_neg)
{
boLDR__dir = 0;
}
else
{
boLDR__dir = boLDR__dir;
}
112
/* comparação de eixos para determinar a curva */
if ((boLDR__esq == 0) && (boLDR__dir == 0)) // Robô se mantem em linha reta
{
set_pwm1_duty(D1); //duty motor esquerdo
set_pwm2_duty(D1); //duty motor direito
}
else if ((boLDR__esq == 0) && (boLDR__dir == 1)) // Robô detecta curva a direita
{
set_pwm1_duty(D2); //duty motor esquerdo - Aumenta vel da esq para
gerar curva para direita
set_pwm2_duty(D3); //duty motor direito
}
else if ((boLDR__esq == 1) && (boLDR__dir == 0))
{
set_pwm1_duty(D3); //duty motor esquerdo
set_pwm2_duty(D2); //duty motor direito - Aumenta vel da dir para gerar
curva para esquerda
}
else
{
// caso em que ele toca a trilha em ambos os lados
set_pwm1_duty(D0); //duty motor esquerdo
set_pwm2_duty(D0); //duty motor direito
}
}
}
113
ANEXO 2 – Projeto eletrônico completo e layout da placa
114
Download