sexta-feira, 27 de outubro de 2017

Reparo de estação de reparo Hikari HK-939

Eu tenho uma estação de retrabalho Hikari HK-939. Foi comprada algum tempo atrás mas foi pouco utilizada. Um dia ela apresentou um erro, não apresentava mais a temperatura atual no painel nem aquecia.

Estação Hikari HK-939 com erro na leitura de temperatura.
Uma estação de reparo não é rocket science, por isso decidi tentar repara-la eu mesmo. Fiquei com muita preguiça de levar para manutenção. Aprendi com o tempo que todo reparo deve começar pela parte que é mais fácil de ser verificada, mesmo que as vezes não faça muito sentido!! Por isso decidi investigar primeiro a resistência e o sensor de temperatura.
Resistencia de aquecimento da estação.

A resistência tem 4 fios: dois branco, um branco e um vermelho. A resitência de aquecimento é ligada aos fios brancos, e a resistência é por volta de 100 ohms. O fio azul e vermelho são conectados ao termopar qu fica na ponta da frente do conjunto, e a resistencia entre ele é quase 0 ohms. É possivel ver a pontinha de metal saindo do centro branco. Para testar o termopar utillize um múltimetro com entrada para medidor de temperatura por termopar. Se tudo estiver correto ele deve mostrar uma temperatura próxima da temperatura ambiente e se voce tocar a ponta do sensor a temperatura deve subir (se cair as pontas de provas devem estar invertidas).

No meu caso tudo estava bem, não era um problema na resistência ou sensor de temperatura.

Hora de investigar a fonte. Abrindo a fonte é possível ver que é um produto bem chineis, um monte de fio e cola para todo lado, com conexões que não são a prova de burro e fios frágeis. Precisa de um pouco de cuidado para não estragar nada ou esquecer onde o fio era conectado.

Na fonte é possivel ver o compressor de ar no centro, a placa de potencia na parte traseira, e o painel de controle na frente.
Fonte aberta. Na esquerda esta o painel de controle, no centro o compressor de ar e na direita a placa de controle de potência. Note que é possível conectar os fios incorretamente, por isso anote as posições dos fios antes de desmontar.
Seguindo as ligações elétricas identifiquei que o sensor de temperatura era ligado na placa de potência e dela ia diretamente para a placa de controle no painel. Comecei a puxar o esquema elétrico da entrada do sensor de temperatura e logo de cara ja encontrei algum problema com a entrada do sinal: um problema de contato num dos pinos do conector


O pino central estava mal soldado. Refiz a solda e a estação voltou a funcionar.


Na hora de montar acabei montando o painel um pouco alto, mas tudo voltou a funcionar. Esse é um problema de qualidade de fabricação. Pelo menos não precisei enfrentar a assistência técnica da Hikari, nem gastar uma boa grana para reparar um solda ruim.

sexta-feira, 22 de setembro de 2017

Sistema de aquisição Arduino Uno / bluetooth HC-05

Meus amigos e eu estamos trabalhando no projeto Flug, um brinquedo bem divertido, similar so FlyBoard.. O projeto evoluiu bastante desde protótipos impossíveis de utilizar até o modelo atual. O jetski utilizado é um Seadoo GTI 130, de 130 HP. Essa potencia é bem abaixo do valor utilizado geralmente com o FlyBoard, onde é comum encontrar jetski com mais de 200 HP. Devido a potência mais baixa é importante otimizar o Flug o máximo possível para a brincadeira não ficar comprometida.
Projeto Flug
Acreditamos que todas as otimizações mais grosseiras já foram realizadas, e agora estamos partindo para otimizações mais sofiticadas e finas, mas para conseguir avaliar se existe alguma evolução do sistema precisamos agora de uma instrumentação para medir o desempenho, pois somente no olho não é mais possível saber se estamos evoluindo. Para o sistema de aquisição é utilizado um arduino Uno com um módulo bluetooth. Os dados são enviados para uma celular android que faz o log dos dados, que são avaliados posteriormente.

Sistema de aquisição com sensores
Esquemático
(incompleto! Não é a versão final,
foram feitas pequenas modificações).
Sistema de aquisição Arduino
 Uno + bluetooth HC-05

O sistema de aquisição conta com quatro canais analógicos 0 - 5 V ou  4 - 20 mA. Um sensor de pressão 4 - 20 mA e dois sensores de pressão diferencial são utilizados. O sistema ainda conta com um medidor de RPM que vai acoplado à alimentação da bobina da vela. Com estas medidas deve ser possível estimar a potência hidraulica disponível e caracterizar o conjunto motor + turbina + carga do jetski de forma detalhada.

Sensor de RPM acoplado na alimentação da bobina
de uma das velas de ignição.
Os valores obtidos pelo sistema de aquisição são enviados de forma serial, sendo que o primeiro campo é o timestamp da aquisição em mili segundos, seguido pela rotação e por quatro valores de tensão dos canais analógicos. No caso sensor de pressão com saída 4 - 20 mA é convertido para tensão por um resistor de aproximadamente 200 ohms no sistema de aquisição.

Dados recebidos pelo bluetooth / Serial
O programa no arduino é simples: os dados são enviados periodicamente pela serial, que é convertido pelo módulo bluetooth HC-05. A rotação é obtida com um biblioteca que mede frequencia (FreqCount.h - https://www.pjrc.com/teensy/td_libs_FreqCount.html). Os valores analógicos são obtidos diretamente das portas analógicas. Um exemplo do programa do arduino segue abaixo.

#include <FreqCount.h>

const float AD_R1 = 22000.;
const float AD_R2 = 110000.;
const float ATTENUATION = AD_R1/AD_R2;
const float AD_CALIBRATION = (1.1/ATTENUATION)/1023;
const float RESISTOR_4_20_MA = 250.;
const float FREQ_WINDOW = 1000;
unsigned long freq;

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);

   //Sets analog reference to internal 1.1V
  analogReference(INTERNAL);
  
  //Contador de frequencia
  FreqCount.begin(FREQ_WINDOW);
}

// the loop routine runs over and over again forever:
void loop() {
  // Le os valores e envia pela serial. Faz isso intercalado para aproveitar o delay
  // da serial para ler os ADs
  Serial.print(millis());
  Serial.print(" ");
  if (FreqCount.available()) {
    freq = FreqCount.read();
  }
  Serial.print(freq);
  Serial.print(" ");
  float vA0 = myAnalogRead(A0);
  Serial.print(vA0);
  Serial.print(" ");
  float vA1 = myAnalogRead(A1);
  Serial.print(vA1);
  Serial.print(" ");
  float vA2 = myAnalogRead(A2);
  Serial.print(vA2);
  Serial.print(" ");
  float vA3 = myAnalogRead(A3);
  Serial.println(vA3); 
}
//Converte valor AD para tensao
float myAnalogRead(uint8_t pin)
{
  return (analogRead(pin) * AD_CALIBRATION);
}

Para aquisição pelo Android foram testados vários aplicativos de terminal para bluetooth HC-05. Todos funcionam razoavelmente mas não atendem 100% o projeto, pois eles não conseguem salvar em arquivo de log os dados recebidos por tempo longo suficiente. Todos os aplicativos avaliados param de salvar quando a tela do celular apaga, ou quando o tempo de aquisição é muito longo (alguns minutos). Um aplicativo dedicado será desenvolvido e será apresentado numa próxima postagem.