Oh, sorry, keine Ahnung warum ich die eben nicht gefunden habe...Vielen Dank auf jeden Fall!
Gruß
Malte
Oh, sorry, keine Ahnung warum ich die eben nicht gefunden habe...Vielen Dank auf jeden Fall!
Gruß
Malte
Hallo,
danke für die Antworten!
@PICture: Ja, so ähnlich hab ichs mir am Anfang auch überlegt, dass ich nur einen Sensor nehme und damit mit 2 Spiegeln einen größeren Bereich
Pixel für Pixel abscanne. Hab ich auch getestet, mit einem Arduino und als Grafikprogramm Processing wurde mit 2 Servos ne Fotodiode Zeilen-/Spaltenweise abgelenkt,
am Schluss hatte ich dann ein Schwarz-Weiß-Bild mit 100x70 Pixeln und recht guter Schärfe.
Einfach die Diode gegen einen IR-Sensor austauschen? Spiegel kann man relativ schnell und präzise ablenken, nur der IR-Sensor müsste um eine annehmbare
Bildwiederholrate bei z.B 32x32 Pixeln = 1024 Pixel*2 Bild pro sek = 2048 Pixel/sek in diesem Fall 2048 mal pro Sekunde einen neuen Messwert aufnehmen können...
ich bin mir nicht sicher ob die so schnell sind.
Hat der Grid-eye denn schon ne Linse drauf? Weil dann noch extra ne teure Germaniumlinse zu kaufen wäre ein bisschen übertrieben.
Tja wie ich sehe werde ich dann wohl mit den 16x4 Pixeln auskommen müssen, natürlich kann man auch 4 dieser Sensoren zusammenschalten, dann
hätte man schon 16x16, aber das kostet über 250€ und das ist mir als Testobjekt eindeutig zu viel.
Werde den Sensor denke ich bald mal bestellen, wenn alles klappt kann ich ja mal berichten wie es so funktioniert.![]()
Gruß, Stefan. Rechtschreibfehler gefunden? Kannste behalten!
Hi, ich habe den MLX90620 in meiner Abschlussarbeit eingesetzt und mich intensiv mit thermischen Detektoren, dazu gehören auch Thermopiles, auseinandergesetzt.
Geht es dir um die Auflösung oder eher darum eine große Fläche thermisch zu erfassen bzw. möchtest du beides?
Letzteres ist abhängig von der Anzahl der Thermopiles im Sensor und dem Field of View, der sich daraus automatisch ergibt. Vergrößerst du den Abstand zum Erfassungsbereich, desto größer wird auch die Fläche, die ein einzelnes Thermopile (Pixel) erfasst.
Wenn du mit dem Sensor näher dran gehst wird es nicht mehr "pixelig", du erfassst dann halt nur einen kleineren Bereich, kannst du dir laucht ausrechnen, anhand des FOVs und dem Abstand zur erfassenden Fläche.
Es gibt einen bekannten Hersteller in Deutschland, der auch 16x16, 32x31 Thermopiles mit verschiedenen Linsen anbietet (heimannsensor). Ich kann dir aber jetzt schon sagen, dass diese für einen Privatperson unbezahlbar sind. Das was Thermopiles mit einer hohen Auflösung so teuer macht, ist die Linse, die dafür speziell geschliffen werden muss + Kalibrierung usw.. das ist handarbeit...
Ich kann dir noch weitere bekannte Hersteller nennen, falls du da mal nachfragen möchtest, schon möglich das neue Produkte angeboten werden.
Grüße
Das ist schon mal gut....ich habe den MLX90620 in meiner Abschlussarbeit eingesetzt...
Es geht mit hauptsächlich um eine einigermaßen "gute" Auflösung, um auch kleinere Wärmeverteilungen bzw Strukturen
erkennen zu können, wenn man z.B eine Platine fotografiert, dass man wenigstens erkennt, welcher Bereich von einem IC heißer ist, und nicht nur dass es heiß ist.
Das FOV ist eigentlich egal, kann wie bei einer normalen Kamera im Bereich von 40-80° liegen.
Das soll auch nix "hochprofessionelles" werden, man soll halt wenigstens was verwertbares erkennen können.
Der maximale Messabstand wird auch unter 1-2 Meter sein. Notfalls, um die Erkennbarkeit zu steigern, könnte man doch auch
das Wärmebild mit einem optischen Bild aus ner kleinen Kamera im Verhältnis 50:50 überlagern oder?
Wäre es nicht auch möglich, vor den MLX90620 einen kleinen Spiegel zu setzen und den jeweils um 4 Stufen abzurastern, dann hätte man
doch auch 16x16 Pixel? Normale Oberflächenspiegel mit Alu-Beschichtung reflektieren doch auch Strahlung im Bereich von 1-10µm,
oder liege ich da falsch?
Und das FOV wäre 60x60°.
Gruß, Stefan. Rechtschreibfehler gefunden? Kannste behalten!
Bei dem verwendeten Thermopile erfasst du im Abstand von einem Meter mit einem FOV von 60°x16,4° eine Fläche von ca. 100 cm x 26 cm, wenn du das jetzt durch die Anzahl der Pixel in x- sowie y-Richtung teilst, erhälst du in etwa die Fläche die ein einzeles Pixel erfasst, welches dann deiner gesuchten Auflösung entspricht.
nFOV=(grob) 6cmx6cm. Das ist schon recht grob für die Erfassung der Wärmeverteilung, wobei 1 m Abstand zur Platine die du thermisch überwachst, sehr groß ist. Da reicht ein Abstand der im cm Bereich liegt...
Bei einem Abstand von beispielsweise 10 cm, kann ein Pixel eine Fläche von 0,63mm x 0,75mm erfassen, was eine feine Auflösung ergibt, dafür erfasst du insgesamt mit allen Pixeln eine kleinere Fläche.
Allgemein berechnest du das mit folgender Gleichung:
tan(FOV/2)=H/2*d
H=2*d*tan(FOV/2)
d=Abstand zwischen Sensor und der zu erfassende Fläche
H= Kantenlänge in x- bzw. y-Richtung
Daran erkennst du, dass die Auflösung vom Abstand, dem FOV und der Pixelanzahl abhängig ist. Von diesen Parametern kannst du nur den Abstand verändern. FOV geht nur eingeschränkt ... lass es lieber, besser ist du kaufst sofort die 40° Version statt 60°.
Wie ich schon sagte, es kommt darauf an was du thermisch erfassen willst bzw. wie groß die Fläche sein soll. Kommt es dir nur auf die Auflösung an, so kannst du den Abstand verringern, erfasst aber dafür eine kleinere Gesamtfläche.
Mit der Formel kannst du mal selber verschiedene Abstände durchrechnen und gucken welche Auflösung dir ausreicht.
Gehen tut das schon, ist nur die Frage ob dir der Aufwand wert ist. Ich habe das auch in meiner Arbeit gemacht, indem ich das thermische Bild mit dem Bild, das ich mit meiner DigiCam aufgenommen habe, leicht transparent, übereinander gelegt habe. Wobei das schwierig war, weil ich das nicht exakt deckungsgleich hinbekommen hab. Musst du mal ausprobieren.Notfalls, um die Erkennbarkeit zu steigern, könnte man doch auch
das Wärmebild mit einem optischen Bild aus ner kleinen Kamera im Verhältnis 50:50 überlagern oder?
Einfacher ist es viell. wenn man das Thermopile z.B. an einem DC Motor, Servo was auch immer, befestigt und in die Richtung schwenkt. Die Fläche sozusagen, wie du schon sagtest, abtastest.Wäre es nicht auch möglich, vor den MLX90620 einen kleinen Spiegel zu setzen und den jeweils um 4 Stufen abzurastern, dann hätte man
doch auch 16x16 Pixel? Normale Oberflächenspiegel mit Alu-Beschichtung reflektieren doch auch Strahlung im Bereich von 1-10µm,
oder liege ich da falsch?
Und das FOV wäre 60x60°.
Wärmestrahlung lässt sich auch reflektieren, das Material muss einen niedrigen Emissionsgrad ausweisen und damit einen hohen Reflektionsgrad haben. (Kirchhoffsches Strahlungsgesetz). Das haben die meisten metallischen Stoffe. Aluminium, dazu noch poliert, eignet sich sehr gut um Wärmestrahlung zu reflektieren. Hab eben nachgeguckt, Alu hat einen Emissionsgrad von 0,02.
Wobei du bei der Idee mit dem Spiegel das Problem hast, das du auch Reflexionen aus der Umgebung, also von warmen Objekten die sich in der Nähe befinden, einfängst...
Was noch wichtig ist, das du den Emissionsgrad der Oberfläche die du misst, dem Sensor mitteilst, da du ansonsten falsch misst. Der Emissionsgrad muss immer bei der Berechnung der Temperatur berücksichtigt werden.
Bei dem MLX90620 gibt es ein Register, indem du den Emissionsgrad eintragen kannst.
Also ich würde die Variante mit dem "Sensor schwenken" statt Spiegel bevorzugen.
Hi,
danke für die ausfürhliche Erklärung!
Das wäre auf jeden Fall ausreichend.
Ja, das will ich eigentlich auch, nur der einzige Anbieter, der den Sensor bei Ebay verkauft, hat leider nur die 60° Version...
Hab grade spontan keinen Händler gefunden der das Teil anbietet, auch für Privatkunden.
Da brauch ich dann auf jeden Fall HilfeBin erst seit etwa 4 Monaten im Bereich Microcontroller und Programmieren
unterwegs, hab mit dem Arduino angefangen. Aber mit I2C Adressen auslesen und Register beschreiben, das is noch ein bisschen suspekt
Um den Sensor zu schwenken hätte ich schon nen Servo da, da hast du auch recht, is wohl die einfachste und schnellste Lösung.
Noch ne Frage, im Datenblatt steht, dass der Sensor Framerates von bis zu 512 Bilder/s unterstützt? Auf manchen Seiten steht aber komischerweise
64...
Schafft der Arduino überhaupt so viel in der Sekunde auszulesen? Das wären ja 16x4x512 Bilder/s --> 32768 Pixel/s, und jetzt halt je nach dem wie
viele Werte ein Pixel enthalten kann. Im Datenblatt steht was von 16bit.
Naja wie ich sehe wird das ganze doch ein bisschen komplizierter hab ich die Befürchtung...
Gruß, Stefan. Rechtschreibfehler gefunden? Kannste behalten!
Auch wenn der Sensor im Prinzip so schnell ist, wird man normalen Temperaturen keine so schnellen Daten nutzen können, weil man da zu viel Rauschen drauf hätte. Im Vergleich zu einer normalen Kamera hat man eher lange "Belichtungszeiten" zu erwarten. Ich würde also eher mit weniger als 10 "Bildern" pro Sekunde rechnen.
Für den Arduino müsste es fertige Bibliotheken geben. Wichtig ist, dass du auch ein NACK (Not Acknowledged) senden können musst. Das signalisiert dem Sensor, das der Master, in deinem Fall der Mikrocontroller, keine Daten mehr haben möchte. Das brauchst du immer dann, wenn du beispielsweise nicht alle 64 Pixel oder Einstellungen aus dem E²PROm auslesen möchtest.
Die Refreshrate von 512 Hz habe ich nicht ausprobiert, da bei mir relativ langsame Temperaturvorgänge zu beobachten waren. Da kann ich auch nur auf das Datenblatt verweisen, das aktuelle findest du immer auf der Herstellerseite, im Notfall schreibst du Melexis direkt an.Noch ne Frage, im Datenblatt steht, dass der Sensor Framerates von bis zu 512 Bilder/s unterstützt? Auf manchen Seiten steht aber komischerweise
64...
Schafft der Arduino überhaupt so viel in der Sekunde auszulesen? Das wären ja 16x4x512 Bilder/s --> 32768 Pixel/s, und jetzt halt je nach dem wie
viele Werte ein Pixel enthalten kann. Im Datenblatt steht was von 16bit.
Eine so hohe Refreshrate würde vielleicht Sinn machen, wenn man Bewegungen registrieren möchte. Wie Besserwessi schon gesagt hat, sind die Werte bei einer hohen "refresh rate" verrauschter. Das liegt daran, dass im Sensor ein digitales Filter implementiert ist und das braucht nun mal "Zeit" bis die abgetasteten Werte die Filterstufen durchlaufen. Je niedriger die "refresh rate", desto geringer ist das Rauschen, weil über einen längeren Zeitraum gemittelt wird.
Ich würde dem Sensor etwas Zeit lassen, so dass der den IR-Wert im Register nur alle 125-500ms (< 16Hz) aktualisiert.
Du solltest nicht gleich die Flinte ins Korn werfen. Das ist gar nicht so schwierig wie du denkstNaja wie ich sehe wird das ganze doch ein bisschen komplizierter hab ich die Befürchtung...![]()
Lesezeichen