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
  Arrayelemente von Datentyp DeviceAddress einzeln auslesen wmauss 4 293 19.07.2021 21:16
Letzter Beitrag: wmauss
  SIM800L - SMS empfangen und auslesen der Signalstärke gleichzeitig Ralf992 17 786 04.07.2021 18:06
Letzter Beitrag: Tommy56
  Auslesen von Pearl Funktempgeber volvodidi 14 847 23.05.2021 20:10
Letzter Beitrag: Tommy56
  Sketch wieder auslesen Renti 10 1.586 16.04.2021 08:27
Letzter Beitrag: MicroBahner
  Sensor-Adressdaten mittels json von Webserver einlesen und hinterlegen MLuhmann 7 1.181 22.02.2021 18:56
Letzter Beitrag: Tommy56
  EZO- HUM- Sensor Leonardo 28 2.929 18.01.2021 19:39
Letzter Beitrag: Leonardo
  LED als lichtempfindlicher Sensor daja64 7 1.057 23.12.2020 01:18
Letzter Beitrag: daja64
  Wägezelle nur zu bestimmten Zeitpunkten auslesen DerMaschbaustudent 1 565 01.12.2020 19:40
Letzter Beitrag: MicroBahner
  arduino elegoo uno r3 auslesen und HexFile speichern desperando 11 1.687 29.10.2020 15:11
Letzter Beitrag: GuaAck
  Arduino DMX wert mit serial port auslesen Arduino DMX Master 2 1.716 10.06.2020 16:27
Letzter Beitrag: Chopp

Gehe zu:


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