Universidade Estadual de CampinasFaculdade de Engenharia Mecânica
Relatório da disciplinaES952 - Trabalho de Graduação II
Autor: Márcio Santos MacielOrientador: Luiz Otávio Saraiva Ferreira
Projeto de acionador termo-pneumático para micro-bomba peristáltica
Campinas2006
Universidade Estadual de CampinasFaculdade de Engenharia Mecânica
Márcio Santos Maciel
Trabalho de Graduação apresentado à Faculdade de Engenharia Mecânica, Universidade Estadual de Campinas, para obtenção do título de bacharel em Engenharia de Controle e Automação, sob a orientação do Prof. Dr. Luiz Otávio Saraiva Ferreira.
Projeto de acionador termo-pneumático para micro-bomba peristáltica
Campinas2006
2
Márcio Santos Maciel
Projeto de acionador termo-pneumático para micro-bomba peristáltica
Trabalho de Graduação apresentado à Faculdade de Engenharia Mecânica, Universidade Estadual de Campinas, para obtenção do título de bacharel em Engenharia de Controle e Automação.06/12/2006
________________________________Prof. Dr. Luiz Otávio Saraiva Ferreira - UNICAMP
________________________________Prof. Dr. Eurípedes G. de O. Nóbrega - UNICAMP
________________________________Prof. Dr. Pablo Siqueira Meirelles - UNICAMP
Campinas2006
3
Agradecimentos
Agradeço imensamente a meu orientador Prof. Luiz Otávio
Saraiva Ferreira pela paciência e atenção.
Agradeço o apoio teórico e prático de Júlio Cesar Fernandes e
Alexey Marques Spíndola.
Agradeço aos professores Eurípedes Nóbrega, Pablo Siqueira
Meirelles e Renato Pavanello por participarem da avaliação
deste trabalho.
4
Resumo
Micro-bombas são elementos de grande importância para manipulação de pequenos
volumes de gás ou fluídos, e por isso, com muitas aplicações em micro-sistemas químicos e
biológicos (Lab-On-a-Chip). Neste projeto, foi projetada, construída e testada a viabilidade de
uma microbomba peristáltica termopneumática a partir da tecnologia de micro-válvulas de
elastômero, já desenvolvida em projeto de iniciação científica anteriormente. Também foi
necessário desenvolver a atuação termopneumática utilizando resistências elétricas e implementar
o sistema de controle em microcontroladores. Este trabalho abre caminho para o desenvolvimento
de sistemas miniaturizados para análises químicas e biológicas com microválvulas e
microbombas a bordo.
5
Sumário
Universidade Estadual de Campinas................................................................................................1
Faculdade de Engenharia Mecânica.................................................................................................1
Relatório da disciplina......................................................................................................................1
ES952 - Trabalho de Graduação II...................................................................................................1
Autor: Márcio Santos Maciel...........................................................................................................1
Orientador: Luiz Otávio Saraiva Ferreira.........................................................................................1
Projeto de acionador termo-pneumático para micro-bomba peristáltica..........................................1
Campinas..........................................................................................................................................1
2006..................................................................................................................................................1
Universidade Estadual de Campinas................................................................................................2
Faculdade de Engenharia Mecânica.................................................................................................2
Márcio Santos Maciel.......................................................................................................................2
Trabalho de Graduação apresentado à Faculdade de Engenharia Mecânica, Universidade Estadual
de Campinas, para obtenção do título de bacharel em Engenharia de Controle e Automação, sob
a orientação do Prof. Dr. Luiz Otávio Saraiva Ferreira....................................................................2
Projeto de acionador termo-pneumático para micro-bomba peristáltica..........................................2
Campinas..........................................................................................................................................2
2006..................................................................................................................................................2
Márcio Santos Maciel.......................................................................................................................3
Projeto de acionador termo-pneumático para micro-bomba peristáltica..........................................3
Trabalho de Graduação apresentado à Faculdade de Engenharia Mecânica, Universidade Estadual
de Campinas, para obtenção do título de bacharel em Engenharia de Controle e Automação.......3
06/12/2006........................................................................................................................................3
________________________________..........................................................................................3
Prof. Dr. Luiz Otávio Saraiva Ferreira - UNICAMP......................................................................3
________________________________..........................................................................................3
Prof. Dr. Eurípedes G. de O. Nóbrega - UNICAMP.......................................................................3
________________________________..........................................................................................3
Prof. Dr. Pablo Siqueira Meirelles - UNICAMP..............................................................................3
6
Campinas..........................................................................................................................................3
2006..................................................................................................................................................3
Agradecimentos................................................................................................................................4
Resumo.............................................................................................................................................5
1.Introdução......................................................................................................................................8
2.Revisão Bibliográfica..................................................................................................................10
3.Materiais e Métodos....................................................................................................................13
4.Resultados....................................................................................................................................33
5.Análise dos Resultados................................................................................................................36
6.Conclusão....................................................................................................................................39
7.Referências..................................................................................................................................41
8.Anexos.........................................................................................................................................43
7
Fig.1) Esquema do canal
1.Introdução
Sistemas micro-fluídicos têm encontrado cada vez mais aplicações em biologia, química,
medicina até exploração espacial. A miniaturização de sistemas de análise química e biológica
pode reduzir quantidades de amostras e reagentes requeridos e muitas vezes permitem ensaios
mais rápidos e com menos intervenção manual. Também permite sistemas portáveis de análise,
assim como substratos descartáveis, que ajudam a evitar contaminações e erros de análise, por
exemplo. Apesar de, naturalmente, os fluídos terem de ser introduzidos nos sistemas
miniaturizados de análise, poucos apresentam geradores de corrente. A maioria precisa de uso de
pipetas ou fonte pneumática externa. O uso restrito de micro-bombas deve-se a necessidade de
combinação satisfatória de custo e desempenho. Justamente com
esse propósito, esse projeto visa o desenvolvimento de bomba
peristáltica a partir da tecnologia de construção de válvulas de
membrana, construída monoliticamente com material
elastomérico, técnicas essas já dominadas pelo laboratório.
A micro-válvula desenvolvida utiliza o conceito de Quake
[1]. Basicamente ela consiste em um canal de fluxo e um canal de controle, construído
transversalmente ao primeiro, separados por uma fina membrana (Fig.1). Quando é aplicada uma
pressão no canal de controle, a membrana é defletida e obstrui a passagem do fluído pelo canal de
fluxo. Acontece que, quando a deflexão ocorre, desloca-se uma certa quantidade de fluído para os
8
dois sentidos do canal de fluxo. Essa característica possibilita uma espécie de movimento
peristáltico utilizando 3 ou mais válvulas dispostas em série e controladas de forma conveniente.
9
2.Revisão Bibliográfica
Laser e Santiago [2] estudaram diversos artigos publicados nos últimos anos,
categorizaram as micro-bombas de acordo com a maneira e meio com que elas produzem fluxo e
pressão (Fig.2), e consideraram as várias categorias de micro-bombas individualmente.
Enfatizaram-se na análise o fluxo volumétrico máximo e a pressão diferencial medidos. Também
consideraram o tamanho de empacotamento total, a relação do tamanho total com o fluxo
produzido, e também alguns parâmetros de operação, como voltagem, freqüência de operação,
potência consumida, e a eficiência termodinâmica. O artigo também constata que bombas com
acionamento termopneumático produzem baixas taxas de fluxo e diferença de pressão, porém têm
baixos custos de produção.
Kwang e Chong [3] fizeram uma revisão de micro-válvulas, na mesma linha do anterior.
Constataram que a atuação termopneumática produz altas forças de acionamento e altas deflexões
de membrana, mas é relativamente lenta e pode ser não compatível com alguns fluídos por causa
da dissipação de calor.
Jacques Goulpeau [4] fez um estudo do de comportamento de micro-bombas peristálticas,
com o objetivo de encontrar parâmetros básicos que otimizem seu funcionamento. Sendo essas
características a pressão de atuação e a freqüência do ciclo. Fez um modelo à base de circuito
elétrico equivalente de uma única válvula para comparar qualitativamente e quantitativamente
com os experimentos. Nos experimentos utilizou uma fonte externa para fornecer a pressão de
atuação. Ele propõe que há uma pressão ótima de atuação (Pop) em que o fluxo é maximizado,
independentemente da freqüência. essa pressão varia com a geometria do canal. A partir do
modelo de circuito elétrico equivalente, sugere que a pressão ótima de atuação é próxima de
10
Pop=1,2Pc, Pc sendo a pressão de fechamento total da válvula. Conclui que a resistência hidráulica
do sistema também influi na freqüência ótima de funcionamento.
Fig.2-Classificação de micro-bombas
Knight e House [5] apresentam um modelo, também baseado em circuito elétrico
equivalente, para a atuação termopneumática. Porém o modelo não é preditivo, mas é muito útil
para melhor ajuste dos parâmetros de projeto. Mostra que para diminuir o tempo de resposta da
atuação e, conseqüentemente, aumentar a velocidade de operação, é necessário uma melhor
dissipação de calor para o ambiente. Para isso, nesse trabalho, a camada suporte da resistência
teve sua espessura reduzida nas proximidades das próprias resistências. Também sugerem que o
11
calor transferido entre válvulas vizinhas não é um limitante para a configuração das válvulas em
série.
12
3.Materiais e Métodos
3.1.Materiais
-A resina escolhida para a construção da válvula é baseada nos monômeros uretana e acrilato, no
nosso caso a resina F5000 fabricada pela MacDermid, usada pela indústria gráfica para
flexografia. A partir de agora nos referiremos a ela por PUA (poli-uretana-acrilato). Os critérios
de sua escolha foram: fácil litografia por ultravioleta, boa razão de aspecto, poder de adesão,
resistência química, facilidade de manipulação, facilidade de remoção, baixo custo, baixa rigidez
(importante para o bom funcionamento da membrana);
-Transparências para impressão a Laser;
-Detergente de uso residencial para revelação das estruturas;
-Filme antiaderente;
-Agulhas e seringas de uso médico-hospitalar;
-Tubos TYGON®;
-Filamento de Tungstênio;
-Resistências SMD;
-Placa PCB;
-Microcontrolador PIC16F877
-Transístores TIP120, potenciômetro 200Ohm, diodo 1N914 e resistências para o circuito
eletrônico de acionamento dos atuadores;
3.2.Equipamentos
13
-A litografia ultravioleta foi feita usando-se duas expositoras de fabricação caseira, construídas
no próprio laboratório. A primeira possui fonte de luz puntiforme por uma lâmpada de 400 W
nominais, que a uma distância de 60 cm fornece uma dose de exposição de 0,95 mW/cm². A
outra possui fonte de luz linear formada por duas lâmpadas fluorescentes de 15 W nominais, que
fornecem UVA e UVB e irradiam um comprimento de onda predominante em torno de 320nm.
Foram utilizadas duas lâminas de vidro fixadas com presilhas para exposição da resina.. A
remoção do polímero foi realizada por imersão do substrato exposto no banho revelador sob
agitação ou sob banho de ultra-som;
-Cuba de ultras-som marca Branson, modelo 1210;
-Micrômetro e wafer de silício, como padrão, para medições dimensionais;
-Uso do software AutoCAD® para criação de máscaras;
-Paquímetro.
3.3.Procedimentos
3.3.1.Modelagem Matemática do Sistema Termopneumático
Para fazer a modelagem matemática do sistema de acionamento termopneumático da
micro-bomba foi usado a técnica de circuito termo-elétrico equivalente. O objetivo é ter uma base
para analisar o desempenho qualitativamente e nortear um melhor dimensionamento do
dispositivo.
14
O primeiro passo para a modelagem é fazer um modelo construtivo aproximado do
dispositivo e após identificar os componentes do modelo elétrico equivalente. A seguir, segue o
esboço inicial do atuador:
1) Resistência elétrica SMD, fonte de calor para o acionamento;
2) Conexões elétricas para alimentação da resistência;
3) Câmera de ar a ser aquecido;
4) Bloco do canal construído de elastômero;
5) Membrana, que será defletida pela pressão resultante do aquecimento da câmera de ar;
6) Placa de PCB, onde serão incluídos os componentes (resistências elétricas, etc), pode ou não
ser recoberta (em ambos os lados) por uma camada de cobre.
No modelo eletro-termo equivalente, a corrente elétrica é interpretada como fluxo de
calor, a diferença de potencial como diferença de temperatura, a resistência elétrica como
resistência térmica, e a capacitância elétrica como capacitância térmica. Assim foram presumidos
os seguintes componentes do circuito equivalente:
26
34
1 5
15
R1
CR
CAR
R3
R5
R2
R4C
BASE
CPAREDES
Sendo:
Resistência térmica equivalente;
Capacitância térmica equivalente;
CR = Capacitância térmica da Resistência elétrica;
CAR = Capacitância do volume de ar, considerando que há apenas o efeito de condução térmica e
sendo um fluído incompressível;
CPAREDES = Capacitância do bloco elastomérico;
CBASE = Capacitância da base, que inclui a placa de PCB e as conexões da resistência, bem como
as possíveis camadas de cobre que possam recobrir a placa;
R1 = Resistência térmica condutiva da resistência-ar;
R2 = Resistência térmica condutiva ar-bloco;
R3 = Resistência térmica convectiva e por radiação do bloco-ambiente;
R4 = Resistência térmica condutiva resistência-base;
R5 = Resistência térmica convectiva e por radiação da base-ambiente.
A resistência térmica do dispositivo funciona como gerador de calor, logo nesse modelo
deve sar interpretada como uma fonte de corrente. A partir dessas configurações, chegou-se ao
seguinte circuito elétrico equivalente:
16
No circuito, além dos componentes já citados anteriormente, nota-se a fonte de corrente à
esquerda; um medidor de corrente e dois de voltagem para análise no osciloscópio, à direita. VR
VAR indicam, respectivamente, a diferença de temperatura em relação ao ambiente da superfície
da resistência e do volume de ar.
Como já dito antes, foi feita uma análise qualitativa da influência desses parâmetros,
analisando como a alteração de cada componente pode afetar o resultado. Para uma boa atuação
da membrana, é desejada alta temperatura em VAR em regime permanente e constante de tempo
baixa para o transiente da temperatura do ar, com o objetivo de garantir alta pressão na câmera e
rapidez de atuação. Por isso, as simulações foram feitas aplicando onda quadrada na fonte de
corrente. Primeiro simulou-se o circuito com todos os componentes tendo valor igual a 1, exceto
CR que foi desconsiderado. Depois foram alterados valores (dividindo por 2) de acordo com que
possíveis mudanças do projeto possam influir nos mesmos.
Os resultados foram os seguintes:
17
-Simulação 1:
Todos os componentes iguais a 1
ζ = 1.8sVARmax = 0.8V
-Simulação 2:
CAR e R1 = 0.5
ζ =1.07s
VARmax = 0.9V
-Simulação 3:
CPAREDES e R2 = 0.5
ζ =1.5s
VARmax = 0.67V
-Simulação 4:
R3 = 0.5
ζ =1.4s
VARmax = 0.67V
-Simulação 5:
CBASE e R5
ζ =1.4s
VARmax = 0.67V
Todas as simulações tiveram comportamentos semelhantes, abaixo segue o resultado da
primeira simulação, sendo o primeiro gráfico a corrente fornecida pela fonte, o segundo a
temperatura na superfície da resistência(VR) e o último a temperatura do ar (VAR):
18
3.3.2.Fotolitografia
Fotolitografia é a técnica usada para transferir cópias de uma máscara para a superfície de
um sólido. É um processo essencialmente 2D, mas quando feita em sucessivas exposições pode
criar estruturas 3D multicamadas bastante complexas.
Neste processo a foto-máscara é o elemento usado para transferir um modelo para um
polímero sensível à luz, chamado fotoresina (photoresist). Usualmente a máscara é constituída
por partes transparente à luz e outras partes opacas. A tonalidade da máscara depende da resina
utilizada. Se a resina for positiva, as partes que foram irradiadas se tornam solúveis e depois são
removidas. O material que fica é a estrutura desejada. Caso seja negativa, ocorre o contrário: a
parte que recebe luz torna-se insolúvel e o restante é removido.
19
Fig.3) Esquema de fechamento da microválvula para canal quadrado. As linhas pontilhadas indicam o
contorno da parte superior do canal a medida em que a pressão aumenta
[1].
Nesse trabalho foi usada a fotolitografia por luz ultravioleta e a fotoresina utilizada é do
tipo negativo, a PUA. Essa resina já foi usada com sucesso em projetos anteriores para fabricação
de camadas espessas (de 0.4 a 3mm) e também para baixas espessuras (até 10 mµ ).
3.3.3.Fabricação das membranas
Porém é conhecido que a presença de oxigênio inibe a sua cura. Quando se expõe uma
camada espessa em contato com o ar atmosférico, as partes inferiores curam normalmente, mas
uma fina camada superior não. Esse fenômeno impossibilita a construção de camadas de baixa
espessura (menores de 0.2mm) quando em contato com a atmosfera.
Para resolver esse problema, usa-se a técnica de revestir uma face das faces de duas
lâminas de vidro com filme antiaderente e colocam-se espaçadores com o tamanho desejado
sobre umas das faces. Após aplicar a resina, a outra lâmina é prensada sobre a primeira, de
maneira que a resina escorre entre elas sem possibilitar a acumulação de ar na resina. Depois as
duas lâminas são fixa por presilhas e exposta em luz UV.
3.3.4.Construção das Camadas
O processo de litografia, como normalmente é
utilizado, produz canais com perfis quadrados. É preferível
que a seção transversal seja semicircular para facilitar o
fechamento do canal e, conseqüentemente diminuir a pressão
20
necessária para atuação da válvula (Fig. 3). Por conta disso foram pesquisados vários processos
para esse objetivo até encontrar-se uma solução viável.
Uma das possibilidades estudadas foi fazer moldes por métodos mecânicos convencionais.
Além das dificuldades de fabricação, a cada novo modelo do canal seria preciso construir um
novo molde, o que fugiria da proposta de prototipagem.
Desenvolveram-se duas técnicas. A primeira foi utilizar um material de sacrifício,
aplicando-o com um gabarito do modelo do canal. O gabarito é feito por litografia profunda, o
que é uma grande vantagem por poder usar a mesma tecnologia de fabricação dos canais e ter
flexibilidade quanto à forma e facilidade de obtenção. O filme assim depositado tem perfil
quadrado, mas depois de aquecido até o ponto de transição vítrea, a tensão superficial o faz
assumir forma arredondada. Após o resfriamento, o material de sacrifício mantém a nova forma,
e a fotoresina é depositada sobre ele e curada por exposição ao UV (Ultravioleta). Removido
material de sacrifício, resta o canal com o perfil arredondado. Um fator importante a ser analisado
é a razão de aspecto (altura/largura) do filete de material de sacrifício aplicado com gabarito, pois
se tiver razão-de-aspecto elevada tenderá a se espalhar excessivamente quando aquecido acima
da temperatura de transição vítrea, resultando em um perfil de canal inadequado, mais largo e
irregular que o desejado, como mostrado na parte direita da Fig. 4.
Fig. 4) Arredondamento de perfil por escoamento e influência da razão de aspecto
21
A segunda técnica consiste em utilizar uma fonte de luz ultravioleta "linear" (uma
lâmpada fluorescente, no caso) em vez da fonte puntual. O canal deveria ser exposto de maneira
cruzada em relação à fonte (o canais ficam limitados a apenas uma direção). Como os feixes de
luz passam por baixo das bordas dos padrões da máscara, formam-se cavidades de perfil
arredondado na amostra (Fig.5). A exposição deve ocorrer nas duas faces, pois caso contrário o
perfil do canal fica triangular. Além disso, é possível controlar-se a profundidade do canal
balanceando-se os tempos de exposição em cada face.
Fig. 5) Influência do tipo de fonte luminosa e o perfil de canal obtido. À direita, uma fonte puntiforme fornece um
perfil quadrado e, à esquerda, fonte linear resulta em perfil arredondado.
3.3.5.Selagem das Camadas
Para uma boa selagem das camadas do dispositivo, uma solução eficiente é a
polimerização sobreposta das camadas, dispensando-se a colagem e conferindo-se um caráter
mais uniforme ao dispositivo. Porém a adesão por colagem utilizando a própria resina também
fornece bons resultados.
Foi necessário pensar uma nova forma de exposição que permitisse lidar com as diferentes
espessuras de camadas, “empilhadas” ou não. A solução foi utilizar duas lâminas de vidro com
espaçadores entre elas da mesma espessura da camada desejada. Além disso, uma lâmina de
22
vidro deve ser coberta com filme antiaderente e a outra deve ser coberta com a máscara
litográfica. Presilhas são usadas para manter as lâminas unidas. Com esse procedimento é
possível fazer camadas com uma grande faixa de espessuras, incluindo as mais finas, em torno de
30 μm, que foram utilizadas para fazer a membrana de atuação.
Quando o modelo da máscara da camada a ser sobreposta abrange o da camada suporte,
não há problemas, pois a resina (não polimerizada) que está nas cavidades da camada suporte não
será curada e, portanto, não alterará a sua forma. Se a máscara não contém o desenho anterior é
preciso um material de sacrifício que preencha as cavidades da camada suporte e impeça seu
preenchimento com a fotoresina.
Optando por fazer as camadas separadamente, pode-se fazer uma espécie de colagem
utilizando a própria resina. Para isso é necessário aplicar uma fina camada da resina na face de
uma das camadas a ser aderida à outra, colocar as camadas em contato, e em seguida expô-las em
luz UV.
3.3.6.Interconexões
Para comunicação dos canais com o meio externo foram utilizadas agulhas de seringas de
injeção e tubos de TYGON®. Estes últimos se mostraram mais aplicáveis pois mostraram maior
adesão. As agulhas, por serem muito rígidas, acabam rompendo a resina. Para vedação usou-se
com sucesso a própria fotoresina.
3.3.7.Projeto, construção do protótipo exploratório
23
O projeto do atuador partiu de alguns preceitos construtivos. A primeira delas é que seria
usado um substrato feito de placa de circuito impresso, e depois seriam outras camadas por
litografia da resina poli-uretana-acrilato (PUA), que é do tipo negativa. À princípio, a fonte de
calor seria implementada utilizando resistência SMD.
O intuito de se utilizar o substrato de placa de circuito interno é, além da função de
sustentação, aproveitar a facilidade de se fazer as conexões elétricas e também eventualmente
promover o escoamento de calor, ambos utilizando o recobrimento de cobre da placa. As placas
foram feitas após corte, transferência do padrão de “trilhas” desejado, corrosão em solução
apropriada, e limpeza. O atuador foi projetado para ocupar uma área de 1cm x 1cm, mas as placas
foram cortadas de tamanho maior pra facilitar a manipulação. Em seguida foi soldada uma
resistência SMD no local onde deve ficar a câmara de atuação. As resistências utilizadas têm
dimensões 3,10 x 1,55 x 0,55 mm. Segue-se abaixo a figura das placas construídas já contendo as
resistências:
O próximo passo é fazer as camadas elastômero por litografia. Esse dispositivo de teste é
constituído de três níveis: a câmara de atuação, membrana, e sustentação da membrana. Foram
feitas duas espessuras para a câmara de atuação, uma de aproximadamente 1mm, para minimizar
o volume de ar, e outra de 2mm, para evitar contato da membrana com a resistência e com isso
saber se a pegajosidade da membrana tem efeito importante. Essa camada é litografada
diretamente sobre a placa de circuito impresso. A desenho da máscara deve garantir o espaço da
1
Fig.6). Placa de PCB, já feitas as ligações elétricas e soldadas as
24
câmara de ar e resistência elétrica, 4mm x 2mm, e a área para serem soldados os fios de
alimentação da resistência. A máscara feita por impressão de transparência é colocada sobre uma
lâmina de vidro e depois as mesmas são cobertas por um filme antiaderente. A seguir é colocado
um espaçador para garantir a espessura desejada da camada, espalha-se a resina sobre a placa de
PCB e sobrepõe-se a lâmina de vidro, depois o conjunto é exposto em luz UV para cura da resina.
Após isso a superfície é lavada em água e detergente para remoção da resina não polimerizada,
também é usado um banho de ultra-som. Retira-se a também a parte polimerizada que não
interessa à montagem (fora da área de 1cm2 do atuador). A seguir as fotos do conjunto pronto
para ser exposto e da camada após remoção da resina:
Fig.7)Conjunto antes da exposição em UV para formação da camada da
câmara de ar. (1) espaçador, (2) máscara.
1
2
25
A membrana e a camada de sustentação foram feitas sobrepostas, porém separadas do
conjunto obtido até então. A membrana foi feita conforme processo já descrito, com uma
espessura de 30 mµ . A camada de sustentação tem espessura de 1mm e possui o mesmo padrão
da camada da câmara de ar. Também é feita com os mesmo procedimentos, porém agora sobre a
membrana. Abaixo a foto do conjunto obtido:
Para selagem das camadas, espalhou-se uma fina camada de resina sobre a camada da
câmara de ar, tomando-se cuidado para não atingir a resistência. Em seguida a camada da
membrana foi sobreposta e expôs-se o conjunto em UV. Por fim, soldaram-se os fios para
Fig.8) Camada da câmara de ar já revelada.
Fig.9)Membrana e sua camada de sustentação.
26
alimentação da membrana. Segue-se a figura dos primeiros conjuntos prontos para serem
testados:
Outros protótipos, usando filamento de tungstênio de lâmpada incandescente como fonte
de calor, também foram construídos. O processo de fabricação foi o mesmo, a exceção da placa
de PCB, que não era coberta pela camada de cobre. O segmento de resistência foi soldado em fio
de cobre e depois fixado à placa através de furos passantes. Sabe-se que o tungstênio se oxida
facilmente quando se eleva sua temperatura. Assim, a voltagem só foi aplicada quando a câmara
de ar já estava selada pela membrana. Como a volume de ar é pequeno, o filamento sofre pequena
oxidação até que todo o oxigênio da câmara é consumido. Abaixo, foto do dispositivo com
filamento de tungstênio:
Fig.10) Dispositivos já prontos.
27
3.3.8.Software de Controle
Será descrita a seguir a lógica do controlador do acionamento da bomba. Considerou-se
que o controlador receberia os comandos pela porta serial, utilizaria 3 saídas digitais para
acionamento de LEDs para sinalização de quais atuadores estão ativos, e também 3 saídas digitais
para o acionamento dos atuadores. Haverá um circuito eletrônico de potência para alimentar as
resistências.
Os comandos a serem enviados serão:
- ‘TXXXX’: aciona a máquina de estado que faz a seqüência de acionamento de
bombeamento, sendo ‘XXXX’ dígitos que determinem o tempo que o controlador passará em
cada estado;
- ‘D’: desativa todos os atuadores;
Fig.11) Dispositivo feito com filamento de tungstênio como fonte de calor.
28
- ‘AXXX’: estabelece quais acionadores devem ficar ativos até outro comando posterior, os
caracteres ‘XXX’ definem o estado de cada atuador na ordem estabelecida, se ‘0’ será
desativado, e ativado caso contrário.
A lógica de acionamento dos atuadores quando ocorre bombeamento é descrita no
quadro a seguir, sendo V a representação da quantidade de volume deslocada por cada
atuador quando ativado:
Do esquema acima, podemos notar que, a cada ciclo inteiro, é bombeado duas vezes o
volume deslocado pelos atuadores quando ativados ou desativados.
Á partir dessas considerações, chegou-se à seguinte máquina de estado para o
funcionamento do sistema:
½V-½V
1V
1V
1V
½V -½V
Estado A => Saída ‘000’
Estado B => Saída ‘100’
Estado C => Saída ‘110’
Estado D => Saída ‘011’
Estado E => Saída ‘001’
Estado A => Saída ‘000’
Sentido de fluxo
1V
Fluxode
Entrada
Fluxode
Saída
Total2V 2V
29
Para melhor compreensão do sistema, também foi identificado o seguinte diagrama de
partição:
Também o diagrama de interação entre blocos:
‘D’
‘AXXX’
X00
‘T****’‘AXXX’
A00
B10
C11
D01
E00
T
T
T
T
T
YXXX
‘D’
‘T****’
‘T****’
‘D’
‘AXXX’
Temporização Saídas Comunicação Serial
Eletrônica de Potência
LEDs
Controlador
Controle
30
Seguem no Anexo I os fluxogramas para o sistema. No Anexo II, o código C para
implementação no controlador PIC 16F877.
3.3.9.Eletrônica para Atuação das Resistências
Como o controlador consegue fornecer em suas saídas digitais a 5V uma corrente máxima
de 0,125 A, foi necessário para atuação um circuito de eletrônica de potência para alimentação
dos atuadores. Como o controlador tem voltagem de operação igual a 5V, adotou-se a mesma
tensão para o circuito de potência. A determinação da potência a ser entregue na resistência será
ajustada manualmente através de potenciômetros. O circuito construído para cada atuador foi o
seguinte:
Comunicação Serial
Controle
Temporização
Eletrônica de Potência
LEDs
Atualiza
Comandos
31
Sendo Vc a conexão que liga com a saída do controlador, quando seu estado é de sinal de
nível baixo, ela drena a corrente, impedindo de haver condução ba base do transistor do tipo
darlington TIP120, e conseqüentemente não há corrente no resistor do atuador R. Porém, quando
o sinal da conexão é de sinal alto (5V), o diodo 1N914 é polarizado inversamente e a corrente
passa pela base do par darlington, logo a corrente será amplificada e alimentará o resistor R do
atuador.
TIP120
1N914 R
1kΩ
1kΩ
220Ω
Vc
Vcc
GND
32
4.Resultados
4.1.Construção dos Canais de Perfil arredondado
Foram feitos canais com ambas as técnicas e os resultados chegaram ao objetivo final,
como mostra a Fig.12, onde podemos visualizar melhor o resultado de cada técnica: exposição
com fonte puntiforme e camada de sacrifício e exposição em fonte linear.
Fig.12) À esq.: perfil de canal obtido com fonte puntiforme e material de sacrifício (2 mm de largura e 0,42mm de
altura) e, à dir, pela exposição com fonte linear (2 mm de largura e 0,75 mm de altura).
4.2.Teste do Protótipo Exploratório do Atuador Termopneumático
A utilização de resistências SMD como fonte de calor foi implementada pois apresentava
vantagens como tamanho apropriado e facilidade de montagem. Mesmo a potência nominal, de
0.125W, seria interessante, pois essa é a potência máxima que o microcontrolador utilizado
(PIC16F877) pode fornecer através de suas saídas digitais, o que facilitaria muito na construção
do circuito de controle da bomba, pois dispensaria multiplicadores de potência. Porém quando os
dispositivos foram testados aplicando-se a tensão de 5 V necessária para garantir a potência
nominal da resistência, não houve deflexão perceptível da membrana.
33
Foi por conta disso que foi construído o dispositivo com filamento de tungstênio.
Aplicando-se uma potência de 1,5W foi possível observar-se a deflexão da membrana.
Dobrando-se a tensão, e portanto quadruplicando-se a potência, a membrana não resistiu e
queimou-se. Foram previstos testes com vibrômetro a laser para medição da deflexão da
membrana no tempo, de modo a identificar a deflexão máxima e a constante de tempo da mesma,
porém não foi possível realizá-los devido a problemas técnicos com o vibrômetro.
4.3.Construção do Protótipo da Microbomba
A microbomba é um conjunto de três atuadores termopneumáticos, semelhantes ao
apresentado no item anterior, dispostos ao longo de um canal de trabalho. O protótipo construído
tem dimensões 21,7 x 10 x 5 mm3 (sem os tubos de conexão, pinos de conexão elétrica, e a placa
de PCB). A membrana tem aproximadamente 0,03 mm, e o canal de fluxo tem 1,9 mm de largura
e aproximadamente 0,2 mm de altura na seção transversal. As dimensões do volume de ar dos
atuadores são 4 x 1,9 x 1,83 mm3. A Fig.13 mostra fotos tiradas do dispositivo.
Fig.13: Protótipo construído, dimensões 21,7 x 10 x 5 mm3.
34
4.4.Teste do Protótipo da Microbomba
Para o protótipo realizar o bombeamento, é necessário que os atuadores sejam capazes de
selar o canal de trabalho, isto é, fechar completamente cada microválvula. Com o objetivo de
checar essa condição, foi montada uma bancada de testes onde é provocado um fluxo de água no
canal de trabalho. A configuração utilizada (Fig.14) fornece uma contra-pressão no canal de
fluxo de 0.005 bar, que corresponde à altura do reservatório (H) estabelecida. Logo em seguida,
foram aplicadas tensões em cada uma das resistências com o intuito de verificar com que
potência cada um dos atuadores interromperia o fluxo no canal. Simultaneamente foi observado o
valor da corrente, pois como há grande variação de temperatura do filamento de tungstênio, sua
resistência também sofre grande variação. Foi verificado que a potência de atuação ficou próxima
de 1W para os três canais (0,90 W, 1,02 W e 1,13 W).
Neste caso também houve degradação das membranas devido ao calor gerado pelos
aquecedores, de forma que foi possível apenas demonstrar-se o funcionamento individual dos
atuadores termopneumáticos, não se chegando a testar o funcionamento do conjunto completo
que forma a microbomba.
35
Reservatórios
H
Bomba
Fig.14: Esquema do sistema utilizado no teste da válvula
5.Análise dos Resultados
5.1.Canais arredondados
As duas técnicas utilizadas trouxeram resultados satisfatórios. Para a construção dos
protótipos porém, foi utilizado o método por exposição em fonte linear, por requerer menos
etapas como de limpeza, e portanto simplificando a construção dos canais em relação à técnica de
exposição em fonte puntiforme e camada de sacrifício.
5.2.Microfabricação de membranas
A técnica desenvolvida possibilita a obtenção de membranas de até 10 mµ de espessura,
porém foram utilizadas nos protótipos membranas de 30 mµ , pois valores inferiores dificultam
muito sua manipulação.
5.3.Modelo matemático por circuito equivalente
Interpretando as simulações, pode-se concluir que a simulação 2 foi a que apresentou
resultados melhores, pois foi a que causou maior queda na constante de tempo e a única que
causou aumento de VARmax. Dessa forma, é desejável no projeto que CAR e R1 sejam o menor
possível, ou seja, o volume de ar da câmera deve ser o menor possível, como já era esperado.
As simulações 3, 4 e 5 mostram que, facilitando-se a dispersão do calor para o ambiente,
pode-se diminuir a constante do tempo, porém também diminui VARmax. Portanto o ajuste de
parâmetros vai depender dos resultados experimentais. Por exemplo, se houver uma boa pressão
36
de atuação, mas a constante de tempo estiver alta, muda–se as dimensões para facilitar o
escoamento de calor, e vice-versa. A alteração que é menos efetiva para esse fim é a mudança de
CPAREDES e R2, pois é desejável uma baixa espessura de membrana para facilitar a sua deflexão.
Por conta disso o calor tende a ser escoado predominantemente pela própria membrana ao invés
das paredes laterais. Uma possibilidade para facilitar o fluxo de calor para o ambiente é deixar
uma camada de cobre nas faces da placa de circuito impresso, ou aumentar sua área.
A partir dessas considerações foi possível direcionar melhor os parâmetros do projeto do
atuador e fazer ajustes para obter comportamento mais desejável.
5.4.Atuação com resistores SMD e Filamento de Tungstênio
Como o resistor SMD fica em contato com o substrato, estima-se que a perda de calor
pelo substrato foi muito elevada, e por isso seria necessária uma potência maior que a potência
nominal do dispositivo para funcionamento do atuador. A atuação por filamento de tungstênio
foi bem sucedida porque, além do fato da potência dissipada ser maior, filamento tem forma
espiral, assim tem menos contato com a superfície do substrato e libera melhor o calor para o
volume de ar, facilitando a atuação (Fig.15).
Membrana
Resistência
Substrato
Fig.15) Ilustração que mostra a diferença entre a resistência em contato com o substrato e a resistência suspensa dentro do volume do ar, que possibilita melhor aproveitamento da
energia dissipada para o volume de ar.
37
5.5.Protótipo da microbomba
Cada um dos atuadores termopneumáticos da microbomba, individualmente, foi capaz de
impedir o fluxo pelo canal, caracterizando um funcionamento de válvula, o que demonstra sua
viabilidade como bomba peristáltica. Porém não foi possível checar esse comportamento, pois
houve degradação da membrana devido ao calor durante os testes.
5.6.Sistema de controle microcontrolado
Foi aprovado nos testes funcionais mas não chegou a ser conectado ao protótipo da
microbomba, pois esta não foi aprovada nos testes funcionais.
5.7.Circuito eletrônico de potência
Foi projetado mas não chegou a ser implementado, pois a microbomba não foi aprovada
nos testes funcionais.
38
6.Conclusão
Foram feitos estudos preliminares para construção de uma microbomba peristáltica com
acionamento termopneumático. Utilizou-se na sua construção a resina poliuretana-acrilato, que
tem boas características para microfabricação. Desenvolveu-se um método simples e eficaz para
fazer membranas tão finas quanto 30 mµ . O processo de microfabricação desenvolvido mostrou-
se satisfatório para a produção de dispositivos multi-camandas com canais arredondados de
elastômero sem vazamentos entre camadas, possibilitando assim a fabricação de sistemas
microfluídicos monolíticos.
Foram testados dois tipos de atuador térmico para deflexão das membranas, à base de
resistores SMD e de fios de tungstênio. Um protótipo de microbomba foi construído. A atuação
termopneumática mostrou-se viável, sendo necessário em torno de 1W para que cada um dos
atuadores selasse o canal de fluxo. A degradação das membranas impossibilitou o teste de
bombeamento, mas ficou demonstrado que as três válvulas que compõem a bomba funcionaram
individualmente. Um código de controle para o dispositivo foi desenvolvido e testado no
controlador PIC16F877 com sucesso. Sugeriu-se um circuito eletrônico de potência para fornecer
a potência necessária aos atuadores e ser comandado pelo controlador.
Ficou assim demonstrada a viabilidade de microfabricação de uma microbomba
peristáltica de elastômero à base da resina poliuretana-acrilato com acionamento
termopneumático.
No próximo item serão apresentadas sugestões de futuros trabalhos visando superar os
problemas relatados.
39
6.1.Futuros Trabalhos
Sugere-se o desenvolvimento de um método mais eficaz, com maior repetibilidade, para
construção das resistências dos atuadores, onde as resistências devem ficar afastadas do substrato,
para melhorar a transferência de calor para o volume de ar, e também fora de contato com a
membrana, para evitar a degradação da mesma. É importante também se encontrar uma solução
para eliminar a pegajosidade da resina após a cura, pois o fato da membrana aderir nas paredes do
canal pode prejudicar o desempenho da bomba.
Sugere-se ainda a realização de uma modelagem quantitativa do dispositivo, visando seu
dimensionamento no projeto de sistemas microfluídicos.
40
7.Referências
1. MARC A. UNGER, HOU-PU CHOU, TODD THORSEN, AXEL SCHERERr and STEPEHN
R. QUAKE, “Monolithic Microfabricated Valves and Pumps by Multilayer Soft
Lithography”, SCIENCE, Vol. 288, pp.113-116, 7 April 2000.
2. D. J. Laser and J. G. Santiago, “A Review of Micropumps”, Journal of Micromechanics and
Microengineering, Vol. 14, R35-R64, 19 April 2004.
3. Kwang W Oh1, and Chong H Ahn, “A Review of Microvalves”, Journal of Micromechanics
and Microengineering, Vol. 16, R13-R39, 24 March 2006.
4. Jacques Goulpeau, “Experimental study and modeling of polydimethylsiloxane
peristaltic micropumps”, Journal of Applied Physics, 98, 044914 (2005),26 August 2005.
5. M. Knight, J. House, “Design, fabrication, and test of a peristaltic micropump”,
Microsystem Technologies, Vol. 10(2004), 426-431, 12 November 2003.
6. JÚLIO C. B. FERNADES; Relatório Final do PD-PAÍS referente ao processo FAPESP
01/06262-0: “Desenvolvimento de sistemas de micro-fluídica para associação com
microsensores químicos visando a aplicação em análises clínicas in vitro”, agosto de 2003.
7. Júlio Cesar B. Fernandes and Luiz Otávio Ferreira, “Manufacturing of Miniature Fluidic
Modules for Lab-On-a-Chip using UA Photoresin from Flexografic Platemaking Process”,
J. Bras. Chem. Soc., Published on the Web: April 28, 2006,
http://jbcs.sbq.org.br/online/fpapers/edicao.php.
41
12. Márcio Santos Maciel; Relatório Final de Iniciação Científica referente ao processo FAPESP
03/12454-4: “Projeto, Construção e Teste de Microválvula de Elastômero”, maio de 2006.
42
8.Anexos
Anexo I: Fluxogramas para o código de controle implementado
interrupção()
FIM
T0IF
TMR0 = 250
S
N
T0IF = 0
comando()
bombeamento()
43
= 0
STT_CMD
CTG_CMD--
STT_CMD_1 STT_CMD_2 STT_CMD_3
STT_CMD_4 STT_CMD_5 STT_CMD_6 STT_CMD_7 STT_CMD_8
comando()
1 2 3 4 5 6 7 8
CTG_CMD = CTE
CHAR_RX= RECEBE()
= 0
S
N
N
S
default
FIM
STT_CMD = CTE
44
STT_CMD_1
CHAR_RX
SAIDAS=’000’
STT_BOMBA=0
STT_CMD=2 SAIDAS=’000’
STT_BOMBA=0
STT_CMD = 6
default
‘D’ ‘T’ ‘A’
FIM
STT_CMD_3
isdigit(CHAR_RX
STT_CMD=1 VALOR[1]=CHAR_RX
STT_CMD = 4
SN
FIM
transmite(‘E’)=0
STT_CMD_2
isdigit(CHAR_RX
STT_CMD=1 VALOR[0]=CHAR_RX
STT_CMD = 3
SN
FIM
transmite(‘E’)=0
45
STT_CMD_5
isdigit(CHAR_RX
STT_CMD=1 VALOR[3]=CHAR_RX
STT_CMD = 1
SN
FIM
PERIODO=atoi(VALOR)
CTG_PRD=0
STT_BOMBA=1
transmite(‘E’)=0
STT_CMD_4
isdigit(CHAR_RX
STT_CMD=1 VALOR[2]=CHAR_RX
STT_CMD = 5
SN
FIM
transmite(‘E’)=0
46
STT_CMD_6
CHAR_RX == ’0’
STT_CMD = 7
SN
FIM
SAIDAS[1]=1
STT_CMD_7
CHAR_RX == ’0’
STT_CMD = 8
SN
FIM
SAIDAS[2]=1
STT_CMD_8
CHAR_RX == ’0’
STT_CMD = 1
SN
FIM
SAIDAS[3]=1
47
SAIDAS=’000’
STT_BOMBA=2
default
1
bombeamento()
STT_BOMBAFIM
SAIDAS=’100’
STT_BOMBA=3
2
SAIDAS=’110’
STT_BOMBA=4
3
SAIDAS=’011’
STT_BOMBA=5
4
SAIDAS=’001’
STT_BOMBA=1
5
CTG_PRD = 0
S
N
CTG_PRD = PERIODOCTG_PRD - -
48
Anexo II: Código do sistema para o controlador PIC16F877
#include <io16f877a.h>//__set_configuration_word( DEBUG_OFF & XT_OSC & CP_OFF & WDT_OFF & BODEN_ON & PWRTE_ON & LVP_OFF & CPD_OFF )// Obs: se não quiser depurar o programa, use DEBUG_OFF.#include <stdlib.h> // Definição das funções padrão do ANSI C#include <inpic.h> // Definição das funções intrínsecas do compilador
char i; // Auxiliar;//char COMANDO; // Armazena o comando recebido da serialchar VALOR[4]; // String que armazena o valor recebido pela serialchar CHAR_RX; // Armazena caracter vindo da conexao serial
// Estados:char STT_BOMBA, STT_CMD;
char AUX;
// Contagens:int CTG_PRD; // contagem do tempo do períodoint PERIODO; // períodochar CTG_CMD; // contagem do tempo do período
// Definição dos canais mapeados no conector de expansão do kit MODULO2 da MOSAICO#define CANAL_A RE2 // Canal A mapeado no pino 2 de PORTE#define CANAL_B RA2 // Canal B mapeado no pino 2 de PORTE#define CANAL_C RC2 // Canal C mapeado no pino 2 de PORTE
/* Atribui nomes aos pinos das portas */#define TXFLAG TXIF /* Flag de esvaziamento de TXREG */#define RXFLAG RCIF /* Flag de chegada de byte pela serial */
//*****************************************************************************/* Função que recebe caractere pela serial *//* Não tem argumento de entrada, e o argumento de saida é caractere ASCII *//* recebido ou o número 0 em caso de nenhum caractere recebido *///-----------------------------------------------------------------------------char recebe(void){ if (OERR == 1 | FERR == 1) { CREN = 0; CREN = 1;// return 0;
49
} if (RXFLAG == 0) return 0; return RCREG;}
//*****************************************************************************/* Função que transmite caractere pela serial *//* O argumento de entrada é o caractere a ser transmitido. *//* Não tem argumento de saida. *///-----------------------------------------------------------------------------void transmite (char DADO_TX){
while (TXFLAG == 0) {};TXREG = DADO_TX;
}
//*****************************************************************************/* Função que controla estados de bombeamento *//* Não tem argumento de entrada e de saida. *///-----------------------------------------------------------------------------void bombeamento(void){ if(CTG_PRD-- == 0){ CTG_PRD = PERIODO; switch(STT_BOMBA){ case(1): PORTB=0x00; CANAL_A=0; CANAL_B=0; CANAL_C=0; STT_BOMBA = 2; break; case(2): PORTB=0x01; CANAL_A=1; CANAL_B=0; CANAL_C=0; STT_BOMBA = 3; break; case(3): PORTB=0x03; CANAL_A=1; CANAL_B=1; CANAL_C=0; STT_BOMBA = 4; break; case(4): PORTB=0x06;
50
CANAL_A=0; CANAL_B=1; CANAL_C=1; STT_BOMBA = 5; break; case(5): PORTB=0x04; CANAL_A=0; CANAL_B=0; CANAL_C=1; STT_BOMBA = 1; break; default: break; } }}
//*****************************************************************************/* Função que interpreta comandos *///-----------------------------------------------------------------------------void comando(void){ // Inicio da Máquina de Estados interpretadora de comandos. if(CTG_CMD-- == 0){ CTG_CMD=100; // Leitura de comandos a cada 100ms. CHAR_RX = recebe (); // Lê caractere na porta serial if(CHAR_RX!=0){ switch (STT_CMD) { case (1): /* ESTADO 1: identifica comandos, se 'D'ou 'A', desativa canais */ switch(CHAR_RX){ case('D'): // desativa todos os canais PORTB=0x00; CANAL_A=0; CANAL_B=0; CANAL_C=0; STT_BOMBA=0; // desativa os stados de bombeamento break; case('T'): STT_CMD=2; break; case('A'): PORTB=0x00; // desativa todos os canais CANAL_A=0; CANAL_B=0; CANAL_C=0; STT_CMD=6; STT_BOMBA=0; // desativa os stados de bombeamento
51
break; default: break; } break; case (2): /* ESTADO 2: espera chegar o primeiro digito do periodo */ if(isdigit(CHAR_RX)){ VALOR[0]=CHAR_RX; STT_CMD = 3; }else{ // se nao, aborta comando e envia erro ('E') STT_CMD = 1; // reinicia aquisicao de comandos transmite('E'); } break; case (3): /* ESTADO 3: espera chegar o segundo digito do periodo */ if(isdigit(CHAR_RX)){ VALOR[1]=CHAR_RX; STT_CMD = 4; }else{ // se nao, aborta comando e envia erro ('E') STT_CMD = 1; // reinicia aquisicao de comandos transmite('E'); } break; case (4): /* ESTADO 4: espera chegar o terceiro digito do periodo */ if(isdigit(CHAR_RX)){ VALOR[2]=CHAR_RX; STT_CMD = 5; }else{ // se nao, aborta comando e envia erro ('E') STT_CMD = 1; // reinicia aquisicao de comandos transmite('E'); } break; case (5): /* ESTADO 5: espera chegar o quarto digito do periodo, e calcula PERIODO */ if(isdigit(CHAR_RX)){ VALOR[3]=CHAR_RX; PERIODO=atoi(VALOR); STT_CMD = 1; // reinicia aquisicao de comandos CTG_PRD = 0; // contagem do periodo igual a 0 STT_BOMBA=1; // inicia estado de bombeamento }else{ // se nao, aborta comando e envia erro ('E') STT_CMD = 1; // reinicia aquisicao de comandos transmite('E'); } STT_CMD = 1; break; case (6): /* ESTADO 6: se valor diferende de '0', ativa CANAL_A */
52
if(CHAR_RX!='0'){ CANAL_A=1; PORTB = PORTB | 0x01; // ativa primeiro LED } STT_CMD = 7; break; case (7): /* ESTADO 6: se valor diferende de '0', ativa CANAL_B */ if(CHAR_RX!='0'){ CANAL_B=1; PORTB = PORTB | 0x02; // ativa segundo LED// PORTB = 0x02; // ativa segundo LED } STT_CMD = 8; break; case (8): /* ESTADO 6: se valor diferende de '0', ativa CANAL_C */ if(CHAR_RX!='0'){ CANAL_C=1; PORTB = PORTB | 0x04; // ativa terceiro LED// PORTB = 0x04; // ativa segundo LED } STT_CMD = 1; // reinicia aquisicao de comandos break; default: STT_CMD = 1; break; } } }}
/* ROTINA DE SERVIÇO DA INTERRUPCÃO DO TIMER0 Esta rotina distribui o tempo do processador entre os processos Como todos os processos são chamados a cada interrupção, esta rotina é chamada de Executor Cíclico */#pragma vector=0x04extern __interrupt void executor_ciclico(void){ if (T0IF) { // Se o TIMER0 gerou um pedido de interrupção // Rotina de serviço da interrupção // TIMER0 interrompe a cada 5 ms TMR0 = -250; // 4us * 250 = 1 ms @ 4MHz // Prescaler = 4 (001) T0IF = 0; // Zera flag de interrupção do TIMER0
comando(); bombeamento(); }
53
} // Fim da rotina de serviço da interrupção do TIMER0
//Programa Principal:void main(void){ // Configurações Iniciais: // Configuração dos LEDs TRISB = 0x00; /* Pinos 0 a 7 do PORTB configurados como saídas: Display Select */
// Configuração das Saídas para a eletronica de potencia TRISE = 0x00; /* Pino 2 (canal A) do conector de espansão configurado como saída. Bit 2=0 */ TRISA = 0xFB; /* Pino 4 (canal B) do conector de expansão configurado como saida. Bit 2=0 */ TRISC = 0xC1; /* Pino 8 (canal C) do conector de expansão configurado como saida. Bits 2=0 */
// Estados iniciais: STT_BOMBA=0; STT_CMD=1; PORTB=0x00; CANAL_A=0; CANAL_B=0; CANAL_C=0; CTG_CMD=100; CTG_PRD=100; PERIODO=100;
//OPTION_REG = OPTION_REG && 0xD1 // PRESCALER = (4/Fosc)*4 = 4us // Inicializa o TIMER0 OPTION = 0xD1; // Bit 7, RBPU: 1=PORTB pull-ups disabled
// Bit 6, INTEDG: 1=Interrupt on rising edge of INT pin// Bit 5, T0CS: 0=Internal instruction cycle clock// Bit 4, T0SE: 1=Increment on high-to-low transition on
T0CKl pin// Bit 3, PSA: 0=Prescaler assignetd to the TIMER0
module// Bits 2-0. PS2:PS0: Prescaller Rate Selection Bits: = 1:4
TMR0 = -250; // Atribui valor inicial do TIMER0 tal que // o atrazo total seja 4us * 250 = 1 ms
// para um clock de 4 MHz // Inicializa as interrupções T0IE = 1; // Habilita interrupções do TIMER0 __enable_interrupt(); // Habilitação global de interrupções
/* Inicialização da porta serial */ TXSTA = 0x26; //0b.0010.0110 = Modo assíncrono 8 bits SPBRG = 0x19;
54
RCSTA = 0x90; //0b.1001.0000 = Habilita a transmissão serial TXIE = 0; //Desabilita interrupção da transm. serial. RCIE = 0; //Desabilita interrupção da recep. serial.
//Laço Principal: while (1){ }}
55