Go Down

Topic: Auswahl richtiger Bauteile (Read 425 times) previous topic - next topic

Pauleheisster

Nov 10, 2017, 05:36 pm Last Edit: Nov 10, 2017, 05:41 pm by Pauleheisster
Hallo zusammen,

mein Team und ich befinden uns aktuell in der Orientierungsphase für ein Projekt, das wir realisieren müssen.

Aufgabe:
  • Roboter bauen der Zylinder (aufrecht aufgestellt) im Raum erkennt und greifen kann
  • Es muss immer nur ein Zylinder gegriffen werden
  • Zylinder sind willkürlich verteilt
  • Im mit Klebeband markierten Bereich bleibt
  • Die Zylinder in einem vorgegebenen Bereich absetzt
  • Vorgang muss nur einmal durchgeführt werden


Unsere erste Idee:
  • Erkennung Klebeband: Zwei IR Sensoren
  • Erkennung Zylinder: Servo verbunden mit Ultraschallsensor
  • Erkennung Ablageort: Wand folgen bis anders farbiges Klebeband erkannt wird


Unser erstes technisches Layout:
  • zwei Räder + DC Motoren: Klick
  • ein frei bewegliches Rad
  • zwei Servo-Motor (ein für den US-Sensor, einen für den Greifer): Klick
  • ein Ultraschallsensor: Klick
  • zwei IR-Sensoren (Sender + Empfänger): Klick


Nun zu meinen technischen Fragen:
Arduino Nano und Uno sind ja von der Funktion fast komplett baugleich. Welcher eignet sich denn besser? Ich dachte da z.B an den Uno + Arduino Motor Shield. Beim Nano müssten wir eine H-Bridge L293D selbst verschalten. Es sollte gesagt werden, dass wir alle noch keine Erfahrung mit Arduino Boards besitzen.
Betreiben würden wir das ganze gerne mit einer 9V Blockbatterie, werden wir da Probleme mit der Konfiguration bekommen?
Fehlen uns weitere wichtige Bauteile, die wir vergessen haben?
Ist die Konfiguration bezüglich der nötigen Pins an Uno oder Nano so überhaupt möglich?

Ich habe mich viel in IR Sensoren eingelesen, ich kam zu dem Fazit, dass es möglich ist aufgrund der unterschiedlichen Reflexion von Farben, eine Unterscheidung zweier Farben (z.B. Schwarz, Rot) möglich sein sollte. Lieg ich hier richtig? Ist das mit unseren gewählten Sensoren möglich?

Ist die Erkennung eines Zylinder mittels Servo + Ultraschallsensor so möglich oder habe ich ein wichtigen Aspekt nicht bedacht?

Würde mich sehr freuen wenn ihr ggf. Verbesserungsvorschläge mit einbringt!
Danke für eure Hilfe!



Tommy56

#1
Nov 10, 2017, 05:39 pm Last Edit: Nov 10, 2017, 05:40 pm by Tommy56
Den 9V-Block würde ich vergessen. Die Dinger haben eine so geringe Kapazität, dass Ihr Euch damit nur Probleme einhandelt.

Gruß Tommy

Edit: Über welche Größen und Massen der Zylinder reden wir denn?
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

Pauleheisster

Den 9V-Block würde ich vergessen. Die Dinger haben eine so geringe Kapazität, dass Ihr Euch damit nur Probleme einhandelt.

Gruß Tommy

Edit: Über welche Größen und Massen der Zylinder reden wir denn?
Danke für deine Antwort Tommy.
Alternativ vielleicht 4x AA (z.B Eneloop)?

Zylinder:
Durchmesser: 3 cm
Höhe: 10 cm
Gewicht max: 100 gr.

Klaus_ww

AA ist schon besser, hängt halt davon ab wie lange der Robo unterwegs ist und welche Strecke er fährt.

Gewicht von 100 g traue ich dem Servo niemals nicht zu  :D
Und wie willst Du die Zylinder greifen mit 1 Servo?

Ob Nano oder Uno ist relativ wurscht, mit Shield empfiehlt sich der Uno natürlich.
Farberkennung mit IR-Sensoren ... hmmm ... da wäre ich sehr skeptisch, habe aber Null Erfahrung. Ausprobieren!

Mit dem US Sensor misst Du die Entfernung zu einem Objekt. Ob das ein Zylinder oder was anderes ist erkennt der nicht. Über den Winkel des Servos und die US-Reflexion kannst Du maximal bestimmen, ob das Object ca. so und so breit ist. Falls sonst nix im Weg rumsteht. Du musst also ein räumliches Bild zusammensetzen aus den Laufzeitwerten und den Servoeinstellungen.

Sicherlich machbar, nicht ganz trivial.
Wenn ich hier sehr knapp antworte dann wegen der elenden Tipperei auf dem Tablet.

Pauleheisster

#4
Nov 10, 2017, 06:35 pm Last Edit: Nov 10, 2017, 06:42 pm by Pauleheisster
AA ist schon besser, hängt halt davon ab wie lange der Robo unterwegs ist und welche Strecke er fährt.

Gewicht von 100 g traue ich dem Servo niemals nicht zu  :D
Und wie willst Du die Zylinder greifen mit 1 Servo?

Ob Nano oder Uno ist relativ wurscht, mit Shield empfiehlt sich der Uno natürlich.
Farberkennung mit IR-Sensoren ... hmmm ... da wäre ich sehr skeptisch, habe aber Null Erfahrung. Ausprobieren!

Mit dem US Sensor misst Du die Entfernung zu einem Objekt. Ob das ein Zylinder oder was anderes ist erkennt der nicht. Über den Winkel des Servos und die US-Reflexion kannst Du maximal bestimmen, ob das Object ca. so und so breit ist. Falls sonst nix im Weg rumsteht. Du musst also ein räumliches Bild zusammensetzen aus den Laufzeitwerten und den Servoeinstellungen.

Sicherlich machbar, nicht ganz trivial.
Klaus, danke für deine Antwort. Der Plan ist es die Zylinder nicht anzuheben, sondern vielmehr vor dem Roboter einzuklemmen. Greifer wie z.B der hier: http://www.ebay.de/itm/Makeblock-Mini-Gripper-MB86508/282140890412?hash=item41b0e8552c:g:ptQAAOSwbOZZ36uC

Bezüglich US-Sensor. Es wird sich nicht anderes wie Zylinder im "Raum" befinden. Sobald der Roboter also ein Objekt entdeckt, muss er nur noch in die Richtung fahren. Programmiertechnisch sicher nicht ganz easy.

Der Roboter muss die Aufgabe nur einmal ausführen, also müssen die Batterien nicht all zu lange halten. Für die Testläufe können wir ja immer wieder Akkus laden und tauschen.

Tommy56

Noch eine Anmerkung. Ultraschall funktioniert am Besten, wenn er rechtwinklig auf eine ebene Fläche trifft. Das ist bei einem Zylinder nicht gegeben.
Hier müsst ihr evtl. probieren, ob es funktioniert.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

Pauleheisster

Noch eine Anmerkung. Ultraschall funktioniert am Besten, wenn er rechtwinklig auf eine ebene Fläche trifft. Das ist bei einem Zylinder nicht gegeben.
Hier müsst ihr evtl. probieren, ob es funktioniert.

Gruß Tommy
Danke dir. Das könnte definitiv ein Problem werden, haben wir uns auch schon Gedanken drüber gemacht.
Ports am Arduino sind aber ausreichend für 2x DC Motor, 2 Servo, 2x IR Sensor, 1x US-Sensor?!

agmue

#7
Nov 10, 2017, 10:31 pm Last Edit: Nov 11, 2017, 10:03 am by agmue
Fehlen uns weitere wichtige Bauteile, die wir vergessen haben?
Die Batteriespannung ist variabel, das mag Elektronik nicht. Der Innenwiderstand von Batterien ist relativ hoch, weshalb die Spannung bei Motorlast einbricht. Daher würde ich dem Arduino einen StepDown auf 5V spendieren und den Motoren einen eigenen auf 6V. Gibt es auch mit Voltmeter.

Als Akkus 6 Stück Mignon oder Baby oder Modellbau Akkupacks mit 7,2V.

Arduino Nano und Uno sind ja von der Funktion fast komplett baugleich. Welcher eignet sich denn besser? ... Es sollte gesagt werden, dass wir alle noch keine Erfahrung mit Arduino Boards besitzen.
Der Mega2560 hat mehr Pins und mehr Speicher. Bei guter Programmierung könnte auch ein UNO/Nano reichen, wenn aber bei der Phase "wir müssen fertig werden" das eine oder andere Byte übrig ist, um es zu verschwenden, werdet Ihr Euch freuen. Außerdem wäre dann auch noch ein Display "mir geht es gut" möglich. Auf ein 0,96" OLED paßt schon was drauf (8 Zeilen mit je 16 Zeichen je nach Font).

Zylinder:
Durchmesser: 3 cm
Höhe: 10 cm
Gewicht max: 100 gr.
Der Plan ist es die Zylinder nicht anzuheben, sondern vielmehr vor dem Roboter einzuklemmen.
Die Reibung des Zylinders auf dem Boden erzeugt Kräfte, die das Getriebe des Servos zerstören können. Da sind nur kleine Plastikzahnräder drin. Die Servos gibt es auch mit Metallgetriebe, sind dann aber deutlich teurer.

Warum ein Servo? Die Zange kennt doch nur "auf" und "zu", da könnte man auch einen DC-Motor mit Getriebe und Lichtschranke für die Endpositionen verwenden. Eigentlich genügt ein Magnet, wenn man einen passenden findet.

Der USS blickt ja Richtung Greifer, bis er einen Zylinder hat. Denn ist Robi blind, weil der Zylinder im Weg steht. Daher Zylinder anheben und in die andere Richtung mit zweitem USS fahren.

Was sind die Kriterien? Irgendwie, billig, kreativ, innovativ?

Pauleheisster

Die Batteriespannung ist variabel, das mag Elektronik nicht. Der Innenwiderstand von Batterien ist relativ hoch, weshalb die Spannung bei Motorlast einbricht. Daher würde ich dem Arduino einen StepDown auf 5V spendieren und den Motoren einen eigenen auf 6V. Gibt es auch mit Voltmeter.

Als Akkus 6 Stück Mignon oder Baby oder Modellbau Akkupacks mit 7,2V.

Der Mega2560 hat mehr Pins und mehr Speicher. Bei guter Programmierung könnte auch ein UNO/Nano reichen, wenn aber bei der Phase "wir müssen fertig werden" das eine oder andere Byte übrig ist, um es zu verschwenden, werdet Ihr Euch freuen. Außerdem wäre dann auch noch ein Display "mir geht es gut" möglich. Auf ein 0,96" OLED paßt schon was drauf (8 Zeilen mit je 16 Zeichen je nach Font).
Kriterium ist möglich kostengünstig. Hatte ich bis jetzt noch nicht geschrieben, aber das Limit für alle Bauteile liegt bei 75 €. Dementsprechend müssen wir auch bei der Spannungsversorgung möglichst günstig planen. Preislich stehen Nano und Uno natürlich auch vor dem Mega, aber werden wir mal in Betracht ziehen.

Die Reibung des Zylinders auf dem Boden erzeugt Kräfte, die das Getriebe des Servos zerstören können. Da sind nur kleine Plastikzahnräder drin. Die Servos gibt es auch mit Metallgetriebe, sind dann aber deutlich teurer.

Warum ein Servo? Die Zange kennt doch nur "auf" und "zu", da könnte man auch einen DC-Motor mit Getriebe und Lichtschranke für die Endpositionen verwenden. Eigentlich genügt ein Magnet, wenn man einen passenden findet.

Der USS blickt ja Richtung Greifer, bis er einen Zylinder hat. Denn ist Robi blind, weil der Zylinder im Weg steht. Daher Zylinder anheben und in die andere Richtung mit zweitem USS fahren.

Was sind die Kriterien? Irgendwie, billig, kreativ, innovativ?
Die Reibung könnte aufjedenfall zum Problem werden, gerade auch mit dem Klebeband auf dem Boden. Wie meinst du das denn mit dem Magnet? Kommen wir mit zusätzlichem dritten Motor nicht an die Grenze von der H-Bridge?

Die anderen Zylinder werden wir ersteinmal ignorieren, sind schon glücklich wenn der Roboter den Zylinder findet, greift und den Weg zur Übergabestation findet.

Das Kriterium ist definitiv so billig und einfach wie möglich. Innovativ muss daran nichts sein, sondern vielmehr einfach die Aufgabe erfüllen.

Vielen Dank für deine Tipps!

Pauleheisster

Hallo Zusammen,

ich hab mal ein ersten Schaltplan unserer Idee erstellt. Hab ich was falsch verkabelt? Sonst irgendwelche Fehler?


agmue

Das Kriterium ist definitiv so billig und einfach wie möglich.
Und dann erwägst Du einen teuren UNO mit Shield? Das geht billiger! Links sind nur Beispiele, damit Du erkennst, was ich meine: Nano - H-Brücke

Vom Nano würde ich gleich mehrere kaufen. Falls einer nicht reicht, dann läßt Du sie mittels I2C quatschen.

Das nenne ich dann billig :)

Pauleheisster

Agmue, ja wir haben uns bisschen eingelesen und sind zu dem Entschluss gekommen, dass der Uno am einfachsten zu programmieren ist. Grade zu Linienverfolgung und Co. gibt es fertige Tutorials. Wir haben ja wie gesagt noch keine Erfahrung mit der Programmierung von Arduinos.

Soo teuer ist das nicht. Fake Arduino UNO R3 MEGA328P ATMEGA16U2 Board Arduino kompatibel kostet 8,95 € und das L293D Motorshield kostet 3,54 €. Versand ist vernachlässigbar, da wir alles in dem Shop bestellen. China Shops kommen nicht mehr in Frage, da wir keine 4 Wochen warten können bis die Teile kommen.

agmue

#12
Nov 14, 2017, 09:28 pm Last Edit: Nov 15, 2017, 08:41 am by agmue
... dass der Uno am einfachsten zu programmieren ist.
Keinerlei Widerspruch, nur nutzt der Nano genau den selben Prozessor, so daß alle UNO-Programme unverändert auch auf dem Nano laufen. Allenfalls die Stromversorgungsbuchse fehlt und der USB-Anschluß mit CH340 Treiber ist kleiner.

Das Shield hat H-Brücken für 4 DC Motoren, also 2 zu viel, damit sind wertvolle IOs blockiert.

Billig in D: 2 Kanal H-Brücke - Nano

Du wolltest eine Meinung, dies ist meine.

uwefed

#13
Nov 14, 2017, 11:18 pm Last Edit: Nov 14, 2017, 11:18 pm by uwefed
Pauleheisster, der Verkäufer sollte seinen Text in der Anzeige mal genau durchlesen. Er verkauft nämlich einen
Quote
Lieferumfang:
1x Arduino UNO MEGA328P MEGA16U2 Board
Und nicht einen Nachbau wie im Titel.

In solchen Fällen finde ich Abmahnugen gerechtfertigt.

Grüße Uwe

michael_x

Hat er einmal auf der ganzen Seite das Wort "kompatibler" vergessen.
Hoffentlich überlebt er die Abmahn-Gebühr.

Vielleicht hat Alexander aber auch einen Freund als Rechtsanwalt.
Quote from: Impressum
Wir sind zur Teilnahme an einem Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle weder verpflichtet noch bereit
;)

Go Up