collapse

* Links de Robótica

* Posts Recentes

Organizar fios por josecarlos
[Hoje às 17:23]


Compras no allPCB por Dave
[Hoje às 14:41]


Pendentes de compras colectivas por Hugu
[Hoje às 00:51]


Preços e fabricantes de pcb por vasco
[Ontem às 23:18]


Palavras Cruzadas por LVirtual
[Ontem às 20:54]


[Projecto] Bomba Airsoft por jm_araujo
[Ontem às 19:01]


Apresentação por Tech_JA
[23 de Setembro de 2017, 09:19]


Medir Agua que está no Poço por filjoa
[21 de Setembro de 2017, 20:58]


URGENTE - display de 7 segmentos com backpack por helderjsd
[20 de Setembro de 2017, 12:30]


Isaac Asimov - I, Robot por senso
[18 de Setembro de 2017, 03:41]

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

Online jm_araujo

  • Mini Robot
  • *
  • Mensagens: 2.128
  • 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: 927
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: 927
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...