collapse

* Links de Robótica

* Posts Recentes

Ajuda Projecto IR / RF por Njay
[Hoje às 00:03]


Recomendação de um opamp para um DAC r2r por jm_araujo
[Ontem às 23:05]


Ideias para construir um quadrúpede simples por dropes
[Ontem às 22:43]


Ajuda com TRIAC por senso
[17 de Novembro de 2017, 18:00]


TV LG White Screen por almamater
[15 de Novembro de 2017, 08:37]


Pergunta sobre prototipagem ( Pesquisa ) por luisjustin
[14 de Novembro de 2017, 23:22]


Medir Agua que está no Poço por Njay
[14 de Novembro de 2017, 13:28]


Amplificador audio por beirao
[12 de Novembro de 2017, 23:43]


Power_OK Enermax por edeweld
[12 de Novembro de 2017, 17:15]


Driver motor por beirao
[11 de Novembro de 2017, 17:40]

Autor Tópico: Multiplas leituras nas portas analógicas - leitura com erros  (Lida 1737 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline cms10

  • Mini Robot
  • *
  • Mensagens: 4
Boa tarde,

Estou com um problema ao ler dados de sensores em portas analógicas no Arduino.

Tenho um Arduino Uno, com um sensor de temperatura LM35, que funciona otimamente enquanto nao ligo mais sensor nenhum ao Ardino.
Aconteceu-me à dias ligar ao mesmo Arduino um sensor de monóxido de carbono (MQ7), e o sensor de temperatura começar a dar valores disparatados, e assim que desligo o sensor de monóxido de carbono o de temperatura volta ao normal.

Hoje tentei ligar no mesmo Arduino um sensor de NO2 (MiCS-2710), e quando tenho os dois ligados ao Arduino o LM35 fica como o mesmo problema, tao depressa me mostra a temperatura correto como ao fim de um bocado me mostra um valor completamente fora do normal, e de repente volta a mostrar valores coerentes. Reparei ainda que isto não acontece pelo facto de ter outro sensor ligado mas sim, de efetuar uma leitra do outro sensor ou ou nao. Ou seja, tenho os dois sensores ligados ao arduino em funcionamento e, quando executo o programa de modo a ler apenas os dados do LM35 tudo corre bem, se mandar o programa ler os valores de ambos os sensores à sempre alturas em que vai ler valores errados no LM35.

O meu código é este:
Código: [Seleccione]
int NO2_VCC_PIN = 3;
int NO2_HEATING_PIN = 5;
int NO2_SENSOR_PIN = 0;

int TEMP_SENSOR_PIN = 1;

int no2Value;
float tempValue;

void setup(){
  Serial.begin(9600);
  pinMode(NO2_SENSOR_PIN, INPUT);
  pinMode(NO2_VCC_PIN, OUTPUT);
  pinMode(NO2_HEATING_PIN, OUTPUT);
  pinMode(TEMP_SENSOR_PIN, INPUT);
  analogWrite(NO2_VCC_PIN, 130);
  analogWrite(NO2_HEATING_PIN, 100);
 
}

void loop(){
  //no2Value = analogRead(NO2_SENSOR_PIN);
  Serial.print("NO2: ");
  Serial.println(no2Value);
  tempValue = (((500*analogRead(TEMP_SENSOR_PIN))/1024));;
  Serial.print("Temperatura: ");
  Serial.println(tempValue);
  delay(100); 
}

Alguém me pode ajudar a resolver o problema?
O que poderá ser que faz isto?

Cumprimentos

Offline jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.165
  • NERD!
Re: Multiplas leituras nas portas analógicas - leitura com erros
« Responder #1 em: 14 de Maio de 2014, 14:46 »
Como é que tens as ligações do NO2? Tens condicionamento de sinal e não estão diretas ao Arduino, espero.

É que o analogwrite gera um sinal PWM e não uma tensão constante.
E o mics precisa de 26mA para o aquecimento e apesar do ATmega ser capaz de fornecer 40mA, mais de 20mA não é recomendado.


Offline dio123

  • Mini Robot
  • *
  • Mensagens: 928
Re: Multiplas leituras nas portas analógicas - leitura com erros
« Responder #2 em: 14 de Maio de 2014, 14:55 »
Olhando para o codigo dá-me a entender que ele tem alimentação do sensor ligado directamente ao pino do arduino.

Tens aqui o esquema da ligação do sensor no ultimo post em pdf  http://forum.wiring.co/index.php?topic=70.0
E ligas aos 5v do arduino e nao do atmega.

Se quiseres ligar e desligar o sensor( ou outra coisa qualquer), usa sempre um mosfet ou usas um transistor.

Offline cms10

  • Mini Robot
  • *
  • Mensagens: 4
Re: Multiplas leituras nas portas analógicas - leitura com erros
« Responder #3 em: 14 de Maio de 2014, 14:57 »
Pois, então acho que o problema está mesmo aí...  :(

Tenho o mics ligado directamente ao arduino, o circuito é mais ou menos isso que está aí para o mics (https://www.dropbox.com/s/tronhaawitxzwsr/mics%202710_bb.jpg), e a resistência e de 10K. Mas sem ser assim não estou a ver como ligá-lo.

Como é que posso resolver isso?

Offline cms10

  • Mini Robot
  • *
  • Mensagens: 4
Re: Multiplas leituras nas portas analógicas - leitura com erros
« Responder #4 em: 14 de Maio de 2014, 15:34 »

Tens aqui o esquema da ligação do sensor no ultimo post em pdf  http://forum.wiring.co/index.php?topic=70.0
E ligas aos 5v do arduino e nao do atmega.


estive a olhar para esse circuito e há uma coisa que nao consigo perceber... o analog pin é ligado entre o sensor e o +5V? não era suposto ser entre o sensor e o GND?

Offline dio123

  • Mini Robot
  • *
  • Mensagens: 928
Re: Multiplas leituras nas portas analógicas - leitura com erros
« Responder #5 em: 14 de Maio de 2014, 15:37 »
Edit. No datasheet diz que é a vcc.
« Última modificação: 14 de Maio de 2014, 15:41 por dio123 »

Offline cms10

  • Mini Robot
  • *
  • Mensagens: 4
Re: Multiplas leituras nas portas analógicas - leitura com erros
« Responder #6 em: 14 de Maio de 2014, 15:44 »
Ok obrigado. Estava agora a olhar para o datasheet a ver se encontrava isso...

Vou tentar resolver a situação e volto a dar noticias entretanto...