78
Universidade do Minho Departamento de Engenharia Electrónica Industrial e Computadores Desenvolvimento de sistema de regulação e monitorização de temperatura e humidade para aplicação em calçado ortopédico. Rafael Marques de Oliveira Dissertação para a obtenção do Grau de Mestre em: Engenharia Electrónica Industrial e Computadores Orientador: Professor Hélder Carvalho Co-Orientador: Professor Catedrático João Monteiro Data:

Universidade do Minho Departamento de Engenharia

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Universidade do Minho Departamento de Engenharia

Universidade do Minho

Departamento de Engenharia Electrónica Industrial e Computadores

Desenvolvimento de sistema de regulação e monitorização de temperatura e humidade

para aplicação em calçado ortopédico.

Rafael Marques de Oliveira

Dissertação para a obtenção do Grau de Mestre em:

Engenharia Electrónica Industrial e Computadores

Orientador: Professor Hélder Carvalho

Co-Orientador: Professor Catedrático João Monteiro

Data:

Page 2: Universidade do Minho Departamento de Engenharia

I

“Faça as coisas o mais simples que puder, porém não as mais simples.”

Albert Einstein

Page 3: Universidade do Minho Departamento de Engenharia

II

Agradecimentos

Gostaria primeiramente de agradecer á Universidade do Minho pela

oportunidade de fazer parte da melhor academia do país e pelo carinho obtido por todas

as pessoas que fazem parte desta mesma Universidade, o meu muito obrigado.

Quero deixar também umas palavras de apreço a todos os meus professores que

me leccionaram durante estes anos, um obrigado pela paciência e interesse que tiveram

e também pelos ensinamentos que me foram dados. Um agradecimento também aos

funcionários das oficinas do Departamento de Electrónica pelo apoio dado, tanto no

hardware como no apoio informático e principalmente na área do desenho de placas

PCB.

Um muito obrigado ao meu orientador Prof. Hélder Carvalho, pelo auxílio e

orientação, pela disponibilidade e pelas valiosas ideias que foram surgindo ao longo de

todo este projecto, fazendo-o cada vez mais ambicioso.

Aos meus companheiros de curso, na qual sem eles a vida universitária não tem

qualquer sentido, as brincadeiras, as saídas á noite, o apoio e entreajuda de todos os

colegas de curso, fazem deles uma parte importantíssima de toda a formação académica.

Não poderia acabar sem deixar o mais valioso agradecimento que vai apara os

meus pais, tendo sido as pessoas fundamentais durante toda a minha formação. Um

muito obrigado pela paciência que tiveram, pelo ânimo e pela motivação, pelo esforço

feito para que eu tenha sucesso na vida e também pelo carinho ao longo de todos estes

meus anos de vida.

Pretendo também agradecer a toda a restante família, principalmente ao meu avô

materno, pois seria motivo de enorme orgulho tê-lo entre nós nesta altura tão especial

para mim, obrigado avô pelas histórias de vida contadas, pela coragem e orgulho

sentido.

Agradeço á Marta, por ser meu braço direito quando as coisas não estavam a

correr de feição, pela paciência e por todos os nossos momentos passados.

Page 4: Universidade do Minho Departamento de Engenharia

III

Resumo

Este trabalho teve como objectivo o desenvolvimento de um sistema de

regulação, monitorização e registo da temperatura, para ser aplicado a calçado

ortopédico.

Para tal, foi integrado numa bota um sistema de aquecimento baseado em tecidos

com fios condutores, sendo estes alimentados por uma bateria e a corrente fornecida

regulada por um sistema electrónico. Este mesmo sistema é constituído por um

microprocessador, um módulo Bluetooth e sensores de temperatura e humidade. O

controlo realizado é apenas feito sobre a temperatura, pois esta é monitorizada e pode

ser actuada (através dos fios condutores). Já no caso da humidade, esta apenas servirá

para informar o utilizador, pois não tem actuação possível no sistema desenvolvido.

Para realizar a comunicação com o microprocessador e para visualizar toda a

informação, foi usado um dispositivo móvel, ligado ao sistema através de comunicação

Bluetooth. O sistema oferece funcionalidades de medição de temperaturas e humidades

em tempo real, fazendo o registo destes valores na memória interna do

microprocessador, que posteriormente podem ser descarregados para o dispositivo

móvel; controlar a temperatura de 3 modos distintos (controlo On/Off, controlo

contínuo PI, ou regulação manual); e alterar os vários parâmetros relativos a estes

modos de actuação (setpoint, histerese, duty-cycle).

No final o sistema funcionou conforme o esperado, sendo demonstrado que

consegue atingir valores de temperatura suficientemente altos, quando o aquecimento é

realizado à temperatura ambiente (>40°C) e valores muito razoáveis quando aquecido

no frigorífico (≈33°C). O controlo da temperatura efectuado com os 3 modos distintos

funcionou correctamente, sendo capaz de elevar a temperatura e mantê-la, consoante o

modo utilizado.

Palavras-chave:

Regulação, Monitorização, Sensores, Microprocessador, Bluetooth, On/Off, PI.

Page 5: Universidade do Minho Departamento de Engenharia

IV

Abstract

This work had as objective, develop a system of regulation, monitoring and

recording of temperature, to be applied on orthopedic footwear.

To do this, a system based at heating tissues with wires was integrated in a boot,

powered by a battery and the current supply regulated by an electronic system. That

system consists of a microprocessor, a Bluetooth module and sensors for temperature

and humidity. The control is performed only about temperature, since it is monitored

and can be actuated (through wires). In the case of humidity, this will only serve to

inform the user, as it has no action possible in the system developed.

To realize communication with the microprocessor and to view all the

information, it was used a mobile device connected to the system using Bluetooth

communication. The system provides capabilities for measuring temperature and

humidity in real time, making the record of these values in the internal memory of the

microprocessor, which can later be downloaded to the mobile device; control the

temperature of three distinct modes (On / Off control, PI control, or manual regulation);

and changes the various parameters for these modes of action (setpoint, hysteresis, duty-

cycle).

In the end the system worked as expected, being demonstrated that it can reach

values of temperature high enough, when the heating is performed at room temperature

(> 40 ° C) and very reasonable values when heated in a refrigerator (≈33°C). The

temperature control performed with three distinct modes worked properly, being able to

raise the temperature and keep it, depending on the mode used.

Keywords:

Regulation, Monitoring, Sensors, Microprocessor, Bluetooth, On/Off, PI.

Page 6: Universidade do Minho Departamento de Engenharia

V

Índice

1. Introdução ...................................................................................... 1

1.1 Enquadramento e objectivos ................................................................. 1

1.2 Estrutura da tese .................................................................................... 1

2. Revisão da literatura ..................................................................... 2

2.1 Vestuário aquecido com fibras condutoras ........................................... 2

3. Fundamentos Teóricos .................................................................. 6

3.1 Sensores ................................................................................................. 6

3.1.1 Sensores de Temperatura .......................................................... 6

3.1.2 Sensores de Humidade .............................................................. 9

3.2 Sistemas de Controlo ........................................................................... 10

3.2.1 Controlo On/Off ...................................................................... 10

3.2.2 Controlo PID ........................................................................... 10

3.2.3 Controlo de potência por PWM .............................................. 14

3.3 Comunicação Bluetooth ...................................................................... 15

3.4 Especificação geral de requisitos e estrutura do sistema ..................... 17

4. Desenvolvimento.......................................................................... 18

4.1 Selecção de componentes .................................................................... 18

4.1.1 Sensor de Temperatura ........................................................... 18

4.1.2 Sensor de Humidade ............................................................... 18

4.1.3 Módulo Bluetooth ................................................................... 20

4.2 Alimentação ........................................................................................ 21

4.3 Microcontrolador ................................................................................. 22

4.3.1 Circuito de clock ..................................................................... 23

4.3.2 Software .................................................................................. 24

4.3.3 Programação ........................................................................... 26

4.4 Hardware ............................................................................................. 27

Page 7: Universidade do Minho Departamento de Engenharia

VI

4.4.1 Circuito de controlo de potência ............................................. 27

4.4.2 Filtro passa-baixo .................................................................... 28

4.4.3 Placa PCB ............................................................................... 29

4.5 Firmware ............................................................................................. 32

4.5.1 Funcionalidades e comandos .................................................. 32

4.5.2 Estrutura geral do firmware .................................................... 39

4.6 Software aplicacional para PC ............................................................ 49

5. Resultados .................................................................................... 51

5.1 Planeamento experimental .................................................................. 52

5.2 Desempenho do tecido de aquecimento .............................................. 53

5.3 Desempenho do controlo manual ........................................................ 55

5.4 Performance do controlo On/Off ......................................................... 56

5.5 Performance do controlo PI ................................................................. 58

5.6 Teste do sensor de humidade .............................................................. 59

5.7 Funcionamento geral do sistema ......................................................... 60

6. Conclusões .................................................................................... 62

7. Bibliografia .................................................................................. 64

Page 8: Universidade do Minho Departamento de Engenharia

VII

Índice de Figuras

Figura 1: Cobertor eléctrico com comando de regulação de potência, retirada de [1]. .... 2

Figura 2: Modo de aplicação do cobertor eléctrico, adaptada de [3]. .............................. 3

Figura 3: Visão geral da constituição da palmilha, adaptada de [6]. ................................ 4

Figura 4: Esquema geral do sistema de aquecimento, retirada de [7]. ............................. 5

Figura 5: Esquematização do funcionamento de um sensor............................................. 6

Figura 6: Circuito medidor de corrente, retirada de [10]. ................................................. 7

Figura 7: Exemplo de um termístor (PTC). ...................................................................... 8

Figura 8: Exemplo de um termopar. ................................................................................. 8

Figura 9: Exemplo de sensores de temperatura integrados. ............................................. 9

Figura 10: Exemplo de um sensor de humidade............................................................... 9

Figura 11: Ilustração do sistema de controlo On/Off, adaptada de [15]......................... 10

Figura 12: Esquema geral do controlo PID, retirada de [17].......................................... 11

Figura 13: Estabilidade vs Resposta, retirada de [18]. ................................................... 13

Figura 14: Curva característica do 1° método de Ziegler-Nichols, adaptada de [17]. ... 13

Figura 15: Variação do duty cycle no PWM, adaptada de [20]. ..................................... 14

Figura 16: Esquema de uma piconet e scatternet, retirada de [22]. ............................... 16

Figura 17: Ilustração geral da estrutura do sistema. ....................................................... 17

Figura 18: Sensor de temperatura LM35. ....................................................................... 18

Figura 19: Sensor de humidade HIH-5030. .................................................................... 19

Figura 20: Módulo Bluetooth KC-21. ............................................................................ 20

Figura 21: Esquema do regulador de tensão (+5V). ....................................................... 22

Figura 22: Microprocessador PIC16F877A. .................................................................. 23

Figura 23: Esquema do circuito de reset. ....................................................................... 23

Page 9: Universidade do Minho Departamento de Engenharia

VIII

Figura 24: Esquemático do clock.................................................................................... 24

Figura 25: Ambiente geral do software MPLAB IDE. ................................................... 24

Figura 26: Ambiente geral do software PIC Simulator IDE. ......................................... 25

Figura 27: Aspecto físico do programador ICA01. ........................................................ 26

Figura 28: Ambiente geral do software PICkit2. ............................................................ 26

Figura 29: Exemplificação do encaixe para os diferentes modelos de PIC‟s. ................ 27

Figura 30: Esquemático do circuito de controlo de potência. ........................................ 28

Figura 31: Esquemático de um filtro passa-baixo. ......................................................... 28

Figura 32: Ambiente geral do Eagle............................................................................... 29

Figura 33: Componentes e ligações no modo Schematic-Editor. ................................... 30

Figura 34: Disposição final de componentes na placa PCB. .......................................... 31

Figura 35: Vista detalhada da localização do módulo Bluetooth. .................................. 31

Figura 36: Imagem real da placa PCB final. .................................................................. 32

Figura 37: Fluxograma do funcionamento do teste ao comando recebido. .................... 34

Figura 38: Fluxograma do funcionamento do comando “Upld”, “Log” e “Lgoff”. ....... 37

Figura 39: Imagem do cabo TTL-232 3.3V, retirada de [28]. ........................................ 39

Figura 40: Ilustração dos pinos respectivos ao cabo TTL-232 3.3V, retirada de [28]. .. 39

Figura 41: Interface do módulo Bluetooth com o microcontrolador, adaptada de [25]. 40

Figura 42: Fluxograma do funcionamento da recepção de carateres. ............................ 41

Figura 43: Registos ADCON0 e ADCON1 do microprocessador PIC16F877A, adaptada

de [26]. ............................................................................................................................ 42

Figura 44: Equação do tempo de aquisição, retirada de [26]. ........................................ 43

Figura 45: Fluxograma geral do funcionamento do timer 1. .......................................... 45

Figura 46: Fluxograma do funcionamento do log. ......................................................... 47

Figura 47: Fluxograma do funcionamento do upload e logoff. ...................................... 48

Page 10: Universidade do Minho Departamento de Engenharia

IX

Figura 48: Aspecto do software criado para comunicar com o sistema. ........................ 49

Figura 49: Imagem dos vários intervenientes da fase de testes. ..................................... 51

Figura 50: Teste de temperatura máxima atingida no congelador.................................. 53

Figura 51: Teste de temperatura máxima atingida no frigorífico. .................................. 54

Figura 52: Teste de temperatura máxima atingida á temperatura ambiente. .................. 55

Figura 53: Performance do modo manual ...................................................................... 56

Figura 54: Teste do controlo On/Off (setpoint de 30°C). ............................................... 57

Figura 55: Teste do controlo On/Off (setpoint de 32°C e histerese de 2°C). ................. 57

Figura 56: Obtenção do parâmetro T. ............................................................................. 58

Figura 57: Performance do controlo PI no frigorífico .................................................... 59

Figura 58: Higrómetro e termómetro digital. ................................................................. 60

Figura 59: Performance do sensor de humidade. ........................................................... 60

Page 11: Universidade do Minho Departamento de Engenharia

X

Índice de Tabelas

Tabela 1: Influência dos parâmetros Kp, Ki e Kd. ......................................................... 12

Tabela 2: Tabela de parametrização de Ziegler-Nichols. ............................................... 14

Tabela 3: Tabela de alguns comandos do módulo Bluetooth KC-21. ............................ 21

Tabela 4: Tensões mínimas e máximas dos diferentes componentes. ............................ 21

Tabela 5: Comandos existentes para comunicar com o microprocessador. ................... 33

Tabela 6: Estrutura dos 2 bytes guardados. .................................................................... 34

Tabela 7: Tabela descritiva do planeamento experimental ............................................ 52

Page 12: Universidade do Minho Departamento de Engenharia
Page 13: Universidade do Minho Departamento de Engenharia

1

1. Introdução

1.1 Enquadramento e objectivos

Este projecto surge do facto das pessoas deficientes ou com problemas, que

utilizam calçado ortopédico, se queixarem de muito do frio nos pés. No projecto em que

este trabalho está inserido “INOVSHOES – Padronizar para Costumizar Calçado

Ortopédico”, propôs-se desenvolver um protótipo de um sistema de aquecimento

aplicável a este mesmo calçado. Neste sentido, foi prototipado um sistema algo

complexo, mas que demonstra capacidades para servir de base em projectos futuros.

Esses projectos poderão vir a ser desenvolvidos como sistemas de aquecimento para

pessoas acamadas ou com problemas de sensibilidade.

O objectivo passa por dar especial importância a este tipo de problemas,

projectando uma forma de os diminuir, contribuindo para um melhor bem-estar.

1.2 Estrutura da tese

O documento apresentado está dividido basicamente em seis capítulos. O

primeiro capítulo faz um enquadramento do tema e define os seus objectivos. No

segundo capítulo é feita uma revisão de literatura, sendo apresentados os trabalhos já

existentes e protótipos semelhantes ou com algumas funções idênticas. O terceiro

capítulo faz uma breve descrição da teoria relativa ao tipo de componentes e técnicas

utilizadas para a implementação do projecto. O capítulo 4 descreve o desenvolvimento

propriamente dito. O capítulo 5 apresenta os resultados obtidos e descreve alguns dos

problemas encontrados.

Por fim, as conclusões de todo o trabalho efectuado e as propostas para um

trabalho futuro são descritas no sexto e último capítulo.

Page 14: Universidade do Minho Departamento de Engenharia

2

2. Revisão da literatura

2.1 Vestuário aquecido com fibras condutoras

O sistema têxtil de aquecimento mais utilizado é provavelmente o cobertor

eléctrico do qual se apresenta um exemplo na Figura 1.

Figura 1: Cobertor eléctrico com comando de regulação de potência, retirada de [1].

De acordo com [2], no início do ano 1900, apareciam os primeiros cobertores

que eram inicialmente pesados, volumosos e muito perigosos, sendo considerados na

altura como uma extravagância.

O cobertor eléctrico é normalmente constituído por fios revestidos, inseridos

numa malha ou tecido, aquecendo quando aplicada uma tensão. A temperatura é

controlada por uma aparelho electrónico que vem sempre associado ao cobertor,

normalmente ligado a 24V e com sistema de segurança. O sistema realiza um corte de

corrente quando a temperatura atinja um valor definido pelo utilizador. Este era um

problema grave dos cobertores mais antigos, pois não continham esta segurança. Os

cobertores mais recentes usam fibra de carbono para efectuar o aquecimento, sendo este

material muito mais fino que o usado nos antigos cobertores.

Com o avanço tecnológico surgiram várias variantes e novas ideias, como a

criada por Scott D. Augustine e Ryan S. Augustine [3]. Considerando a cabeça e braços

como zonas onde existem grandes perdas de calor, o cobertor apresentado tem como

objectivo garantir o aquecimento da zona da cabeça e de pelo menos um braço,

Page 15: Universidade do Minho Departamento de Engenharia

3

deixando o peito e abdómen expostos. O modo de aplicação deste cobertor é

exemplificado na Figura 2.

Figura 2: Modo de aplicação do cobertor eléctrico, adaptada de [3].

Está comprovado que os pacientes provenientes dos blocos operatórios e sob

anestesia se tornam “poiquilotérmicos”. Isto significa que os pacientes perdem a

capacidade de controlar a sua temperatura corporal, ficando à mercê da temperatura

ambiente. Como os blocos operatórios modernos possuem ar condicionado e

normalmente ligados a uma temperatura relativamente baixa para conforto do pessoal

médico, a maioria dos pacientes sob anestesia geral, entram em estado de hipotermia se

não forem aquecidos [3].

Tal como a invenção dos cobertores eléctricos, várias ideias e novos produtos

surgiram. Exemplo disso são os casacos, luvas, botas, meias e cachecóis que foram

surgindo [4]. Todos estes possuem mais ou menos a mesma estrutura podendo apenas

variar nos materiais usados para realizar o aquecimento, sendo que um dispositivo de

controlo de potência é sempre indispensável.

Em relação ao calçado aquecido, existem vários projectos diferentes que se

baseiam no aquecimento da palmilha do sapato. Anne McCoy e Matt Tijan em [5],

patentearam uma forma de aquecimento no calçado, em que o aquecimento é efectuado

quando colocado em cima de uma placa indutora. Os sapatos possuem na sola um

material constituído por cobre e ferro, que quando posicionados em cima da placa

condutora, é-lhes induzida uma corrente, provocando calor.

Page 16: Universidade do Minho Departamento de Engenharia

4

Outro projecto patenteado relativo a calçado aquecido, é o de uma palmilha

aquecida electricamente, alimentada por uma bateria [6]. A sola é dividida em duas

partes, separadas pelos componentes eléctricos que vão realizar a monitorização da

temperatura e o respectivo aquecimento. A palmilha foi desenhada para ser aplicada a

qualquer tipo de calçado, sendo automaticamente aquecida, quando a temperatura do pé

no seu interior baixar de um certo ponto. Possui um modo automático, que liga o

aquecimento quando a temperatura vai abaixo dos 26ºC e desliga quando ultrapassa os

37ºC. Alternativamente, o aquecimento da palmilha pode ser actuado usando um

controlo remoto, usando rádio frequência para comunicar.

Figura 3: Visão geral da constituição da palmilha, adaptada de [6].

Hakan Isisk desenvolveu um sistema de aquecimento eléctrico aplicado a

calçado para usar em condições de temperatura baixa [7]. O sistema é demonstrado na

Figura 4.

Page 17: Universidade do Minho Departamento de Engenharia

5

Figura 4: Esquema geral do sistema de aquecimento, retirada de [7].

O sistema de controlo é constituído por um circuito analógico alimentado por

uma bateria de 3.5V - 5000mAh. O sensor de temperatura usado foi um termistor NTC.

A bateria foi colocada na zona do calcanhar, os componentes electrónicos ao centro,

pois trata-se da zona onde é aplicada menos pressão e o material de aquecimento

colocado na frente. O consumo de corrente é cerca de 500mAh o que equivale a

autonomia de aproximadamente 10 horas. Este sistema consegue atingir a temperatura

de 29°C em 4 minutos, não sendo especificadas as condições deste desempenho.

Page 18: Universidade do Minho Departamento de Engenharia

6

3. Fundamentos Teóricos

3.1 Sensores

Um sensor é uma parte do sistema de medida que fornece uma resposta a um

parâmetro físico particular e é capaz de converter alterações físicas num sinal

mensurável [8]. Os sensores são usados para reagir a mudanças no seu ambiente

permitindo medir essas alterações. Existem diversos tipos de sensores, cada um com o

propósito de medir diferentes estímulos físicos, podendo medir temperaturas, pressões,

luminosidade, humidade, radiação, calor, etc. Cada um destes sensores possui

características físicas diferentes, sendo que no geral a capacidade de medição diminui

com a distância ao estímulo e aumenta com o tempo exposto à mesma.

Figura 5: Esquematização do funcionamento de um sensor.

3.1.1 Sensores de Temperatura

Existem vários sensores de temperatura, distinguindo-se pela forma como a

temperatura é convertida e como é devolvida a informação. Um dos “sensores” mais

conhecidos trata-se do termómetro de vidro, inventado em 1659 por um astrónomo e

padre, Ismael Boulliau [9]. O termómetro possui mercúrio no interior de uma ampola e

que expande e diminui quando a temperatura aumenta e diminui respectivamente.

Juntando estas alterações a uma escala numerada, a temperatura torna-se facilmente

perceptível ao utilizador.

Page 19: Universidade do Minho Departamento de Engenharia

7

Existem outros tipos de sensores tais como o termístor, o termopar e circuitos

integrados com base em transístores de silício, em que as propriedades dos

semicondutores e das junções pn são utilizados para essa mesma função. Neste caso a o

cálculo da temperatura tem como base o circuito da Figura 6. Assumindo que (Q1,Q2) e

(Q3,Q4) são idênticos, a tensão na base dos transistors Q3 e Q4 é a mesma, logo a

corrente no terminal de entra divide-se de igual modo pelo colector de Q1 e Q2 [10]. A

equação geral que calcula a corrente dependendo do valor de temperatura é:

Alguns sensores deste tipo convertem internamente esta corrente, fazendo-a

passar por uma resistência, devolvendo depois o valor em tensão.

Figura 6: Circuito medidor de corrente, retirada de [10].

O termo termístor é uma contração das palavras “thermal” e “resistor”, tratando-

se de um semicondutor cuja resistência varia com a variação da temperatura, podendo

ser positivamente ou negativamente, ou seja com o aumento da temperatura a

resistência aumenta (PTC - Positive Temperature Coefficient) ou diminui (NTC -

Negative Temperature Coefficient). Um problema dos termístores é a sua calibração,

pois a sua relação temperatura/resistência é claramente não linear [11], levando a que se

tenha de utilizar um circuito electrónico de modo a ajustar ao mais linear possível.

Outros dos problemas que este tipo de sensor possui, é o facto de fornecer a medida da

temperatura em resistência, tendo esta de ser mais tarde convertida para tensão, de

(1)

Page 20: Universidade do Minho Departamento de Engenharia

8

modo a poder ser ligada aos pinos do microprocessador. Termístores são dispositivos de

baixo custo, oferecem uma resposta rápida, uma gama extensiva de tamanhos e

tolerâncias e uma extensa gama de funcionamento (-100°C e 300°C).

Figura 7: Exemplo de um termístor (PTC).

No caso do termopar trata-se de um sensor de temperatura que se baseia num

fenómeno físico chamado de “Efeito de Seebeck” descoberto pelo físico Thomas

Seebeck [12]. Num circuito formado por dois condutores metálicos diferentes, quando

as duas junções estão a temperaturas diferentes, gera-se uma corrente cuja grandeza é

directamente proporcional á diferença de temperatura entre as duas junções. Existem

tabelas onde é descriminada toda a informação sobre cada tipo de termopar, pois

possuem diferentes características conforme a junção de metais usados. Este tipo de

sensor é económico e consegue medir uma vasta gama de valores (-270 ~ 2300 °C), no

entanto a sua maior desvantagem é a sua exactidão, pois é difícil obter erros abaixo de

1°C.

Figura 8: Exemplo de um termopar.

Outro tipo de componente capaz de ler e converter a temperatura noutra

grandeza, são alguns sensores integrados, que normalmente devolvem o valor da

temperatura em tensão, variando linearmente com esta. Estes componentes necessitam

de alimentação e de uma ligação para obter o sinal convertido, sendo alguns deles

capazes de serem programados, definir a resolução do valor a converter, capazes de se

Page 21: Universidade do Minho Departamento de Engenharia

9

colocar em modo sleep poupando assim energia, definir valores para setpoint e

histerese, etc.

Alguns exemplos de modelos existentes são o LM135, LM235, LM335, LM35,

LM75, TMP275, DS18B20 e TCN75.

Figura 9: Exemplo de sensores de temperatura integrados.

3.1.2 Sensores de Humidade

Os sensores de humidade são dispositivos capazes de medir humidade relativa

do ar. Este tipo de sensores têm vindo a evoluir em muito graças a recentes evoluções

na tecnologia dos semicondutores, tornando estes dispositivos altamente precisos e com

maior durabilidade [13]. Os sensores de humidade subdividem-se em básicos

(capacitivos e resistivos) e mais complexos (circuitos integrados).

Os sensores capacitivos funcionam como um condensador variável, em que a

capacidade varia conforme a humidade relativa no ambiente. Este tipo de sensores

necessita de um condicionamento de sinal, sendo normalmente usado o circuito

oscilador RC, em que C é a capacidade do sensor, obtendo-se assim uma determinada

frequência de oscilação relativa à humidade lida pelo sensor. Outro tipo de sensor de

humidade é capaz de converter o valor de humidade a que está sujeito e devolve-o em

tensão, o que facilita de certo modo a sua leitura. Alguns dos modelos vistos foram

SHUM-0100, SHT 15, HIH-5030, HIH-5031, HS1101LF.

Figura 10: Exemplo de um sensor de humidade.

Page 22: Universidade do Minho Departamento de Engenharia

10

3.2 Sistemas de Controlo

3.2.1 Controlo On/Off

O modo mais comum e mais simples no controlo de temperatura é o controlo

ON/OFF. A saída deste sistema de controlo está ligada ou desligada, não havendo um

meio-termo, encontrando-se ligada quando a temperatura se encontra abaixo do setpoint

e desligada quando ultrapassa esse valor [14]. Tendo em conta um sistema de controlo,

o setpoint é o valor em que se pretende estabilizar o sistema. Nos casos em que o

sistema é muito rápido, a operação repetida de ligar e desligar pode danificar os

componentes. De modo a reduzir este problema é adicionado o parâmetro “histerese”,

consistindo em adicionar uma margem acima e abaixo do setpoint. O sistema de

controlo On/Off é frequentemente usado quando não é necessário um sistema de

controlo com grande precisão. A Figura 11 ilustra o modo de funcionamento do sistema

On/Off.

Figura 11: Ilustração do sistema de controlo On/Off, adaptada de [15].

3.2.2 Controlo PID

O controlo PID é uma técnica de controlo de processos com três termos, em que

usa uma variável proporcional, uma integral e uma derivativa. Por ser intuitivo,

relativamente simples e possuir um desempenho satisfatório, tornou-se na prática o

controlador padrão em ambientes industriais. Este modo de controlo vem evoluindo

Page 23: Universidade do Minho Departamento de Engenharia

11

juntamente com o progresso da tecnologia e hoje em dia é frequentemente

implementado através de processamento digital em vez de ser baseado em componentes

pneumáticos ou eléctricos [16].

A técnica de controlo PID consiste em calcular um valor de actuação a partir das

informações do valor desejado e do valor atual da variável do processo. O valor de

actuação é determinado garantindo um controlo estável e preciso. A Figura 12

esquematiza o processo de controlo PID.

Figura 12: Esquema geral do controlo PID, retirada de [17].

A equação 2 é a equação geral do controlo PID, de onde se obtém o valor da

variável de actuação. A variável e(t) representa o valor do erro, Kp é o ganho

proporcional, Ki é o ganho integral e Kd o ganho derivativo.

O controlo proporcional ou ação do controlador é proporcional ao erro e(t), ou

seja à diferença entre o valor pretendido (setpoint) e o valor atual da variável

controlada. Este controlo por si só não consegue manter uma temperatura constante,

porque quando a temperatura atinge o valor do setpoint (erro = 0) a sua influência será

nula, portanto a temperatura voltará a descer até que o erro volte a ser diferente de zero.

Foi necessário adicionar uma ação integral que visa eliminar o erro do controlo

proporcional. O controlo integral realiza uma integração do erro, ou seja soma o valor

dos erros ao longo do tempo, fazendo com que quando se atinja o valor do setpoint a

saída deixe de ser zero, mantendo a temperatura. O controlo derivativo tem o efeito de

reduzir a velocidade das variações da variável controlada. Esta ação apenas reage

quando acontecer uma variação na temperatura, contrariando essas variações.

(2)

Page 24: Universidade do Minho Departamento de Engenharia

12

Para aproximar digitalmente no tempo a Erro! A origem da referência não foi

encontrada. 2, e sendo h o período de amostragem, pode usar-se:

Em que, sum_e(t) = sum_e(t-1) + e(t). O valor dos parâmetros Kp, Ki e Kd, têm

de ser definidos de forma a se obter o controlo mais rápido e estável possível. Estes três

parâmetros influenciam de formas diferentes a dinâmica do sistema. As quatro

características mais importantes num sistema em malha fechada são:

Rise time – tempo que leva à variável a controlar atingir 90% do valor

pretendido pela primeira vez.

Overshoot – valor máximo que a variável a controlar atinge quando

ultrapassa o valor pretendido.

Settling time – tempo que do sistema leva a atingir o seu estado de

equilíbrio.

Erro – diferença entre o valor pretendido e o valor da variável a

controlar.

A tabela seguinte demonstra como cada um dos parâmetros influencia as

características acima descritas:

Parâmetros Rise Time Overshoot Settling Time Erro

Kp Diminui Aumenta Não Altera Diminui

Ki Diminui Aumenta Aumenta Elimina

Kd Não altera Diminui Diminui Não altera

Tabela 1: Influência dos parâmetros Kp, Ki e Kd.

O primeiro passo é definir o valor para cada um destes parâmetros, de modo a

que o sistema obtenha uma resposta rápida e boa estabilidade. No entanto estas duas

características são muito dinâmicas, pois dependem muito da própria velocidade do

sistema e da exigência de cada um. A Figura 13 mostra numa visão geral como será a

forma de onda que se pretende obter no final, tendo em conta a importância destas 2

características anteriores.

(

2)

(3)

Page 25: Universidade do Minho Departamento de Engenharia

13

Figura 13: Estabilidade vs Resposta, retirada de [18].

Para encontrar os três parâmetros existem vários métodos diferentes. Irá apenas

fazer-se referência ao conhecido por “primeiro método de Ziegler-Nichols” [17]. Neste

método, a saída do sistema é colocada no valor máximo e é traçado um gráfico com os

valores da variável a controlar, mostrando a sua evolução ao longo do tempo. No caso

da variável a controlar ser a temperatura, a curva traçada tende a ser em formato “S”,

que pode ser caracterizada por duas constantes, tempo de atraso L e constante de tempo

T. É traçada uma tangente no ponto de inflexão até intersectar o eixo do tempo e a recta

da temperatura máxima atingida. A constante L é o tempo que passa desde o ligar do

actuador, até à intersecção da recta tangente com o eixo do tempo e a constante T é o

tempo entre as duas intersecções. A Figura 14 exemplifica uma curva característica

deste método.

Figura 14: Curva característica do 1° método de Ziegler-Nichols, adaptada de [17].

Page 26: Universidade do Minho Departamento de Engenharia

14

Através destas duas constantes (L e T) é possível agora determinar os valores de

Kp, Ki e Kd, de acordo com a tabela seguinte.

Controlador Kp Ki Kd

P

0 0

PI 0.9

0.27

0

PID 1.2

0.6

0.6 T

Tabela 2: Tabela de parametrização de Ziegler-Nichols.

Definindo Kp, Ki e Kd, de acordo esta tabela, o sistema terá uma resposta com

cerca de 25% de overshoot e um bom tempo de estabilização. A partir deste ponto pode-

se calibrar melhor estas 3 variáveis, tendo sempre em conta a reação que cada um

provoca, como demonstrado na Tabela 1.

3.2.3 Controlo de potência por PWM

O PWM (Pulse-width modulation) é uma técnica usada para controlar potência.

Consiste em gerar uma onda quadrada sendo depois definido o tempo que o sinal se

mantém em nível alto ou nível baixo [19], conforme mostrado na Figura 15.

Figura 15: Variação do duty cycle no PWM, adaptada de [20].

A figura ilustra de que forma o tempo em que a tensão se mantém em ON, vai

alterar o valor da saída (linha a vermelho). O valor na saída é calculado pela equação 3,

Page 27: Universidade do Minho Departamento de Engenharia

15

em que „Ton‟ é o tempo em ON, „Tciclo‟ é o tempo de um ciclo da onda, „Vmáx‟ é a

tensão máxima fornecida pela saída e ao factor Ton/Tciclo chama-se „duty cycle‟:

3.3 Comunicação Bluetooth

Este projecto tem como objectivo a comunicação sem fios, de modo a facilitar a

interação entre o utilizador e dispositivo de controlo. Para realizar esta tarefa foi

adicionado um módulo Bluetooth à placa electrónica implementada na bota. A

tecnologia Bluetooth usa ondas de rádio a baixa frequência (2400-2485 MHz) para

efectuar a transmissão de dados entre computadores, smartphones, telefones, teclados,

ratos, impressoras e outros dispositivos. As principais características que definem esta

tecnologia são a robustez, baixo consumo e baixo custo [21].

Em relação ao alcance e potência, estes dividem-se em 3 classes:

Classe 1: potência máxima de 100 mW, alcance de até 100 metros;

Classe 2: potência máxima de 2,5 mW, alcance de até 10 metros;

Classe 3: potência máxima de 1 mW, alcance de até 1 metro.

É importante frisar que dispositivos com classes diferentes podem comunicar

entre si, desde que se respeite a distância máxima da classe inferior. Dispositivos com a

classe 3 podem parecer pouco funcionais por possuírem um alcance reduzido, mas por

exemplo para uma comunicação entre uns auscultadores e um dispositivo na cintura de

uma pessoa serve perfeitamente, com a vantagem de consumir menos que qualquer uma

das outras classes.

A tecnologia Bluetooth surgiu em 1994 em um acordo de empresas como

Ericsson, IBM, Intel, Toshiba e Nokia, que visava a junção de diferentes tecnologias,

motivada pela ideia de conseguir realizar a comunicação sem fios entre dispositivos

[22].

(4)

Page 28: Universidade do Minho Departamento de Engenharia

16

O Bluetooth é uma tecnologia em constante evolução e ao longo dos tempos já

passou por diferentes versões, variando principalmente em questões de velocidade de

transmissão de dados e consumo energético.

Bluetooth 1.0, 1.1 e 1.2 – velocidades de 1Mbps (0.7Mbps efectivos).

Bluetooth 2.0 e 2.1 – velocidades de 3Mbps (2.1 Mbps efectivos).

Bluetooth 3.0 – velocidades de 24 Mbps.

A velocidade de comunicação entre dispositivos com versões diferentes, é mais

uma vez possível mas a velocidade máxima permitida será sempre limitada pelo

dispositivo com a versão inferior.

Quando dois ou mais dispositivos comunicam usando uma conexão Bluetooth,

eles compõem uma rede denominada piconet. Nessa comunicação, quem inicia a

conexão assume-se como master (mestre), já os restantes dispositivos tornam-se slaves

(escravos). Compete ao master a tarefa de regular o sincronismo entre os dispositivos e

efectuar a transmissão de dados em toda a rede [22]. Numa piconet apenas podem fazer

parte 8 dispositivos (1 master e 7 slaves), mas é possível aumentar este número

sobrepondo piconets, desde que seja dentro de um certo limite. Este esquema tem o

nome de scatternet. Um master apenas pode fazer parte de uma piconet, mas um slave

pode fazer parte de várias [23].

Figura 16: Esquema de uma piconet e scatternet, retirada de [22].

Page 29: Universidade do Minho Departamento de Engenharia

17

3.4 Especificação geral de requisitos e estrutura do

sistema

De um modo resumido, este sistema é constituído por uma bota ortopédica, um

tecido que possui fios condutores (usada para o aquecimento), sensores de temperatura e

humidade, um sistema electrónico e uma bateria.

Todo o sistema electrónico foi dimensionado para que o circuito final fosse de

pequenas dimensões e construído de modo a ser fiável e seguro. Este sistema é

constituído por um microprocessador, um módulo Bluetooth, sensores de temperatura e

sensores de humidade, dois circuitos reguladores de tensão e um circuito actuador, tudo

isto alimentado por uma bateria de lítio 7.4V. No que toca à quantidade de sensores a

usar, foi estipulado um máximo de 4 sensores de temperatura e 4 sensores de humidade.

Figura 17: Ilustração geral da estrutura do sistema.

Page 30: Universidade do Minho Departamento de Engenharia

18

4. Desenvolvimento

4.1 Selecção de componentes

4.1.1 Sensor de Temperatura

O sensor LM35 foi o sensor escolhido por se tratar do que tinha características

adequadas ao sistema, inclusive o baixo custo. Trata-se de um circuito integrado muito

preciso, de pequenas dimensões, variação linear de 10mV/°C, precisão de 0.5°C,

funciona a temperaturas entre -55°C e +150°C, tensão de alimentação 4 a 30V e baixo

consumo [24]. O sensor apresenta o valor da temperatura em tensão, o que proporciona

uma leitura mais fácil, bastando assim ligá-lo directamente ao microprocessador e

converter a sua tensão para a respectiva temperatura (°C).

Figura 18: Sensor de temperatura LM35.

Este sensor tem como vantagens a sua pequena dimensão, simples de usar,

possui uma boa sensibilidade e boa resolução e possui uma tensão de alimentação

adequada ao projecto, pois esta abaixo da tensão da bateria (7.4V).

4.1.2 Sensor de Humidade

O sensor escolhido para efectuar a conversão da humidade foi o modelo HIH-

5030 da empresa “Honeywell”. Os aspectos que se teve mais em conta na selecção do

sensor foram o tamanho, a fiabilidade, o baixo consumo e facilidade de conversão. Este

Page 31: Universidade do Minho Departamento de Engenharia

19

sensor possui tensão de alimentação entre 2.7v e 5.5V, tem uma evolução

humidade/tensão muito próxima de linear e possui uma resposta rápida.

Figura 19: Sensor de humidade HIH-5030.

O valor da tensão que o sensor devolve quando submetido a uma determinada

humidade, é calculado recorrendo à equação 5, dependendo esse valor apenas da tensão

de alimentação e da humidade a que este sensor está sujeita.

Para efectuar o cálculo directo da humidade quando o sensor devolve uma

determinada tensão, é necessário recorrer à equação 6, tendo surgido de uma

reformulação da equação 5.

A tensão de alimentação usada para este sensor foi de 5V. Com isto e usando a

equação anterior, determina-se que o valor de tensão fornecido pelo sensor é de 0.76V e

3.94V, quando submetidos a ambientes com 0%RH e 100%RH, respectivamente.

(

3)

(

4)

(5)

(6)

Page 32: Universidade do Minho Departamento de Engenharia

20

4.1.3 Módulo Bluetooth

A escolha do módulo Bluetooth foi feita com base em dois critérios: o tamanho

reduzido e o baixo consumo. Depois de algumas comparações foi escolhido o módulo

KC-21 da empresa “KC Wirefree”, apenas com 26.9mm x 15.2mm x 2.5mm de

tamanho, consome 25mA como slave e 40µA em modo sleep. A sua tensão de

alimentação tem 3.6v como máximo admitido e possui mais algumas funcionalidades

(comandos AT, 14 pinos programáveis, alta taxa de transferência de dados até 3Mbps,

alcance até 20m, etc.) [25].

Figura 20: Módulo Bluetooth KC-21.

O que este módulo bluetooth realmente faz é “emular” a porta série substituindo

o cabo RS-232, usando um dos vários perfis bluetooth definidos e adoptados pela

“Bluetooth SIG”. O perfil utilizado chamado “Serial Port Profile (SPP)”. Utilizando este

perfil é possível efectuar uma comunicação sem fios como se de uma comunicação série

se trata-se. O módulo bluetooth utilizado possui 2 modos de funcionamento, modo

bypass e modo remoto. O modo bypass torna o módulo bluetooth “invisível”, fazendo a

ligação entre o PDA/computador e o microcontrolador. O modo remoto permite

comunicar directamente com o módulo, necessário para o configurar.

Relativamente à configuração do módulo bluetooth, é necessário parametrizar o

baud rate usando “comandos AT”. Comandos AT são comandos em que cada um

começa pelo prefixo AT, o corpo do comando e o caracter de fim de comando (ex: AT

Showstatus <CR>). O comando para definir o baud rate é “AT ChangeBaud 9600”,

sendo „9600‟ o valor do baud rate que foi definido.

Page 33: Universidade do Minho Departamento de Engenharia

21

Para passar do modo remoto para o modo bypass utiliza-se o comando “AT

Bypass”, para o inverso utiliza-se o comando “~~~~~3”. Na Tabela 3 são mostrados

alguns exemplos de comandos úteis.

Comandos Descrição

AT Discovery Mostra todos os dispositivos Bluetooth encontrados.

AT Discoverable Torna ou não o módulo visível para outros dispositivos.

AT FactoryReset Faz reset a todas as configurações.

AT Name Altera o nome apresentado quando descoberto por outros

dispositivos.

AT Showstatus Apresenta algumas definições assim como a temperatura a que se

encontra o dispositivo.

Tabela 3: Tabela de alguns comandos do módulo Bluetooth KC-21.

4.2 Alimentação

A fonte de energia utilizada durante toda a fase de testes foi uma fonte de

alimentação regulável. No entanto o sistema requer a utilização de uma bateria, devido à

necessidade da fonte de energia ser portátil e de pequenas dimensões. Escolheu-se

portanto uma bateria de lítio. Estas baterias vêm com valores estandardizados de 3.7V,

7.4V, 9v e 11.1V. Como os vários componentes necessitam de diferentes alimentações,

tiveram de ser escolhidos dois valores diferentes para alimentar todos os componentes.

A Tabela 4 apresenta as alimentações dos diferentes componentes:

Nome V mínimo V máximo

PIC16F877A 2 5.5

KC-21 2.8 3.6

LM35 4 30

HIH-5030 2.7 5.5

Tabela 4: Tensões mínimas e máximas dos diferentes componentes.

Depois de examinadas as possibilidades, os sensores de temperatura LM35, os

sensores de humidade HIH-5030 e o microcontrolador PIC16F877A, serão alimentados

Page 34: Universidade do Minho Departamento de Engenharia

22

à tensão de 5V. Já o módulo bluetooth será alimentado a 3.3V, pois é a tensão

recomendada, e o actuador (malha de aquecimento) será alimentado directamente com

7.4V da bateria.

No que diz respeito á alimentação, como a bateria não tem um valor de tensão

ideal para todos os componentes, foi necessário recorrer a dois reguladores de tensão de

modo a conseguir obter os 3.3V e 5V pretendidos. Os circuitos dos reguladores de

tensão são similares, apenas diferem no componente regulador: o LM1117-3.3V e o

LM1117-5V respectivamente. A Figura 21 mostra o esquemático do circuito

electrónico.

Figura 21: Esquema do regulador de tensão (+5V).

4.3 Microcontrolador

Os requisitos do microcontrolador a utilizar neste projecto eram os seguintes:

Possibilidade de gerar sinais PWM;

Mínimo de duas entradas analógicas;

Mínimo de 1 timer livre;

Comunicação série;

Memória não-volátil para registo de valores;

Conversor A/D;

Baixo consumo.

Page 35: Universidade do Minho Departamento de Engenharia

23

Foram identificados vários dispositivos com estas e muitas mais características,

mas por uma questão de preço, acessibilidade e grande quantidade de material auxiliar

(artigos, fóruns, blogs, etc), foi escolhido o modelo PIC16F877A [26].

Figura 22: Microprocessador PIC16F877A.

Reset

O circuito de reset utilizado consta do datasheet do microcontrolador [26] e

apresenta-se na Figura 23, sendo constituído por 1 díodo 1N4148, 1 resistência de 1kΩ

e um botão de pressão.

Figura 23: Esquema do circuito de reset.

O pino de reset do micro (MCLR), possui lógica inversa ou seja, quando a

tensão no pino é GND é feito reset ao microprocessador. O díodo é usado para assegurar

um único sentido da corrente e para garantir um valor ligeiramente abaixo da tensão de

alimentação no pino.

4.3.1 Circuito de clock

A frequência de relógio escolhida foi de 20Mhz, sendo esta a frequência máxima

permitida pelo microcontrolador. Com 20 MHz, garante-se velocidade suficiente na

Page 36: Universidade do Minho Departamento de Engenharia

24

execução das tarefas e também menor probabilidade de erro quando for necessário

executar comunicação série a 9.6k de baud rate [26].

Para definir a frequência do clock do microprocessador foi necessário colocar o

componente oscilador com a frequência pretendida entre os pinos 13 (OSC1) e 14

(OSC2), e a cada um dos seus terminais ligar um condensador de 33pF ao terminal

GND, como mostra a Figura 24.

Figura 24: Esquemático do clock.

4.3.2 Software

O compilador utilizado neste trabalho foi o MPLAB IDE 8.63v. A Figura 25

mostra o seu ambiente gráfico.

Figura 25: Ambiente geral do software MPLAB IDE.

Page 37: Universidade do Minho Departamento de Engenharia

25

Para facilitar o desenvolvimento foi usado um simulador de PIC‟s. Este software

simula todos os processos internos e externos, envolvidos na execução dos programas

num microprocessador real. Este software consegue detectar previamente as falhas

existentes no código, poupando o tempo que demora a programar o microprocessador

de cada vez que se pretende realizar um teste. O software permite visualizar o código

passo a passo e verificar todos os registos existentes no micro individualmente e

também simular algumas interacções externas. O simulador utilizado foi o “PIC

Simulator IDE”, cujo aspecto é mostrado na Figura 26.

Figura 26: Ambiente geral do software PIC Simulator IDE.

O simulador permite percorrer todo o código a 6 velocidades diferentes,

incluindo uma em modo “passo-a-passo”. É também possível alterar bit a bit o valor das

variáveis e registos pretendidos, ver as suas variações, ver o esquemático do PIC em

questão e as variações nos pinos do mesmo, simular a comunicação série, ver o

conteúdo da memória EEPROM, entre outras funcionalidades.

Page 38: Universidade do Minho Departamento de Engenharia

26

4.3.3 Programação

O programador de PIC‟s escolhido foi o ICA01, pela simplicidade e baixo custo

[27].

Figura 27: Aspecto físico do programador ICA01.

O software usado para transferir o ficheiro “.hex”, que resulta do processo de

compilação e linkagem no MPLab, foi o “PICkit2” (Figura 28).

Figura 28: Ambiente geral do software PICkit2.

Page 39: Universidade do Minho Departamento de Engenharia

27

Para realizar a programação no PIC, este deve ser inserido no programador

conforme mostra a Figura 29, sendo depois ligado o cabo USB ao computador e

programado o microprocessador com o auxílio do software “PICKit2”.

Figura 29: Exemplificação do encaixe para os diferentes modelos de PIC’s.

4.4 Hardware

4.4.1 Circuito de controlo de potência

Foi necessário criar um circuito de controlo de potência de modo controlar a

corrente fornecida à malha de aquecimento. Definiu-se que a potência máxima dissipada

na malha de aquecimento era de 3 Watts. Como o circuito foi alimentado por uma fonte

de alimentação de 10 Volts, conclui-se que a corrente máxima permitida seria de

3W/10V= 333mA. Para realizar o controlo de potência era necessário um transístor com

corrente máxima no colector superior a 333mA. Utilizou-se o transístor de Darlington

“BD675G” (Icmáx = 4A), devido a ser o único disponível no momento. O circuito

traduz-se pelo seguinte esquema:

Page 40: Universidade do Minho Departamento de Engenharia

28

Figura 30: Esquemático do circuito de controlo de potência.

4.4.2 Filtro passa-baixo

Quando chegada a fase de testes, detectou-se um problema de ruído na saída do

sensor de temperatura. A saída do sensor oscilava cerca de 20mV, o que se traduzia em

variações de +/- 2ºC. Foi necessário então dimensionar um filtro passa-baixo, de modo a

eliminar o ruído existente e obter um valor mais estável. A Figura 31 ilustra o esquema

de um filtro passa-baixo:

Figura 31: Esquemático de um filtro passa-baixo.

A frequência de corte foi determinada pela seguinte equação:

(7)

Page 41: Universidade do Minho Departamento de Engenharia

29

4.4.3 Placa PCB

Inicialmente foi prototipado todo o circuito electrónico numa breadboard, de

modo a garantir o bom funcionamento dos componentes, tendo sido mais tarde

necessário desenhar uma placa PCB. Esta placa PCB tende a tornar o circuito o mais

compacto possível, para que seja mais fácil de adaptá-la à sola da bota ortopédica.

Para desenhar a placa PCB foi necessário o auxílio de um software de desenho

de circuitos impressos, o software escolhido foi o “Eagle”.

Figura 32: Ambiente geral do Eagle.

Este software oferece três módulos de trabalho, o Schematic-Editor, Layout

Editor e Autorouter, tudo em apenas um interface.

O modo Schematic-Editor serve para o desenho do esquemático do circuito, ou

seja, são colocados todos os dispositivos e estabelecem-se todas as ligações entre eles,

sendo que nesta fase não importa a organização física dos componentes.

No modo Layout Editor é dimensionado o tamanho final da placa, é estruturada

a disposição final de todos os componentes e são desenhadas as pistas que estabelecem

as ligações entre eles.

Page 42: Universidade do Minho Departamento de Engenharia

30

No caso Autorouter trata-se de um modo de desenho automático, em que apenas

se posicionam todos os componentes no local pretendido e as pistas são desenhadas

automaticamente e de forma instantânea. A contrapartida deste modo é que por vezes o

trajecto das pistas não é o mais adequado nem o mais curto e não permite ao utilizador

desenhar as pistas manualmente. Por essas razões o modo Autorouter não foi utilizado.

A Figura 33 mostra os componentes usados e as ligações efectuadas entre eles,

no modo Schematic-Editor. Os sockets SV3 e SV4 são usados para ligar os sensores de

temperatura e humidade, servindo as primeiras quatro linhas para sensores de

temperatura e as restantes para sensores de humidade.

Figura 33: Componentes e ligações no modo Schematic-Editor.

Já no modo Layout Editor, foi definido o tamanho final da placa (6.4cm x

5.2cm), a organização e distribuição dos componentes, sendo posteriormente

desenhadas as pistas que ligam os componentes. A Figura 34 demonstra o aspecto final

da placa no software Eagle.

Page 43: Universidade do Minho Departamento de Engenharia

31

Figura 34: Disposição final de componentes na placa PCB.

Na placa PCB pode observar-se:

Um circuito de reset do micro, sendo o reset realizado pressionando o

botão de pressão;

Dois circuitos reguladores de tensão, 3.3V e 5V;

Um microcontrolador com circuito de clock ;

Um módulo para comunicação sem fios, Bluetooth KC-21, mais detalhado

na Figura 35.

Figura 35: Vista detalhada da localização do módulo Bluetooth.

Page 44: Universidade do Minho Departamento de Engenharia

32

Um circuito de controlo de potência (o circuito actuador), que regula a

corrente para aquecer o fio condutor;

Um filtro passa-baixo RC.

Ligação para os sensores (3 sockets lineares de 8 pinos);

Ligador de alimentação.

Figura 36: Imagem real da placa PCB final.

4.5 Firmware

4.5.1 Funcionalidades e comandos

Para o controlo do sistema de regulação de temperatura foi criado um protocolo

de comunicação através do qual é possível enviar comandos e requisitar informações do

sistema. O protocolo de comunicações é muito simples e baseia-se no envio de um

conjunto de caracteres com as seguintes regras:

Tamanho máximo de 15 caracteres;

Iniciar os comandos com os caracteres “*#”;

Intervalar os diferentes parâmetros com um espaço;

Terminar com o carácter “_”;

Page 45: Universidade do Minho Departamento de Engenharia

33

A cada envio, o sistema responde com a respectiva resposta, seguido de uma

cópia exacta do comando enviado. Com respectiva resposta quero dizer, no caso de uma

leitura a resposta será o valor lido, no caso de uma parametrização não haverá qualquer

resposta. Se houver erro, o sistema devolve uma mensagem de “Error”. A Tabela 5

apresenta os comandos implementados:

Descrição do comando Parâmetro 1 Parâmetro 2 Parâmetro 3 Comando

(exemplo) Resposta

Ler entrada analógica N° sensor

(0 - 7) *#anlg 0_ 47*#anlg 0_

Log entrada analógica N° sensor

(0 - 7)

Intervalo

(1<seg<65535) *#log 0 10_ *#log 0 10_

Log OFF Sensor

8:Todos *#lgoff 0_ *#lgoff 0_

Setpoint Temperatura *#stpnt 25_ *#stpnt 25_

Histerese Histerese *#hist 1_ *#hist 1_

Set duty cycle % *#duty 50_ *#duty 50_

Upload *#upld _ 47*48*#upld _

Modo de controlo

0. Desligar Modo *#ctrl 3_ *#ctrl 3_

1. On/Off Modo N° Sensor

(0 - 7) *#ctrl 1 0_ *#ctrl 1 0_

2. PI Modo N° Sensor

(0 - 7) *#ctrl 2 0_ *#ctrl 2 0_

3. Manual Modo *#ctrl 3_ *#ctrl 3_

Ler tensão *#outv _ 100*#outv _

Parâmetros PI Kp Ki N° amostras *#pid 18 6 4_ *#pid 18 6 4_

Tabela 5: Comandos existentes para comunicar com o microprocessador.

Com os caracteres “*#” e “_”, é delimitado claramente o início e fim de um

comando respectivamente. No caso de o comando enviado não corresponder com

nenhum dos pré-definidos, é devolvida pelo microprocessador uma mensagem de

“Error”. Esta mensagem também é devolvida caso falhe a verificação dos dois primeiros

caracteres.

Page 46: Universidade do Minho Departamento de Engenharia

34

Figura 37: Fluxograma do funcionamento do teste ao comando recebido.

a) Comando “anlg”

Descrição: Lê a entrada analógica, converte o valor e devolve-o em formato

digital;

Parâmetros: Nº de sensor;

Exemplo: *#anlg 0_

Implementação: Quando enviado o comando “*#anlg <sensor>_”, é chamada a

função “resposta” que chama de seguida a função “conversao” em que define qual o a

entrada a converter e inicia a conversão. Após a conversão estar completa, ocorre a

interrupção do conversor A/D, copiando os valores convertidos para uma variável

auxiliar e depois enviada pela porta série para o pc.

b) Comando “log”

Descrição: Realiza o log dos valores lidos, gravando na memória EEPROM do

microprocessador.

Parâmetros: Nº de sensor, Intervalo;

Exemplo: *#log 0 10_

Implementação: Esta função é executada quando é enviado o comando “*#log

<sensor> <intervalo>_”. A gravação é feita utilizando 2 bytes, em que o formato do log

é demonstrado na tabela abaixo:

Não utilizado N° Sensor Dados

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Tabela 6: Estrutura dos 2 bytes guardados.

Page 47: Universidade do Minho Departamento de Engenharia

35

Os 2 primeiros bytes da memória EEPROM foram reservados para guardar o

endereço dos últimos 2 bytes gravados. Foi adicionado aos bits 10, 11 e 12 o número do

sensor a que os dados dizem respeito.

c) Comando “lgoff”

Descrição: Desativa os logs que se encontram ativos;

Parâmetros: Nº de sensor;

Exemplo: *#lgoff 0_

Implementação: Esta função de parar a gravação, tem duas formas de ser

executada. Uma é quando não há mais espaço livre na memória, sendo executada uma

paragem forçada do log. Outra possibilidade é quando o próprio utilizador o pretende,

sendo esta paragem executada individualmente ou relativamente a todos os sensores. O

comando a enviar é “*#lgoff <sensor>_”. Para fazer uma paragem geral basta usar o

valor „8‟ no parâmetro <sensor>.

d) Comando “stpnt”

Descrição: Este comando altera o valor do setpoint;

Parâmetros: Temperatura;

Exemplo: *#stpnt 25_

Implementação: Foi pré-definido o valor „30‟ para a variável setpoint. O

comando “stpnt” apenas actualiza o valor do setpoint.

e) Comando “hist”

Descrição: Este comando altera o valor da histerese;

Parâmetros: Histerese;

Exemplo: *#hist 1_

Implementação: Foi pré-definido o valor „2‟ para a variável histerese. O

comando “hist” apenas actualiza o valor da histerese.

f) Comando “duty”

Descrição: Altera o valor de duty cycle;

Parâmetros: %;

Page 48: Universidade do Minho Departamento de Engenharia

36

Exemplo: *#duty 50_

Implementação: Após enviado o comando “*#duty <%>_” é chamada a função

“resposta” e é actualizado o valor do duty cycle.

g) Comando “upld”

Descrição: Realiza o upload dos valores gravados na memória EEPROM;

Parâmetros: Nenhum;

Exemplo: *#upld _

Implementação: Gravada toda a informação, o microprocessador terá de ser

capaz de enviar essa informação quando requisitada. O comando que realiza essa

operação é “*#upld _”. A informação é automaticamente descarregada para o pc ou

dispositivo móvel, ficando ao cargo do software do dispositivo, o tratamento da

informação recebida.

Page 49: Universidade do Minho Departamento de Engenharia

37

Figura 38: Fluxograma do funcionamento do comando “Upld”, “Log” e “Lgoff”.

h) Comando “ctrl”

Descrição: Este comando serve para definir qual o modo de controlo que será

ativado, ou seja, On/Off, PI ou manual, ou para desligar qualquer um deles.

Desligar o modo de controlo

Parâmetros: Modo;

Exemplo: *#ctrl 0_

Implementação: Desactiva qualquer um dos modos activos, desligando o

timer1 caso esteja apenas a ser utilizado pelo controlo On/Off e desliga o timer2

de modo a desactivar o PWM.

Ligar o modo de controlo On/Off

Parâmetros: Modo, nº sensor;

Exemplo: *#ctrl 1 0_

Implementação: Neste modo é necessário ter atenção aos parâmetros

setpoint‟ e histerese, porque são os parâmetros que vão influenciar o controlo

On/Off. É necessário escolher qual o sensor que lê a temperatura a regular, tendo

em conta que apenas poderá ser feito em sensores de temperatura,

correspondendo aos valores entre 0 e 3.

Ligar o modo de controlo PI

Parâmetros: Modo, nº sensor;

Exemplo: *#ctrl 2 0_

Implementação: Após o envio deste comando é ativado o timer1 para

realizar contagens de 1 segundo e activo o timer2 para iniciar a função de PWM.

Cada vez que o timer1 conta 1 segundo, é realizada uma conversão A/D e

actualizado o valor do duty cycle através da respectiva fórmula:

Em que Kp é a constante proporcional, erro é a diferença entre o valor do

setpoint e a média do nº de amostras (definido no comando “*#pid”), Ki é a constante

integrativa, dt é uma constante auxiliar com o valor de „0.1‟ sendo criada para conseguir

Page 50: Universidade do Minho Departamento de Engenharia

38

definir valores decimais para a variável Ki, e sum_e trata-se da soma de todos os erros

ao longo do tempo.

Ligar o modo de controlo manual

Parâmetros: Modo;

Exemplo: *#ctrl 3_

Implementação: Este comando activa o modo de controlo manual (controlo

realizado por PWM) carregando o valor do duty cycle para os registos

„CPP1CON‟ e „CCPR1L‟, arrancando de seguida o timer2.

i) Comando “outv”

Descrição: Lê a tensão fornecida à saída do microcontrolador.

Parâmetros: Nenhum;

Exemplo: *#outv _

Implementação: Após enviado o respectivo comando, a resposta devolvida será

um valor entre 0 e 100. Se o modo de controlo em execução for o On/Off, o valor

devolvido será „0‟ quando a saída estiver desligada (0v) e „100‟ quando a saída estiver

ligada (5V). No caso do controlo PI ou manual, será devolvido um inteiro entre 0 e 100,

podendo este ser qualquer valor inteiro neste intervalo. Havendo 100 valores diferentes

para representar 5V, isso corresponde que cada valor inteiro devolvido equivalha a

cerca de 50mV (ex: 5 -> 250mV, 25 -> 1.25V, 50 -> 2.50V).

j) Comando “pid”

Descrição: Define os parâmetros necessários à realização do controlo PI.

Parâmetros: Kp, Ki, nº amostras;

Exemplo: *#pid 18 6 4_

Implementação: Para iniciar este modo é necessário definir 3 parâmetros, sendo

eles o Kp, Ki e n° amostras. O Kp diz respeito à constante proporcional, o Ki à

constante integral e o n° amostras é a quantidade de amostras que se fará uma média, de

modo que saída reaja a partir desse valor. Com isto a actuação da saída é suavizada e

tornando o sistema menos susceptível a oscilações.

Page 51: Universidade do Minho Departamento de Engenharia

39

4.5.2 Estrutura geral do firmware

O firmware desenvolvido pode ser dividido nos seguintes blocos, que serão de

seguida apresentados: comunicação série, timers, gravação da memória, conversão A/D,

PWM.

Comunicação série

A comunicação série é usada para realizar a comunicação entre o

microcontrolador e um computador portátil ou entre o microcontrolador e um

smartphone com o auxílio do módulo Bluetooth. Para efectuar a ligação física entre os

dois primeiros é necessário usar um conversor série-USB. No caso foi utilizado o TTL-

232R 3.3V da empresa “FTDI Chip”. O aspecto do cabo é mostrado na Figura 39, assim

como os pinos respectivos na Figura 40.

Figura 39: Imagem do cabo TTL-232 3.3V, retirada de [28].

Figura 40: Ilustração dos pinos respectivos ao cabo TTL-232 3.3V, retirada de [28].

Page 52: Universidade do Minho Departamento de Engenharia

40

O pino TxD do microcontrolador liga portanto ao pino amarelo (5) e o pino RxD

ao pino laranja (4) do cabo.

No caso de se pretender usar comunicação sem fios, é introduzido o módulo

Bluetooth, na qual o modo de funcionamento foi explicado anteriormente. Assim, os

pinos TxD e RxD do microprocessador são ligados aos do módulo Bluetooth, que

estabelece a ligação com o PC ou smartphone. Por sua vez, o programa no PC acede a

uma porta série virtual proporcionada pela ligação Bluetooth.

Na ligação do microprocessador ao módulo Bluetooth teve que se ter em atenção

os níveis de tensão dos dois dispositivos. O pino TxD do módulo Bluetooth foi ligado

directamente ao pino RxD do micro já que o micro entende 3.3V como nível alto. Já o

pino TxD do micro passa primeiro por um divisor de tensão, de modo a baixá-la para

cerca de 3.3V, e só depois entra no pino RxD do módulo Bluetooth. O valor máximo da

tensão de entrada no módulo Bluetooth é de 3.7V. A Figura 41 ajuda a perceber o modo

como foram feitas as ligações.

Figura 41: Interface do módulo Bluetooth com o microcontrolador, adaptada de [25].

Em relação ao processamento interno, quando solicitada uma comunicação série

esta pode ser descrita em alguns passos. Os registos usados foram “TXEN” que permite

ao módulo o envio de caracteres, “CREN” que permite receber. A interrupção de leitura

Page 53: Universidade do Minho Departamento de Engenharia

41

é gerada cada vez que é recebido um byte. O fluxograma seguinte traduz todo o

funcionamento:

Figura 42: Fluxograma do funcionamento da recepção de carateres.

As funções usadas são a função “comparacao” e “resposta”. A função

“comparacao” compara byte a byte o comando recebido e uma lista de comandos

previamente inicializados no microcontrolador. Caso o comando não corresponda a

nenhum dos comandos implementados, é enviada uma resposta com a mensagem

“Error”. No caso de coincidirem, a variável auxiliar chamada “cmd” recebe o valor

respectivo ao comando em questão. Seguidamente é chamada a função “resposta”, que

executa as ações respectivas ao comando recebido. Após a tarefa pretendida estar

concluída, é accionado o envio da resposta através da porta série. A interrupção que

realiza o envio de caracteres é acionada quando o registo “TXEN” toma o valor „1‟. O

envio é realizado com um “printf” de uma variável chamada “envio”, e é feito byte a

Page 54: Universidade do Minho Departamento de Engenharia

42

byte até estar completo. Seguidamente é desligado o modo de envio (TXEN=0) e ligado

o modo de recepção (CREN=1), ficando o microcontrolador novamente à espera de um

comando.

Conversão Analógico-Digital

Para realizar a tarefa de leitura de sensores recorre-se ao conversor analógico-

digital que o microcontrolador possui, sendo que o resultado da conversão é um número

digital de 10 bits. Inicialmente quando o microcontrolador é ligado, o conversor A/D

encontra-se desligado de modo a minimizar o consumo, sendo apenas ligado quando

requisitado. Numa primeira fase, é necessário configurar o ADC. A configuração

consiste na parametrização do clock da conversão, definir se o registo que recebe o

resultado da conversão se encontra justificado à direita ou à esquerda, e a configuração

dos pinos. Esta configuração é efectuada através dos registos “ADCON0” e

“ADCON1”. No código criado o registo ADCON0 e ADCON1 possuem o valor de 128.

Figura 43: Registos ADCON0 e ADCON1 do microprocessador PIC16F877A, adaptada de [26].

A configuração dos pinos leva a definir se o pino é entrada digital ou analógica,

e se a tensão de referência é a mesma que a tensão de alimentação ou não. Sendo 128, o

valor definido para o registo ADCON1, significa que os 8 pinos (AN0 – AN7) são todas

entradas analógicas e a tensão de referência é a tensão de alimentação. Sabendo que o

conversor é de 10 bits, que a tensão “Vref+” são 5V (tensão de alimentação do

microcontrolador) e “Vref-“ são 0V, foi realizado o seguinte cálculo:

(8)

(9)

Page 55: Universidade do Minho Departamento de Engenharia

43

O sensor LM35 devolve 10mV/°C, ou seja 5mV/0.5°C. Assim sendo, a

resolução é de cerca de 0,5°C.

Quando requisitada uma conversão A/D, é definido no comando enviado o

número do sensor que se realizará a conversão. O microcontrolador chama uma função

chamada “conversão”, para que esta configure o registo ADCON0, de modo ao

microcontrolador saber qual o pino que vai ler e converter. Seguidamente é necessário

esperar um “acquisition time”, que é o tempo mínimo necessário para que um

condensador interno carregue completamente com a tensão aplicada ao pino em

questão. Este tempo é calculado segundo a Figura 44.

Figura 44: Equação do tempo de aquisição, retirada de [26].

Depois disto isto é iniciada a conversão, activando o bit 2 do registo ADCON0

(GO/DONE), ocorrendo uma interrupção quando esta finalizar. Os registos “ADRESL”

e “ADRESH” guardam o valor convertido, sendo de seguida através de uma pequena

operação lógica passados para uma variável auxiliar. A transmissão de caracteres via

comunicação série é ligada e a variável auxiliar onde está contido o valor da conversão

é enviada para o receptor.

Timers

Uns dos dispositivos mais usados pelo microcontrolador são os timers, sendo

estes responsáveis por controlar o intervalo de tempo entre determinadas acções. O

microcontrolador usado possui três timers diferentes, sendo dois deles de 8 bits e um de

16. Neste projecto utilizou-se apenas foi o timer1 (16bits) e o timer2 (8bits). O primeiro

foi usado para cronometrar intervalos de 100 milissegundos, sendo usado nas leituras

Page 56: Universidade do Minho Departamento de Engenharia

44

dos sensores, logs e modo de actuação ON/OFF. O segundo usou-se para efectuar o

controlo manual e controlo PI, em que se recorre ao PWM (Pulse-width modulation). A

função e modo de actuação do PWM, assim como a configuração do timer2, serão

explicados mais adiante.

A configuração do timer 1 é feita através do registo “T1CON”. Existem mais

dois registos necessários de inicializar, são eles o “TMR1L” e “TMR1H”, fazendo

juntos um registo de 16 bits. Dependendo da configuração no registo T1CON e da

frequência de clock do microcontrolador (no caso 20Mhz), é necessário carregar os

registos “TMR1L” e “TMR1H” com os respectivos valores. O cálculo do intervalo

máximo que o timer1 consegue contar, foi encontrado da seguinte forma:

De modo a fazer o timer incrementar mais lentamente decidiu-se definir o

prescaler = 32, fazendo que o timer1 demora-se mais tempo até ocorrer um overflow,

3.277ms * 32 ≈ 0.105 seg. Prescaler é o nome dado a uma função no microcontrolador

que divide a frequência de clock, fazendo com que o timer conte tempos mais longos.

Este apresenta valores como 2, 4, 8, 16, 32, 64, 128, 256, tendo por exemplo um

prescale de „128‟, significa que o timer apenas incrementa a cada 128 ciclos de clock.

De forma a facilitar os cálculos posteriores, foi definido para o timer1 um tempo de

contagem de 0.1seg. Os registos TMR1L e TMR1H foram carregados com os seguintes

valores:

Estes cálculos podem ser mais rapidamente efectuados através da ferramenta

apresentada em [29]. O que acontece no microcontrolador quando se arranca a

contagem do timer1, é o valor do registo TMR1L aumentar a cada ≈1.6µs (com

(10)

(11)

(12)

(13)

(14)

Page 57: Universidade do Minho Departamento de Engenharia

45

prescaler), ocorrendo uma interrupção quando suceder um overflow, sendo isto o atingir

do valor máximo nos dois registos (TMR1H e TMR1L possuírem o valor „0xFF‟).

Figura 45: Fluxograma geral do funcionamento do timer 1.

O timer1 intervém em 3 funções diferentes. No caso do log o tempo de entre

cada gravação é definida pelo utilizador, no caso do controlo PI e controlo On/Off foi

pré-definido 1 e 5 segundos respectivamente.

No caso do modo On/Off, este foi pré-definido para ser contado 50 vezes, visto

que o sistema é relativamente lento e torna-se dispensável estar constantemente a

verificar o valor da temperatura. Quando contado 50 vezes, é chamada a função

“conversao”, que converte o valor do respectivo sensor e de seguida é efectuado o

devido controlo.

Já o caso do modo PI, o número de interrupções contadas até se tomar uma

determinada ação vai depender do valor escolhido pelo utilizador. Foi definido que os

intervalos definidos pelo utilizador apenas poderão ser em segundos e com um mínimo

de 1, pois achou-se pouco útil fazer medições com intervalos inferiores.

Pulse-with Modulation (PWM)

O timer que gera a frequência da onda quadrada necessária ao PWM é o timer2

(8-bits). Para calcular a frequência do PWM é necessário recorrer à equação 15.

(15)

Page 58: Universidade do Minho Departamento de Engenharia

46

A frequência do PWM definida foi de 5KHz, o valor do TMR2 prescale foi 4 e a

Tosc = 1/20Mhz = 50ns, portanto reformulando a equação 15, obtemos a equação 16 e o

valor de PR2.

= 249

O registo T2CON é onde são configurados o prescale do clock, o postscale da

saída e arrancado o timer. O prescale foi explicado anteriormente, o postsale é parecido

com o prescale mas em vez de diminuir a frequência dos incrementos do timer, aumenta

o número de vezes que é necessário ocorrer um overflow para ocorrer uma interrupção.

Basicamente com um postscale de „8‟, é necessário que aconteçam 8 overflows até

ocorrer uma interrupção. O valor do prescale definido foi „4‟, logo o valor atribuido à

variável T2CON foi „0x01‟.

Quando for activado o modo manual, o microcontrolador carrega os bits menos

significativos do PWM para os bits 4 e 5 do registo CCP1CON, e carrega para o registo

CCPR1L o valor dos restantes bits, arrancando de seguida o timer 2. Foi definido por

defeito que o valor inicial do duty cycle é de 50%, podendo ser alterado sempre que

pretendido. Quando o duty cycle escolhido for „0‟ é carregado para o registo CCP1CON

o valor „12‟ e CCPR1L o valor „0‟. Se o valor de duty cycle escolhido for par, o valor de

CCP1CON é „60‟, no caso de ser ímpar o registo CCP1CON toma o valor de „28‟. Em

qualquer um destes casos o valor do registo CCPR1L é calculado segundo a equação 17.

Memória EEPROM

De modo a poder efetuar o log da temperatura, é necessário que os dados sejam

gravados numa memória, podendo ser mais tarde lidos ou trabalhados. A memória

EEPROM existente no microcontrolador PIC16F877A foi utilizada para cumprir essa

função. A memória EEPROM deste microprocessador apenas possui 256 bytes, o que

não representa muito espaço, acrescendo o facto de os dados gravados serem gravados

(

6)

(16)

(17)

Page 59: Universidade do Minho Departamento de Engenharia

47

em 2 bytes por registo (ver Tabela 6). Com 256 bytes disponíveis e com dois deles

serem reservados para guardar o ultimo endereço de memória gravado, restam apenas

254 bytes, o que dá um total de 127 registos que podem ser guardados.

Quando o microprocessador é ligado pela primeira vez ou quando é realizado

um reset, é atribuido ao bit 7 do registo EECON1 o valor „0‟. EECON1 é o registo de

acesso á memória, em que se define qual memória aceder (programa ou dados), permite

ou não a escrita e inicia a escrita/leitura da memória. De seguida é eliminado o conteúdo

do endereço de memória “0x00h” (local da memória reservado para guardar o apontador

para o último valor registado), garantindo que cada vez que seja efectuado um reset

limpe este endereço de memória. Para eliminar o conteúdo da EEPROM é apenas

necessário reinicializar o apontador descrito. Não é necessário apagar a memória, pois

ao escrever num espaço de memória da EEPROM, o seu conteúdo é automaticamente

eliminado e guardados os novos dados.

Figura 46: Fluxograma do funcionamento do log.

A sequência de gravação trata-se de colocar no registo EECON2 o valor “0x55”

seguido do valor “0xAA”, tratando-se de uma sequência necessária para garantir a

escrita. Falando agora em termos de controlo de endereços e dados, cada vez que é

requisitada uma gravação, o que acontece é após a informação a gravar (n° de sensor +

dados) ter sido efectuada com sucesso, o registo EEADR é aumentado para ser

efectuada nova gravação. Após este incremento este registo é comparado com o valor

Page 60: Universidade do Minho Departamento de Engenharia

48

“0xFF” de forma a perceber se a memória está no último endereço disponível. Em caso

positivo realiza mais uma gravação e após isso desliga.

Figura 47: Fluxograma do funcionamento do upload e logoff.

Quando o utilizador manda parar uma gravação, é primeiramente verificado se

está numa gravação. Em caso positivo o log é apenas desligado quando a gravação

estiver concluida, caso contrario é desligada a escrita na memória EEPROM de forma

imediata. Se for iniciado novamente o comando log, sem que tenham sido

descarregados os dados previamente guardados, este verifica o valor do registo “0x00” e

em caso do valor ser “0xFF” significa que a memória está completa, retornando uma

mensagem de “Mem error”. Se o valor existente nesse endereço for inferior a “0xFF”, o

log é inicializado normalmente, gravando os dados a partir desse mesmo endereço.

No caso da leitura da memória EEPROM, quando é requisitada pelo utilizador o

que o microcontrolador faz é verificar qual o endereço que se encontra na memória

“0x00h” da EEPROM, assim fica a saber a quantidade de dados existentes. De seguida

começa a ler os dados a partir do endereço “0x02h”, devolvendo-o de seguida para o

utilizador e aumentando o valor do registo EEADR. Esta operação é realizada

continuamente até ao valor do endereço atual ser o mesmo que o lido inicialmente no

endereço “0x00h”. O processo de leitura é mais simples que o de escrita, sendo apenas

necessário escrever no registo EEADR o endereço a ler, activar o bit RD iniciando

Page 61: Universidade do Minho Departamento de Engenharia

49

assim a leitura, verificar continuamente esse mesmo bit até voltar ao valor „0‟ e obter os

dados lidos através do registo EEDATA.

4.6 Software aplicacional para PC

Para comunicar com o sistema, foi usada uma aplicação gráfica desenvolvida

por outro investigador do projecto. A aplicação foi criada usando o software LabVIEW

e com o propósito de ser suportada no sistema operativo Windows. O aspecto do

interface do software é mostrado na Figura 48.

Figura 48: Aspecto do software criado para comunicar com o sistema.

Com este software é possível realizar todos os comandos já referidos. O

interface está separado em 2 partes, em que a superior “Sensores” é onde se realizam as

operações de leitura e gravação da temperatura. Na parte inferior “Controlo de

temperatura” define-se o modo de controlo de temperatura, podendo ser On/Off, PI ou

manual. No gráfico superior é mostrada a evolução da temperatura ou humidade ao

Page 62: Universidade do Minho Departamento de Engenharia

50

longo do tempo. O gráfico inferior mostra o valor da saída ao longo do tempo, numa

escala de 0 a 100.

Quando se inicia a aplicação, é pedido ao utilizador para atribuir um nome a um

ficheiro .txt, onde vão ser registados os valores lidos. O utilizador pode alterar quando

pretender, o modo como se efectua a ligação entre o software e o dispositivo, ou seja,

por Bluetooth ou cabo série. Caso a comunicação seja feita utilizando o cabo série, é

necessário definir qual a porta COM a utilizar.

Page 63: Universidade do Minho Departamento de Engenharia

51

5. Resultados

Numa fase final o sistema desenvolvido foi testado numa configuração física a

mais aproximada possível de uma aplicação real. Para tal, foi colocado um sensor de

temperatura na base de um pé falso (zona do calcanhar), sendo depois calçada uma

meia. Já com a meia calçada foi encostado na zona do sensor, um pequeno pedaço de

tecido condutor para realizar o aquecimento. Todo este sistema foi então inserido no

interior de uma bota ortopédica, sendo posteriormente ligada à placa electrónica que se

encontra no exterior.

Figura 49: Imagem dos vários intervenientes da fase de testes.

Nesta fase de testes foi usada fonte de alimentação externa servindo para

alimentar todo o circuito electrónico e o tecido condutor. Após a regulação de vários

valores de potência e das variações de temperatura provocadas, definiu-se como valor

inicial uma potência máxima de aproximadamente 3 Watts.

Page 64: Universidade do Minho Departamento de Engenharia

52

5.1 Planeamento experimental

A Tabela 7 descreve de forma estruturada o plano de ensaios realizados:

teste Ação Condições Objectivo

Teste 1 Ligar o controlo manual

à potência máxima

Inserida no congelador com

temperatura inicial de 0ºC

Determinar a temperatura

máxima atingida

Teste 2 Ligar o controlo manual

à potência máxima

Inserida no frigorífico

com temperatura inicial

de 12ºC

Determinar a temperatura

máxima atingida

Teste 3 Ligar o controlo manual

à potência de 50%

Realizado à temperatura

ambiente de 27ºC

Determinar a temperatura

máxima atingida e obter

parâmetros PI

Teste 4 Ligar o controlo manual

alterando o duty cycle de

5 em 5 minutos com os

valores: 80%, 20%,

50%, 0%, 90%, 10%.

Realizado à temperatura

ambiente de 27ºC

Demonstrar o funcionamento

do modo manual

Teste 5 Ligar o controlo On/Off

com setpoint de 30ºC e

histerese 0ºC

Realizado à temperatura

ambiente de 24.5ºC

Testar a performance do

modo On/Off

Teste 6 Ligar o controlo On/Off

com setpoint de 32ºC e

histerese 2ºC

Realizado à temperatura

ambiente de 27ºC

Testar a performance do

modo On/Off

Teste 7 Ligar o controlo PI com

vários valores de

setpoint: 17ºC, 22ºC e

18ºC

Inserida no frigorífico

com temperatura inicial

de 12ºC

Testar a performance do

modo PI

Tabela 7: Tabela descritiva do planeamento experimental

Page 65: Universidade do Minho Departamento de Engenharia

53

5.2 Desempenho do tecido de aquecimento

Para esta fase foram realizadas três experiências com a bota colocada em três

ambientes térmicos distintos: no congelador, no frigorífico e à temperatura ambiente.

Foi feita a medição dos valores de temperatura no interior da bota e no ambiente até esta

ficar estável, garantindo que o interior da bota se encontrava à mesma temperatura do

seu ambiente. Depois foi ligado o aquecimento na sua potência máxima e deixou-se o

sistema de aquecimento trabalhar até o sistema estabilizar numa determinada

temperatura. Este teste servirá para examinar as temperaturas máximas a que este

protótipo consegue chegar e também para tirar os parâmetros do controlo PI.

Teste 1: Realizado no congelador e com uma temperatura inicial de 0°C. Após

ser ligado o aquecimento na potência máxima, verifica-se um tempo ≈4minutos entre a

ligação do aquecimento e a primeira subida da temperatura (tendo em conta a resolução

de 0.5°C). Atingiu-se uma temperatura máxima de ≈5°C.

Figura 50: Teste de temperatura máxima atingida no congelador.

Page 66: Universidade do Minho Departamento de Engenharia

54

Teste 2: Este teste foi realizado no frigorífico a uma temperatura inicial de

12°C. O modo de realização foi o mesmo que o anterior, no entanto os resultados são

bem diferentes, sendo neste caso atingida uma temperatura de ≈33°C.

Figura 51: Teste de temperatura máxima atingida no frigorífico.

Teste 3: Por último este teste foi efectuado á temperatura ambiente, iniciando

próximo dos 27°C. Embora tendo o modo de realização sido o mesmo que os anteriores,

este apresenta uma pequena diferença, pois a potência aplicada foi de apenas 50%. Esta

decisão deveu-se à suspeita de que aplicando a potência máxima, a temperatura poderia

atingir valores demasiado altos. Verificou-se de facto que, conforme demonstram os

resultados apresentados na Figura 52, com uma potência aplicada de apenas 50%, a

temperatura atinge valores próximos de 35°C.

Page 67: Universidade do Minho Departamento de Engenharia

55

Figura 52: Teste de temperatura máxima atingida á temperatura ambiente.

5.3 Desempenho do controlo manual

O modo de controlo manual é o modo em que o utilizador tem menos noção da

temperatura, porque o apenas controla a potência fornecida ao elemento resistivo.

Teste 4: O teste realizado foi feito á temperatura ambiente (27ºC) e a ideia foi

atribuir diferentes valores de potência (80% - 20% - 50% - 0% - 90% - 10%)

intervalados aproximadamente de 5 minutos. O resultado está apresentado na Figura 53.

Page 68: Universidade do Minho Departamento de Engenharia

56

Figura 53: Performance do modo manual

5.4 Performance do controlo On/Off

Nesta secção serão demonstrados os resultados obtidos efetuando o controlo

On/Off da temperatura. Para este caso foram efectuados 2 testes semelhantes, sendo

ambos realizados á temperatura ambiente. No entanto estes variam no valor do setpoint

e histerese.

Teste 5: O primeiro teste foi iniciado a uma temperatura 24.5°C, sendo

definido um setpoint de 30°C e histerese „0‟. Quando a temperatura ultrapassa os

30.5°C, a saída é imediatamente desligada, levando a que a temperatura desça. Após ser

registado um valor abaixo de 29.5°C a saída volta a ser ligada.

Page 69: Universidade do Minho Departamento de Engenharia

57

Figura 54: Teste do controlo On/Off (setpoint de 30°C).

Teste 6: Neste o valor do setpoint foi alterado para 32°C e a histerese para 2°C.

Figura 55: Teste do controlo On/Off (setpoint de 32°C e histerese de 2°C).

Page 70: Universidade do Minho Departamento de Engenharia

58

5.5 Performance do controlo PI

Para efectuar este modo de controlo é necessário parametrizar três variáveis,

constante proporcional, integral e derivativa. No entanto decidiu-se remover a variável

derivativa, porque devido ao sistema ser lento não haverá problema com o overshoot.

De modo a encontrar os parâmetros Kp e Ki ideais, foi usado o “primeiro

método de Ziegler-Nichols”. O modo de realização deste método foi explicado no

capítulo 3.2.2. Segundo o método foi aplicado um degrau na saída e registados todos os

valores até a temperatura lida estabilizar. Este passo já foi realizado no teste da

performance do tecido de aquecimento à temperatura ambiente.

Figura 56: Obtenção do parâmetro T.

Os valores das variáveis „T‟ e „L‟ foram obtidos com maior detalhe através do

Excel, sendo eles 222 para a variável „T‟ e 15 para a variável „L‟. Usando a Tabela 2

facilmente se obtém o valor de Kp = 13.32 ≈ 13 e Ki = 0.26 ≈ 0.3. De notar que o

software criado apenas permite valores de Kp arredondando às unidades e valores de Ki

arredondado às decimas.

Teste 7: Para realizar o teste a bota foi introduzida no frigorífico durante um

longo tempo até estabilizar, temperatura esta que foi em ≈12°C. Inicialmente foi

Page 71: Universidade do Minho Departamento de Engenharia

59

definido um setpoint de 17°C e como mostra a Figura 57 foi estabilizado nesse mesmo

valor com sucesso. Perto dos 9 minutos, o setpoint foi alterado mas desta vez para 22°C,

levando a saída a aumentar de forma imediata para a potência máxima, com a intenção

de elevar a temperatura o mais rapidamente possível. Por último, perto dos 19 minutos o

setpoint foi novamente alterado para 18°C, fazendo a saída desligar por completo até

chegar perto desse valor pretendido.

Figura 57: Performance do controlo PI no frigorífico

Este teste serve para demonstrar que os parâmetros PI retirados à temperatura

ambiente, também funcionam para temperaturas inferiores. Apesar das pequenas

variações de meio grau que são visíveis no gráfico, considera-se um sucesso este modo

de controlo.

5.6 Teste do sensor de humidade

Para testar o sistema de monitorização da humidade relativa, foi primeiro

comparado o valor inicial com um higrómetro digital semelhante ao da Figura 58. A

diferença máxima entre o valor lido pelo sensor HIH-5030 e pelo higrómetro digital, foi

de 3% RH, considerando-se aceitável.

Page 72: Universidade do Minho Departamento de Engenharia

60

Figura 58: Higrómetro e termómetro digital.

Após realizada a monitorização da humidade durante ≈6 minutos, com uma

humidade considerada estável (50~55% RH), fizeram-se duas “expirações” próximas ao

sensor de humidade. Como demonstra o gráfico da Figura 59, a humidade relativa

aumenta significativamente devido ao vapor de água que a nossa respiração produz.

Figura 59: Performance do sensor de humidade.

5.7 Funcionamento geral do sistema

Observando o sistema de uma forma geral, considera-se que todas as funções e

comandos funcionam de forma correcta e como prevista. No entanto foram encontradas

algumas dificuldades que tiveram de ser ultrapassadas. Uma delas foi o sensor LM35,

Page 73: Universidade do Minho Departamento de Engenharia

61

que quando colocado em condições um pouco mais adversas (ex: congelador e

frigorífico) e a sua temperatura baixava de ≈10°C começava a oscilar de forma intensa.

Pensou-se ser do ruído devido ao cabos serem longos, no entanto essa não era a origem

da oscilação. O problema mas sim a necessidade de um filtro passa-baixo, que já foi

explicado e dimensionado no capítulo 4.4.2.

Também a realização da função log e upload criou algumas dificuldades, devido

à quantidade de operações que são necessárias nestas funções, tais como sequências de

leitura e escrita, controlo de espaço de memória, realização de vários logs em

simultâneo e o descarregar de toda esta informação para o utilizador.

Page 74: Universidade do Minho Departamento de Engenharia

62

6. Conclusões

Esta dissertação abordou vários aspectos, resultando num circuito electrónico

capaz de comunicar com vários dispositivos externos e controlar a temperatura numa

bota ortopédica. Os vários aspectos tratam-se de se ter trabalhado com fios têxteis e

aprendido algumas coisas sobre as suas características. Foi também crucial ter-se bons

conhecimentos de programação – neste caso em linguagem C – para que todos os

processos e programas criados funcionassem de forma correcta. Durante este projecto

foi também importante e obrigatório ter conhecimentos sobre electrónica, alguma

prática em relação a montagem e soldadura de componentes, e mais importante ter uma

boa base de conhecimento sobre microprocessadores, pois muito do tempo investido na

tese, foi exclusivamente dedicado a este componente.

Começou-se por investir grande parte do tempo a simular as reacções físicas e

térmicas no interior de uma bota usando o software COMSOL. A tentativa era simular

uma malha térmica a aquecer numa espécie de bota e verificar todas as reacções

existentes neste processo. O passo seguinte foi dado na direcção da escolha dos

componentes que viriam a ser usados, tendo sido confrontados entre si as diferentes

características de cada um, sobressaindo os componentes ideais. Em todas estas

escolhas, um dos parâmetros mais importantes e a ter em conta foi o tamanho reduzido,

pois tratou-se de uma característica importantíssima tendo em conta o espaço reduzido.

A fase onde foi investido maior parte do tempo foi na programação do

microprocessador PIC16F877A, tendo sido estritamente necessário recordar e investigar

assuntos, como programar um PIC, quais os seus registos, qual software usar, etc.

Os problemas com a programação foram constantes, muito devido à quantidade

de variáveis, controlo dos vários processos em simultâneo e alguma falta de prática que

já se fazia notar. Os vários processos referidos são por exemplo controlar o intervalo de

tempo correcto para ler, converter e devolver um valor para o dispositivo, ao mesmo

tempo que faz log e efectua o controlo de temperatura na bota. O controlo de vários

processos ao mesmo tempo levou alguma decepção e por vezes dificuldade em resolver

os problemas que tendiam a surgir. No entanto, agora todas estas operações correm sem

problemas, tornando esta fase de programação numa fase de fulcral para todo o

projecto.

Page 75: Universidade do Minho Departamento de Engenharia

63

Outra fase importante foi a escolha do módulo Bluetooth KC-21, pois tratava-se

de um dispositivo essencial para cumprir com os objectivos deste projecto. Houve duas

situações problemáticas com este dispositivo provocando algum atraso, sendo que uma

delas foi numa fase de soldadura e outra foi já numa fase mais terminal, onde o

dispositivo deixou de funcionar sem grande razão aparente.

A fase de testes decorreu normalmente, no entanto foram detectados alguns

problemas em relação ao log. O log foi uma das tarefas mais complicada, pois implica o

uso de quase todas as funções do microprocessador tais como, timer para controlo do

tempo de log, conversão para obter os respectivos valores, gravação na memória

EEPROM e controlar os endereços preenchidos, comunicação com o Bluetooth quando

necessário descarregar os dados e estruturar os dois bytes para enviar conforme o

formato descrito em cima na Tabela 6.

Concluída a dissertação, verifica-se que o trabalho foi de acordo aos objectivos

estabelecidos, sendo o principal objectivo a regulação da temperatura numa bota

ortopédica.

Após todo o trabalho efectuado, são visíveis várias melhorias e aspectos que

podem tornar o sistema mais funcional e até mais inovador. Como trabalhos futuros

propõem-se a adaptação deste software para comunicar simultaneamente com vários

smartphones e permitir execução no sistema operativo Windows Mobile. Alterar alguns

componentes, tais como o microprocessador e módulo Bluetooth, pois já existe um

microcontrolador que incorpora estes dois dispositivos. As funcionalidades podem

ainda evoluir para inovações mais arrojadas, tais como ser capaz de realizar o

arrefecimento ao invés de apenas aquecer, ler batimentos cardíacos e medir tensão

arterial.

Page 76: Universidade do Minho Departamento de Engenharia

64

7. Bibliografia

[1] Discount-Comfortersets, Amazon.com. Available: http://www.discount-comfortersets.com/sunbeam-navy-heated-blanket/

[2] M. Bellis. History of the Electric Blanket. Available: http://inventors.about.com/od/estartinventions/a/ElectricBlanket.htm

[3] S. D. B. Augustine, MN, US), Augustine, Ryan S. (Minneapolis, MN, US), "HEATING BLANKET," United States Patent, 2008.

[4] Gerbing's Heated Clothing. Available: http://gerbing.com/

[5] A. Mccoy, (Chicago, IL, US), Tijan, Matt (Northville, MI, US) "Induction Heating of Footwear and Apparel," United States Patent, 2007.

[6] A. R. Au, Hoi Ching House, Hoi Lai Estate, Lai Ch, Kowloon, CN), "Electrically heated insoles for footware and remote control heating system for electrical insoles for footware," 2010.

[7] H. Işik and E. Saraçoğlu, "The Design of Thermoelectric Footwear Heating System Via Fuzzy Logic," Journal of Medical Systems, vol. 31, pp. 521-527, 2007.

[8] G. S. Hedge, Mechatronics: Laxmi Publications Pvt Ltd, 2008.

[9] BLUMENTHAL, et al., Should we ban the mercury thermometer ? Discussion paper vol. 85. London, ROYAUME-UNI: Royal Society of Medicine, 1992.

[10] "Sensores de temperatura com base em junções pn - condicionamento do sinal proveniente do LM35DZ," ed, 2000.

[11] J. Fraden, Handbook of Modern Sensors: Physics, Designs, and Applications: Springer, 2010.

[12] H. S. Lee, Thermal Design: Heat Sinks, Thermoelectrics, Heat Pipes, Compact Heat Exchangers, and Solar Cells: John Wiley & Sons, 2010.

[13] J. S. Wilson, Sensor technology handbook: Elsevier, 2005.

[14] H. E. Harris, Extrusion control: machine-process-product: Hanser Gardner Publications, 2004.

Page 77: Universidade do Minho Departamento de Engenharia

65

[15] Introduction to Digital Signal Processing (1998). Available: http://www.scm.tees.ac.uk/users/u0000408/DSP/DSP.htm

[16] A. Visioli, Practical PID control: Springer, 2006.

[17] J. Zhong, "PID Controller Tuning: A Short Tutorial," ed. Purdue University, Mechanical Engineering Department, 2006.

[18] F. Haugen, "Tuning of PID controllers," in Basic Dynamics and Control, ed: TechTeach, 2010.

[19] X. Geng and U. o. I. a. Urbana-Champaign, Design and analysis of pulse-width modulation techniques for spectrum shaping: University of Illinois at Urbana-Champaign, 2007.

[20] T. Hirzel. Arduino. Available: http://www.arduino.cc/en/Tutorial/PWM

[21] Bluetooth. (2011). Bluetooth Basics. Available: http://www.bluetooth.com/Pages/Basics.aspx

[22] E. Alecrim. (2008). Tecnologia Bluetooth. Available: http://www.infowester.com/bluetooth.php

[23] Electrónica.org. (2010). Bluetooth. Available: http://www2.eletronica.org/artigos/eletronica-digital/bluetooth

[24] National Semicondutor, "Precision Centigrade Temperature Sensors," in LM35 Datasheet, ed, Nov 2000.

[25] K. Wirefree, "Bluetooth OEM Module," in KC-21 Datasheet, ed, Jan 2007.

[26] Microchip, "28/40-Pin 8-Bit CMOS FLASH Microcontrollers," in PIC16F87X Datasheet, ed, Jan, 2001.

[27] I. Technologies, "ICP01 - USB Pic Programmer," in ICP01 User Manual, ed, 2009.

[28] F. Chip, "TTL to USB Serial Converter Range of Cables," in TTL-232R Datasheet, ed, Nov, 2010.

[29] PIC Timer Calculator and Source Code Generator. Available: http://eng-serve.com/pic/pic_timer.html

Page 78: Universidade do Minho Departamento de Engenharia

66