PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Projekt Konzept Fragen



JediNizar
17.08.2021, 10:41
Hallo zusammen,
Mein name ist Nizar Ich bin neu hier im Forum, dieses Thema hat viel mit Arduino zu tun aber auch mit Raspberry Pi und Elektronik allgemein daher stelle ich hier meine Fragen

Ich habe ein "kleines" Heim Projekt was ich gerne umsetzen möchte

Im Prinzip möchte Ich ein Art Roboter steuern über 2 12v Motoren über ein Android App per Bluetooth
soweit so gut, ich steuere die Motoren mit ein L298N dual H-Brücke verbunden über ein Arduino Uno board, der wiederum mit ein Raspberry Pi über USB verbunden ist.

So nun aber möchte ihn noch ausbauen. Und zwar der Roboter ist in 2 Teilen getrennt
Teil1 : 1x 12V Getriebe Motor, 13x Servos, und ca. 10 LEDs und ein Radar Sensor
Teil 2: die 2 Motoren, ca. 8 Servos, ca. 10 LED und Akku

Teil1 rotiert sich um seine Achse über den einen 12V Motor und ist mit Teil2 über eine Drehscheibe verbunden.

Am besten würde ich das ganze über ein Raspberry Pi steuern, der wiederum auch an ein Lautsprecher und ein Mikrofon verbunden ist, da ich ihn wiederum mit Alexa steuern möchte.

Als erstes allgemeine Frage wie viele Komponenten kann ich an einen Arduino verbinden bzw. soll ich mehrere bzw. jedes Set an eine Arduino verbinden und dann alle Boards zusammen verbinden. Platz habe ich nicht viel vor allem im rotierenden Teil (Teil1), lieber 1-2 Arduino Mega oder doch mehrere Arduino Uno die ich leichter montieren könnte bzw. da wo Platz ist.
Dann wie verbinde ich die dann zum Raspberry? Was ich bis jetzt gelesen habe ein Arduino Master und der Rest als Slave verbinden, aber habe noch nicht gelesen wie ich dann präzise nur LED 3 im Arduino slave 2 ansteuern kann.

Und jetzt wie verbinde ich Teil 1 und 2, ich habe gelesen mit Slipring / Schleifenring man z. B. ein Motor an eine rotierende Scheibe verbinden kann. Das könnte möglichst die Lösung sein für die Verbindung des Akkus an den Boards in Teil1.
Aber wie verbinde ich alle Boards zum Raspberry pi den ich am besten in Teil2 montieren würde?

Wenn das mit der Arduino Master/Slave richtig ist? Kann man mehrere "Master" Arduinos an ein Raspberry Pi verbinden? Dann könnte ich 2 unabhängige Master Arduino haben, jede ist in einen anderen Teil des Roboters montiert, die Slave Arduinos würden dann klassisch an ihre Master verbunden sein, eine Master Arduino per USB an den Raspberry Pi verbinden und die andere per Bluetooth. Bleibt noch die Frage, wenn ich per Bluetooth, die Pi an ein Arduino verbinde, blockiere ich mir dann auch den Port um auch die Raspberry Pi gleichzeitig mit mein Handy per Bluetooth zu verbinden?

Fragen über Fragen, ich hoffe ihr habt mein Prinzip Konzept verstanden, ich bedanke mich im voraus für jeden Tipp

Andree-HB
17.08.2021, 14:57
Fragen über Fragen, ich hoffe ihr habt mein Prinzip Konzept verstanden

...verstehst Du es denn überhaupt selber - scheint nicht so!

JediNizar
17.08.2021, 16:28
Ach was! wenn ich es genau wüsste, müsste ich nicht fragen oder?

Und nur zur info falls der Kommentar ernst gemeint war.
Was ich erreichen will, ist mir klar, wo überall die Servos, Motoren lichter sein müssen und wie ist mir auch klar. Wie alles zusammen gebaut wird auch.
Meine Frage bleibt die verbindung und kommunikation zwischen den Arduinos und Raspberry Pi

Kleinere Tests, Z.B. wie 1 Motor über Arduino und Raspberry Pi per Bluetooth via App zu steuern habe ich bereits und auch die Installation Alexa auf den Pi habe ich auch schon und jedes Mal, wenn ich "Hey Computer" Sage geht eine LED auf, die ich noch direkt am Raspberry Pi verbunden habe. Die Idee ist auszubauen, wenn ich ein Signal bekommen soll er dann ein Befehl zum Arduino senden.

Und dass das alles nicht einfach ist, ist mir auch klar.

Holomino
17.08.2021, 22:09
So ein Arduino Mega hat doch 4 serielle Schnittstellen (UARTs). Und er kann AVR-typisch als I2C-Master oder als I2C-Slave laufen. Richtig?

Der Raspi hat 1 x I2C und 1 x UART an der Stiftleiste und zusätzlich noch Bluetooth und WLAN? Wobei Bluetooth eigentlich schon durch die Verbindung zum Smartphone belegt ist?

Wenn das alles so stimmt, könnte man doch den einen Mega als I2C-Slave an den Raspi anbinden. Der Mega hat dann noch die vier UARTs frei und man kann damit z.B. weitere "kleinere" Controller ansteuern.

Ob man den zweiten Mega über den Schleifring per I2C-Slave an den Raspi anbindet? Ist die Frage, ob's störungsfrei funktioniert.
Wenn nicht, hast Du aber immer noch die Möglichkeit, per UART des ersten Megas mit einer UART des zweiten Megas über eine Bluetooth-Bridge (z.B. HC-05/ HC-06) zu reden. Dabei würde der erste Mega die Daten vom Raspberry an den zweiten Mega "durchreichen".

Wenn Du Dich mit der Idee der "Durchreiche" anfreunden kannst, wäre noch die Frage, ob man den ersten Mega nicht auch per UART an den Raspi anbindet und damit den I2C-Bus aus der Sache komplett eliminiert. Das würde wohl das Protokoll vereinfachen.

jmoors
18.08.2021, 08:32
Hallo Nizar,

willkommen auch in diesem Forum. ;-)

Bei einer solch komplexen Schilderung eines Szenarios steigen die meisten Hirne, wie auch meines, schnell aus. Eine Skizze wäre hilfreich und erspart so manchen überflüssigen Kommentar.

Ich empfehle dir, ein Netzwerk im R2 aufzubauen, in dem der Dome über den anderorts empfohlenen Schleifring angeschlossen wird. Das bedeutet, bei zwei kurzen Netzwerkkabeln einen Stecker abzuschneiden und und das Kabel an den Schleifring anzulöten. Die Enden der Netzwerkkabeln mit Stecker gehen im Body des R2 in einen kleinen Switch und im Dome in einen Raspi. Bevor Du anfängst, den Dome mit Arduinos vollzustopfen, solltest Du schauen, ob Du nicht sie gewünschte Funktionalität über Erweiterungsboards auf dem Raspi im Dome erreichen kannst. Das nimmt viel Komplexität raus und bewahrt dich vor den einen oder anderen Wutausbruch, weil etwas nach 3 Monaten Fehlersuche nicht funktioniert.

Post doch mal eine Liste, was alles (LEDs, Motoren, etc.) an Funktionalität in den Dome soll. Auch eine einfache Handskizze wäre hilfreich. Dann kann man für jeden Einzelfall die optimale Lösung finden. Dabei spielen auch die Stromaufnahmen der Servos und des RADAR-Sensors eine Rolle. Das muss ein Board abkönnen. Wenn nicht, braucht man hinter dem Board noch eine Treiber-Stufe.


VG, Jürgen

P.S.: Ich würde Bluetooth und WLAN innerhalb des R2 nicht nutzen. Dort sind zu viele Computer und Motoren als Störquellen und zu viele Kabel und andere Metallteile, welche abschirmen. Baue die Verbindungen zwischen den Rechnern am besten nur kabelbasiert (Netzwerkkabel mit RJ-45 Steckern) auf, auch wenn Du diverse Netzwerkadapter anschaffen musst.

oberallgeier
18.08.2021, 10:01
Hallo Nizar .. Eine Skizze wäre hilfreich und erspart so manchen überflüssigen Kommentar ..Vielleicht so wie ich die Übersicht über meinen Verbund behalte?

......https://dl.dropbox.com/s/uizx13f2121mada/archie-topokl80.JPG?dl=0
...... Topologie archie © oberallgeier......

JediNizar
18.08.2021, 14:17
Ha! Wurde ich also erwischt :D
also Ja ich baue mir ein R2D2 Maßstab 1:1.

Anbei 3 Skizzen die den Umfang erläutern.

Was die Verbindung Alexa mit dem Pi angeht, so habe ich es nicht aufgezeichnet, das ist nochmal ein anderes Thema, erstmal optional, nur zur Info Ich habe schon ein PI auf dem Alexa läuft und wie gesagt, wenn ich "Hey Computer" Sage geht eine LED auf, ziel ist es, wenn ich "R2" sage, dass 1 Holoprojekt sich kurz bewegt und kurz mal an und aus geht mit ein Piepser

021aet04
18.08.2021, 21:23
Ich würde für den drehenden Teil nur die Stromversorgung über Schleifringe leiten.

Die Daten würde ich mit eine Lichtschranke übertragen. Einen Ring mit IR-Leds und auf der Gegenseite einen IR-TRansistor.

MfG Hannes

jmoors
19.08.2021, 07:45
Ich würde für den drehenden Teil nur die Stromversorgung über Schleifringe leiten.

Die Daten würde ich mit eine Lichtschranke übertragen. Einen Ring mit IR-Leds und auf der Gegenseite einen IR-TRansistor.

MfG Hannes

Hast Du dazu mal ein Foto, wie Du das bei dir umgesetzt hast? Die Idee finde ich gut, aber ich bin mir nicht sicher, wie sich das in der Praxis bewährt, wie viele IR-LEDs man braucht, wie sie angeordnet sein müssen, wie die Datenübertragungsrate ist, etc.

021aet04
19.08.2021, 08:49
Ich habe das noch nicht umgesetzt, habe es noch nicht benötigt.

Bei Elektor gab es aber einmal einen Artikel über eine Propelleruhr, bei der es so gelöst war.

https://www.elektormagazine.de/magazine/elektor-201312/24128

Die Stromübertragung wurde hier aber über Spulen gemacht. Irgendwo habe ich aber eine andere Variante gesehen mit Schleifringen.
Aufgrund des Strombedarfs würde ich eher auf Schleifringe setzen.

Bei dem Foto im Link sieht man die Leds auf der unteren Platine angeordnet.

MfG Hannes

Rabenauge
19.08.2021, 09:08
Bei einer Propelleruhr hat man hohe Drehzahlen. Das Problem entfällt beim R2. Da reichen bestimmt vier Stück, um den Sensor im Kopf in jeder Stellung erreichen zu können. Immerhin kann man die so anordnen, dass das Licht im Gehäuse auch reflektiert wird, das geht dann schon auch "um die Ecke".
Schlimmstenfalls sechs.
Daten mit nem Schleifring zu übertragen, halte ich für nicht besonders zuverlässig- das wird auch langsam, weil man ein recht robustes Protokoll brauchen wird.

Holomino
19.08.2021, 22:03
Wie realisiert man denn mit der IR-Geschichte Hin- und Rückleitung?
(Wenn der Pi im Kopf sitzt und der Akku im Body, will man doch sicher mal die Akkuspannung abfragen. Andersrum: Der Pi im Body und der Radarsensor im Kopf geht auch nicht nur unidirektional)

Rabenauge
20.08.2021, 00:10
Dann baut man beides in beide Teile.
Da man ja weiss, wann der eine sendet, kann man es so einrichten, dass der andere das dann nicht tut.
IR ist schnell genug, um da keine merklichen Verzögerungen aufkommen zu lassen.
Man kann auch unterschiedliche Frequenzen des Trägers benutzen, die kleinen IR-Empfänger gibt es mit verschiedenen Frequenzen.

Wenn ich allerdings drüber nachdenke, würd ich es mit HC-05-Modulen machen.
Reichweite braucht man nicht, und der Aufwand ist geringer.
Und die kosten auch nix.

Mir ging es hauptsächlich darum, dass ein Schleifring zur Datenübertragung eher ungeeignet sein dürfte.

JediNizar
20.08.2021, 05:01
was ist mit ESP32, müsste doch auch gehen oder?

Rabenauge
20.08.2021, 09:29
Für die Funkverbindung?
Sicher, aber Kanonen auf Spatzen....zudem: noch mehr Rechner in dem Ding?
Allzu vieles ansteuern kann der nicht (naja, mit Port-Expandern dann schon, was aber auch wieder Aufwand ist), wird also alleine im Kopf auch nicht reichen.
Normalerweise kann _ein_ Arduino Mega locker alles stemmen, was in nem R2 so anfällt (ok, bei Sprachsteuerung wirds dann eng).
Die HC-05 sind ne serielle Leitung (bidirektional!) ohne Strippe...praktischer gehts kaum.

Moppi
20.08.2021, 12:51
Nun, weil er gerade schon selber drauf gekommen ist, mit WLAN zu hantieren:

Ich denke, ein MEGA ist ausreichend, sowohl für den oberen, als auch den unteren Teil. So ein Ding hat ja "54 digital pins, 16 analog inputs, and 4 serial ports".

Was die Verbindung oben zu unten angeht, ist IR sicher eine gute Idee.

Meine Erfahrungen dazu sind:

- IR ist rel. fehleranfällig.
- WLAN ist sicher in der Verbindung, gerade auf kurze Distanz, man sollte aufpassen wegen Störungen, WLAN ist etwas empfindlich, heißt aber nicht dass es nicht funktioniert

Mit Schleifringen usw. habe ich keine Erfahrung, nur aus Jugendzeit und die sagen für sowas, wie Datenübertragung: ungeeignet. Andere mögen da andere Erfahrungen haben.

Wollte ich das bauen, würde ich die zwei MEGA nehmen, die wohl im Rennen waren, und zwei ESP8266 zur Kommunikation. Ich würde dann zunächst versuchen, UDP-Pakete zu verschicken. Sollte ausreichend sein. Die zwei MEGA deshalb, weil da noch wieviele Arduinos dran gehängt werden sollten? Ich denke, die kann man sich vielleicht sparen. Ein ESP32 hat wieder nicht so viele I/O-Ports, würde ich daher nicht verwenden. Statt den NodeMCU ESP8266 gibt es da auch die Wemos D1 Mini. Eine serielle Schnittstelle sollten die haben, um am MEGA angeschlossen zu werden und mit dem zu kommunizieren. Sollte es dennoch notwendig sein, weitere Arduinos zu verwenden, würde ich mich für NANO entscheiden, einfach wegen dem Platz.

Mit HC-05 habe ich keinerlei Erfahrung. Sollten die aber gleich gut, wie WLAN funktionieren, auch von der Datenübertragungsrate her (und vielleicht sogar weniger Leistung benötigen), wäre das auf kurze Distanz sicher praktisch.

MfG


---------

Nachtrag, wegen der Alexa IoT-Geschichte:

Dass man Arduino mit Alexa steuern kann, hatte ich vermutet und folgendes gefunden:

Der erste Link: https://blog.arduino.cc/2019/11/12/create-a-voice-controlled-device-with-alexa-and-arduino-iot-cloud-in-7-minutes/
Der zweite Link: https://create.arduino.cc/projecthub/303628/arduino-iot-cloud-amazon-alexa-integration-4e6078

Vielleicht wird der RasPi damit überflüssig.

oberallgeier
20.08.2021, 14:44
Wie realisiert man denn mit der IR-Geschichte Hin- und Rückleitung? ..GAANZ einfach. Das konnte schon der asuro - siehe hier, Seite 21ff (https://wwwalt.tu-ilmenau.de/fileadmin/public/regelungstechnik/Lehre/Praktika/ASURO/asuro_manual_de.pdf) - 2400 Bd, 8N1. Da gibts auch Schaltungsbeispiele dazu *gg*. Und ich weiß, dass das funzt(e).

jmoors
20.08.2021, 17:25
Da es hier Vorbehalte gegen Schleifringe zur Datenübertragung gibt: Nutzen nicht die meisten R2-Bauer Schleifringe gerade dafür? Gibt es dazu keine Erfahrungswerte?

Rabenauge
20.08.2021, 21:09
@Moppi: die 30m, die ein Wemos D1 im Freien schafft, kann ein HC-05 nicht.
10m schon.

Aber hier muss ne Entfernung von maximal _einem_ Meter überbrückt werden.
Der Vorteil der HC-05 ist halt, dass es genauso ist, als würdest du die beiden MEGA mit nem seriellen Kabel verbinden, nur das Kabel eben weglassen.
Man schickt die Kommandos einfach über die serielle Schnittstelle- das geht in beide Richtungen.
Um Protokolle und anderes braucht man sich gar nicht kümmern, wenn man "a" schickt, kommt auch "a" an.
Wenn man Strom sparen will (bei nem R2 in Lebensgrösse wohl eher nicht, da passt ne Autobatterie rein) kann man die Dinger auch über nen digitalen Pin einfach abschalten.
Das mache ich bei der XPControl auch, wenn die im USB-Modus ist (dort ist das nötig, damit ich die Hardware-Schnittstelle nutzen kann um den Arduino Nano zu programmieren, an der selben Schnittstelle hängt nämlich der HC).
Ich finde gerade die Möglichkeit, beliebige Kommandos einfach im Klartext zu übertragen, bestechend.
Der untere kann z.B. irgendwelche Daten einfach durchreichen, und der obere gibt sie dann auf nem Display aus, genauso wie sie ankommen (nutze ich für die Telemetrie der XP-Control, es ist vollkommen egal was die gerade steuert, Telemetriedaten werden einfach als Klartext gesendet und zum Display durchgereicht).
Einfacher geht es wohl kaum noch.

Holomino
21.08.2021, 13:55
GAANZ einfach. Das konnte schon der asuro - siehe hier, Seite 21ff (https://wwwalt.tu-ilmenau.de/fileadmin/public/regelungstechnik/Lehre/Praktika/ASURO/asuro_manual_de.pdf) - 2400 Bd, 8N1. Da gibts auch Schaltungsbeispiele dazu *gg*. Und ich weiß, dass das funzt(e).
Leider kann man so ein einfaches Teil nicht im Drehpunkt anbringen. Da sitzt der Schleifring.
Und Fullduplex geht auch nur mit Kanaltrennung, also Hin- und Rückleitung auf zwei verschiedenen Modulationsfrequenzen.

Induktiv würde auch gehen (hat den Charme, das Drehpunktproblem elegant zu lösen) Kann ich auch nen Schaltplan beisteuern, ist aber auch nur in eine Richtung und wird erst mit zwei konzentrischen Spulen bidirektional (es sei denn, man filtert aktiv zwei Bänder).

Wie immer auch die Frage: Wie modular soll's entwickelt werden können (im Body haperts irgendwo, also komm ich gar nicht erst zum Kopf). Da sind die BT-Module meiner Ansicht nach unschlagbar (weil praktisch zu jedem anderen Rechner ohne Adaption direkt kompatibel).