115
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

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

Embed Size (px)

Citation preview

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.

.

iv

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.

v

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ô

vi

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

vii

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

viii

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

ix

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

x

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

xi

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

xii

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

13

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.

BateriaSensor

LDR Esquerdo

Sensor LDR

direito

Microcontrolador PIC16874A

Driver motoresquerdo

Driver motordireito

Motor CC esquerdo

Motor CC direito

Mecânica

Figura 1.1 – Diagrama de blocos do sistema

Fonte: Autoria Própria

14

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.

15

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.

16

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

17

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;

18

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

19

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)

20

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:

21

(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:

(2.15)

22

(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

23

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.

24

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:

25

(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.

26

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.

27

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.

28

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

29

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

down, 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:

30

(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, coloca-

se 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)

31

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)”

32

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.

33

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)

34

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)

35

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)

36

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

37

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)

38

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.

39

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;

40

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

41

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, coloca-

se 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)

42

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.

43

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

44

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:

45

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)

46

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

47

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;

48

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;

49

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.

50

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)

51

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

52

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.

53

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.

54

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.

55

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:

56

“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)

57

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.

58

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.

59

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.

60

BateriaSensor

LDR Esquerdo

Sensor LDR

direito

Microcontrolador PIC16874A

Driver motoresquerdo

Driver motordireito

Motor CC esquerdo

Motor CC direito

Mecânica

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.

61

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.

62

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

63

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):

64

[...] 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.

65

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. Deve-

se 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

66

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

67

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)

68

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:

69

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.

70

Variação da tensão de um divisor de tensão proporcionalmente à resistência do LDR

Divisor de tensão - LDR ligado ao Vcc Divisor de tensão - LDR ligado ao GND

Vcc (V) LDR (Ω) R (Ω) Vo (V) Vcc (V) LDR (Ω) R (Ω) Vo (V)

5 1000 3000 3,750 5 1000 3000 1,250

5 1500 3000 3,333 5 1500 3000 1,667

5 1800 3000 3,125 5 1800 3000 1,875

5 2100 3000 2,941 5 2100 3000 2,059

5 2300 3000 2,830 5 2250 3000 2,143

5 2400 3000 2,778 5 2400 3000 2,222

5 2500 3000 2,727 5 2500 3000 2,273

5 2600 3000 2,679 5 2600 3000 2,321

5 2700 3000 2,632 5 2700 3000 2,368

5 2800 3000 2,586 5 2800 3000 2,414

5 2900 3000 2,542 5 2900 3000 2,458

5 3000 3000 2,500 5 3000 3000 2,500

5 3100 3000 2,459 5 3100 3000 2,541

5 3200 3000 2,419 5 3200 3000 2,581

5 3300 3000 2,381 5 3300 3000 2,619

5 3400 3000 2,344 5 3400 3000 2,656

5 3500 3000 2,308 5 3500 3000 2,692

5 3600 3000 2,273 5 3600 3000 2,727

5 3700 3000 2,239 5 3700 3000 2,761

5 3800 3000 2,206 5 3800 3000 2,794

5 3900 3000 2,174 5 3900 3000 2,826

5 4000 3000 2,143 5 4000 3000 2,857

5 40000 3000 0,349 5 10000 3000 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.

71

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

2,5V ≤ Vo ≤ 2,69V

Vo = Mantem estado

anterior.

Incerteza.

Tabela 3. 6 - Valores de referência para comparador lógico

Figura 3.9 - Curva de histerese do comparador Schmitt Trigger

72

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

73

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.

74

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

75

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

76

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.

77

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.

78

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.

79

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ô

80

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.

81

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.

82

Início

valor_esq > ref_pos? valor_dir < ref_neg?

boLDR__esq = 1 boLDR__esq = 0

boLDR__esq = boLDR__esq

valor_esq lê entrada AN1

valor_dir > ref_pos? valor_dir < ref_neg?

boLDR__dir = 1 boLDR__dir = 0

boLDR__dir = boLDR__dir

valor_dir lê entrada AN0

Se boLDR__dir ==0 e boLDR__esq ==0

Segue reto - Duty esquerdo = D1 Duty direito = D1

Se boLDR__dir ==1 e boLDR__esq ==0

Se boLDR__dir ==0 e boLDR__esq ==1

Se boLDR__dir ==1 e boLDR__esq ==1

Curva à direita - Duty esquerdo = D2 Duty direito = D3

Curva à esquerda - Duty esquerdo = D3 Duty direito = D2

Parado - Duty esquerdo = D0 Duty direito = D0

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_dir1 bit: boLDR__esq, boLDR__dir

Sim Sim

se não

se não

se não

NãoNão

Sim Sim

Não Não

Figura 3.17 - Fluxograma do código

83

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.

84

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.

85

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.

86

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

87

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.

88

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

89

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.

90

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

91

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%.

Figura 4. 2 - Tensão VCE em função do tempo

Analisando o gráfico, observam-se os seguintes valores:

(4.2)

Time

0s 0.5ms 1.0ms 1.5ms 2.0ms 2.5ms 3.0ms 3.5ms 4.0ms 4.5ms 5.0ms

V(Q1:C)

0V

1.0V

2.0V

3.0V

4.0V

5.0V

6.0V

92

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.

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)

Time

0s 0.5ms 1.0ms 1.5ms 2.0ms 2.5ms 3.0ms 3.5ms 4.0ms 4.5ms 5.0ms

V(Q1:C) V(Q2:B)

-1.0V

0V

1.0V

2.0V

3.0V

4.0V

5.0V

6.0V

93

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.

Figura 4. 4 - Corrente de base do transistor BC337

Time

0s 0.2ms 0.4ms 0.6ms 0.8ms 1.0ms 1.2ms 1.4ms 1.6ms 1.8ms 2.0ms

IB(Q2)

-4.0mA

-2.0mA

0A

2.0mA

4.0mA

6.0mA

8.0mA

94

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)

Time

0s 0.2ms 0.4ms 0.6ms 0.8ms 1.0ms 1.2ms 1.4ms 1.6ms 1.8ms 2.0ms

IC(Q1) V(Q1:C)

-1.0

0

1.0

2.0

3.0

4.0

5.0

6.0

95

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

96

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.

97

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.

98

Divisor de tensão de ambos os LDRs

LUX Tensão Vin da porta do PIC

(V)

0 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

40000 0 4,99 Satura Trilha

13000 30 4,00 Satura Trilha

10000 60 3,80 Satura Trilha

5500 90 3,20 Satura Trilha

4000 120 2,91 Satura Trilha

3500 150 2,69 Histerese Mantêm

3200 160 2,57 Histerese Mantêm

3100 170 2,55 Histerese Mantêm

3000 180 2,49 Zero Branco

2600 210 2,33 Zero Branco

2250 250 2,14 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

99

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.

Figura 4.11 - Tensão de saída do divisor de tensão em função da densidade luminosa

Figura 4. 12 - Resistência do LDR em função da densidade luminosa

1,5001,7502,0002,2502,5002,7503,0003,2503,5003,7504,0004,2504,5004,7505,0005,250

0 30 60 90 120 150 180 210 240 270

Tensão de saída (Vo) X Lux

Tensão de saída (Vo)

0

5000

10000

15000

20000

25000

30000

35000

40000

45000

0 50 100 150 200 250 300

Resistência (Ω) do LDR x Lux

Resistência

100

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.

Valores de referência para o teste do software

Id Lux RLDR Tensão

ANx

Resultado do teste Conclusão

1 120 4000 2,91 Satura Está sobre a faixa

2 150 3500 2,69 Transição para

saturação

Incerteza

3 160,1 3200 2,57 Histerese Incerteza

4 180 3000 2,49 Transição para nível

baixo

Incerteza

5 210 2600 2,33 Nível Baixo Está na superfície

branca 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.

Figura 4.13 - Esquemático de simulação do Proteus

RA0/AN02

RA1/AN13

RA2/AN2/VREF-/CVREF4

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT14

RC1/T1OSI/CCP216

RC2/CCP117

RC3/SCK/SCL18

RD0/PSP019

RD1/PSP120

RB7/PGD40

RB6/PGC39

RB538

RB437

RB3/PGM36

RB235

RB134

RB0/INT33

RD7/PSP730

RD6/PSP629

RD5/PSP528

RD4/PSP427

RD3/PSP322

RD2/PSP221

RC7/RX/DT26

RC6/TX/CK25

RC5/SDO24

RC4/SDI/SDA23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI15

MCLR/Vpp/THV1

U1

PIC16F874A

210.1

LDR__RLDR

210.1 LDR__LLDR

POT__DIR

3k

POT__ESQ

3k

VDC5V

A

B

C

D

+88.8

Volts

+88.8

Volts

101

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:

102

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:

103

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:

104

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:

105

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:

106

Figura 4.18 - PWM mantido do caso de teste 4. Ch A: 0, Ch C: 0

CAPÍTULO 5. CONCLUSÕES

107

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

CAPÍTULO 5. CONCLUSÕES

108

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.

109

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

110

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

111

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

112

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;

113

/* 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

114

ANEXO 2 – Projeto eletrônico completo e layout da placa