Messen Sie den Durchmesser einer Kugel mit Arduino


13

Ich versuche ein Handgerät zu entwerfen, mit dem das Gewicht und die Größe einer Frucht (Orange / Apfel) gemessen werden können.
Für das Gewicht kann ich eine Wägezelle verwenden, weiß aber nicht, wie ich den Durchmesser messen soll.

Was ich im Moment denke, ist eine Kegelform. Je größer die Orange, desto weiter vom Ende des Kegels entfernt. Was ich messen kann, ist die Entfernung vom Ende des Kegels zur Orange oder durch Messen der Entfernung vom Ende des Kegels bis zu der Stelle, an der die Orange die Wand berührt.

Für das erste könnte ich eine Art Widerstandsstab verwenden, den die Orange herausdrückt und dann den Widerstand misst.
Für den zweiten könnte ich einen Touch-Bar-Sensor verwenden.

Irgendwelche Ideen, welche Art von Elementen ich für beide Lösungen verwenden kann?
Kann sich jemand einen besseren Weg vorstellen, um den Durchmesser einer Orange unterwegs mit Arduino zu messen?

Orange

Ein kleiner Hintergrund: Die Qualität der Orangen in meinen Läden ist nicht sehr gut - es gibt viele ausgetrocknete. Die Idee ist, dass je schwerer die Orange bei gleichem Durchmesser ist, desto besser ist sie (sie enthält mehr Saft). Ich möchte eine Art hängende Waage bauen, die Sie in der Hand halten und eine Orange hineinlegen - sie erkennt den Durchmesser einer Orange und ihr Gewicht und zeigt die "Saftigkeit" der Orange an. Auf diese Weise kann ich die schlechten herausfiltern.


Du bist wirklich hartnäckig mit deinen Orangen! Ist ein Ultraschallsensor wie sparkfun.com/products/13959 geeignet? Ist +/- 3mm ausreichend?
Paul Uszak

3
+1 für die clevere 3D zu 1D mechanische
Messvorverarbeitung

1
Ich habe vor ungefähr 15 bis 20 Jahren an einem Gerät gearbeitet, mit dem man Obst genau nach dieser Methode zurechtmachte. Verwendete einen Ultraschall-Abstandssensor, der nach oben zum Boden des Kegels zeigt (eigentlich nur 3 Stäbe, um den "Kegel" zu bilden). Kleiner Tipp: Wenn Sie den richtigen Winkel für Ihren Kegel wählen, wird die Berechnung der Entfernung zum Durchmesser fast trivial.
Brhans

Ich hasse trockene Orangen! Bitte Massenproduktion im globalen Maßstab. +1.
Dampmaskin

Ich kenne den typischen elektrischen Widerstand der orangefarbenen Oberfläche nicht, aber Sie können ihn mit einem Multimeter testen. Ich bin mir fast sicher, dass es nachweisbar sein wird. Dann können Sie konzentrische Metallhalbkreise auf die Innenfläche des Kegels legen und feststellen, wo die Orange den Stromkreis schließt. Ein Operationsverstärker kann erforderlich sein, wenn der Widerstand zu hoch ist. Verwenden Sie dann einen analogen Multiplexer, um mit nur einem Arduino-Analogeingang durch die Kreise zu scannen.
Volodymyr Smotesko

Antworten:


2

Sie könnten auch in Betracht ziehen, den Durchmesser mit einem linearen Encoder zu messen, was die Präzision und Genauigkeit auf Kosten von ... erhöht. Oder Sie könnten sogar wie bei digitalen Messschiebern vorgehen - ein Mechanismus, der auf der Variation der kapazitiven und messenden Phasenverschiebung von PWM-Signalen basiert (dh wahrscheinlich komplizierter als es sich lohnt).

Aber, noch besser, verwenden Sie einen Schiebetopf, der widerstandsfähig und kinderleicht zu integrieren ist. Schieberegler sind relativ billig und erfordern nicht unbedingt externe Komponenten - lediglich das Ablesen des Spannungspegels durch den Teiler. Sie müssten nur sicher sein, dass Sie eine Frucht bekommen, die länger ist als die Früchte mit dem größten Durchmesser, die Sie erwarten.

Andererseits entscheiden sich die Hersteller von Messschiebern und Linearcodierern für andere Methoden - Kapazität, Induktivität, Hall-Effekt, magnetoresistiv, optisch usw. - für eine höhere Präzision (Auflösung) und Genauigkeit. Ich gehe jedoch davon aus, dass Ihre Bewerbung keine solche Genauigkeit erfordert.

Auf jeden Fall würden Sie die Notwendigkeit eines Kegels vermeiden, was Ihrem tragbaren Gerät viel Platz einräumt.


1

das ist eine schöne frage! Ich habe eine Idee, die helfen könnte.

Sie können einen Ultraschallsensor verwenden und ihn je nach gewünschter Größe vor einer Platine platzieren. Messen Sie den Abstand zwischen der Platine und dem Sensor (serial.print und nehmen Sie dann 5-6 Werte, um einen Durchschnittswert zu erhalten). Platzieren Sie jetzt ein Objekt und subtrahieren Sie diesen Wert vom ursprünglichen Abstand (zwischen der Platine und dem Sensor). Du hast den DURCHMESSER!

Oder wenn Sie keine Platine und ein cooles Hi-Fi-Gerät wollen, das den Durchmesser misst, indem Sie es einfach dort platzieren, sollten Sie 2 Sensoren nehmen, sie in einem gewünschten Abstand platzieren und diesen Abstand notieren (don ' Um hier serial.print zu verwenden, verwenden Sie eine Skala / ein Lineal / ein Maßband. Legen Sie nun ein Objekt dazwischen. Nehmen Sie beide Messwerte von den Sensoren und addieren Sie sie. Subtrahieren Sie dies vom Gesamtabstand zwischen den Sensoren. SIE HABEN DEN DURCHMESSER (damit können Sie auch die Größe des gesamten Setups anpassen)

Oder die letzte Methode: Holen Sie sich einen digitalen Messschieber und kleben Sie ein Zahnrad darauf und verbinden Sie es mit dem Servo. Stellen Sie den maximalen Abstand ein und lassen Sie das Servo so nah wie möglich kommen. googeln Sie jetzt eine Methode, um den Wert aus dem Stromkreis im Bremssattel zu entnehmen und ihn als Eingabe zu verwenden und anzuzeigen. SIE HABEN DEN DURCHMESSER! (Ich weiß, der letzte ist Scheiße)

Lass es mich wissen, wenn es bei dir funktioniert hat! Viel Glück!

:)


Leider kann ich nur eine Antwort markieren, aber Ihre Idee, 2 Abstände zu verwenden, um den Durchmesser zu erhalten, ist großartig! Vielen Dank!
Leonti

0

Ich würde einen IR-Entfernungsmesser mit Ihrem Kegel wie dem Sharp GP2Y0A41SK0F verwenden, der über einen analogen Ausgang verfügt und über eine 5-V-Versorgung verfügt. Es eignet sich sehr gut zum Messen von Entfernungen in der Nähe von (muss jedoch über 4 cm liegen). Es ist außerdem schnell, kompakt, leicht, stromsparend, zuverlässig und hat keine beweglichen Teile.

Randnotiz: Ein Kegel ist sperrig, vielleicht wäre es tragbarer, nur eine V-Form aus 2 Stäben zu verwenden - obwohl das Wiegen dann schwierig wäre.


-3

Hey das ist eine gute Frage. Völlig nutzlos in der realen Welt, aber schön für ein Schulkind zu überwinden.

Das Problem bei Ihrem Vorschlag besteht darin, das Gewicht des Saftgehalts allein basierend auf dem Umfang zu messen, was zu einer zu großen +/- Toleranz führt, um sich als wirksam zu erweisen. Wie viele Orangen hast du schon perfekt gesehen?

Die einfachste und möglicherweise genaueste Methode wäre die Wasserverdrängung mit einer Niveausonde. Verhindern Sie den Auftrieb und kleben Sie das Ganze auf eine Wägezelle. Portabilität kann eine Belastung für die heutige Gesellschaft sein, die dennoch erreichbar ist.

Theres offensichtlich keine reale Anwendung zu solch einem Gerät, ich meine, wenn Sie eine gute Orange von einem schlechten unter Verwendung der Richtungen der meisten fähigen Körper nicht erklären können, sollten Sie nicht Orangen essen.


1
Die einfachste Methode für ein Handgerät wäre die Verwendung der Wasserverdrängung. Ich bin mir ziemlich sicher, dass dies nicht die einfachste ist, unabhängig von der genauen Anwendung. Er benötigt das spezifische Gewicht nicht auf vier Präzisionsstufen - er benötigt nur eine Methode auf der Rückseite des Umschlags, um eine ungefähre Vorstellung zu erhalten. Wie viele Orangen haben Sie gesehen, die nicht kugelförmig genug sind, um nach seiner Methode eine ausreichende Genauigkeit zu erzielen? Er sagte sogar, er habe bereits vor Jahren ein ähnliches Gerät gebaut. Anschließend kritisieren Sie das Projekt des OP, nachdem er speziell ein reales Bedürfnis genannt hat, das es katalysiert hat. Einfach wow.
tjbtech

1
Willkommen bei Stackechange Rick. Bitte beseitigen Sie die Probleme, die beim Erstellen von Absätzen am Anfang und am Ende auftreten. Die anderen beiden Absätze sind konstruktiv genug, obwohl Sie einige Ideen hinzufügen könnten, wie die Wasserverdrängung tatsächlich gemessen werden kann.
try-catch-finally
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.