INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Sensor mit 10 Hz auslesen
05.07.2018, 11:39
Beitrag #1
Sensor mit 10 Hz auslesen
Hallo liebe Community,

Ich habe einen Thermal Infrared Sensor (MLX90614) der laut Hersteller eine Datenrate von 10 Hz liefert. Wenn ich diesen Sensor mit dem Arduino Uno ohne delay auslese und den Sketch mit millis() für eine Sekunde laufen lasse bekomme ich 100 Werte. Das sind 10 mal zuviel.

Ich habe das Gefühl, dass der Arduino schneller auslesen kann als der Sensor Messungen macht und dadurch einige Werte einfach mehrmals erscheinen. Ist das so?

Wenn ich delay(100) verwende bekomme ich 10 Werte in der Sekunde. Sind das aber wirklich die 10 verschiedenen Werte die vom Sensor kommen oder werden einige Werte einfach doppelt abgerufen?

Code:
#include <Wire.h>
#include <Adafruit_MLX90614.h>
Adafruit_MLX90614 mySensor; // create sensor object called mySensor

float tempAmbient;
float tempObject;
unsigned long startMillis = 0;
unsigned long currentMillis = 0;
const unsigned long period = 1000;  //the value is a number of milliseconds, ie 1 second

void setup() {
  Serial.begin(9600);
  Serial.println("Adafruit MLX90614 test");  
  mySensor.begin();
  startMillis = millis();
  currentMillis = millis();
}

void loop() {

  while (currentMillis - startMillis <= period)  //test whether the period has elapsed
  {
    tempAmbient = mySensor.readAmbientTempC();
    tempObject = mySensor.readObjectTempC();
    Serial.print(tempAmbient);
    Serial.print(" , ");
    Serial.println(tempObject);
    //delay(100);
    currentMillis = millis();
  }
  
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.07.2018, 11:52
Beitrag #2
RE: Sensor mit 10 Hz auslesen
Das kannst eigentlich nur Du anhand der Werte und deren Änderung prüfen.

Ich bin der Meinung, dass eine Messung im Sekundenabstand ausreichend sein sollte, da sich Temperaturen in normalen Umgebungen nicht so schnell ändern. Das kommt aber auf Deine Anwendung an.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.07.2018, 12:56
Beitrag #3
RE: Sensor mit 10 Hz auslesen
(05.07.2018 11:52)Tommy56 schrieb:  Das kannst eigentlich nur Du anhand der Werte und deren Änderung prüfen.
Ich bin der Meinung, dass eine Messung im Sekundenabstand ausreichend sein sollte,

Hallo Tommy

Genau das ist das Problem, ich kann sie nicht anhand der Änderung prüfen, da sich die Werte über eine Sekunde hinweg nicht sehr viel änder.
Für meine Anwendung brauche ich aber die Daten mit einer Datenrate von 10 Hz.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.07.2018, 13:06
Beitrag #4
RE: Sensor mit 10 Hz auslesen
Dann wirst Du Dir eine Quelle bauen müssen, die Dir signifikante Temperaturänderungen im 10Hz Takt erzeugt, um Deine Messung überprüfen zu können oder Du musst einfach auf das Ergebnis vertrauen.

Ein anderer Weg fällt mir nicht ein. Ich kenne aber auch keine Wärmequelle, die so schnell ihre Temperatur ändert. Evtl. als Einmaltest eine Widerstand überlasten und dessen Temperaturänderung aufnehmen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.07.2018, 15:31
Beitrag #5
RE: Sensor mit 10 Hz auslesen
Ich hatte mir das so vorgestellt: Wenn ein Sensor 10Hz hat, dass er dann einfach 10 mal pro Sekunde Daten sendet. Aber das ist demnach nicht so? Oder wäre das mit einem anderen Mikrokontroller anders?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.07.2018, 15:43
Beitrag #6
RE: Sensor mit 10 Hz auslesen
Der Sensor wird über I2C angesteuert, d.h. Der Master (MC) fordert ein Messergebnis an und der Slave (Sensor) liefert den Wert. Von sich aus macht der überhaupt nichts. Lies Dich mal etwas in die Grundlagen ein.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.07.2018, 15:48
Beitrag #7
RE: Sensor mit 10 Hz auslesen
(05.07.2018 15:43)Tommy56 schrieb:  Der Sensor wird über I2C angesteuert, d.h. Der Master (MC) fordert ein Messergebnis an und der Slave (Sensor) liefert den Wert. Von sich aus macht der überhaupt nichts. Lies Dich mal etwas in die Grundlagen ein.

Ok, danke... Das ist also gar nicht so einfach mit den 10Hz....
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
05.07.2018, 15:59
Beitrag #8
RE: Sensor mit 10 Hz auslesen
(05.07.2018 15:48)Olafson Larson schrieb:  Ok, danke... Das ist also gar nicht so einfach mit den 10Hz....
Mit millis() aller 100 ms auslesen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  2 Pt1000 über externen AD wandler auslesen Noob63 16 660 15.11.2018 20:10
Letzter Beitrag: ardu_arne
  mcp2515 CAN BUS nur eine ID auslesen Golf_Cabrio 6 450 24.10.2018 20:51
Letzter Beitrag: Golf_Cabrio
  Grove-GSR Sensor frala 22 1.038 09.10.2018 22:11
Letzter Beitrag: Bitklopfer
Exclamation Sound Sensor KY-038 Jack 6 904 16.05.2018 23:46
Letzter Beitrag: georg01
  Windmesser auslesen will noch nicht so recht klappen.. Stargazer 12 1.814 05.04.2018 10:54
Letzter Beitrag: amithlon
Question IR Sensor - Tastendruck oneill86 2 598 21.03.2018 18:22
Letzter Beitrag: oneill86
Star BME680 IAQ Wert auslesen Bitklopfer 9 3.911 18.03.2018 02:33
Letzter Beitrag: Wampo
  Serial auslesen > 64 Byte uk1408 18 2.146 09.03.2018 16:05
Letzter Beitrag: Tommy56
  DS18s20 Temperatur Sensor georg01 9 1.622 25.02.2018 16:03
Letzter Beitrag: georg01
  API auslesen von Coindesk! Gandalf 1 820 15.01.2018 15:34
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste