Scharfer IR-Abstandssensor, der konstant hohe Spannung ausgibt

Ich bin auf einer steilen Lernkurve und ein bisschen verwirrt von meinem scharfen Abstandssensor ( Datenblatt). Ich baue ein Projekt mit zwei Abstandssensoren, die einem Arduino signalisieren, einen Servomotor zu betreiben, wenn ein Objekt in Reichweite kommt. Dies funktioniert derzeit gut, außer dass die Sensoren die ganze Zeit eine relativ hohe Spannung ausgeben, sodass ich im Arduino-Code eine sehr hohe Abschaltspannung einstellen muss, oder der Motor die ganze Zeit angesteuert wird - z. B. geben beide Sensoren den Arduino Zahlen wie 350-450 über den analogen Lesebefehl (der nach meinem Verständnis etwa 1,7 - 2,1 V betragen sollte) die ganze Zeit. Das bedeutet, wenn ich einen Grenzwert von 550 oder 600 einstelle, funktioniert die Einrichtung, aber nur, wenn sich ein Objekt innerhalb von 12 cm vom Sensor befindet (der in der Lage sein sollte, Objekte in einer Entfernung von bis zu 80 cm zu erkennen). Die Sensoren stören sich optisch nicht.

Ich verwende ein altes Computer-Flachbandkabel, um beide Sensoren mit dem Arduino zu verbinden, und ich habe den Verdacht, dass dies irgendwie Rauschen in der Ausgangsspannung verursacht, aber der Arduino scheint nie Werte unter etwa 300 (1,4 V) zu lesen, und ich hätte erwartet, dass Rauschen manchmal einige niedrige Messwerte liefert. Jede Hilfe wäre sehr willkommen. Ich habe versucht, einen Schaltplan zu posten, aber als Gastbenutzer lässt mich die Website nicht zu. Außerdem würde ich den Code posten, aber es ist peinlich chaotisch. Der Arduino und das Servo haben separate Stromquellen mit gemeinsamer Masse, die Sensoren werden von der geregelten 5-V-Arduino-Versorgung mit Strom versorgt und an separate analoge Pins angeschlossen.

<code>Schaltplan</code>

Hast du einen Link zum Schaltplan? Ein Bild von der Schaltung? Die Vorbereitung auf das Stellen einer Frage ist immer ein guter Moment, um Ihren Code aufzupolieren, und ich persönlich kopiere den Code gerne in eine separate Skizze und schneide so viel Code wie möglich weg, um das Problem effektiv zu reproduzieren.
Wie sind die Umgebungslichtbedingungen? Bekommst du dieses Verhalten immer noch in einem dunklen Raum?
Danke für die Antwort - ich kann jetzt ein Bild posten - also ist der Schaltplan jetzt in der ursprünglichen Frage. Was das Umgebungslicht betrifft - dasselbe in einem dunklen Raum.

Antworten (4)

Wenn Ihre Stromversorgung tatsächlich das Problem ist, fügen Sie Ihren Stromversorgungsanschlüssen so nah wie möglich am Sensor einen einfachen Tiefpassfilter hinzu. Ich würde mit der folgenden Konfiguration beginnen, um zu sehen, ob sie die Situation verbessert. Überprüfen Sie noch einmal, ob Vcc am Sensor 4V5 - 7V beträgt.

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Unter der Annahme, dass das Gerät mit 5 V von Arduino versorgt wird und dass das Gerät 30 mA Strom zieht, beträgt die Spannung an R1 0,3 V und die Versorgungsspannung für den Sensor 4,7 V, was laut Datenblatt ausreichend ist. R1 und C1/C2 bilden einen einfachen Tiefpassfilter, der hochfrequentes Rauschen von der Stromversorgung unterdrückt.

Halten Sie die Drähte so kurz wie möglich und halten Sie sie so dicht wie möglich zusammen. Wenn möglich, verdrillen Sie die Adern für die Stromversorgung und verdrillen Sie die Adern (V(out) und GND) für den Ausgang.

Was ich meinem Setup auch gerne hinzufügen möchte, ist ein Pulldown-Widerstand an der Sensorausgangsleitung. R~10k. Auf diese Weise kann ich erkennen, dass der Sensor defekt ist oder fehlt, und ich habe keine falschen Messwerte.
Darf ich fragen, was der Zweck des zweiten Kondensators ist? Soll nur die Gesamtkapazität auf 10,1 uF erhöht werden, oder ist es subtiler? Welche Grenzfrequenz streben Sie an und wie entscheiden Sie? Gibt es bekannte Rauschfrequenzen vom Arduino oder ist es nur eine Vermutung?
Der Bau des 10 μ Der F-Kondensator unterscheidet sich vom 100-nF-Kondensator, was dazu führt, dass der Hochfrequenzgang unterschiedlich ist. Elektrolytkappen haben eine relativ schlechte Leistung für höhere Frequenzen, während die andere Kappe viel besser abschneidet. Es geht nicht darum, weitere 1 % der Gesamtkapazität hinzuzufügen, sondern um die Reaktion auf hohe Frequenzen zu verbessern.
Wie ich in meiner Antwort geschrieben habe "Ich würde damit beginnen". Es ist nur mein Gefühl, dass es die Situation spürbar verbessern sollte. Wenn es sich nicht ausreichend nach Ihrem Geschmack verbessert, können Sie die 10 erhöhen μ F Elko, die anderen Bauteile so lassen wie sie sind.

Schauen Sie sich das folgende Beispiel an, wie Sie das Rauschen von Sharp IR herausfiltern können

PS, das ist nicht ganz die Antwort, aber ich kann den Kommentar nicht hinzufügen, weil ich nicht genug Repräsentanten habe.

+1 für diesen Link. Ich hatte wirklich große Rauschprobleme bei diesem Sensor, bis ich einige Kondensatoren direkt auf die Sensor-Stromversorgungsstifte gelegt habe.
Es gibt bessere/billigere/zuverlässigere Möglichkeiten, Netzteilrauschen zu filtern, als eine Goldkappe zu verwenden. Sie haben jedoch Recht, dass bei einer schlechten Stromversorgung auch die Leistung schlecht ist.

Nachdem ich die obigen Antworten gelesen hatte, prüfte ich, ob der IR-Sensor mit Spannung versorgt werden sollte, und stellte fest, dass es nur 4,1 V waren (weniger als im Datenblatt empfohlen), und mir wurde klar, dass ich eine 5-V-Stromversorgung für das Arduino hatte, aber der Spannungsregler hatte genommen etwas davon weg. Ich habe die Arduino-Versorgung auf 12 V erhöht, und der Sensor bekommt jetzt 4,7 V und ist viel glücklicher. Immer noch etwas Rauschen, aber nicht die konstant hohen Ausgangsspannungen von vorher. Vielen Dank

Das macht wegen des Reglerausfalls Sinn. Möglicherweise haben Sie jedoch immer noch ein zugrunde liegendes Problem. 4,7 V sind etwas niedrig, wenn Sie den verwendeten Regler betrachten. Sie sollten mindestens 4,95 V erhalten. Aber trotzdem mal sehen wie es weitergeht.
Das Setup hat derzeit ziemlich lange Kabel zum Sensor - ich habe noch nicht herausgefunden, mit welcher Mindestlänge ich davonkommen kann. Ich versuche, mich um den Tiefpassfilter (oben) zu kümmern, um das auch zu versuchen.

Endgültige Antwort - nachdem die Spannungsprobleme behoben wurden, war die Ausgabe immer noch etwas unregelmäßig. Ein Tiefpassfilter an der Stromversorgung der Sensoren (ich habe mehrere Grenzfrequenzen ausprobiert) hat nicht geholfen. Außerdem fing ich an, seltsame statische Elektrizität wie Erschütterungen vom Gehäuse der Sensoren zu bekommen. Ich habe dann 10K Pulldown-Widerstände am Sensoreingang zum Arduino ausprobiert. Die Ergebnisse wurden konsistent und die statischen Schocks verschwanden.