BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o...

58
BRUNA TIEMI KOBO CÉLULA PELTIER COMO ATUADOR EM UM CONTROLE DIGITAL DE TEMPERATURA: UM ESTUDO DE CASO LONDRINA 2011

Transcript of BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o...

Page 1: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

BRUNA TIEMI KOBO

CÉLULA PELTIER COMO ATUADOR EM UM CONTROLE DIGITAL DE TEMPERATURA: UM ESTUDO DE CASO

LONDRINA 2011

Page 2: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

BRUNA TIEMI KOBO

CÉLULA PELTIER COMO ATUADOR EM UM CONTROLE DIGITAL DE TEMPERATURA: UM ESTUDO DE CASO

Trabalho de Conclusão de Curso apresentado ao Departamento de Engenharia Elétrica da Universidade Estadual de Londrina. Orientadora: Prof. Maria Bernadete de Morais França

LONDRINA 2011

Page 3: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

BRUNA TIEMI KOBO

CÉLULA PELTIER COMO ATUADOR EM UM CONTROLE DIGITAL DE TEMPERATURA: UM ESTUDO DE CASO

Trabalho de Conclusão de Curso apresentado ao Departamento de Engenharia Elétrica da Universidade Estadual de Londrina.

COMISSÃO EXAMINADORA

____________________________________

Prof. Msc. Maria Bernadete de Morais França (Orientadora)

Universidade Estadual de Londrina

____________________________________ Prof. Dr. José Alexandre de França Universidade Estadual de Londrina

____________________________________ Prof. Fábio Augusto Gentillin

Centro Universitário de Maringá

Londrina, outubro de 2011.

Page 4: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

AGRADECIMENTOS

Agradeço a minha família, especialmente aos meus pais, por todo o apoio e pela

confiança em todos os momentos.

Aos alunos e ex-alunos que fizeram parte do Laboratório de Automação e

Instrumentação Inteligente da UEL, pelo apoio e experiências compartilhadas durante os

anos de trabalho de iniciação científica.

Agradeço ao mestrando em Engenharia Elétrica da UEL, Fabio Augusto Gentilin

por permitir a integração do desenvolvimento do sistema apresentado com o sistema

desenvolvido em seu mestrado.

Aos professores, e a todos que direta ou indiretamente, contribuíram para a

realização deste trabalho.

Page 5: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

Deixem que o futuro diga a verdade e avalie cada um de acordo com o seu trabalho e realizações. O presente pertence a eles, mas o futuro pelo qual eu sempre trabalhei pertence a mim.

(Nikola Tesla)

Page 6: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

KOBO, Bruna T.. Implementação de um Controle Ddigital de Temperatura Utilizando Célula Peltier. 2011. 58 f. Trabalho de Conclusão de Curso (Graduação em Engenharia Elétrica) – Universidade Estadual de Londrina, Londrina, 2011.

RESUMO

A influência da temperatura é importante nas mais diversas áreas, inclusive na área de intrumentação eletrônica. Na qual pode afetar o comportamento dos componentes eletrônicos, principalmente semicondutores, e até mesmo levá-los ao desgaste. Assim, o sistema proposto pretende controlar digitalmente a temperatura de um dispositivo eletrônico de pequeno porte. Para isso, utiliza uma célula Peltier, a fim de manter a temperatura em torno de uma valor pré-determinado, em que as características do dispositivo sejam conhecidas. Mantendo a confiabilidade dos dados obtidos através da utilização desse dispositivo, sua precisão e seu grau de repetibilidade; além de reduzir os riscos da ocorrencia de danos aos componentes, devido a temperatura. Esse sistema foi aplicado sobre um fotodiodo, PT511, de um sistema de medição de umidade, baseado em espectrometria NIR. Com o sistema aplicado, foram realizados testes para verificar o funcionamento do sistema. Nos quais foi possível obter resultados satisfatórios, mantendo o fotosensor em torno de uma faixa de temperatura ideal para a obtenção de leituras no sistema de medição. Palavras-chave: LM92, temperatura microcontrolada, comunicação I2C

Page 7: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

KOBO, Bruna T.. Implementação de um Controle Ddigital de Temperatura Utilizando Célula Peltier. 2011. 58 f. Trabalho de Conclusão de Curso (Graduação em Engenharia Elétrica) – Universidade Estadual de Londrina, Londrina, 2011.

ABSTRACT

The influence of temperature is important in several areas, including the area of electronic instrumentation. In which can affect the behavior of electronic components, especially semiconductors, and even take them to wear. Thus, the proposed system intends to digitally control the temperature of a small electronic device. It uses a Peltier cell in order to keep the temperature around a predetermined value, where the device characteristics are known. Maintaining the reliability of data obtained using this device, its precision and its level of repeatability, as well as reducing the risk of occurrence of component damage due to temperature. This system was applied to a photodiode, PT511, of a moisture measurement system, based on NIR spectrometry. With the system applied, tests were performed to verify the operation of the system. Where it was possible to obtain satisfactory results, keeping the photosensor around an ideal temperature range to obtain readings in the measurement system. Key words: LM92, microcontrolled temperature, I2C communication.

Page 8: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

LISTA DE FIGURAS

Figura 1 – Estrutura de uma célula Peltier. .......................................................................... 14

Figura 2 – Controles Proporcional, PI e PD. ........................................................................ 16

Figura 3 – Sinais básicos do protocolo I2C. ......................................................................... 17

Figura 4 – Mapa de memória do HCS08. ............................................................................. 18

Figura 5 – Resposta espectral típica de um PT511. ............................................................. 19

Figura 6 – Comportamento da corrente de escuro no PT511. .............................................. 20

Figura 7 – Estrutura típica do LM92. .................................................................................... 21

Figura 8 – Protocolo para leitura de dois bytes do LM92. .................................................... 23

Figura 9 – Sistema de medição de umidade com controle de temperatura. ......................... 24

Figura 10 – Diagrama de funcionamento do controle de temperatura. ................................. 25

Figura 11 – Resposta da célula Peltier à variação do Ciclo de trabalho. .............................. 28

Figura 12 – (a) Circuito simplificado da ponte H, (b) M1 e M4 conduzindo. .......................... 29

Figura 13 – Circuito da ponte H. .......................................................................................... 30

Figura 14 – Acionamento da ponte H. .................................................................................. 30

Figura 15 – Diagrama de blocos da Placa de Desenvolvimento LA2I_HCS08. .................... 31

Figura 16 – Placa LA2I_HCS08. .......................................................................................... 32

Figura 17 – Byte de controle com solicitação de leitura. ...................................................... 34

Figura 18 – Recebimento do primeiro byte. ......................................................................... 35

Figura 19 – Diagrama de blocos do controle de temperatura proporcional. ......................... 38

Figura 20 – Fluxograma da função main para o teste do controle de temperatura. .............. 40

Figura 21 – Placa com fotodiodo e LM92; célula peltier e cooler - Visão de baixo. .............. 41

Figura 22 – Placa com fotodiodo e LM92; célula peltier e cooler - Visão de lateral. ............. 41

Figura 23 - Foto da placa da ponte H. .................................................................................. 42

Figura 24 – Foto da visão superior do sistema de medição de umidade. ............................. 42

Figura 25 – Comportamento da temperatura sobre o controle do sistema. .......................... 43

Figura 26 – Temperatura controlada após 15 minutos. ........................................................ 44

Page 9: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

LISTA DE TABELAS

Tabela 1 – Correspondência dos dados de temperatura do LM92. ...................................... 21

Tabela 2 – Registrador de temperatura do LM92. ................................................................ 22

Tabela 3 – Seleção de registrador P2-P0. ........................................................................... 22

Tabela 4 – Resposta da célula Peltier com cooler, para alimentação DC. ........................... 27

Tabela 5 – Portas do microcontrolador utilizadas no sistema. .............................................. 33

Page 10: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

LISTA DE ABREVIATURAS E SIGLAS

ADC - Analog-to-Digital Converter

ASCII - American Standard Code for Information Interchange 2

CI - Circuito Integrado

D – Derivative Control

EEPROM - Electrically-Erasable Programmable Read-Only Memory

I - Integral Control

ICS - Internal Clock Source

I2C - Inter-Integrated Circuit

NIR - Near-infrared

P - Proportional Control

PI - Proportional-Integral Control

PD – Proportional-Derivative Control

PID – Proportional-Integral-Derivative Control

RAM - Read-Only Memory

RTC - Real-Time Counter

SCI - Serial Communications Interface

SSOP - Shrink Small-Outline Package

TCP - Transmission Control Protocol

TPM - Timer Pulse-Width Modulator

TSSOP - Thin-Shrink Small Outline Package

UART - Universal Asynchronous Receiver/Transmitter

USB - Universal Serial Bus

Page 11: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

SUMÁRIO

1 INTRODUÇÃO .............................................................................................................. 12

2 REVISÃO BIBLIOGRÁFICA ......................................................................................... 13

2.1 EFEITO PELTIER E CÉLULA PELTIER ............................................................................. 13

2.2 CONTROLES PROPORCIONAL, PD, PI E PID .................................................................. 14

2.3 COMUNICAÇÃO SERIAL I2C .......................................................................................... 17

2.4 MICROCONTROLADOR HCS08 ..................................................................................... 18

2.5 FOTODIODO PT511 ..................................................................................................... 19

2.6 SENSOR DE TEMPERATURA LM92 ................................................................................ 20

3 SISTEMA PROPOSTO ................................................................................................. 24

3.1 CÉLULA PELTIER ......................................................................................................... 26

3.2 PONTE H .................................................................................................................... 28

3.3 PLACA DE DESENVOLVIMENTO LA2I_HCS08 ................................................................ 30

3.4 CONFIGURAÇÕES INICIAIS DO MICROCONTROLADOR ..................................................... 32

3.5 LEITURA DA TEMPERATURA. ......................................................................................... 33

3.5.1 Envio de byte de controle. ...................................................................................... 34

3.5.2 Leitura do dado do registrador de temperatura ....................................................... 35

3.6 CONTROLE DA TEMPERATURA ...................................................................................... 36

3.7 MONITORAMENTO E TESTES. ....................................................................................... 40

4 RESULTADOS E DISCUSSÃO .................................................................................... 41

4.1 DADOS OBTIDOS ......................................................................................................... 43

5 CONCLUSÃO ............................................................................................................... 46

REFERÊNCIAS ............................................................................................................... 47

ANEXO A – PROGRAMA DE TESTE DO CONTROLE DE TEMPERATURA. ............... 49

Page 12: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

12

1 INTRODUÇÃO

Em praticamente todos os processos relacionados com a produção industrial,

com a saúde humana, animal ou vegetal. Enfim com as mais diversas áreas, a influência da

temperatura é muito importante. De modo que o controle de temperatura pode ser utilizado

para diversos fins; aplicado a produtos, processos, estruturas, ferramentas ou equipamentos

diversos.

Dentro do contexto da instrumentação eletrônica, comprova-se que “a eficiência

e o funcionamento da maioria dos dispositivos eletroeletrônicos são significativamente

afetados pelas condições de temperatura a que são submetidos” (PARENTEAU e

CARLONE,1990). Além disso, esses dispositivos podem apresentar características

diferentes, dependendo da faixa de temperatura em que trabalham; por exemplo, a perda da

linearidade.

O exemplo mais comum da influência da temperatura se dá em dispositivos

fabricados a partir de materiais semicondutores extrínsecos que, quando submetidos a

temperaturas mais altas, das quais foram projetados para trabalhar, apresentam um

aumento significativo na sua corrente de fuga que, por conseguinte, pode provocar danos ao

componente (BOYLESTAD e NASHELSKY L, 2004). Assim, o sistema proposto neste

trabalho pretende controlar digitalmente a temperatura de um dispositivo eletrônico de

pequeno porte, utilizando uma célula Peltier. A fim de manter os componentes principais do

dispositivo em torno de uma temperatura pré-determinada, em que as características do

dispositivo sejam conhecidas. Mantendo, assim, a confiabilidade dos dados obtidos através

da utilização desse dispositivo, sua precisão e seu grau de repetibilidade; além de reduzir os

riscos da ocorrência de danos aos componentes, devido à temperatura.

Este trabalho está organizado em cinco capítulos. No capítulo 1, é apresentada

uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são

apresentadas algumas revisões bibliográficas úteis para o entendimento do trabalho. No

capítulo 3, são descritos os materiais utilizados e o desenvolvimento do sistema. Por fim, no

capítulo 4, discutem-se os resultados obtidos e no capítulo 5 apresentam-se as conclusões

sobre o sistema.

Page 13: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

13

2 REVISÃO BIBLIOGRÁFICA

Uma vez que o sistema utiliza uma célula Peltier como atuador em um controle

de temperatura, nesse capítulo serão apresentados tópicos relativos a células Peltier e tipos

de controles. Além disso, como a temperatura é controlada digitalmente, serão

apresentadas as características do microcontrolador utilizado (HCS08), e uma breve

explicação sobre I2C e sobre o sensor de temperatura utilizado (LM92). Por fim, então,

serão apresentadas algumas características do componente eletrônico a que o sistema foi

aplicado, o PT511.

2.1 Efeito Peltier e Célula Peltier

O efeito Peltier é a produção de um gradiente de temperatura em duas junções

de dois condutores (ou semicondutores) de materiais diferentes, quando submetidos a uma

tensão elétrica em um circuito fechado (consequentemente, percorrido por uma corrente

elétrica) (WIKIPÉDIA, 2011). Baseando-se neste efeito, a célula Peltier é um dispositivo

termoelétrico que possui duas faces principais, onde uma das faces resfria e a outra aquece

de acordo com o sentido da corrente que passa entre seus terminais. O fluxo de calor é

absorvido ou gerado de maneira reversível e depende do sentido da corrente (PINDADO,

2008).

Sempre que uma corrente passa pela célula Peltier, uma face se aquece

enquanto a outra resfria, de forma que essas faces são referidas comumente como “face

quente” e “face fria”. Determinando o sentido da corrente e sua intensidade, pode-se utilizar

uma face para aquecer ou resfriar, e em qual intensidade isso ocorrerá, sendo uma opção

para controles de temperatura. A Figura 1 mostra como é composta uma célula Peltier e

seu comportamento térmico.

Os problemas principais dos controles de temperatura baseados em células

Peltier são: o desenvolvimento de circuitos de acionamento que possibilitem a passagem de

correntes altas; o controle e reversão do sentido dessas correntes; e o isolamento térmico

entre as faces da célula.

Page 14: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

14

Figura 1 – Estrutura de uma célula Peltier.

Fonte: MECATRÔNICA HOJE, Módulo...(2009).

O isolamento entre as faces é importante, pois, quando a “face quente” começa

a aquecer demais, o isolamento térmico entre as faces é prejudicado. Dessa forma, a “face

fria” passa a ser aquecida pela “face quente”, levando há um aumento significativo da

temperatura da célula. O que prejudica, principalmente, a utilização da célula em sistemas

de resfriamento.

2.2 Controles Proporcional, PD, PI e PID

O controle proporcional fornece uma relação linear fixa entre o valor da variável

controlada e o valor que o atuador de controle pode fornecer. Assim, a ação de controle

proporcional depende das características apresentadas na equação (1) (CAMPOS, 2006):

0SDVkpMV +⋅= (1)

Sendo:

MV = Ação do controle proporcional; kp = Constante de proporcionalidade;

DV = Desvio;

0S = Valor da saída do controlador enquanto o desvio ( DV ) for igual a zero.

Page 15: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

15

A constante de proporcionalidade ( kp) e o valor de 0S dependem das

características relacionadas à função de transferência do sistema de troca de calor. Já o

desvio ( DV ) depende da diferença entre o valor do setpoint ( SP ) e o valor da temperatura

mensurada ( PV ), de acordo com a equação (2) (CAMPOS, 2006):

PVSPDV −= (2)

Sendo:

DV = Desvio;

SP = Valor de setpoint;

PV = Valor da temperatura mensurada.

Quando se tem um sistema onde se utiliza um controlador proporcional, nas

alterações da carga, o reajuste do offset deve ser feito de forma automática. Integrando-se o

valor do erro no tempo, obtém-se esse reajuste. Na prática, o controle integral é utilizado em

conjunto com o controle proporcional formando o controle proporcional-integral, o PI.

Já o ajuste derivativo aplica ao sistema uma correção, a qual é proporcional à

velocidade com que o desvio aumenta. A ação derivativa associada com a ação

proporcional (PD) resulta em uma correção antecipada a um desvio que ainda não

aconteceu, podemos chamar também de supercorreção (MECATRÔNICA HOJE, 2009).

Por fim o controle proporcional-integral-derivativo (PID) é uma combinação dos

controles apresentados anteriormente, permitindo o ajuste de offset, a correção de desvios e

a resposta proporcional. Porém, geralmente, sua implementação exige uma grande análise,

podendo ser bastante complexa.

A Figura 2 apresenta gráficos com a variável controlada, e as ações de um

controle proporcional, de um controle PI e de um controle PD, respectivamente.

Nessa figura é possível observar os comportamentos das ações de controle

proporcional, PI e PD. Onde na ação PI é possível observar o ajuste automático do offset, e

na ação PD é possível observar uma ação de resposta mais rápida.

Page 16: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

Figura Fonte:

Cada tipo de controlador é aplicável a processos que têm certas combinações de

características básicas. Ao se escolher um tipo de controlador, deve

atenda as necessidades de uma forma mais simples,

complexo ou caro, onde um controle mais simples poderia ser utilizado

Neste trabalho, o controle proporcional foi inicialmente selecionado para teste,

por ser o mais simples. Sendo que este c

auxilio de um microcontrolador.

O controle digital de um processo envolve um processo de amostragem. “O sinal

de saída (ou de erro) é amostrado periodicamente com um período T. O sinal amostrado

(analógico) passa então por um conversor analógico/digital (A/D) onde é quantizado e

transformado em um sinal numérico (palavra de bits). Este sinal digital é lido por um

microprocessador (ou microcontrolador) que vai então realizar operações numéricas com

este sinal e gerar uma outra palavra de bits correspondente à ação de controle que deverá

ser aplicada sobre a planta no próximo instante de amostragem. Este sinal numérico é então

convertido novamente em um sinal analógico por um conversor digital

disponibilizará, no próximo clock de amostragem, um sinal constante de tensão. Desta

forma, entre dois instantes de amostragem, o sinal efetivamente aplicado pela planta é um

sinal contínuo de amplitude fixa.”(Silva, 2000)

Figura 2 – Controles Proporcional, PI e PD. Fonte: Autor.

Cada tipo de controlador é aplicável a processos que têm certas combinações de

características básicas. Ao se escolher um tipo de controlador, deve

s de uma forma mais simples, evitando utilizar um controle mais

onde um controle mais simples poderia ser utilizado

, o controle proporcional foi inicialmente selecionado para teste,

Sendo que este controle foi implementado

auxilio de um microcontrolador.

O controle digital de um processo envolve um processo de amostragem. “O sinal

de saída (ou de erro) é amostrado periodicamente com um período T. O sinal amostrado

a então por um conversor analógico/digital (A/D) onde é quantizado e

transformado em um sinal numérico (palavra de bits). Este sinal digital é lido por um

microprocessador (ou microcontrolador) que vai então realizar operações numéricas com

rar uma outra palavra de bits correspondente à ação de controle que deverá

ser aplicada sobre a planta no próximo instante de amostragem. Este sinal numérico é então

convertido novamente em um sinal analógico por um conversor digital

sponibilizará, no próximo clock de amostragem, um sinal constante de tensão. Desta

forma, entre dois instantes de amostragem, o sinal efetivamente aplicado pela planta é um

de amplitude fixa.”(Silva, 2000)

16

Cada tipo de controlador é aplicável a processos que têm certas combinações de

características básicas. Ao se escolher um tipo de controlador, deve-se escolher um que

evitando utilizar um controle mais

onde um controle mais simples poderia ser utilizado.

, o controle proporcional foi inicialmente selecionado para teste,

implementado digitalmente, com o

O controle digital de um processo envolve um processo de amostragem. “O sinal

de saída (ou de erro) é amostrado periodicamente com um período T. O sinal amostrado

a então por um conversor analógico/digital (A/D) onde é quantizado e

transformado em um sinal numérico (palavra de bits). Este sinal digital é lido por um

microprocessador (ou microcontrolador) que vai então realizar operações numéricas com

rar uma outra palavra de bits correspondente à ação de controle que deverá

ser aplicada sobre a planta no próximo instante de amostragem. Este sinal numérico é então

convertido novamente em um sinal analógico por um conversor digital-analógico (D/A) que

sponibilizará, no próximo clock de amostragem, um sinal constante de tensão. Desta

forma, entre dois instantes de amostragem, o sinal efetivamente aplicado pela planta é um

Page 17: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

17

2.3 Comunicação Serial I2C

A comunicação serial I2C é uma comunicação serial bidirecional simples e foi

desenvolvida pela Royal Philips Electronics (Koninklijke Philips Electronics NV), para a

comunicação entre um dispositivo mestre e seus periféricos (normalmente chamados de

escravos). Essa comunicação é feita através do barramento I2C, composto por duas vias:

SDA (serial data) e SCL (serial clock).

As informações transmitidas pelo barramento serial são digitais. Seguindo um

protocolo de comunicação bem definido, transmite os dados com vários bits de modo

seqüencial pelo sinal do SDA, sincronizado com o sinal de clock (SCL).

A Figura 3, apresenta um exemplo com os sinais básicos de uma comunicação

com o protocolo I2C. Nessa figura, podem-se observar as combinações características dos

sinais de SCL e SDA, que determinam o inicio de uma mensagem (START) e o final da

mensagem (STOP). Além disso, cada bit é determinado em um cyclo de clock do SCL, de

acordo com o estado do sinal SDA, e cada byte é seguido de um bit de acknolegede,

confirmando o recebimento do byte.

Figura 3 – Sinais básicos do protocolo I2C.

Fonte: SILVA (2011).

É importante esclarecer os conceitos da comunicação I2C, uma vez que o

trabalho apresentado a seguir, foi desenvolvido utilizando um sensor de temperatura com

comunicação por protocolo I2C.

Page 18: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

2.4 Microcontrolador HCS08

Existem diversos modelos de microcontroladores HCS08, com varias

combinações de portas e pinos. Sendo que, neste trabalho, foi

desenvolvimento com o modelo MC9S08SH8 do microcontrolador HCS08, com 20 pinos.

Os microcontroladores HCS08

Neumann (programa armazenado em memória junto com os dados), com um conjunto de

instruções CISC (instruções complexas e especializadas

Além disso, a família HCS trabalha com endereços de 16 bits, o que permite endereçar

diretamente até 64 kB (ver

No mapa de memória, apresentado na

memória, os 16 kB de memória Flash (divididos em duas áreas de 8kB, o que permite alterar

Microcontrolador HCS08

Existem diversos modelos de microcontroladores HCS08, com varias

combinações de portas e pinos. Sendo que, neste trabalho, foi utilizada uma placa de

desenvolvimento com o modelo MC9S08SH8 do microcontrolador HCS08, com 20 pinos.

s microcontroladores HCS08 da Freescale® baseiam-se

grama armazenado em memória junto com os dados), com um conjunto de

instruções CISC (instruções complexas e especializadas) e possuem

Além disso, a família HCS trabalha com endereços de 16 bits, o que permite endereçar

ver Figura 4).

Figura 4 – Mapa de memória do HCS08.

Fonte: QUADROS (2009).

No mapa de memória, apresentado na Figura 4, pode-se

memória, os 16 kB de memória Flash (divididos em duas áreas de 8kB, o que permite alterar

18

Existem diversos modelos de microcontroladores HCS08, com varias

utilizada uma placa de

desenvolvimento com o modelo MC9S08SH8 do microcontrolador HCS08, com 20 pinos.

se na arquitetura Von

grama armazenado em memória junto com os dados), com um conjunto de

poucos registradores.

Além disso, a família HCS trabalha com endereços de 16 bits, o que permite endereçar

se observar no topo da

memória, os 16 kB de memória Flash (divididos em duas áreas de 8kB, o que permite alterar

Page 19: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

uma área enquanto o código executa na outra) e os pouco menos de 2kB de memória RAM

na parte inferior. Os registradores para controle dos periféri

microcontrolador estão divididos em três partes. A primeira fica na parte baixa da memória,

que pode ser acessada de forma muito eficiente por endereçamento direto (endereço de 8

bits junto com a instrução). Como o espaço é insuficiente p

segunda parte fica em uma região mais alta (os

registradores usados pelo controlador de LCD (Quadros, 2009).

2.5 Fotodiodo PT511

O fotodiodo PT511 é um receptor de InGaAs

Gálio e Arsênio), geralmente utilizado

300 mm e uma resposta melhor dentro da faixa de 1000

na Figura 5.

Figura Fonte:

O fotodiodo apresenta uma corrente de escuro, que é uma pequena quantidade

de corrente que flui através de

sendo excitado por luz, também conhecida como

gera uma resposta independente da luminosidade

ler; sendo ideal que essa corrente

uma área enquanto o código executa na outra) e os pouco menos de 2kB de memória RAM

na parte inferior. Os registradores para controle dos periféri

microcontrolador estão divididos em três partes. A primeira fica na parte baixa da memória,

que pode ser acessada de forma muito eficiente por endereçamento direto (endereço de 8

bits junto com a instrução). Como o espaço é insuficiente para todos os registradores, uma

segunda parte fica em uma região mais alta (os high page registers). Por último, temos os

registradores usados pelo controlador de LCD (Quadros, 2009).

otodiodo PT511

O fotodiodo PT511 é um receptor de InGaAs (semicondutor composto de Índio,

geralmente utilizado para a medição óptica. Tendo

uma resposta melhor dentro da faixa de 1000 nm a 1600 nm,

Figura 5 – Resposta espectral típica de um PT511. Fonte: ROITHNER LASERTECHNIK (2011).

O fotodiodo apresenta uma corrente de escuro, que é uma pequena quantidade

que flui através de um dispositivo semicondutor fotossensível quando não

, também conhecida como corrente de fuga. Assim, essa corrente

independente da luminosidade, que é adicionada ao sinal que se deseja

essa corrente seja conhecida ou que possa ser desprezada.

19

uma área enquanto o código executa na outra) e os pouco menos de 2kB de memória RAM

na parte inferior. Os registradores para controle dos periféricos integrados no

microcontrolador estão divididos em três partes. A primeira fica na parte baixa da memória,

que pode ser acessada de forma muito eficiente por endereçamento direto (endereço de 8

ara todos os registradores, uma

). Por último, temos os

utor composto de Índio,

Tendo uma área sensível de

nm, conforme se verifica

Resposta espectral típica de um PT511.

O fotodiodo apresenta uma corrente de escuro, que é uma pequena quantidade

tossensível quando não está

. Assim, essa corrente

nada ao sinal que se deseja

possa ser desprezada.

Page 20: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

20

Figura 6 – Comportamento da corrente de escuro no PT511.

Fonte: ROITHNER LASERTECHNIK (2011).

Na

Figura 6, tem-se o comportamento da corrente de escuro desse fotodiodo,

destacando a diferença de comportamento para faixas de temperatura diversas

2.6 Sensor de Temperatura LM92

O LM92 é um sensor de temperatura digital e um comparador de faixa térmica.

Tem interface de barramento serial I2C e precisão de ±0.33°C (National, 2000). Possui um

pino de interrupção que é acionado sempre que a temperatura sai de uma faixa

programável; e um pino de alarme de temperatura crítica, acionado sempre que é atingido o

limite critico programado. Para endereçamento, possui dois pinos (A0 e A1).

A Figura 7 apresenta a estrutura típica do LM92, e a função de seus oito pinos.

Page 21: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

O LM92 opera c

uma entrada (este não gera nenhum clock) o SDA é uma via de transmissão de dados

bidirecional.

Por especificação

cinco mais significativos “10010” e os do

ligações dos pinos A1 e A0 em nível alto (+V) ou baixo (GND))

Este sensor envia dados de temperatura pelo barramento serial I2C, de 12 bits

mais o bit de sinal, com uma escala de mais de 128

dados de 13 bits, com complemento de dois e bit menos significativo correspondente a

0,0625°C.

Na

Tabela 1, pode

fornecidos por um LM92, e

Tabela 1 – Correspondência dos dados de temperatura do LM92.

Temperatura

130

125

80

64

25

10

2

0,0625

0

-0,0625

Figura 7 – Estrutura típica do LM92. Fonte: Autor.

O LM92 opera como escravo no barramento serial I2C, dessa forma o SCL é

uma entrada (este não gera nenhum clock) o SDA é uma via de transmissão de dados

Por especificação, o LM92 possui 7 bits de endereçamento de escravo, sendo os

cinco mais significativos “10010” e os dois menos significativos A1

ligações dos pinos A1 e A0 em nível alto (+V) ou baixo (GND)).

Este sensor envia dados de temperatura pelo barramento serial I2C, de 12 bits

mais o bit de sinal, com uma escala de mais de 128°C. A temperatura

dados de 13 bits, com complemento de dois e bit menos significativo correspondente a

, pode-se observar uma lista com alguns valores de temperatura

e seus correspondentes em binário e hexadecimal

Correspondência dos dados de temperatura do LM92.

Temperatura (°C) Saída Digital

Binário Hexadecimal

0 1000 0010 0000 08 20

0 0111 1101 0000 07 D0

0 0101 1010 0000 05 90

0 0100 0000 0000 04 00

0 0001 1001 0000 01 90

0 0000 1010 0000 00 A0

0 0000 0010 0000 00 20

0,0625 0 0000 0000 0001 00 01

0 0000 0000 0000 00 00

0,0625 1 1111 1111 1111 1F FF

21

, dessa forma o SCL é

uma entrada (este não gera nenhum clock) o SDA é uma via de transmissão de dados

o LM92 possui 7 bits de endereçamento de escravo, sendo os

is menos significativos A1-A0 (definidos pelas

Este sensor envia dados de temperatura pelo barramento serial I2C, de 12 bits

A temperatura é representada por

dados de 13 bits, com complemento de dois e bit menos significativo correspondente a

valores de temperatura,

decimal.

Correspondência dos dados de temperatura do LM92.

Hexadecimal

08 20

07 D0

05 90

04 00

01 90

00 A0

00 20

00 01

00 00

1F FF

Page 22: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

22

-25 1 1110 0111 0000 1E 70

-55 1 1100 1001 0000 1C 90

O registrador de temperatura é composto por 16 bits. Sendo que os 13 bits mais

significativos correspondem ao dado de temperatura e os 3 bits menos significativos aos bits

de status das comparações programadas, conforme é mostrado na Tabela 2.

Tabela 2 – Registrador de temperatura do LM92.

D15 D14 D13 D12 D11 D10 D9 D8 D7 D5 D5 D4 D3 D2 D1 D0

SINAL MSB Bit 10

Bit 9

Bit 8

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

CRIT HIGH LOW

Dado de temperatura Status

O dado de temperatura pode ser lido a qualquer momento. No entanto, leituras

realizadas mais rápido que o tempo de conversão (máximo de 10 segundos), impedem a

atualização do dado.

É possível escrever e ler os registradores de programação do LM92, enviando

um comando de escrita no ponteiro, indicando qual registrador (de leitura ou escrita)

desejar. A definição, de qual registrador será utilizado, é através da escrita nos três bits

menos significativos do registrador do ponteiro, definidos conforme a Tabela 3.

Tabela 3 – Seleção de registrador P2-P0. P2 P1 P0 Registrador

0 0 0 Temperatura (apenas leitura) * Padrão ao ligar.

0 0 1 Configuração (Leitura/escrita)

0 1 0 THYST(Leitura/escrita)

0 1 1 T_CRIT (Leitura/escrita)

1 0 0 TLOW (Leitura/escrita)

1 0 1 THIGH (Leitura/escrita)

1 1 1 Identificação do fabricante

O LM92 tem como padrão, ao ligar, o ponteiro apontando para o registrador de

temperatura. Logo, qualquer leitura realizada sem preceder um comando de escrita de no

ponteiro, executa a função de ler dados de temperatura.

Page 23: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

Figura 8 Fonte: FREESCALE SEMICONDUCTOR (

O protocolo I2C

apresentado na Figura 8, da seguinte forma:

• Primeiramente,

endereço do LM92, “1

byte. No caso,

bit menos significativo do byte de controle como nível alto.

• Espera-se o recebimento de um

• Lê-se o byte mais significativo do registrador de temperatura.

• Como o registrador de temperatura é composto de dois bytes, o mestre envia um

“acknowledge”, indicando que deseja continuar a leitura do próximo byte.

• Lê-se o byte menos significativo.

• O mestre envia, então, um “

8 – Protocolo para leitura de dois bytes do LM92.FREESCALE SEMICONDUCTOR (2008).

protocolo I2C para o sensor LM92 pode ser implementado

, da seguinte forma:

, envia-se o bit START e o byte controle, que é composto pelo

endereço do LM92, “10010 A1A0”, mais o bit que indica a solicitação do próximo

para indicar que o próximo byte será uma leitura

bit menos significativo do byte de controle como nível alto.

se o recebimento de um “acknowledge” do escravo.

se o byte mais significativo do registrador de temperatura.

Como o registrador de temperatura é composto de dois bytes, o mestre envia um

”, indicando que deseja continuar a leitura do próximo byte.

se o byte menos significativo.

re envia, então, um “no acknowledge”, indicando que finalizou a leitura.

23

Protocolo para leitura de dois bytes do LM92.

para o sensor LM92 pode ser implementado conforme

START e o byte controle, que é composto pelo

0010 A1A0”, mais o bit que indica a solicitação do próximo

para indicar que o próximo byte será uma leitura, deve-se enviar o

.

se o byte mais significativo do registrador de temperatura.

Como o registrador de temperatura é composto de dois bytes, o mestre envia um

”, indicando que deseja continuar a leitura do próximo byte.

”, indicando que finalizou a leitura.

Page 24: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

24

3 SISTEMA PROPOSTO

No sistema proposto, o controle foi aplicado para manter a temperatura de um

receptor de InGaAs (fotodiodo PT511), em aproximadamente 25°C. Sendo esse receptor

responsável pela detecção dos sinais de um medidor de umidade baseado na reflexão

difusa do infravermelho próximo (NIR), emitido por LED’s com faixas de comprimento de

emissão específicas (Figura 9).

Figura 9 – Sistema de medição de umidade com controle de temperatura.

Fonte: Autor.

Nesse sistema uma das faces da célula Peltier está conectada a um dissipador e

a outra, ao elemento que terá sua temperatura controlada.

Uma vez que uma célula Peltier possui sempre um limite de corrente em que o

calor da “face quente” supera o resfriamento da “face fria”, fazendo com que o sistema

passe a aquecer cada vez mais; foi necessário adicionar um sistema de resfriamento. Esse

sistema foi composto, inicialmente, por dissipador e um cooler (tipo de resfriador com

ventoinha, utilizado em computadores), que permanece todo o tempo acionado para dissipar

o calor da face, de forma a aumentar o limite de corrente em que se mantém a diferença

térmica entre as faces, e a faixa de variação para o sistema de controle.

Sensor de Temperatura

Amostra Placa de Petri

LEDs NIR (emissores)

Espelho Plano

Foto diodo (receptor)

Espelho Côncavo

Célula Peltier

Cooler Dissipador

Cilindro de Alumínio

Placa de Alumínio

Page 25: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

25

A face oposta ao dissipador está termicamente em contato com o elemento, cuja

temperatura precisa ser controlada, e com o sensor de temperatura LM92, sendo, esta face,

responsável pelo resfriamento e aquecimento do elemento.

Para aumentar o contato térmico entre a célula Peltier e o fotodiodo, a placa de

circuito impresso do fotodiodo foi desenhada em uma placa de cobre dupla face. De forma

que, o fotodiodo foi fixado em uma face e na face oposta foi fixada uma placa de alumínio,

em contato com o cobre. Essa placa de alumínio, por sua vez, foi colocada em contato com

toda a superfície de uma das faces do Peltier, que será chamada neste trabalho de “face de

contato”. A inclusão dessa placa de alumínio foi considerada para evitar o contato elétrico e

maximizar o contato térmico entre a célula Peltier e o fotodiodo.

Na mesma placa em que o fotodiodo foi colocado, e próximo a este, foi fixado o

sensor de temperatura LM92, responsável por monitorar a temperatura do fotodiodo a cada

segundo. Estes dados de temperatura são enviados pelo barramento I2C do

microcontrolador, responsável pelo processamento destas informações. Ele implementa o

controle proporcional, regulando a corrente e acionamento da célula Peltier, através de um

sinal PWM. Como a corrente necessária para o acionamento do Peltier é muito alta para ser

fornecida pelo microcontrolador, é utilizada uma ponte H, que recebe os sinais do

microcontrolador e aciona o Peltier.

Figura 10 – Diagrama de funcionamento do controle de temperatura.

Fonte: Autor.

A ponte H é alimentada com uma fonte separada de 12V e recebe do

microcontrolador a alimentação do controle (GND e 5V); o sinal PWM (que determinará

intensidade da corrente); e os sinais de controle do sentido da corrente, que determinam o

sentido com que a corrente passará pela célula Peltier, conforme mostra o diagrama da

µControlador

HCS08 Ponte H

Célula

Peltier Foto diodo

Esquenta

PWM

Resfria

Sensor de

Temperatura Temperatura

Page 26: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

26

Figura 10. O sentido da corrente na célula Peltier determinará se o sistema será aquecido

ou resfriado.

Assim, o microcontrolador avalia se o sistema necessita de aquecimento ou

resfriamento, determinando os comando que acionam o sentido correto para aquecer ou

resfriar a “face de contato”. O resultado do controle do microcontrolador é traduzido em um

pulso PWM de amplitude de 5V, que é injetado na ponte H juntamente com os sinais de

controle de sentido da corrente. A ponte H, então, recebe esses dados, aciona o sentido

correto da corrente (para resfriar ou aquecer) e acrescenta a parte de potência, fornecendo

um pulso de 12V de amplitude, com corrente de aproximadamente 3A de pico.

Portanto, a célula Peltier recebe pulsos PWM de corrente, e a variação do tempo

de acionamento desses pulsos determina a variação da intensidade da corrente efetiva

(RMS) que passa pela célula Peltier, aquecendo, ou resfriando, com menos ou mais

intensidade.

3.1 Célula Peltier

Como qualquer outra célula Peltier, a célula utilizada possui característica

própria de resposta a corrente, temperatura, e tensão. E essas características determinam

sua capacidade e limitações de uso.

Inicialmente, foram realizados testes com a celular Peltier, verificando sua

resposta a diferentes tensões de alimentação contínua e chaveada.

Alimentando a célula Peltier sem o cooler, verificou-se que a capacidade de

manter a diferença de temperatura entre as faces foi quase nula, até mesmo para correntes

baixas. Sendo inviável utilizar tal célula para o resfriamento, sem um sistema de dissipação

de calor eficiente em uma das faces. Assim, utilizou-se um dissipador com um cooler

semelhante ao utilizado em computadores, de 12V de alimentação.

Com o cooler ligado foi realizado um teste alimentando a célula com uma fonte

de tensão contínua, aumentando-se gradativamente a tensão até se verificar o ponto limite

onde era possível resfriar uma das faces do Peltier. Para verificar isso, foi utilizado um

termômetro digital encostado à face de contato (dados da primeira coluna da Tabela 4), e

monitorou-se a tensão e a corrente sobre a célula Peltier com o auxilio de multímetros

digitais. Obtendo-se os resultados apresentados na Tabela 4.

Page 27: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

27

Tabela 4 – Resposta da célula Peltier com cooler, para alimentação DC. Temperatura Ambiente: 28,5 °C

Temp. Peltier Temp. LM92 Tensão [V] (fonte DC) Corrente [A]

23,9 27,1 0,52 0,16

21,6 26,5 1,01 0,3

19,2 25,8 1,51 0,45

16,6 24,8 2 0,6

14,3 23,9 2,51 0,75

12,2 23,2 3,03 0,92

10,7 23,1 3,5 1,07

8,9 22,8 4,03 1,25

7,4 22,3 4,51 1,4

6,3 22 5 1,57

5,2 21,6 5,5 1,72

4,2 21,6 6,01 1,89

3,2 21,4 6,51 2,06

2,9 21,3 6,75 2,13

2,7 21,3 7 2,21

2,4 21,2 7,25 2,29

2,2 21,3 7,51 2,38

1,8 21,3 8,1 2,56

Além disso, verificou-se, também, a temperatura lida pelo sensor de temperatura

(dados da segunda coluna da Tabela 4), mostrando o efeito da variação da temperatura da

face da célula Peltier sobre o fotodiodo.

Como é possível verificar segunda coluna da Tabela 4, a tensão contínua

máxima em que a temperatura no LM92 respondeu ao resfriamento é de aproximadamente

7,51V, com uma corrente de 2,38A. Acima desse valor a célula começa a aquecer em

ambos os lados rapidamente.

Esse teste mostrou que o controle de temperatura com a célula Peltier era

possível, uma vez que o sistema com o dissipador e cooler, foi capaz de resfriar uma das

faces até 2°C, para 28,5°C de temperatura ambiente. Sendo que em um dos testes foi

possível atingir -2°C, com temperatura do ambiente de 24°C.

Em seguida, foram realizados testes com alimentação chaveada. Para isso o

Peltier foi conectado a ponte H, alimentada em 12V; e foi desenvolvido um programa no

microcontrolador que permite controlar o Ciclo de Trabalho (tempo do sinal ativo em relação

ao período), do sinal de PWM injetado, através de comandos pela serial do computador.

Dessa forma, foi injetado no Peltier um sinal de tensão PWM de tensão máxima

de 10,24V (12V menos quedas de tensão na ponte H) e o Ciclo de trabalho controlado pelo

computador.

Page 28: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

28

Durante esses testes encontrou-se que o Ciclo de trabalho limite para a

utilização da célula Peltier, mantendo uma face fria, foi de, aproximadamente, 52,5%. Além

disso, pode-se perceber que as temperaturas atingidas para um determinado Ciclo de

trabalho não eram as mesmas quando se aquecia ou resfriava a face de contato. Isso

porque a transferência térmica do sistema não era rápida o suficiente e os testes foram

realizados variando o nível de tensão, em média, a cada 10 segundos. Além do mais, vários

fatores influenciam na capacidade de transferência térmica, como a eficiência dos

isolamentos com o meio externo e entre as faces da célula.

Apesar dessa diferença na resposta à variação de tensão, o sistema ainda foi

capaz de gerar variações de temperatura em curtos períodos, o que se torna necessário,

pois períodos muito longos entre as leituras aumentariam o tempo de resposta do sistema e

permitiriam que este permanecesse longos períodos fora da faixa de temperatura tolerada

antes da ação do controle.

Assim, mediram-se valores com a célula resfriando e aquecendo; a uma

temperatura ambiente de 28,8°C, obtendo o gráfico apresentado na Figura 11.

Figura 11 – Resposta da célula Peltier à variação do Ciclo de trabalho.

Fonte: Autor.

3.2 Ponte H

No sistema proposto, foi utilizada uma ponte H desenvolvida no Laboratório de

Automação e Instrumentação Inteligente da UEL. Ela atua em pares de chaves que

combinados que determinam o sentido da corrente na carga (no caso a célula Peltier) e

controla o aumento ou diminuição da corrente, da seguinte forma:

15

17

19

21

23

25

27

29

31

0 20 40 60

Tem

pe

ratu

ra °

C

Ciclo de Trabalho%

Peltier no Resfriamento

Peltier no Aquecimento

LM92 no Resfriamento

LM92 no Aquecimento

Page 29: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

• A ponte é alimentada com uma ali

• Recebe os sinais de sentido H_LEFT e H_RIGHT, indicando em que sentido a

corrente deve circular.

• Recebe o sinal PWM de amplitude de 5V, com pulsos de larguras variadas.

• Recebe uma alimentação de baixa potência que é forne

controle (microcontrolador), geralmente com GND e 5V.

• Aciona a corrente de potência circulando no sentido selecionado e fornecendo

como saída um sinal PWM, com a amplitude da alimentação de potência e os

pulsos com as mesmas larguras r

A primeira versão dessa ponte H foi desenvolvida para o controle da rotação de

um motor. Na Figura 3, tem

Figura 12 – (a) Circuito simplificado da pon Fonte: Autor.

Considerando um motor como carga, o

similar para ambos os sentidos de rotação, obedecendo, obviamente, os pares de

condução. Quando o transistor

ao terra, negligenciando a tensão de dreno

polarizando o transistor M1

do circuito é conectada ao outro ponto do motor,

por este e conseqüentemente iniciando a sua rotação num sentido (POZATTO, 2008). O

mesmo se aplica em relação ao par M2 e M3.

Na entrada dos terminais de porta 1, 2, 3 e 4 estão presentes acopladores

ópticos para permitir o isolamento entre o controle e a parte de potência. Esta ponte foi

alterada e o circuito atual conta com a seguinte configuração (

A ponte é alimentada com uma alimentação de potência de 9V a 18V.

Recebe os sinais de sentido H_LEFT e H_RIGHT, indicando em que sentido a

corrente deve circular.

Recebe o sinal PWM de amplitude de 5V, com pulsos de larguras variadas.

Recebe uma alimentação de baixa potência que é forne

controle (microcontrolador), geralmente com GND e 5V.

Aciona a corrente de potência circulando no sentido selecionado e fornecendo

como saída um sinal PWM, com a amplitude da alimentação de potência e os

pulsos com as mesmas larguras recebidas do controle.

A primeira versão dessa ponte H foi desenvolvida para o controle da rotação de

um motor. Na Figura 3, tem-se o modelo simplificado do circuito dessa ponte H.

(a) Circuito simplificado da ponte H, (b) M1 e M4 conduzindo

Considerando um motor como carga, o funcionamento deste circuito é simples e

similar para ambos os sentidos de rotação, obedecendo, obviamente, os pares de

condução. Quando o transistor M4 entra em condução, conecta-se um dos pontos do motor

ao terra, negligenciando a tensão de dreno-fonte inerente a esse transistor. Com isso,

1 de forma que este entre em condução, a tensão de alimentação

do circuito é conectada ao outro ponto do motor, permitindo assim, a passagem de corrente

por este e conseqüentemente iniciando a sua rotação num sentido (POZATTO, 2008). O

mesmo se aplica em relação ao par M2 e M3.

Na entrada dos terminais de porta 1, 2, 3 e 4 estão presentes acopladores

ermitir o isolamento entre o controle e a parte de potência. Esta ponte foi

alterada e o circuito atual conta com a seguinte configuração ( Figura

29

mentação de potência de 9V a 18V.

Recebe os sinais de sentido H_LEFT e H_RIGHT, indicando em que sentido a

Recebe o sinal PWM de amplitude de 5V, com pulsos de larguras variadas.

Recebe uma alimentação de baixa potência que é fornecida pelo sistema de

Aciona a corrente de potência circulando no sentido selecionado e fornecendo

como saída um sinal PWM, com a amplitude da alimentação de potência e os

A primeira versão dessa ponte H foi desenvolvida para o controle da rotação de

se o modelo simplificado do circuito dessa ponte H.

te H, (b) M1 e M4 conduzindo.

funcionamento deste circuito é simples e

similar para ambos os sentidos de rotação, obedecendo, obviamente, os pares de

se um dos pontos do motor

fonte inerente a esse transistor. Com isso,

de forma que este entre em condução, a tensão de alimentação

permitindo assim, a passagem de corrente

por este e conseqüentemente iniciando a sua rotação num sentido (POZATTO, 2008). O

Na entrada dos terminais de porta 1, 2, 3 e 4 estão presentes acopladores

ermitir o isolamento entre o controle e a parte de potência. Esta ponte foi

13 e Figura 14).

Page 30: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

3.3 Placa de Desenvolvimento LA2I_HCS08

Uma placa de desenvolvimento foi projetada no Laboratório

Instrumentação Inteligente da UEL com o objetivo de proporcionar uma plataforma para

aprendizagem para o microcontrolador MC9S08SH8, da Freescale

O microcontrolador MC9S08SH8, é um dispositivo da família HCS08SH, da

Freescale, com encapsulamento TSSOP de 20 pinos. Possui 8192

FLASH, 512 bytes de memória RAM (

diversas portas configuráveis com as funções de: conversores A/D (AD0

temporizadores e moduladores de pulso (TPM1

serial I2C (DAS e SCL), barramento serial SCI (Rx e Tx), além das funções de portas I/O (de

entrada e saída digital).

Na placa de desenvolvimento LA2I_HCS08 este microcontrolador está integrado

com conversores para saí

FT232RL da FTDI, com encapsulamento

Figura 13 – Circuito da ponte H. Fonte: Autor.

Figura 14 – Acionamento da ponte H. Fonte: Autor.

esenvolvimento LA2I_HCS08

placa de desenvolvimento foi projetada no Laboratório

Instrumentação Inteligente da UEL com o objetivo de proporcionar uma plataforma para

aprendizagem para o microcontrolador MC9S08SH8, da Freescale®.

O microcontrolador MC9S08SH8, é um dispositivo da família HCS08SH, da

lamento TSSOP de 20 pinos. Possui 8192

de memória RAM (FREESCALE SEMICONDUCTOR, 2008

veis com as funções de: conversores A/D (AD0

temporizadores e moduladores de pulso (TPM1 e TPM2 com canais 0 e 1), barramento

serial I2C (DAS e SCL), barramento serial SCI (Rx e Tx), além das funções de portas I/O (de

Na placa de desenvolvimento LA2I_HCS08 este microcontrolador está integrado

com conversores para saídas serial RS232 e USB, contendo um circuito integrado (CI)

, com encapsulamento TSSOP de 28 pinos. Trata

30

placa de desenvolvimento foi projetada no Laboratório de Automação e

Instrumentação Inteligente da UEL com o objetivo de proporcionar uma plataforma para

O microcontrolador MC9S08SH8, é um dispositivo da família HCS08SH, da

lamento TSSOP de 20 pinos. Possui 8192 bytes de memória

FREESCALE SEMICONDUCTOR, 2008), além de

veis com as funções de: conversores A/D (AD0-9), contador,

e TPM2 com canais 0 e 1), barramento

serial I2C (DAS e SCL), barramento serial SCI (Rx e Tx), além das funções de portas I/O (de

Na placa de desenvolvimento LA2I_HCS08 este microcontrolador está integrado

contendo um circuito integrado (CI)

SSOP de 28 pinos. Trata-se de uma interface

Page 31: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

UART, compatível com o padrão USB 2.0, que permite conversão USB para RS232, RS422

e RS485, entre diversas outras a

conectado a um computador, a qual pode ser acessada por meio de um programa de

suporte ao padrão serial EIA

comunicação deste com o microcontro

Possui ainda uma memória EEPROM com comunicação I2C, circuito de reset e

gravação e oscilador com cristal de 4MHz. Além disso

regulador de tensão com saída 5V, de modo que a placa p

externa de 12V, com a opção de alimentar a placa pelo cabo USB.

apresentado o diagrama de blocos dessa placa de desenvolvimento.

Figura 15 – Diagrama de blocos da Placa de Desenvolvimento LA2I_HCS08 Fonte: Autor.

A Figura 16 apresenta uma foto da placa de desenvolvimento LA2I_HCS08.

UART, compatível com o padrão USB 2.0, que permite conversão USB para RS232, RS422

e RS485, entre diversas outras aplicações. Este CI cria uma porta serial virtual ao ser

conectado a um computador, a qual pode ser acessada por meio de um programa de

suporte ao padrão serial EIA-232, como o Hyperterminal do Windows

comunicação deste com o microcontrolador através do módulo SCI (MOREIRA, 2010).

Possui ainda uma memória EEPROM com comunicação I2C, circuito de reset e

gravação e oscilador com cristal de 4MHz. Além disso, possui um circuito integrado

regulador de tensão com saída 5V, de modo que a placa pode ser alimentada por uma fonte

externa de 12V, com a opção de alimentar a placa pelo cabo USB.

apresentado o diagrama de blocos dessa placa de desenvolvimento.

Diagrama de blocos da Placa de Desenvolvimento LA2I_HCS08

apresenta uma foto da placa de desenvolvimento LA2I_HCS08.

31

UART, compatível com o padrão USB 2.0, que permite conversão USB para RS232, RS422

plicações. Este CI cria uma porta serial virtual ao ser

conectado a um computador, a qual pode ser acessada por meio de um programa de

Windows®, e assim permite a

lador através do módulo SCI (MOREIRA, 2010).

Possui ainda uma memória EEPROM com comunicação I2C, circuito de reset e

possui um circuito integrado

ode ser alimentada por uma fonte

externa de 12V, com a opção de alimentar a placa pelo cabo USB. Na Figura 15 é

Diagrama de blocos da Placa de Desenvolvimento LA2I_HCS08.

apresenta uma foto da placa de desenvolvimento LA2I_HCS08.

Page 32: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

32

Figura 16 – Placa LA2I_HCS08.

Fonte: Autor.

As principais funções desse microcontrolador, que devem ser destacadas para o

presente trabalho são (FREESCALE SEMICONDUCTOR, 2008):

• Internal Clock Source (ICS): permite configurar os sinais de clock para os

diversos módulos do microcontrolador, utilizando referência de clock interna ou

externa, tal como um cristal oscilador;

• Inter-Integrated Circuit (I2C): permite comunicação serial síncrona com diversos

dispositivos, em até 100 kbps;

• Real-Time Counter (RTC): contador tempo real, que permite configurar diversas

bases de tempo;

• Interface de Comunicação Serial (SCI) : permite comunicação serial assíncrona

full-duplex;

• Timer Pulse-Width Modulation (TPM): permite configurar um canal para operar

como input capture, output compare ou PWM.

3.4 Configurações Iniciais do Microcontrolador

Primeiramente foi estudado o datasheet do microcontrolador MC9S08SH8, e

definidas as portas a serem utilizadas, conforme é mostrado na tabela (Tabela 5).

Page 33: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

33

Tabela 5 – Portas do microcontrolador utilizadas no sistema.

PORTA FUNÇÂO UTILIZAÇÂO CONECTADA Á

PTA2 SDA (I2C) SDA do barramento I2C LM92

PTA3 SCL (I2C) SCL do barramento I2C LM92

PTB2 Porta Digital - Saída RESFRIA (H_ESQUERDA) PONTE H

PTB3 Porta Digital - Saída AQUECE (H_DIREITA) PONTE H

PTC0 TPM1CH0 PWM PONTE H

PTB0 RxD RxD da SCI convertida pra USB USB

PTB1 TxD TxD da SCI convertida pra USB USB

VCC (placa) VCC Alimentação (baixa potência) PONTE H e LM92

GND (placa) GND Alimentação (baixa potência) PONTE H e LM92

Então, a programação do microcontrolador foi feita em linguagem C, utilizando o

software CodeWarrior IDE versão 5.9.0. Com a fonte de clock determinada como externa

(do cristal de 4MHz) , foi definido um busclock de 16MHz para o microcontrolador.

3.5 Leitura da Temperatura.

Para a leitura da temperatura foi configurado o barramento I2C do

microcontrolador HCS08, com taxa de transmissão de 50 kHz. Como o tempo de conversão

da temperatura pelo LM92 pode levar até um segundo, foi configurado o Real Time Counter

(RTC) para gerar uma interrupção com intervalos de aproximadamente um segundo. Para

isso foi selecionado o clock interno do microcontrolador de 1kHz como a fonte do clock do

RTC e determinado o prescale. Em seguida, foi determinado o valor de reinicializarão da

contagem RTC (RTCMOD), de modo que o tempo para reiniciar a contagem fosse igual, ou

próximo, a um segundo.

O barramento I2C do HCS08 é bastante completo, possuindo comando para

gerar os diversos componentes do protocolo I2C. Sendo que as explicações desses

comandos se encontram claras no manual do microcontrolador.

A rotina de leitura de temperatura, nada mais é que a execução do protocolo de

I2C para a leitura da temperatura, explicado em 2.6, e os trechos dessa rotina são

apresentados a seguir. Já o programa completo pode ser encontrado em anexo, no final

desse documento.

Page 34: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

3.5.1 Envio de byte de controle

Na Figura 17

solicitação de leitura pelo barramento I2C.

Figura Fonte:

//---------------------------

IICC1_TX = 1;

IICC1_MST = 1;

//---------------------------

IICD = 0b10010001;

delay(5);

while (IICS_TCF==0)

{ }

delay(5);

//---------------------------

// aguarda fim da transmissão

if (IICS_RXAK == 1)

{

IICC1_MST = 0;

delay(2);

envia_serial('e');

envia_serial('

return 0;

}

delay(4);

Como é possível ob

sinal de START, escreve o byte de controle no r

flag IICS_TCF passar para o nível alto

aguarda a flag IIC1_RXAK

“acknowlodge” (ACK) de respos

erro é reportado.

byte de controle.

é apresentado um diagrama de temporização do envio de uma

solicitação de leitura pelo barramento I2C.

Figura 17 – Byte de controle com solicitação de leitura.Fonte: Autor.

---------------------------START------------------------------

IICC1_TX = 1; // sinaliza transmissão

IICC1_MST = 1; // gera start

---------------------------TRANSM---------------------------------

IICD = 0b10010001;

while (IICS_TCF==0) // enquanto transmitindo pela i2c

---------------------------ACK_LM---------------------------------

// aguarda fim da transmissão

if (IICS_RXAK == 1) // se não recebeu o ack

IICC1_MST = 0; // gera stop;

delay(2);

envia_serial('e');

envia_serial('r');

return 0;

Como é possível observar esse trecho do programa sinaliza a transmissão, envia

sinal de START, escreve o byte de controle no registrador de dado da I2C (IICD), e espera a

passar para o nível alto (indicando que o dado já foi transmitido). Em seguida,

IIC1_RXAK mudar de 1 para 0, indicando que o microrontrolador recebeu um

(ACK) de resposta do LM92. Caso o LM92 não responda com um ACK

34

um diagrama de temporização do envio de uma

Byte de controle com solicitação de leitura.

--------------------------------

---------------------------------

indo pela i2c

---------------------------------

servar esse trecho do programa sinaliza a transmissão, envia

egistrador de dado da I2C (IICD), e espera a

(indicando que o dado já foi transmitido). Em seguida,

, indicando que o microrontrolador recebeu um

. Caso o LM92 não responda com um ACK, um

Page 35: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

3.5.2 Leitura do dado do registrador de temperatura

Na Figura 18 é apresentado um diagrama de temporização do recebimento de

byte pelo barramento I2C.

Figura Fonte:

//---------------------------

IICC1_TX = 0; // sinaliza recepção

delay(1);

auxiliar = IICD;

delay(2);

IICC1_TXAK = 0; // sinaliza transmitir ACK

while (IICS_TCF==0) // enquanto recebendo da i2c

{

}

auxiliar = IICD;

delay(2);

//--------------------------

//--------------------------

//envia_dado_bin(auxiliar);

Temp_binario=auxiliar<<8; // salva byte (+) significativo

O registrador de dados é o mesmo para os dois sentidos da comunicação

(transmissão ou recepção), como pode ser visto no

Na recepção, a difer

leitura “dummy”, apenas para iniciar a recepção do dado

dado já possa ser lido, deve

que o dado foi recebido é feita a leitura e armazenada um uma variável. Lembrando que a

primeira leitura do dado de temperatura é o byte mais significativo.

Em seguida deve

foi sinalizada transmissão, assim que o registrador for lido já iniciará o recebimento do

próximo byte. Enquanto isso

Leitura do dado do registrador de temperatura

é apresentado um diagrama de temporização do recebimento de

Figura 18 – Recebimento do primeiro byte. Fonte: Autor.

---------------------------RECEBE---------------------------------

IICC1_TX = 0; // sinaliza recepção

auxiliar = IICD; // inicia recepção (dummy read)

IICC1_TXAK = 0; // sinaliza transmitir ACK

while (IICS_TCF==0) // enquanto recebendo da i2c

auxiliar = IICD; // lê byte + significativo da temperatur

--------------------------ACK_MESTRE------------------------------

--------------------------ARMAZENA_DADO---------------------------

//envia_dado_bin(auxiliar);

Temp_binario=auxiliar<<8; // salva byte (+) significativo

egistrador de dados é o mesmo para os dois sentidos da comunicação

smissão ou recepção), como pode ser visto nos trechos dos programa

a diferença, além de sinalizar a recepção, é que se deve fazer uma

penas para iniciar a recepção do dado. Antes de

ser lido, deve-e sinalizar que o mestre enviará um ACK. Uma vez sinalizado

que o dado foi recebido é feita a leitura e armazenada um uma variável. Lembrando que a

itura do dado de temperatura é o byte mais significativo.

Em seguida deve-se ler o próximo byte, porém, como já houve uma leitura e não

foi sinalizada transmissão, assim que o registrador for lido já iniciará o recebimento do

próximo byte. Enquanto isso, deve-se sinalizar que um NACK (“No Acknowledge

35

é apresentado um diagrama de temporização do recebimento de

---------------------------------

IICC1_TX = 0; // sinaliza recepção

// inicia recepção (dummy read)

IICC1_TXAK = 0; // sinaliza transmitir ACK

while (IICS_TCF==0) // enquanto recebendo da i2c

// lê byte + significativo da temperatura

------------------------------

---------------------------

Temp_binario=auxiliar<<8; // salva byte (+) significativo

egistrador de dados é o mesmo para os dois sentidos da comunicação

programas apresentados.

nça, além de sinalizar a recepção, é que se deve fazer uma

ntes de determinar que este

e sinalizar que o mestre enviará um ACK. Uma vez sinalizado

que o dado foi recebido é feita a leitura e armazenada um uma variável. Lembrando que a

se ler o próximo byte, porém, como já houve uma leitura e não

foi sinalizada transmissão, assim que o registrador for lido já iniciará o recebimento do

No Acknowledge”) deverá

Page 36: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

36

ser enviado, informando que este será o último byte a ser lido. Este procedimento pode ser

observado no trecho de código a seguir.

//--------------------------RECEBE----------------------------------

IICC1_TXAK = 1; // sinaliza transmitir NACK

while (IICS_TCF==0) // enquanto recebendo da i2c

{

}

IICC1_TX = 1; // sinaliza transmissão ==> evita zerar TFC

auxiliar = IICD; // lê byte (-) significativo da temperatura

//--------------------------NACK_MESTRE-----------------------------

//--------------------------STOP-----------------------------------

IICC1_MST = 0; // gera stop;

delay(2);

//--------------------------ARMAZENA_DADO--------------------------

Temp_binario=Temp_binario + auxiliar;// salva MS Byte + LS Byte

//|Sign|T11|T10|T9|T8|T7|T6|T5|T4|T3|T2|T1|T0|CRIT|HIGH|LOW|

Temp_binario=Temp_binario>>3;

//|Sign|T11|T10|T9|T8|T7|T6|T5|T4|T3|T2|T1|T0|

return Temp_binario; //(expl: para 25oC => 0 0001 1001 0000)

}

Outro procedimento que se observa no programa é a necessidade de sinalizar

transmissão, antes mesmo de ler o registrador, para uma nova recepção não seja iniciada.

Por fim é enviado o sinal de STOP e armazenado também o byte menos

significativo. E com os 16 bits estruturados, são descartados os 3 bits menos significativos

que não serão usados e separados os 13 bits mais significativos que serão a saída dessa

rotina, correspondente à temperatura.

3.6 Controle da Temperatura

Observando o gráfico do comportamento da corrente de escuro no PT511 (na

Figura 6, apresentada no capítulo 2), é possível observar que com a queda da

temperatura existe uma queda na corrente de escuro, e, idealmente, poderia-se concluir que

quanto menor a temperatura melhor. Porém, a temperatura de 25°C, a corrente de escuro

do fotodiodo já pode ser desprezada. Também, como essa temperatura geralmente se

encontra próxima da temperatura ambiente, é exigido um consumo mais baixo para manter

Page 37: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

37

o PT511 a 25°C. Alem do mais, o comportamento da corrente de escuro para essa

temperatura é conhecido, sendo disponibilizado pelo fabricante.

No sistema proposto o controle é realizado digitalmente, sendo que o próprio

sensor de temperatura funciona como conversor analógico/digital (A/D) e envia o sinal digital

para o microcontrolador.

A rotina de leitura da temperatura retorna o correspondente digital da

temperatura sem ser convertido para “°C”. Evitando que se propaguem possíveis erros da

conversão na rotina de controle. Dessa forma a temperatura de referência (em que

queremos manter o sistema) também é utilizada em bits, ou seja, 25°C ou “0 0001 1001

0000” como é apresentado na

Tabela 1, da revisão bibligráfica.

O controle utilizado, inicialmente, para manter a temperatura em uma faixa

próxima a 25°C é o controle proporcional, que corresponde à equação (1), da seção

Controles Proporcional, repetida abaixo:

0SDVkpMV +⋅= (1)

O circuito de controle, primeiramente, reconhece o valor da amplitude térmica

sobre o sensor óptico (PV) através do sensor de temperatura e compara este valor com o

setpoint (SP) de 25°C. Em função do resultado dessa comparação o circuito de

condicionamento de temperatura do sistema opera no sentido de atribuir +∆T ou -∆T sobre o

fotodiodo.

Dessa forma, dada a equação (2) ( PVSPDV −= ), a equação do controle pode

ser escrita como:

( )oSPVSPkpMV +−⋅= (3)

O desvio ( PVSPDV −= ) é calculado em bits e passa pelo algoritmo de

controle proporcional que determina a ação ( D ). O próprio microcontrolador, então,

funciona como um conversor digital/analógico (D/A) gerando um sinal PWM a partir do valor

ação ( D ) do controle determinada.

Considerando que SP é a temperatura de referência e PV é a temperatura

lida, se desconsiderarmos 0S , temos:

( )atemperaturrefkpD −⋅= (4)

Onde o valor da ação ( D ) é a saída digital do controle proporcional.

Page 38: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

38

Assim, o diagrama de blocos do controle proporcional é mostrado na Figura

19. Sendo que essa realimentação ocorre a uma amostragem de 1 segundo, tempo máximo

que o sensor de temperatura leva para converter a temperatura em bits.

Figura 19 – Diagrama de blocos do controle de temperatura proporcional.

Fonte: Autor.

Para facilitar os testes iniciais desprezou-se o valor de 0S , portanto, o valor de

D ficou variando entre valores positivos e negativos. Considerando que o real valor do Ciclo

de trabalho não pode ser negativo. Encontramos a seguinte situação:

• Para Ref > Temp => D > 0, e o sistema deve ser aquecido.

• Para Ref < Temp => D < 0, e o sistema tem que ser resfriado.

Dessa forma, basta considerar que o sinal de D simboliza o sentido da corrente

no Peltier, de resfriamento ou aquecimento; e seu módulo representa o valor do DUTY.

Ressaltando que o DUTY não é o valor do Ciclo de trabalho, sendo o Ciclo de

trabalho (Duty Cycle) dado pela equação 5:

TPM1MOD

DUTY=Duty Cycle (5)

Esse valor calculado de Duty Cycle determina o ciclo ativo da modulacão por

largura de pulso (PWM) na qual as chaves ativas devem operar para estabelecer a troca

térmica sobre o sensor PT511. Esse sinal PWM é mantido durante um período de

amostragem de 1 segundo, até que a temperatura seja novamente capturada pelo sensor de

temperatura LM92.

Para poder realizar esse controle variando o Ciclo de trabalho de um PWM no

HCS08, é preciso configurar o TPM de forma que a faixa de variação dos valores do DUTY

seja o maior possível. Logo, foi configurado o TPM1 canal zero da seguinte maneira:

• Fonte do clock da TPM igual ao busclock.

Page 39: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

39

• Preescale de 8, que proporciona uma freqüência de contagem do TPM de

2MHz (16 MHz/8).

• Valor limite da contagem para o início de um novo período, TPM1MOD =

4000 (o maior valor para uma freqüência aceitável).

• Resultando em um período de 2 ms (fTPM1 = 2MHz/4000 = 500 Hz)

• Função PWM aligned selecionada.

Com um TPM1MOD de 4000, o valor do DUTY (TPM1C0V) poderia variar de 0 a

4000. Porém, na prática, por conta do problema do isolamento térmico das faces da célula

Peltier, existe um limite onde a “face fria” não influencia mais.

No caso do Peltier utilizado nesse trabalho, foi encontrado, experimentalmente,

um valor de DUTY em torno de 2100 (Ciclo de trabalho de 52,5%) para esse limite. Portanto,

o programa conta também com um fator limitador do DUTY sendo seu módulo máximo de

DUTY_MAX=2100.

Com todos esses fatores a rotina de monitoramento da temperatura ficou da

seguinte forma:

Temperatura=le_temperatura();

e= Ref - Temperatura;

D=k*e;

if(D<0){

D=0-DUTY;

if(Resfria==0){

Resfria=1;

DUTY=0;

return;

}

}

if(D>0)

if(Resfria==1){

Resfria=0;

DUTY=0;

return;

}

}

if(D>DUTY_MAX){

D=DUTY_MAX;

}

DUTY=D;

return;

}

No programa está declarada, uma variável chamada “Resfria”, é igual a 1, indica

que deve ser acionado o sentido do resfriamento, e quando é igual a 0, indica que o sistema

deve ser aquecido.

Page 40: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

40

Para que esses sinais cheguem à ponte H e à célula Peltier, essas variáveis são

atribuídas a cada loop de um segundo, aos registradores das portas correspondentes:

TPM1C0V = DUTY; //...ajusta duty

delay(4);

PTBD_PTBD3 = ~Resfria; //... redefine sentido

PTBD_PTBD2 = Resfria;

Por fim, os valores de temperatura e Ciclo de trabalho são convertidos para

ASCII e enviados pela serial, por rotinas desenvolvidas de envio de dados pela serial.

3.7 Monitoramento e Testes.

Para monitorar a temperatura durante os testes, acompanhando seu

comportamento através da USB e do programa Hyperterminal do Windows®, foram,

inicialmente, feitas as configurações necessárias para enviar os dados pelo barramento

serial RS232 do HCS08, que passa pelo FT232RL e é convertida para o padrão compatível

com a USB 2.0.

Para a realização dos testes, foi desenvolvida uma rotina principal, “main.c”, que

fica em um loop infinito verificando no RTC o intervalo de um segundo. Fazendo uma leitura

de temperatura, processando e enviando os sinais de controle, pela USB, a cada segundo.

Conforme mostra o fluxograma apresentado na Figura 20.

Figura 20 – Fluxograma da função main para o teste do controle de temperatura.

Fonte: Autor.

S

N

Main

Se passado 1 segundo

Monitora Temperatura

Inicializa

Atribui valores aos sinais de controle

Envia dados pela USB

Page 41: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

4 RESULTADOS E DISCUSSÃO

Para testar o funcionamento do controle, o sistema foi montado

umidade e conectado a um computador

observando o comportamento da temperatura através do programa

Windows®.

Figura 21 – Placa com fotodiodo e LM92; célula peltier e Fonte: Autor.

Para ajudar no isolam

alumínio fixada à placa de circuito impresso com o sensor de temperatura e o fotodiodo, foi

isolada da face oposta do Peltier com uma espuma isolante térmica expansiva de

poliuretano. Conforme é pos

apresentam o conjunto: placa de circuito impresso (do fotodiodo e sensor de temperatura);

célula Peltier; dissipador; e

Figura 22 – Placa com fotodiodo e LM92; célula peltier e Fonte: Autor.

Alguns problemas de segurança foram apresentados na utilização da ponte H no

sistema, uma vez que duas si

E DISCUSSÃO

Para testar o funcionamento do controle, o sistema foi montado

e conectado a um computador; e o desempenho do controle

observando o comportamento da temperatura através do programa

Placa com fotodiodo e LM92; célula peltier e cooler -

Para ajudar no isolamento térmico entre as faces da célula Peltier, a placa de

alumínio fixada à placa de circuito impresso com o sensor de temperatura e o fotodiodo, foi

isolada da face oposta do Peltier com uma espuma isolante térmica expansiva de

poliuretano. Conforme é possível observar nas fotos da Figura 21

apresentam o conjunto: placa de circuito impresso (do fotodiodo e sensor de temperatura);

pador; e cooler.

Placa com fotodiodo e LM92; célula peltier e cooler -

Alguns problemas de segurança foram apresentados na utilização da ponte H no

sistema, uma vez que duas situações levavam ao curto circuito da fonte da ponte H: os

41

Para testar o funcionamento do controle, o sistema foi montado no medidor de

o desempenho do controle foi acompanhado,

observando o comportamento da temperatura através do programa Hyperterminal do

- Visão de baixo.

ento térmico entre as faces da célula Peltier, a placa de

alumínio fixada à placa de circuito impresso com o sensor de temperatura e o fotodiodo, foi

isolada da face oposta do Peltier com uma espuma isolante térmica expansiva de

e da Figura 22, que

apresentam o conjunto: placa de circuito impresso (do fotodiodo e sensor de temperatura);

Visão de lateral.

Alguns problemas de segurança foram apresentados na utilização da ponte H no

tuações levavam ao curto circuito da fonte da ponte H: os

Page 42: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

42

sinais de sentido (H_ESQUERDA e H_DIREITA) colocados em nível alto ao mesmo tempo,

ou a placa alimentada pela fonte sem receber os sinais de controle do microcontrolador.

Dessa forma, na nova versão a ponte H foi melhorada, criando proteções que

evitam a ocorrência das duas situações que levavam a ponte H ao curto-circuito.

A Figura 23 apresenta uma foto da placa da PONTE H utilizada no sistema.

Figura 23 - Foto da placa da ponte H.

Fonte: Autor.

Na Figura 24, é apresentada uma foto da visão superior do sistema no qual o

controle de temperatura foi implementado durante os testes, sendo possível visualizar o

sistema de controle de temperatura na parte inferior da figura.

Figura 24 – Foto da visão superior do sistema de medição de umidade.

Fonte: Autor.

Page 43: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

43

4.1 Dados Obtidos

Para facilitar a análise dos dados de temperatura obtidos através da USB, foi

acionada a captura de dados do programa Hyperterminal que permite salvar os dados

recebidos em um documento de texto (.txt). E esses documentos de texto foram, então,

abertos através do editor de planilhas MS Office Excel e convertidos para o formato de

planilha do Excel (.xls).

Para facilitar essa conversão, os dados de temperatura e Ciclo de trabalho foram

separados por espaços e a cada novo segundo eram transmitidos na próxima linha.

Dessa forma foi possível analisar os dados nas planilhas do Excel e gerar

gráficos que apresentam o comportamento do controle como o gráfico da Figura 25.

Figura 25 – Comportamento da temperatura sobre o controle do sistema.

Fonte: Autor.

Esse gráfico mostra a atuação do controle sobre a temperatura, que no momento

do inicio do teste era de, aproximadamente, 27,2°C. Podendo ser observado que o sistema

atua reduzindo a temperatura do fotodiodo, até que está chega a valores menores que a

22

23

24

25

26

27

28

29

0 100 200 300 400 500 600

Tem

pe

ratu

ra e

m °

C

Tempo em segundos

Page 44: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

44

temperatura desejada (25°C). Neste momento a saída do controle começa a oscilar, e a

temperatura oscila cada vez menos até estabilizar em valores próximos a 25°C.

No caso, por ter sido utilizado um sistema de controle proporcional, o sistema

continua oscilando por um período muito longo, assim considera-se que o sistema está

“estabilizado” quando a temperatura oscilando em torno de 25°C com uma variação

pequena (menor que 1°C para mais ou para menos). De modo que a temperatura não é

constante; porém pode-se dizer que o controle está funcionando, uma vez que a faixa de

oscilação da temperatura se encontra próxima da temperatura desejada e garante resultado

suficiente para a aplicação proposta, na qual não é necessário um controle muito preciso da

temperatura, e sim que esta trabalhe próxima a temperatura desejada.

Esse comportamento da saída do controle é mostrado no gráfico da Figura 26.

Figura 26 – Temperatura controlada após 15 minutos.

Fonte: Autor.

Esse gráfico apresenta o comportamento da temperatura quando controlada,

após 15 minutos do controle estar ativado. Sendo possível afirmar que o controle está sendo

efetivo, pois a temperatura oscila em uma faixa de erro menor que 1°C para cima e para

baixo do valor desejado.

Para a maioria das aplicações esse controle bastaria, uma vez que não importa

que a temperatura continue oscilando, contanto que seja mantida em uma faixa de

temperatura. Como é o caso da aplicação do controle sobre o PT511, que só apresenta

diferença significativa de suas características para diferenças maiores de temperatura.

Porém, o ideal para um controle de temperatura é que ele atinja o valor desejado

e se mantenha quase constante neste valor, já que existe um maior gasto de energia com o

sistema sempre oscilando. Sendo interessante realizar testes com controles mais complexos

20

21

22

23

24

25

26

27

28

29

30

0 200 400 600 800 1000 1200 1400 1600 1800 2000

Te

mp

era

tura

em

°C

Tempo em segundos

Temperatura Controlada

Page 45: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

45

posteriormente (como controles PD, PI e PID), a fim de observar os resultados desses

controles e verificar se estes garantem maior estabilidade e precisão, e se essas vantagens

são relevantes para o sistema onde o controle de temperatura é aplicado.

Outro fator que pode ser melhorado no sistema é o tempo de resposta do

mesmo, uma vez que esse sistema não responde rapidamente a variações bruscas de

temperatura, e não é capaz de anular a influencia desse tipo de variação. Isso pode ser

realizado utilizando controles mais complexos, e melhorando a transferência térmica do

sistema, através de um melhor isolamento entre as faces da célula Peltier e entre o

componente e o meio externo.

Page 46: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

46

5 CONCLUSÃO

Aplicado sobre o fotosensor PT511 do sistema de medição de umidade baseado

em espectrometria NIR, o sistema digital de controle de temperatura apresentado, foi capaz

de manter a temperatura do fotosensor próxima a 25°C; garantindo que a corrente de escuro

pudesse ser desprezada e a saída do sistema fosse confiável. Além de evitar um desgaste

excessivo do componente, por exposição a faixas de temperatura altas.

Utilizando controle proporcional, manteve-se a temperatura oscilando em torno

da temperatura desejada com variação menor que 1°C para mais e para menos, tendo

suficiente controle da temperatura para a aplicação em questão, que não necessita de um

controle de alta precisão e estabilidade. Já que deve apenas de manter o fotosensor em

uma faixa de temperatura onde o erro da saída possa ser desprezado e evitar que esse

sofra desgaste devido à temperatura..

Para aplicações que exigem maior precisão no controle, estabilidade maior ou

resposta mais rápida; deve-se aplicar um controle mais efetivo. Ficando como sugestão para

os próximos trabalhos, que se implemente controles PI, PD e PID no sistema, a fim de

verificar a melhora do controle e sua estabilidade.

Outra sugestão para o sistema é que se melhore seu isolamento para maximizar

a transferência térmica com o dispositivo desejado, diminuindo o tempo de resposta do

sistema às variações de temperatura, e também o consumo de energia desse controle.

Por fim, conclui-se que o controlador de temperatura com célula Peltier,

proposto, mostrou resultados promissores. Sendo capaz de controlar a temperatura de um

dispositivo de pequeno porte, mantendo-a dentro de uma pequena faixa de temperatura, em

torno da temperatura determinada como referência. Podendo ser adaptado posteriormente

para aplicações que exigem um controle mais rápido estável ou preciso.

Page 47: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

47

REFERÊNCIAS

BOYLESTAD R., NASHELSKY L.. Dispositivos Eletrônicos e Teoria de Circuitos.

5ed.,Rio de Janeiro, RJ: Prentice-Hall do Brasil, 2004.

CAMPOS, M. C. M. M. DE; TEIXEIRA, H. C. G. Controles Típicos de equipamentos e

processos industriais. São Paulo, Blütcher, 2006.

FREESCALE SEMICONDUCTOR. MC9S08SH8 MCU Series Data Sheet. jun. 2008.

Disponível em:

<http://cache.freescale.com/files/microcontrollers/doc/data_sheet/MC9S08SH8.pdf?fsrch=1&

sr=1>. Acesso em: 06 out. 2011.

MECATRÔNICA HOJE. Módulo Célula de Peltier ou pastilhas térmicas, como

funciona?. 2009. Disponível em: <http://mecatronicahoje.blogspot.com/2011/06/modulo-

celula-de-peltier-ou-pastilhas.html>. Acesso em: 23 out. 2011.

MOREIRA, M.. Estação Agrometereológica LA2I: Sistema de aquisição de dados.

Trabalho de Conclusão de Curso (Graduação em Engenharia Elétrica) Universidade

Estadual de Londrina, Londrina. 2010.

M. PARENTEAU, M.; CARLONE, C.. Influence of temperature and pressure on

theelectronic transitions in SnS and SnSe semiconductors. Phys. Rev. B 41 (1990), pp.

5227–5237.

NATIONAL. LM92 ±0.33°C Accurate, 12-Bit + Sign Temperature Sensor and Thermal

Window Comparator with Two-Wire Interface. Mar. 2000. Disponível em:

<http://www.datasheetcatalog.org/datasheet/nationalsemiconductor/LM92.pdf>. Acesso em:

06 de out. 2011.

PINDADO, R. H.. Climatización Mediante Células Peltier - Proyecto Fin De Carrera.

Universidad Pontificia Comillas. Madrid. Set. de 2008.

Page 48: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

48

POZZATO, F. B.. Controle de Rotação de um Motor de Corrente Contínua utilizando

Microcontrolador. Trabalho de Conclusão de Curso (Graduação em Engenharia Elétrica) –

Universidade Estadual de Londrina, Londrina. 2008.

QUADROS, D.. Microcontrolador FreeScale HCS08. nov. 2009. Disponível em:

<http://dqsoft.blogspot.com/2009/11/microcontrolador-freescale-hcs08.html>. Acesso em: 06

out. 2011.

ROITHNER LASERTECHNIK. PT5xx InGaAs photodiode with 300 µm sensitive área.

Disponível em:

<http://roithner-laser.at/previous/All_Datasheets/Photodiodes/PT511_InGaAs_PD_300.pdf>.

Acesso em: 23 out. 2011.

SILVA, J. M. G.. Controladores Digitais. abr. 2010. Disponível em:

<http://www.ece.ufrgs.br/~jmgomes/pid/Apostila/apostila/node17.html>. Acesso em: 27 nov.

2011.

SILVA, L.. Protocolo I2C. jan. 2011. Disponível em:

<http://diagramasecircuitos.blogspot.com/2011/01/protocolo-i2c.html>. Acesso em: 06 out.

2011.

WIKIPÉDIA. Efeito Peltier. Disponível em:

<http://pt.wikipedia.org/wiki/Efeito_Peltier>. Acesso em: 25 abr. 2011.

Page 49: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

49

ANEXO A – PROGRAMA DE TESTE DO CONTROLE DE TEMPERATURA.

#include <hidef.h> /* for EnableInterrupts macro */ #include "derivative.h" /* include peripheral declarations */ #include <MC9S08SH8.h> /********************************************************************************************************/ ///////////////////////////* CONTROLE DE TEMPERATURA *//////////////////////////////////////////////////// ///////////////////////Amostragem de um segundo - Controle Proporcional/////////////////////////////////// /********************************************************************************************************/ //-------------------------------------------------------------------------------------------------------- ///////////////////// LISTA DE CONFIGURAÇÔES DAS PORTAS //////////////////////////////////////////// //-------------------------------------------------------------------------------------------------------- // VCC ----------------> VCC do LM92 (sensor de temperatura) // PTA2 = SDA (I2C) ---> SDA do LM92 // PTA3 = SCL (I2C) ---> SCL do LM92 // GND ----------------> GND do LM92 //-VCC --------------> VCC(controle) da PONTE //-GND --------------> GND(controle) da PONTE // PTB2 -------------> RESFRIA (PONTE) // PTB3 -------------> AQUECE (PONTE) // PTC0 = TPM1CH0 ---> PWM - Peltier 1(PONTE) // PTB6 e PTB7 = XTAL e EXTAL (cristal) // PTB0 e PTB1 = RxD e TxD (serial) //-------------------------------------------------------------------------------------------------------- //////////////////// DEFINICOES ///////////////////////////////////////////////////////////////////// //-------------------------------------------------------------------------------------------------------- #define Ref 0b110010000 // 25oC no LM92 #define DUTY_MAX 2100 //DUTY máximo do Peltier #define kp 70 //-------------------------------------------------------------------------------------------------------- //////////////////// DECLARAÇÃO DAS VARIÁVIES: ////////////////////////////////////////////////////// //-------------------------------------------------------------------------------------------------------- unsigned int DUTY=0; unsigned char Resfria=1; unsigned long t, to,tempo_timeout; long Temperatura; int D,Dif,e; //-------------------------------------------------------------------------------------------------------- //////////////////// DECLARAÇÃO DAS FUNÇÕES //////////////////////////////////////////////////////////// //-------------------------------------------------------------------------------------------------------- void inicializa (void); // procede inicialização

Page 50: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

50

void configura_portas (void); // configura portas como saida ou entrada void configura_clock (void); // configura clock void configura_rtc (void); // configura real-time counter void configura_tpm (void); // configuração inicial TPM void configura_i2c (void); // configura i2c void configura_sci (void); // configura serial void envia_serial (char d); // envia um byte pela serial void envia_dado_serial (unsigned long dado,unsigned short virgula); // envia dado pela serial ... //...com 3 digitos, com ou sem virgula (XX,X) void envia_dado_temperatura (unsigned long temp) ; // envia dado de temperatua convertida em oC void monitora_temperatura(void); //monitora temperatura do equipamento unsigned long le_temperatura (void); //le temperatura do LM92 void delay (unsigned long time); // define delay ////////////////////////////////////////////////////////////////////////////////////////////////////////// /*======================================================================================================== *** MAIN *** -> Função principal do programa ========================================================================================================*/ void main(void) { inicializa(); // Inicializa microcontrolador TPM1C0V = 0; // Zera duty (deixa peltier desligado) PTBD_PTBD3 = 0; // Define sentido PTBD_PTBD2 = 1; //... de resfriar delay(4); while (1){ //loop do sistema /* Monitora a temperatura */ if (RTCSC_RTIF == 1) { // a cada segundo... RTCSC_RTIF=1; monitora_temperatura (); // ...verifica a temperatura ... TPM1C0V = DUTY; //...ajusta duty delay(4); PTBD_PTBD3 = ~Resfria; //... redefine sentido PTBD_PTBD2 = Resfria;

Page 51: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

51

envia_serial('T'); envia_serial('='); envia_serial(' '); envia_dado_temperatura(Temperatura); // imprime Temperatura em oC envia_serial(' '); envia_serial('o'); envia_serial('C'); envia_serial(' '); envia_serial(' '); envia_serial(' '); envia_serial('D'); envia_serial('='); envia_serial(' '); envia_dado_serial(DUTY/4,0); // imprime Duty em % envia_serial(' '); envia_serial('%'); envia_serial(' '); envia_serial(Resfria+0x30); envia_serial(0x0A); // LF envia_serial(0x0D); // CR }// fim loop por segundo }// fim do loop do sistema }// fim main /*===================================================================== *** MONITORA TEMPERATURA *** -> Verifica temperatura e ajusta a corrente do peltier quando necessário =====================================================================*/ void monitora_temperatura (void){ Temperatura=le_temperatura(); // Le temperatura e= Ref - Temperatura; // define erro na temperatura D=kp*e; // Determina D como proporcional ao erro // Se o D for if(D>0){ if(D>DUTY_MAX){ // Se modulo de D for maior que o duty máximo D=DUTY_MAX; //Limita módulo de D } DUTY=D; // Duty igual ao módulo de D if(Resfria==1){ // Se está resfriando Resfria=0; // Para de resfriar DUTY=0; // Zera Duty

Page 52: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

52

} return; } D=0-D; if(D>DUTY_MAX){ // Se modulo de D for maior que o duty máximo D=DUTY_MAX; //Limita módulo de D } DUTY=D; // Duty igual ao módulo de D if(Resfria==0){ // Se não está resfriando Resfria=1; // Começa a resfriar DUTY=0; // Zera Duty } return; } /*===================================================================== *** LE TEMPERATURA *** -> Lê a temperatura no LM92 com 13bits e converte para temperatura*10 em oC -> Exemplo: 0b0000110010000(saída do LM92 para 25oC) ==> temp=250(saída da função) ====================================================================*/ unsigned long le_temperatura (void){ unsigned char auxiliar; long Temp_binario; //---------------------------START----------------------------------------------------- IICC1_TX = 1; // sinaliza transmissão IICC1_MST = 1; // gera start //---------------------------TRANSM--------------------------------------------------- IICD = 0b10010001; delay(5); while (IICS_TCF==0) // enquanto transmitindo pela i2c { } delay(5); //---------------------------ACK_LM--------------------------------------------------- // aguarda fim da transmissão if (IICS_RXAK == 1) // se não recebeu o ack { IICC1_MST = 0; // gera stop; delay(2); envia_serial('e'); envia_serial('3');

Page 53: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

53

return 0; } delay(4); //---------------------------RECEBE--------------------------------------------------- IICC1_TX = 0; // sinaliza recepção delay(1); auxiliar = IICD; // inicia recepção (dummy read) delay(2); IICC1_TXAK = 0; // sinaliza transmitir ACK while (IICS_TCF==0) // enquanto recebendo da i2c { } auxiliar = IICD; // lê byte + significativo da temperatura delay(2); //--------------------------ACK_MESTRE------------------------------------------------ //--------------------------ARMAZENA_DADO--------------------------------------------- //envia_dado_bin(auxiliar); Temp_binario=auxiliar<<8; // salva byte (+) significativo //--------------------------RECEBE---------------------------------------------------- IICC1_TXAK = 1; // sinaliza transmitir NACK while (IICS_TCF==0) // enquanto recebendo da i2c { } IICC1_TX = 1; // sinaliza transmissão ==> evita zerar TFC auxiliar = IICD; // lê byte (-) significativo da temperatura //--------------------------NACK_MESTRE---------------------------------------------- //--------------------------STOP----------------------------------------------------- IICC1_MST = 0; // gera stop; delay(2); //--------------------------ARMAZENA_DADO--------------------------------------------- Temp_binario=Temp_binario + auxiliar;// salva MS Byte + LS Byte //|Sign|T11|T10|T9|T8|T7|T6|T5|T4|T3|T2|T1|T0|CRIT|HIGH|LOW| Temp_binario=Temp_binario>>3; //|Sign|T11|T10|T9|T8|T7|T6|T5|T4|T3|T2|T1|T0| return Temp_binario; //(expl: para 25oC => 0 0001 1001 0000) }

Page 54: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

54

/*===================================================================== *** INICIALIZAÇÃO *** -> Procedimentos de inicialização =====================================================================*/ void inicializa(void) { configura_portas(); configura_clock(); configura_i2c(); configura_tpm(); configura_rtc(); configura_sci (); delay(20); while (ICSSC_OSCINIT == 0) { } } //*==================================================================== //*** CONFIGURA PORTAS *** -> Configura portas do microcontrolador como saída ou entrada //===================================================================*/ void configura_portas(void) { PTBDD_PTBDD2 = 1; // peltier H_LEFT -->RESFRIA PTBDD_PTBDD3 = 1; // peltier H_RIGTH -->AQUECE PTBD_PTBD2 = 0; // peltier H_LEFT OFF PTBD_PTBD3 = 0; // peltier H_RIGTH OFF } /*===================================================================== *** CONFIGURA CLOCK *** -> Configura o clock do barramento ====================================================================*/ void configura_clock(void) { SOPT1_COPT = 0; // desabilita watchdog SOPT2_T1CH1PS = 1; // Configura TPM1CH1 em PTC1 SOPT2_T1CH0PS = 1; // Configura TPM1CH0 em PTC0 //CLKS=0(FLL)|RDIV=111(/128)|IREFS=0(clkref:EXT)|IRCLKEN=0(desable)|IREFSTEN=0| ICSC1 = 0b00111000; // configura clock //BDIV=00(/1)|RANGE=1(Hfreq)|HGO=0(Lgain)|LP=0(lowPow)|REFS=1(OscExt) //|ERCLKCN=1(EnabExclk))|EREFSTN=0(disbInStop)| ICSC2 = 0b00100110; // 16MHz(busclock) /* delay(500); while (ICSSC_OSCINIT == 0) { } */ }

Page 55: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

55

/*===================================================================== *** CONFIGURA RTC *** -> o real time conter p/ clock de 1kHz =====================================================================*/ void configura_rtc(void) { // RTCMOD = valor de comparação para resetar o contador... RTCMOD = 19;//50; // RTCCNT(valor do contador)=RTCMOD => RTIF=1 e RTCCNT=0 //|RTIF=X(cont=mod)|RTCLK=00(clk1k)|RTIE=0(Int. desab)|RTCPS=1000(presc.x1)| RTCSC = 0b00101111;//0b00001000; // configura RTC } /*===================================================================== *** CONFIGURAI2C *** -> Configura a taxa de transmissão da i2C -> Habilita I2C =====================================================================*/ void configura_i2c(void) { IICF = 0b10011101; // configura taxa de transmissão i2c 50kHz? IICC1_IICEN = 1; // habilita i2c } /*===================================================================== *** CONFIGURAÇÃO INICIAL TPMs *** -> Define configurações iniciais das portas TPM =====================================================================*/ void configura_tpm(void) { //TOF=0|TOIE=0(Int.desabilidada)|CPWMS=0|CLKSB:A=01(busclck)|PS2:0=011(bus/8)| TPM1SC = 0b00001011; // configura clock TPM1 em 2MHz(16 MHz/8) TPM1MOD = 4000; //500Hz // configura periodo de 2ms (2MHz/4000=500Hz) //CH1F=0/CH1IE=0(Int.des.)|MS1B:A=10(Alig.PWM)|ELS1B:A=10(0 on Compare)| XX | TPM1C0SC = 0b00101000; // CH1 função PWM aligned TPM1C0V = 0; // configura Duty de 0, inicialmente } /*===================================================================== *** CONFIGURA SERIAL *** -> Define modo de operação da SCI =====================================================================*/ void configura_sci (void) { //|LBRDIE=0('LBKDIF'Int.des)|RXEDGIE=0('RXEDGIF'Int.Des)|SBR[12:8]=0 SCIBDH = 0b00000000; //|(Baund rate divisor)SBR[7:0]= 00110100 => Baund rate = Busclk/(16*SBR)| SCIBDL = 0b00011010; // Baud rate de 38400 bps, com oscilador externo;

Page 56: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

56

//LOOPS=0(Txd!=RxD)|SCIWAI=0|RSRC=0|M=0(8bit)|WAKE=1|ILT=0|PE=0(sem parid.)|PT=0| SCIC1 = 0b00000000; // define: operação start+8 bits+1stop,... //TIE=0('TDRE'Interrup.desab)|TCIE=0('TC'I.d)|RIE=0('RDRF'I.d)|ILIE=0('IDLE'I.d)| //...TE=1(Trasm. hab)|RE=1(Receptor hab)|RWU=0(wak.contr.des)|SBK=0(break.des)| SCIC2 = 0b00001100; // habilita transmissão e recepção. //TDRE=0|TC=0|RDRF=0|IDLE=0|OR=1|NF=0|FE=0|PF=0| SCIS1 = 0b00001000; // flag IDLE setada quando linha em 1 por "longo tempo" } /*===================================================================== *** ENVIA DADO SERIAL *** -> Envia 'dado' pela serial, com 3 digitos (XX,X) =====================================================================*/ void envia_dado_serial (unsigned long dado, unsigned short virgula) { // envia ASCII do digito '*' //envia_serial((dado/1000)+0x30); dado = dado %1000; envia_serial((dado/100)+0x30); // |*|-|-| dado = dado % 100; envia_serial((dado/10)+0x30); // |/|*|-| dado = dado % 10; if(virgula==0){ envia_serial(','); } envia_serial((dado)+0x30); // |/|/|*| envia_serial(' '); // termina de enviar - explo: "12,3 " } /*===================================================================== *** ENVIA DADO TEMPERATURA *** -> Converte e envia temperatura pela serial, com 3 digitos (XX,X) =====================================================================*/ void envia_dado_temperatura (unsigned long temp) { if(temp & 0x1000){ // se negativo envia_serial('-'); } temp=temp & 0xFFF; temp=625*temp; // Converte de binario para 0,0001oC temp=temp/1000; // temp = temperatura*10 (expl: 25oC => temp=250) envia_dado_serial(temp,0); }

Page 57: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

57

/****************** ENVIA SERIAL ********************************************* / / * Eniva byte pela serial */ void envia_serial (char b) { while (SCIS1_TC == 0) { } //aguarda fim da transmissão SCID = b ; // envia dado (char:'b') pela SCI while (SCIS1_TC == 0) { } //aguarda fim da transmissão } /****************** RECEBE SERIAL ********************************************* * Recebe dado pela serial */ void recebe_serial (void)//unsigned char tlimite) { aux = SCID; if(recebido=='p'){ //para e espera receber próximo dado pela serial while (!SCIS1_RDRF) // aguarda receber proximo byte { } } recebido = SCID; aux=0; } /****************** TIMEOUT ********************************************* / / * Conta 0,5 segundos e retorna 1 */ unsigned char timeout(unsigned char tmax) // retorna 1 quando for chamada durante tmax segundos { if (RTCSC_RTIF) // se passar um segundo { RTCSC_RTIF = 1; // zera a flag RTIF to++; } if (to>tmax) { to=0; return 1; } return 0; }

Page 58: BRUNA TIEMI KOBO - UEL · 2011. 11. 29. · 2.4 MICROCONTROLADOR HCS08 ... uma introdução sobre o problema e justificativas do projeto. Já no capítulo 2, são apresentadas algumas

58

/****************** DELAY ***************************************************** / * Cria função delay */ void delay (unsigned long time) { for (t = 0; t<time;t++) { } }

FIM