collapse

* Posts Recentes

Arame de Estendal por almamater
[Ontem às 16:16]


O que é isto ? por SerraCabo
[12 de Abril de 2024, 14:20]


Amplificador - Rockboard HA 1 In-Ear por almamater
[11 de Abril de 2024, 20:46]


Emulador NES em ESP32 por dropes
[10 de Abril de 2024, 15:30]


Meu novo robô por josecarlos
[29 de Março de 2024, 18:30]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]

Autor Tópico: Multiplas leituras nas portas analógicas - leitura com erros  (Lida 3943 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.948
  • 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: 1.032
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: 1.032
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...