O controlador embarcado será configurado de acordo com os parâmetros do controlador adequado selecionado pelo Simulink. Vale lembrar que todo o processo de identificação da planta e escolha do controlador mais adequado será realizado no computador (não embarcado).
Inicialmente foi montado um projeto com o controlador P16F877A no software de simulação Proteus, tendo como objetivo principal o aprendizado sobre o funcionamento do respectivo PIC. A Figura 4.28 mostra a simulação montada e a Figura 4.26 mostra a saída do osciloscópio. Os parâmetros do ganho e atrasos, na Figura 4.36, mostram a mesma variável (A e t), mas possuem valores distintos.
Após feita a simulação no Proteus, foi inicializada a programação do PIC real, com a utilização do software MikroC Pro, e da sua comunicação RS-232 com o Simulink/Matlab. O processo foi dividido em duas etapas: a do Matlab e a do PIC.
72
Figura 4.28. Simulação feita no Proteus.
Figura 4.29. Saída do osciloscópio da simulação do Proteus.
4.1.4.1 Programação no Matlab
A primeira etapa foi reajustar o diagrama de blocos para receber e enviar informações da porta serial. O diagrama de blocos da Figura 4.30 mostra o bloco “MATLAB Function” no lugar do bloco PID da Figura 4.17-Diagrama de blocos do sistema proposto., esse bloco chama a função do Quadro I. A Figura 4.31 mostra o mesmo diagrama utilizando um preditor de Smith). Os blocos Abrir Porta e Fechar Porta (Quadro II) tem um callback para início e fim do programa respectivamente, abrindo e fechando a conexão com a porta RS-232. A taxa de transmissão de dados utilizada foi de 19.200 bps.
73
Figura 4.30. Diagrama de blocos com a função de comunicação com a porta serial sem preditor.
Figura 4.31. Diagrama de blocos com a função de comunicação com a porta serial com preditor de Smith.
Quadro I. Parte do código de comunicação do Simulink com o PIC via RS-232.
function u= conexaoPIC(erro) cont=0; tic global porta if(erro>0) sinal=1; else sinal=0; erro=-erro; end while(1) fprintf(porta,char(sinal)); fprintf(porta,char(erro)); u=fscanf(porta); u=double(u);
if(isempty(u)~=1 && size((u),2)>50)
break;
74 A flag “sinal” é usada para informar se o número é negativo ou positivo.
Quadro II. Códigos para abrir e fechar a conexão com a porta.
4.1.4.2 Programação no PIC
Na segunda etapa foi utilizado o software MikroC Pro para programar o PID no PIC P16F877A (Figura 4.32). Foi utilizado um código PID simples e funções para receber e enviar dados via a porta serial (Quadro III). Após a compilação do código, o mesmo encontra- se pronto para ser enviado ao PIC com o software WinPic.
Figura 4.32. PIC P16F877A utilizado no projeto.
Figura 4.33. WinPic, usado para carregar o PIC com o código compilado.
global porta porta =
serial('COM1','baudrate',19200); fopen(porta)
clear erro;
global porta fclose(porta)
75
Quadro III. Implementação do PID no software MikroC Pro.
4.1.4.3 Resultados obtidos
O modelo utilizado abaixo foi o do paciente 4 (Tabela 4.3), com os seguintes parâmetros: , , , e Com a identificação feita da saída com ruído, os parâmetros encontrados e atribuídos a planta foram: ,
, e . Os parâmetros do controlador selecionado foram:
, , =0, portanto esses parâmetros foram passados para o código do
PIC (Quadro III). A Figura 4.34 mostra a saída da planta com o controlador no PIC e com o controlador no Simulink. Foi usado preditor de Smith nos dois casos e um ruído branco de 4 mmHg. No gráfico observa-se que as saídas são bem parecidas, validando assim o PID programado no PIC. Foram feitos 20 testes no PIC, com 20 plantas diferentes e todos obtiveram resultados satisfatórios.
76
Figura 4.34. Comparação das saídas da planta controlada pelo PIC e pelo Simulink.
4.2 AngelCare
O AngelCare (RIBEIRO, A.G.C.D., MAITELLI, A.L. et al., 2010) é um módulo desenvolvido em Java ME (Java Micro Edition) para aparelhos móveis responsáveis por monitorar sinais biomédicos de um paciente em homecare ou no hospital. Em uma visão geral, o AngelCare é responsável por enviar informações para um servidor web, que tem função similar a de um supervisório. Este supervisório tem o papel de enviar alertas sobre os estados dos pacientes, armazenar essas informações em um sistema de prontuário disponível, e, também, de forma online permitir o acesso ao histórico dos pacientes (verificar o
Anamneses dos pacientes) (Figura 4.35).
Figura 4.35. Tela com as opções de perfil, histórico de consultas e histórico do monitoramento remoto.
77 Nesse trabalho esse sistema de monitoramento foi adaptado para o monitoramento e envio de alertas da pressão arterial, mas pode ser reconfigurado para receber e enviar dados de outros sinais.
Os casos mais críticos de controle de pressão arterial são os cirúrgicos e/ou pós- cirúrgicos. Nesse caso o sistema de monitoramento será acoplado no próprio hospital e a comunicação pode ser via Ethernet ou wireless. Porém podem existir casos em que os pacientes estejam sendo controlados em casa ou apenas monitorados em qualquer lugar. Nesse caso o AngelCare é ainda mais eficiente pois fornece mobilidade, praticidade e segurança ao paciente.
4.2.1 Ferramentas Utilizadas
No auxilio a implementação do sistema foram utilizados os seguintes softwares/tecnologias:
Banco de dados MySql (www.mysql.com);
Plataforma de desenvolvimento NetBeans IDE 6.5 (www.netbeans.org) e ; Wireless Toolkit 2.5.2 (www.java.sun.com/products/sjwtoolkit).
As linguagens utilizadas na programação foram: Java ; HTML e XML.
4.2.2 Funcionamento
O módulo AngelCare (Figura 4.1) recebe os dados do módulo ControlCare através de Bluetooth ou Ethernet (5). Se essa comunicação for via Ethernet os dados vão direto para o servidor central onde são processados e analisados. Se for via Bluetooth (sem fio) os dados são recebidos, processados e analisados no dispositivo móvel. Nesse caso, como não há monitor de pressão e o paciente é simulado no Matlab, o PC ou outro celular foram considerados como o monitor para os testes de transmissão bluetooth.
O processamento e análise dos sinais referem-se a comparação dos dados recebidos com os padrões do paciente, os quais foram previamente cadastrados no sistema. O objetivo desta comparação é detectar possíveis anormalidades nas taxas de pressão arterial, como
78 mostra a Figura 4.36. Caso algum problema seja detectado, esses dados são enviados imediatamente ao servidor web via GPRS4(6).
Caso não haja anormalidade nos sinais do paciente, esses dados são empacotados e enviados em um intervalo de seis horas (quatro vezes ao dia). Permitindo que todos os sinais capturados da pressão arterial sejam armazenados pelo sistema para uma futura consulta.
Figura 4.36-Sistema em funcionamento no dispositivo móvel. Figura 4.37-Projeto e classes da implementação.
A Figura 4.37 mostra as classes implementadas nesse módulo. A IDProvider é a apenas uma interface; o cDataCollector.java implementa um Runnable e serve para executar a aplicação de tanto em tanto tempo (simulando a freqüência de captura dos dados do monitor); o
cDataProcessor.java serve para definir os valores padrões (default) das medidas do paciente e
compará-las com as geradas, detectando, ou não, algum problema. O cDataSend.java é responsável pelo envio das informação para o servlet através de uma HttpConnection. O
cDataSimulator.java possui uma função randômica inteligente que simula os dados que eram para
ser provenientes do monitor de sinais vitais. Por fim, o Midlet.java é o MIDlet do sistema que
implementa a chamada de todas as função e a interface do celular. Um fator importante
4
79 pertinente ao AngelCare, diz respeito a tecnologia GPRS. A rede GPRS corresponde a um sistema de comunicação que permite o envio e recepção de informações através de uma rede telefônica móvel, a Global System for Mobile Communications (GSM), que oferece como vantagens a disponibilidade imediata e uma ampla área de cobertura.
Com relação ao envio de alerta, o seu funcionamento é disparado sempre que os dados enviados chegarem ao servidor web. A central do hospital ou plano de saúde recebe um alerta vindo do celular do paciente, contendo os dados da última aquisição feita e com base neste dado enviado o operador poderá dar os encaminhamentos necessários para realizar o atendimento ao paciente, por exemplo, podendo solicitar o envio de uma ambulância caso o paciente não esteja no hospital. O servidor, também envia um alerta (8), via SMS (Short
Message Service), ao médico e familiares do paciente monitorado e também armazena os
dados no Banco de Dados (7).
4.2.3 Validação do sistema
O sistema proposto utiliza Bluetooth e GPRS para envio de alertas e para validação do mesmo é necessário garantir a transmissões dos dados dentro de uma meta temporal que não ultrapasse as restrições impostas pelos processos de monitoramento dos pacientes. Como não foi utilizado um medidor de pressão com transmissão Bluetooth (pois a pressão e paciente foram simulados no Simulink), os testes foram feitos utilizando um PC ou outro celular para transmissão dos dados do paciente.
Neste contexto, para aferir a viabilidade do sistema foram realizados alguns testes de desempenho analisando o tempo de transmissão dos dados.
O pacote de dados gerado com os sinais dos pacientes é composto de 30 bytes, porém os testes foram feitos com um pacote de 64 bytes, mais do que o dobro do real, para garantir boa margem de segurança. Os dados foram simulados, foram criados pacotes com dados e sinais randômicos. O tempo total foi divido em três etapas:
O tempo de transmissão via Bluetooth dos sinais vitais para o celular; O tempo de processamento decorrido no celular e
80 O objetivo desses testes é apenas a análise do tempo de transmissão, sendo possível analisar o desempenho do sistema de uma forma geral, verificando os tempos gastos em cada etapa do processo.
Para efetivar a análise, foram realizados 100 testes para cada etapa. A média de tempo obtida em cada etapa e a média total dos tempos de transmissão está detalhada a seguir.
4.2.3.1 Tempo de transmissão Bluetooth
Com o objetivo de obter uma estimativa do tempo total de transmissão ocorrido durante a transmissão de pacotes do dispositivo biomédico para o celular via Bluetooth, foi utilizado o RTT (Round Trip Time), que corresponde ao tempo gasto de ida e volta de uma mensagem trafegada pela rede. Através da Equação 4.1 foi possível realizar esse cálculo.
(4.6)
A Tabela 4.9 mostra os tempos RTT e Tg gastos nas transmissões Bluetooth dos 100 pacotes enviados.
Tabela 4.9- Médias dos tempos gastos na transmissão Bluetooth.
Processo Tempo gasto (seg)
Transmissão Bluetooth de ida e volta (RTT) 5,91 Transmissão Bluetooth de ida ( ) 2,95
4.2.3.2 Tempo de processamento no celular
O tempo de processamento no celular é o tempo gasto para comparar os dados atuais recebidos do paciente com os dados padrões previamente cadastrados no aparelho e detectar se há ou não anormalidade nos dados recebidos – tempo de computação para decidir se envia ou não uma mensagem de alerta. A Tabela 4.10 mostra a média do tempo gasto nesse processamento.
81
Tabela 4.10- Média do tempo gasto no processamento dos dados pelo celular
Processo Tempo médio (seg)
Processamento no celular
0,0073
4.2.3.3 Tempo de transmissão GPRS
O tempo de transmissão GPRS é o tempo calculado desde o envio dos dados pelo celular até a chegada desses no servidor web. O A Tabela 4.11 mostra a média do tempo gasto nessa transmissão.
Tabela 4.11- Média do tempo gasto na transmissão via GPRS.
Processo Tempo médio (seg)
Transmissão GPRS 0,30
4.2.3.4 Tempo total de transmissão
Nesta subseção é feita uma análise geral, verificando o tempo total que envolve a comunicação e o processamento envolvido no sistema de monitoramento via AngelCare. O tempo total de transmissão é a soma dos três tempos já apresentados anteriormente. O Figura 4.38 mostra esses tempos e a Tabela 4.12 mostra a média, assim como o desvio padrão.
82
Tabela 4.12-Média, mínimo, máximo e desvio padrão dos tempos de transmissão.
Processo Tempo (seg)
Tempo médio total 3,26
Tempo mínimo 2,32
Tempo máximo 4,28
Desvio Padrão 0,57
O tempo médio total que envolve o processo de transmissão é de 3,26 segundos. Esse tempo é considerado baixo, quando comparado a processos de monitoramento de pacientes, portanto, validando o sistema, visto que, possibilita que tratamentos que exigem um grau maior de restrição temporal podem ser aplicados, isso sem ocasionar prejuízo à saúde do paciente. Outro dado importante, é que o maior tempo de resposta ainda assim não compromete o sistema, visto que os tempos de processos de monitoramento de pacientes são bem maiores que os aqui apresentados.
83 CAPÍTULO 5
5. CONSIDERAÇÕES FINAIS
O uso da inovação tecnológica na medicina vem se tornando cada vez mais importante nos avanços científicos da mesma. Essa inovação traz a capacidade de médicos realizarem cirurgias, exames e consultas de um jeito jamais feito antes e todos nós somos beneficiados com isso. Como foi mostrado no presente trabalho, o monitoramento e controle da pressão arterial é de grande importância para garantir a saúde do paciente e um bom atendimento ao mesmo. Casos cirurgicos e pós-cirúrgicos são sistuações que exigem uma atenção especial da equipe médica, e foi com esse propósito, de facilitar e otimizar o atendimento nesses casos de prioridade, que esse trabalho foi realizado. Os resultados obtidos mostraram um bom desempenho tanto no sistema de monitoramento quanto no sistema de controle.
Os testes e simulações realizados pelo sistema de controle foram bastante satisfatórios, regulando bem a pressão de qualquer paciente, previamente identificado, satisfazendo todas as restrições estabelecidadas para o controle de pressão arterial (ver seção 4.1.2). Os algoritmos implementados tanto para identificação de sistemas como para escolha do controlador adequado também geraram ótimos resultados.
Os resultados obtidos pelo controlador embarcado também foram positivos, controlando a planta como previsto através de uma comunicação, RS-232, bem sucedida.
O software de monitoramento e os resultados obtidos na análise de desempenho do
AngelCare comprovam a viabilidade e segurança do sistema, visto que o tempo entre o
paciente apresentar alguma anormalidade e a chegada dessa informação na central de supervisão é de no máximo 4,2 segundos. Tempo suficiente para garantir um atendimento rápido e eficiente aos pacientes, caso seja necessário.
Como trabalhos futuros pode ser considerada a idéia de embarcar em outro hardware, como o FPGA e comparar os seus desempenhos. Assim como embarcar técnicas adaptativas e mais complexas, sabendo que, provavelmente, para isso um hardware mais eficiente será necessário.
84 CAPÍTULO 6
6. REFERÊNCIAS
[AGUIRRE, L. A.] A nonlinear dynamical approach to system identification, IEEE Circuits &
Systems Society Newsletter 11(2): 10-23,47, 2000.
[ASTROM, K. J., WITTENMARK, B.] Computer-controlled systems: theory and design. 3.ed. New
Jersey: Prentice Hall, 1997. 555 p.
[BARR, M.] "Programmable Logic: What's it to Ya?," Embedded Systems Programming, pp. 75-84,
June, 1999.
[BATURONE, I., MORENO-VELO, F. J., BLANCO, V., et al] “Design of Embedded DSP-Based
Fuzzy Controllers for Autonomous Mobile Robots”. IEEE Transactions on Industrial Electronics, vol. 55, pp. 928-936, 2008.
[BOLTON, W.] Engenharia de controle; tradução Valcere Vieira Rocha e Silva; revisão técnica
Antonio Pertence Júnior; - São Paulo: Editora Makron Books, 1995. 497p.
[CAMPOS, Mario Cesar M. Massa De & Herbert C. G. Teixeira] Controles Típicos de
equipamentos e processos industriais, Editora Edgard Blücher, 2006.
[CHIEN, K. L., A. HRONES & J. B. RESWICK] ‘On the automatic control of generalized passive
systems’, Transactions ASME 74, 175–185, 1952.
[COHEN, G. H. & G. A. COON] ‘Theoretical considerations of retarded control’, Transactions
ASME 75, 827–837, 195
[COLVIN J. R., KENNY G. N. C.] "Automatic control of arterial pressure after cardiac surgery,"
Anaesthesia, vol. 44, pp. 37-41, 1989.
[CORRIPIO, A. B.] “Tuning of Industrial Control Systems”, Instrument Society of America., 1990
[DAVID M., BRYAN W., SEKHARJIT D., et al.] “Mobile communications for monitoring heart disease and diabetes”. 32nd Annual International Conference of the IEEE EMBS Buenos Aires,
Argentina, August 31 - September 4, 2010.
[GARCIA, C.]. Modelagem e simulação de processos industriais e de sistemas eletromecânicos,
85
[GIORGINI, A. L.] “Implementação de um Controlador PID Digital para Robótica baseado em
Computação Reconfigurável”. Dissertação (Mestrado em Ciências de Computação e Matemática Computacional) - Universidade de São Paulo,108f. 200.
[GOMES, G.G , SANTOS, V. L. , OLIVEIRA, J. A. N.] “Controle PID embarcado em plataforma
com barramento avalon.”. Congresso Brasileiro de Automática. Bonito, Brazil, 2010.
[GUYTON. A e HALL. J.] Tratado Fisiologia Médica. 9 ed. Rio de Janeiro: Editora Guanabara
Koogan, 1997.
[HEATH, S.] Embedded systems design. EDN series for design engineers (2 ed.). Newnes. pp. 11–12.
ISBN 9780750655460, 2003.
[ISAKA, S. and AV. SEBALD.] Control Strategies for Arterial Blood Pressure Regulation. IEEE
Trans. on Biomedica1 Engineering, vol. 40, no. 4: pp. 353-363, Apri11993.
[KARPLUS, W.] The spectrum of Mathematical Modelling and System Simulation. Simulation of
Systems, North-Holland Publishing Company, 1976
[KAUFMAN H., ROY R., and. XU X.] "Model reference adaptive control of drug infusion rate,"
Automatica, vol. 20, no. 2, pp. 205-209, 1984.
[KOCHAR, M. S.; WOODS, K. D.] Controle da hipertensão: para enfermeiras e demais
profissionais de saúde. 2. ed. São Paulo: Andrei, 1990. 317 p.
[KOPETZ H.] Real-Time Systems. Kluwer Academic Publishers, Boston MA USA, 1 edition, 1997. [LJUNG, L.] System identification - Theory for the user. Prentice-Hall International,
New Jersey, U.S.A, 1987.
[LÓPEZ, A. M., MILLER, J. A. , SMITH, C. L. & MURILL, P. W.] ‘Tuning controllers with
errointegral criteria’, Instrumentation Technology 14, 57–62, 1967.
[MAITELLI, A. L. & T. YONEYAMA] “Suboptimal dual adaptive control for blood pressure
management”, IEEE Transactions on Biomedical Engineering 44(6), 1997.
[MARTIN J. F., SCHNEIDER A. M. and SMITH N. T.] Multiple-model adaptive control of blood
pressure using sodium nitroprusside, IEEE Trans Biomed Eng., 34, August 1987, pp. 603±611.
[MARWEDEL P.] Embedded System Design. Kluwer Academic Publishers, Dortmund, 1 edition,
2003.
[MICROCHIP TECHNOLOGY] "Microchip Technology Delivers Six Billionth PIC
Microcontroller", 2008.
[MION JR D, MACHADO CA, GOMES MAMG et al.] IV diretrizes brasileiras de hipertensão
86
[NAVABI, Z.] VHDL : Analysis and modeling of digital systems. 2° Edição. Mc-Graw Hill: Nova
Iorque, 1998.
[OGATA, K]. Engenharia de controle moderno tradução Paulo Álvaro Maya; 4ªed. Prentice Hall,
2003.
[PAJUNEN, G. A., M. Steinmetz & R. Shankar] ‘Model reference adaptive control with constraints
for postoperative blood pressure management’, IEEE Transactions on Biomedical Engineering 37(1),
1990.
[POTTMANN, M. PEARSON, R. K.] Block-oriented NARMAX models with output multiplicities,
AIChE Journal 44(1): 131-140, 1998.
[PRADO T. A.] “Implementação de um controlador PID embarcado para o controle em malha
fechada de um estimulador neuromuscular funcional”. Dissertação de Mestrado, UNESP, Ilha solteira,
SP, 2009.
[POTTER e PERRY, 1999] POTTER, Patrícia A.; PERRY, Anne Griffin. Fundamentos de
Enfermagem - Conceitos, Processo e Prática Volume 1, 4ª Edição. Rio de Janeiro - Ed. Guanabara Koogan S.A., 1999, 796p.
[REVES, J. G., L. C. SHEPPARD, R. WALLACH & W. A. LELL] Therapeutic uses of sodium nitroprusside and an automated method of administration, Vol. 16, Int. Anesrh. Clin., 1978.
[RIBEIRO, A.G.C.D. , MAITELLI, A.L. , VALENTIM, R.A.M., BRANDÃO, G.B.,GUERREIRO, A.M.G.] “AngelCareAngelCare mobile system: Homecare patient monitoring
using Bluetooth and GPRS.” Engineering in Medicine and Biology Society (EMBC), 2010 Annual
International Conference of the IEEE. p. 2200 – 2203, 2010.
[RIVERA, D. E., MANFRED M. & SIGURD S.] "Internal model control. 4. pid controller design",
Industrial and Engineering Chemistry Process Design and Development 25, 252–265, 1986.
[ROVIRA, A. A., MURILL P. W. & SMITH C. L.] “Tuning controllers for setpoint changes”,
Instruments and Control Systems 42, 67–69, 1969.
[SHEPPARD L. C., KOUCHOUKOS N. T.] "Automation of measurements and interventions in the
systematic care of postoperative cardiac surgical patients," Med. Instrum., vol. 1 1 , pp. 296-301 , 1977.
[SHEPPARD L. C. , SAYERS B . McA.] "Dynamic analysis of the blood pressure response to
hypertensive agents, studied in postoperative cardiac surgical patients," Comput. Biomed. Res., vol. 10, pp. 237-246,1977.
87
[SHEPPARD L. C., SHOTTS J. F., ROBERSON N. F., WALLACE F. D., and KOUCHOUKOS N. T.] "Computer controlled infusion of vasoactive drugs in post cardiac surgical patients," IEEE
Front. Eng. Health Care, pp. 280--284, 1979.
[SHEPPARD L. C.] "Computer control of the infusion of vasoactive drugs," Ann. Biomed. Eng .. vol.
8, pp. 43 1 -444, 1980.
[SLATE, J. B.] Model-based design of a controller for infusing nitroprusside during postsurgical
hypertension, Tese de doutorado, Univ. Wisconsin-Maidison, 1980.
[SLATE, J. B. & L. C. SHEPPARD] A model-based adaptive blood pressure controller,em ‘IFAC
Identification Syst. Parameter Estimation’, Washington, DC, 1982.
[SOHLBERG, B.] Supervision and Control for Industrial Processes - Using Grey Box Models,
Predictive Control and Fault Detection Methods, Springer-Verlag, 1998 .
[STEINMETZ, M.] Model reference adaptive control of blood pressure, Dissertação de mestrado,
Florida Atlantic Univ., Boca Raton, FL United States, 1987.
[TROMBETTA IC, BATALHA LT, RONDON MUPB et al.] Weight loss improves neurovascular
and muscle metaborefl ex control in obesity. Am J Physiol Heart Circ Physiol 2003; 285: H974-82.
[WANG W, ZHAO D, LIU J et al.] A prospective study of relationship between blood pressure and
10-year cardiovascular risk in a Chinese cohort aged 35 - 64 years. zhonghua nei ke za zhi 2004; 43: 730-4.
[WOLF, W.] Computers as Components. Nova Iorque: McGraw-Hill, 2001.
[YAGHMOUR, K.] Building Embedded Linux Systems. Califórnia: O'Reilly, 2003
[YING-WEN B., CHIEN-YUNG C, CHOU-LIN L., YUNG-SONG H.] “Design and
Implementation of an Embedded Remote ECG Measurement System”. Technology Conference