quarta-feira, 7 de setembro de 2011

pHmetro

Para quem não conhece, pHmetro é o aparelho utilizado para medir pH de líquidos. Ele é composto de um dispositivo de leitura e uma ponta de prova. Para montar um pHmetro baseado em arduino compramos o kit pH-stamp, da Atlas Scientific. O kit é composto pelo pH-stamp, a ponta de prova e uma solução de calibração. O pH-stamp é um circuito que faz a interface entre uma ponta de prova de pH e o arduino:
Ele possui 6 conexões:
  • Vcc - alimentação da placa (tensão: 3,3 - 5,5v);
  • GND - o bom e o velho terra do arduino;
  • PRB - Sinal da ponta de prova;
  • GND - Terra da ponta de prova;
  • Tx e Rx - Estas duas conexões são responsáveis pela comunicação com o arduino.
As 2 primeiras conexões são conhecidas e não há nenhum mistério nelas. As outras duas, PRB e GND, são conectadas a um conector BNC (conector de cabo coaxial, o mesmo da figura abaixo), sendo que o conector central corresponde ao PRB e o externo ao GND.
As outras duas conexões, Tx e Rx, serão conectadas em portas digitais do arduino. É importante lembrar que a porta Tx do pH-stamp deve ser conectada a porta Rx do arduino e vice-versa. Até aqui, tudo o que eu falei está no manual que veio junto com o kit. No manual tem um código arduino para Duemilanove. Este código não funciona com o arduino MEGA. Fiquei duas horas tentando achar algum erro e estava prestes a desistir quando achei um fórum onde um usuário teve o mesmo problema.
O problema está na biblioteca utilizada no manual (NewSoftSerial) que não funciona com o arduino Mega. A solução é simples, basta fazer as conexões Tx/Rx nas outras portas de comunicação serial do Mega (o arduino mega tem 4 portas seriais). No meu caso, fiz a conexão utilizando a Serial1 do Mega (portas 18 e 19). O código está no final deste post.
Para ler os dados da porta serial eu estou usando um script em Python (estou abandonando o Processing) que lê os valores da porta e faz o gráfico do pH x tempo. O gráfico é atualizado constantemente e enquanto atualiza o gráfico o python salva os dados em um arquivo no computador (dados.dat). Abaixo tem uma imagem da janela do programa.

Para fazer esse script em python precisei aprender sobre dois módulos do python que eu não conhecia. O primeiro foi o pyserial, que faz a comunicação entre o python e o arduino, e o segundo é o pygame, responsável pela parte gráfica. O python tem diversas ferramentas para fazer gráficos e com certeza a pior delas é o pygame. Contudo o pygame tem outras funcionalidades que no futuro serão interessantes. Eu vou melhorar este script e adicionar botões para controle do pHmetro como, iniciar, pausar, salvar etc.

Segue um vídeo do resultado final:


Os dois códigos (arduino e python) você pode baixar clicando aqui!

Últimas considerações sobre este projeto:
Um pHmetro de bancada custa em média R$560,00. Nós precisamos importar o pH-stamp, já que não tem nacional. O custo total do projeto foi:
  • Arduino Mega - US$25,00
  • pH-stamp + ponta de prova + solução de calibração - US$80,00
  • TOTAL: US$105,00 (aproximadamente 180,00 reais)
Final da história, um equipamento equivalente e com as mesmas funcionalidades, por menos de 1/3 do preço.

9 comentários:

  1. Prezados,
    Parabéns pela iniciativa!
    Alguns questionamentos, se me permitirem.
    1) Posso usar placa Arduino UNO normalmente com o pH-Stamp?
    2)Como é feito a compensação de temperatura, já que não há sensor de temperatura? Assumiria 25ºC?

    ResponderExcluir
  2. Anônimo,
    Você pode usar o UNO sim, mas aí esse código que coloquei acima não serve. Tem que fazer uma pequena modificação na comunicação serial do Arduino, o código em python pode ser o mesmo.
    Sobre a temperatura, ele assume por "default" 25C mas você tem como alterar isso. Daria para usar um sensor de temperatura acoplado ao arduino para monitorar a temperatura da solução e passar para o ph-Stamp.

    Abraços

    Daniel

    ResponderExcluir
    Respostas
    1. Muito obrigado!
      Estou aguardando a placa ph-Stamp para os testes.

      Excluir
  3. Você poderia corrigir as primeiras imagens. Não está aparecendo. Seu blog é muito bom. Parabens.

    ResponderExcluir
  4. Boa tarde colega, gostaria de saber aonde foi que você adquiriu o kit de pH? obrigado

    ResponderExcluir
  5. Ele é vendido pela Atlas Scientific, eu os descobri pelo ebay, mas acho que despacham direto para o Brasil.

    ResponderExcluir
  6. muito boa a sua matéria, gostaria de saber como funciona essa solução de calibração e se precisa ter as quatro soluções??

    ResponderExcluir
  7. Pra quem perguntou sobre o kit de pH com soluções, eletrodo e sensor de temperatura, comprei o meu na Analion. É uma marca brasileira muito boa, e dão garantia de 12 meses em tudo.

    ResponderExcluir