Vorhandensein eines festen Objekts erkennen

Ich habe ein Mikrocontroller-basiertes Projekt (mit einem Atmega328), das das Vorhandensein eines festen Objekts erkennen muss, das auf der Projektbox platziert ist. Was wäre der beste Weg, dies zu erreichen? Ich habe über die Verwendung eines lichtempfindlichen Widerstands in einer Spannungsteilerkonfiguration nachgedacht, aber das Problem, das ich damit habe, ist, dass, wenn sich die Projektbox in einem dunklen Raum befindet, möglicherweise kein Licht erkannt wird, wenn das Objekt entfernt wird.

Jeder Beitrag dazu wäre dankbar, da ich nicht sicher bin, wie zuverlässig meine Spannungsteilerlösung ist. Die auf der Projektbox platzierten Objekte sind solide und bestehen aus Glas oder Kunststoff. Und die einzige Ausgabe, die von dem Sensor, den ich verwende, benötigt wird, ist eine logische Null oder Eins, um anzuzeigen, ob ein Objekt vorhanden ist oder nicht. Beachten Sie, dass die Objekte möglicherweise konkave Böden haben, sodass der Sensor in der Lage sein muss, sie zu identifizieren, selbst wenn sie bis zu 1-2 cm vom Sensor entfernt sind.

Dehnungsmessstreifen/Wägezelle?
Ich glaube nicht, dass das funktionieren würde, da das Objekt möglicherweise einen konkaven Boden hat und daher ein physischer Kontakt mit dem Sensor nicht garantiert ist.
LED+Fotozelle, genau wie bei einer optischen Maus?
Wiegen Sie die gesamte Projektbox (was auch immer das ist)
Welche Objekte? Wie schwer / welcher Gewichtsbereich? Wird es immer oben sein? Am gleichen Ort? Gleiche Farbe? Ziehen um? Ein Klappdeckel mit Mikroschalter oder Optosensor ist die einfachste Lösung.

Antworten (4)

Ein paar Optionen fallen mir ein.

Entfernungsmesser

Verwenden Sie einen Ultraschall-Entfernungsmesser oder, wenn Sie der Meinung sind, dass das Objekt undurchsichtig genug ist, einen Infrarot-Näherungssensor . Setzen Sie den Sensor oben in die Box, zeigen Sie nach oben und aus einem Loch, das Sie dort geschnitten haben, und fragen Sie ihn gelegentlich ab. Wenn die gemessene Entfernung schnell abnimmt und eine Methode zur Rauschfilterung für eine festgelegte Anzahl von Abtastungen niedrig bleibt, steht Ihnen ein Objekt im Weg.

Richtig platzierter Lastsensor

Eine andere Möglichkeit besteht darin, die Lastsensoren auf der Unterseite der Box anzubringen. Unter der Annahme, dass das Objekt tatsächlich auf der Kiste platziert wird, wird die erfasste Last zunehmen und kann das Vorhandensein eines Objekts anzeigen.

Dehnungsmessstreifen

Machen Sie die Oberseite der Kiste federnd, das heißt, sie hebt sich leicht von einem festen Ruhepunkt ab. Platzieren Sie nun einen Dehnungsmessstreifen in der Lücke. Wenn ein Objekt auf die Oberseite gelegt wird, wird es niedergedrückt und verbiegt den Dehnungsmessstreifen. Dies bedeutet das Vorhandensein eines Objekts.

Die oben genannten Optionen geben Ihnen nicht unbedingt eine logische Eins/Null für die Anwesenheit, aber auch kein optischer Sensor.

Momentandruckknöpfe

Wenn Sie mechanisch versiert sind, können Sie sogar einen oder mehrere Drucktastenschalter verwenden. Platzieren Sie zum Beispiel auf dem Deckel Ihrer Projektbox drei/vier Druckschalter und befestigen (kleben) Sie eine Plattform für das Objekt darauf. Diese Methode ist jedoch möglicherweise nicht sehr zuverlässig. Ich würde versuchen, zu viele bewegliche Teile zu vermeiden.

Ich persönlich würde mich für den optischen Entfernungs-/Näherungssensor entscheiden.

Entschuldigung für die Ablehnung, aber ein paar Gründe: Die Entfernungsmessung ist keine großartige Lösung, wenn die Entfernungen sehr kurz sind, und " in Kontakt mit " ist eine kurze Entfernung. Der Lastsensor ist im Vergleich zu einem einfachen Schalter eine relativ teure Lösung. Beide liefern analoge Messwerte, die eine weitere Verarbeitung / Kalibrierung erfordern, anstatt ein/aus. Und ein optischer Sensor vom Strahlunterbrechungs- oder reflektierenden Näherungstyp würde Ihnen ein logisches Eins/Null-Ausgangssignal liefern.
Ich denke, der Infrarot-Näherungssensor ist der richtige Weg. Jetzt muss ich nur noch herausfinden, ob es als einzelne IC-Schaltung erhältlich ist, die ich kaufen kann.
Gibt es günstige Lastsensoren? Alles, was nur ein paar Dollar kostet und kleine Lasten erkennen kann?
@JohnU Ja, "in Kontakt mit" ist sehr nah, das ist erwünscht. Das OP versucht nicht, die Reichweite zu messen, sondern nur ein Objekt zu erkennen. Vielleicht würde es Sie zufrieden stellen, es als Näherungssensor zu bezeichnen. Der Zweck ist derselbe, wenn ein Schwellenwertbereich festgelegt wird. An diesem Punkt könnte jeder analoge Ausgang (oder Digitalwert) als logische Eins / Null interpretiert werden, genau wie Sie es mit einem anderen optischen Sensortyp vorschlagen. Es ist so einfach wie eine „wenn größer als oder gleich“-Anweisung.
@ user29920 Richtige Lastsensoren sind nicht so billig. Aber Sie könnten mit einem Dehnungsmessstreifen und einem richtig konstruierten Gehäuse / Auslösemechanismus auskommen. Zusätzlich habe ich eine weitere Option in dieser Richtung hinzugefügt.

Sie könnten einen kapazitiven Sensor auf der Oberseite der Box implementieren. Kunststoff hat eine relative Dielektrizitätskonstante von etwa 2,0 oder mehr und Glas von mehr als 4,0. Beide sollten also leicht von Luft zu unterscheiden sein, die im Wesentlichen 1,0 ist.

Die Arduino CapSense- Bibliothek verwendet eine sehr einfache GPIO-Pin-basierte Methode zur Kapazitätsmessung. Sie könnten dies problemlos in Ihrem Projekt tun. Der interessanteste Teil wäre die Gestaltung des Sensorlayouts, um die Zuverlässigkeit der Erkennung des interessierenden Objekts ohne falsche Messwerte zu maximieren, z. B. wenn sich die Hand einer Person in der Nähe der Oberfläche befindet.

Der Sensor würde durch das Glas- oder Kunststoffobjekt arbeiten, wodurch die Randfeldkapazität zwischen den zwei Sensorelektroden zunimmt, wenn das Objekt vorhanden ist, verglichen mit der Kapazität, wenn nur Luft über der Sensoroberfläche vorhanden ist. Eine Elektrode würde mit Masse und die andere Elektrode mit dem "Empfangsstift" der MCU verbunden, wie im folgenden Diagramm:

Schaltungsbeispiel der CapSense-Bibliothek

Ich gehe davon aus, dass Sie zwei Elektroden verwenden und die Randfeldkapazität für die Erfassung verwenden möchten, anstatt das in der obigen Abbildung verwendete "Ein-Elektroden" -Modell, da das Kunststoff- oder Glasobjekt nicht gut gekoppelt ist Boden.

Sie könnten einen Punktsensor verwenden, z. B. einen kreisförmigen Sensor und eine umgebende Masseebene, oder Sie könnten einen breiteren Sensor mit ineinandergreifenden koplanaren Elektroden implementieren.

Ich liebe dich! ♥☺☼☻

Sie könnten eine Variation eines "Magic-Eye" -Detektors (Strahlunterbrechung) ausprobieren.

Geben Sie hier die Bildbeschreibung ein

Ohne Objekt zum Blockieren des Strahls wäre der Ausgang des Fototransistors LOW. Mit einem Objekt in der Art würde der Ausgang HIGH gehen.

Sauber; womit hast du das gezeichnet?
@boardbite nur ein einfaches Malprogramm - kolourpaint
Dann scheinst du ein gutes Gespür für Geometrie/Symmetrie zu haben; sieht ziemlich lehrbuchmäßig aus!
@boardbite Aus Jahren des Kritzelns von Schaltkreisen und Designs auf der Rückseite brauner Umschläge, bevor PCs überhaupt erfunden wurden.

Wenn das Objekt ein metallisches Material enthält, ist eine sehr einfache (und billige) Option die Verwendung einer induktiven Abtastung. Sie können eine Drahtspule mit einigen Schleifen herstellen und diese als Induktivität in einem LC-Oszillator verwenden. Es ist ziemlich einfach, ein Arduino (oder einen anderen Controller de Jour) zu verwenden, um die Resonanzfrequenz des Oszillators zu stimulieren und zu messen. Wenn ein Objekt (insbesondere ein metallisches Objekt) in die Nähe oder in die Schleife kommt, ändert sich die Induktivität der Schleife ebenso wie die Schwingungsfrequenz. Somit können Sie das Vorhandensein des Objekts durch Beobachten der Schwingungsfrequenz erkennen. Diese Technik funktioniert je nach Material gut. Theoretisch ändert fast jedes Kernmaterial den Wert der Induktoren, aber das SNR könnte fragwürdig sein. Ich habe vor ein paar Monaten einen ähnlichen Sensor in etwa 30 Minuten zerhackt, um zu versuchen, nichtmetallische Materialien zu erkennen. Obwohl sich die Frequenz ändert, ist das SNR niedrig, sodass Sie möglicherweise eine kompliziertere Signalverarbeitung benötigen, um das Objekt zu unterscheiden. An diesem Punkt möchten Sie wahrscheinlich andere Sensoren (Ultraschall, IR, Wägezelle usw.) in Betracht ziehen, da das Schöne an dieser Option die Einfachheit/Kosten sind.

Auf diese Weise erkennen übrigens Bremslichter die Anwesenheit von Autos. Wenn Sie jemals eine Schleife gesehen haben, die an einer Ampel in den Bürgersteig geschnitten wurde, ist dies tatsächlich der Ort, an dem sie Drahtspulen einbetten, um das L im LC-Oszillator zu erzeugen.

In der Frage wird eindeutig angegeben, dass das Objekt aus Glas oder Kunststoff besteht. Vielleicht müssen Sie Ihre Antwort ändern.
Ich meinte die Antwort als Denkanstoß. Wenn er/sie ein Stück Folie/Metall hinzufügen kann (oder wenn der Glas-/Kunststoffgegenstand eine beliebige Menge Folie/Metall enthält), könnte die vorgeschlagene Lösung funktionieren. Alternativ könnte er / sie, wenn er / sie in eine Signalverarbeitung einsteigen möchte oder sehr kostenbeschränkt ist, die Signalverarbeitung nur mit Kunststoff / Glas lösen. Das heißt, ich habe die Antwort geändert, um den Geist widerzuspiegeln, mit dem sie beabsichtigt war.