Hallo, ich bin völliger Anfänger was Mikrokontroller bzw. die Arbeit mit dessen angeht. Ich möchte mit einem Mikrokontroller eine Erkennung von Objekten (bestmöglichst gespeicherte Bilder die mit dem eingescannten Objekt abgeglichen werden) mithilfe von Bildern & Sensoren sowie eine Motorsteuerung bzw. Stromversorgung über ein Netzteil veranlassen. Noch dazu kommt, das eine kleine Displayanzeige angeschlossen werden soll. Nun ist mein Hauptproblem die Auswahl des Mikrokontrollers. Für den Prototyp, ist es egal welcher, solange er Resourcenmäßig mit meinem Vorhaben vereinbaar ist. Später würde ich dieses Projekt gerne für die Industrie umsetzen und hierbei dann höchstwahrscheinlich auf einen anderen Mikrokontroller, welcher mehr Leistung um bspw. diese Aufgaben in Echtzeit oder mit geringer Latenz durchführen zu können. Nun lautet meine Frage, wie sollte ich anfangen? Ich habe Kentnisse was die Programmierung mit C++ und C# angeht. Welchen Mikrokontroller könnte ich für einen Prototypen, und später für die mehrfache industrielle Produktion nutzen? Ich lerne sehr schnell und möchte mich sehr ausgiebig mit diesem Thema befassen, allerdings scheint es mir sehr unübersichtlich was die Auswahl eines geeigneten Mikrokontrollers angeht. Gruß & vielen Dank
Je nach Geschwindigkeitsanforderung an das Projekt kann es sinnvoll sein, sich zunächst mit C (oder im Extremfall mit Assembler) zu befassen statt C++ zu programmieren. C# fällt völlig raus. Kommt aber sehr drauf an, wie die Anforderungen sind. Rein von der Beschreibung der Aufgabe ist das ganze schon nicht trivial zu lösen und deine Frage ist nicht vollständig beantwortbar, da zu viele unbekannte Variablen die Auswahl beeinflussen werden.
Ich würde das umgekehrt machen. Stelle eine Lösung auf einem PC bereit. Und dann kannst du sehen, was da für Speicher benötigt wird, und welche CPU-Leistung dafür erforderlich ist. Dann kannst du einen passenden Prozessor auswählen (Taktfrequenz, Anzahl Kerne, Ram, IO-Anforderungen) Wäre jetzt mein Vorgehen.
Beitrag #7184150 wurde vom Autor gelöscht.
Kommt drauf an, wie aufwendig deine Objekterkennung wird. OpenCV lauft auf jedem 32bit MC. Solltest dir aber Gedanken machen. ob du mit einer Linux-Platine besser weg kommst. TensorFlow auf einem MC? Besser der MC macht nur die Steuerung, benutzt eine Cloud für die Objekterkennung. Schaue dir mal die Objekterkennung für selbstfahrende Autos an. Zuerst hatten die Beifahrersitz und Rücksitzbank ausgebaut. Die Sache mit irgendwelchen Programmiersprachen und 2 m2 Hardware zum laufen gebracht. Erst danach wählten die Entwickler geeignete Sprachen und MCs aus.
Ssssss S. schrieb: > Für den Prototyp, ist es egal welcher... > ...dann höchstwahrscheinlich auf einen Das passt irgendwie nicht wirklich zusammen. Ein Prototyp ist ja eher sowas wie ein erstes Vorserienmodel und damit schon nahe an dem späteren Produktionsmodell. Wenn du danach nochmal die gesamte Grundlage änderst, fängst du quasi nochmal komplett von vorne an mit Prototyp, Vorserienmodel usw. Das, was du da beschreibst, wäre wohl eher erstmal sowas wie eine PoC wo du erstmal generell rumprobierst ob das Vorhaben überhaupt machbar ist. Da wird dann auch mal einfach irgendwelche Module wild zusammengebastelt und die Software so einfach wie möglich (z.B. ohne Fehlerbehandlung, Sonderfälle usw.) wild zusammenkopiert. Hauptsachen schnell, billig und es funktioniert einigermaßen um zu zeigen das es überhaupt machbar ist. Teile davon können durchaus auch erstmal Simulation/Tests auf einem PC oder so sein. Die eigentliche Entwicklung fängt danach nochmal von vorne an mit einem sauberen Konzept (wo die Erfahrungen aus dem PoC mit einfließen) usw... - https://de.wikipedia.org/wiki/Proof_of_Concept
Noch ein Kommentar schrieb: > Kommt drauf an, wie aufwendig deine Objekterkennung wird. > > OpenCV lauft auf jedem 32bit MC. Solltest dir aber Gedanken machen. ob > du mit einer Linux-Platine besser weg kommst. > > TensorFlow auf einem MC? Besser der MC macht nur die Steuerung, benutzt > eine Cloud für die Objekterkennung. > > Schaue dir mal die Objekterkennung für selbstfahrende Autos an. Zuerst > hatten die Beifahrersitz und Rücksitzbank ausgebaut. Die Sache mit > irgendwelchen Programmiersprachen und 2 m2 Hardware zum laufen gebracht. > > Erst danach wählten die Entwickler geeignete Sprachen und MCs aus. Also, ich gehe davon aus das die Objekterkennung sehr aufwendig wird. Hättest du ein paar Referenzen für mich, sodass ich mich etwas besser in der Thematik zurecht finden kann? Vielen dank
:
Bearbeitet durch User
Ssssss S. schrieb: > Ich möchte mit einem Mikrokontroller eine Erkennung von Objekten > (bestmöglichst gespeicherte Bilder die mit dem eingescannten Objekt > abgeglichen werden) mithilfe von Bildern & Sensoren klingt eher nach SoC (System-on-Chip) als nach µC (Mikrocontroller). > sowie eine > Motorsteuerung bzw. Stromversorgung über ein Netzteil veranlassen klingt eher nach µC, könnte aber wahrscheinlich vom o.g. SoC nebenher erledigt werden. Bildverarbeitung/-erkennung braucht doch eher einiges an RAM und das ist genau das, wovon ein Mikrocontroller üblicherweise eher wenig hat. Wenn man das nicht alles selbst machen will, sondern auf fertige Bibliotheken zurückgreift, wird dann auch noch eine Menge Flash gebraucht - auch eher schlecht beim µC. Ssssss S. schrieb: > ich bin völliger Anfänger was Mikrokontroller bzw. die Arbeit mit dessen > angeht. Also wird es auch beim "Anfänger" bleiben, da Du keinen Microcontroller brauchst/verwenden kannst. Die Reise geht also eher zum SoC. Für den Anfang ist da wohl einer der zahlreichen PIs geeignet: Raspberry/Orange/Banana/... Pi.
Troll! Die Aufgabe schreit so offensichtlich nach Raspi o.ä. das kein IT affiner auf die Idee kommen würde sich doe komplette HW inkl. Objekterkennungs SW selber zu klöppeln.
Entwickle das zuerst auf PC Hardware. Wenn die Software läuft, kannst du den PC verkleinern, z.B. (wie empfohlen) auf einen Raspberry Pi.
Ssssss S. schrieb: > Ich möchte mit einem Mikrokontroller eine Erkennung von Objekten > (bestmöglichst gespeicherte Bilder die mit dem eingescannten Objekt > abgeglichen werden) mithilfe von Bildern & Sensoren sowie eine > Motorsteuerung bzw. Stromversorgung über ein Netzteil veranlassen. Noch > dazu kommt, das eine kleine Displayanzeige angeschlossen werden soll. Vorschlag: https://www.nvidia.com/de-de/autonomous-machines/embedded-systems/jetson-xavier-nx/ https://developer.ridgerun.com/wiki/index.php/Jetson_Xavier_NX Das ist ein kleines Prozessorboard, das mit einer recht leistungsfähigen GPU und Anschlüssen und Hardware für Kameras und Bildverarbeitung daher kommt. Dafür gibt es zahlreiche Bibliotheken und Projekte, und dank der GPU ist das einer der besten Wege, die Du gehen kannst, sowohl bei klassischer Bildverarbeitung als auch mit KI-Geschichten. Beispiel Pytorch und Tensorflow sowie alles andere, was auf CUDA läuft. Bessere Softwareunterstützung wirst Du nicht bekommen. Kameratechnisch gibt es alles an Framegrabbern usw, was Du Dir denken kannst, speziell mit Jetson Support, sei es CamLink, GigEVision, HDMI (über CSI2), PCIe direkt,... Dieses Modul ist dafür gedacht, in Dein eigenes Board wie ein Speichermodul eingesteckt zu werden. Für den Anfang gibt es ein Devkit dafür. https://www.siliconhighwaydirect.com/ProductDetails.asp?ProductCode=945-83518-0005-000 Es gibt noch den kleinen Bruder Jetson Nano, aber der wird von der aktuellen Software nicht mehr unterstützt. Dann gibt es noch größere, leistungsfähigere Module, wenn Du merkst, dass Du mehr Leistung brauchst. fchk
Frank K. schrieb: > Für den Anfang gibt es ein Devkit dafür. Leider nicht lieferbar: "We cannot currently provide any commit dates for Jetson Developer Kit orders"
Stefan ⛄ F. schrieb: > Frank K. schrieb: >> Für den Anfang gibt es ein Devkit dafür. > > Leider nicht lieferbar: > "We cannot currently provide any commit dates for Jetson Developer Kit > orders" Dann sucht man halt weiter: https://www.distrelec.de/de/nvidia-jetson-xavier-nx-entwicklerkit-seeed-studio-102110427/p/30185707 Demnächst kommt der Nachfolger Orin NX. fchk
Ssssss S. schrieb: > wie sollte ich anfangen? Nimm dir einen PC. Der kann Bilder verarbeiten. Suche dir Software, die deine Ansprüche erfüllt. Schau welche Anforderungen deine Software stellt, vielleicht reicht ein rPi. Weniger wird nicht reichen. Die Motorsteuerung könnte der PC über einen Parallelport, aber die gibt es ja kaum noch, also braucht man heute USB und ein Interface. Wenn Relais reichen, gibt es das fertig.
Frank K. schrieb: > Dann sucht man halt weiter: > https://www.distrelec.de/de/nvidia-jetson-xavier-nx-entwicklerkit-seeed-studio-102110427/p/30185707 Leider nicht: "Fehler, das Produkt ist nicht mehr auf Lager" Jetzt kommt man gar nicht mehr so weit, es in den Warenkorb zu legen.
Stefan ⛄ F. schrieb: > Frank K. schrieb: >> Dann sucht man halt weiter: >> > https://www.distrelec.de/de/nvidia-jetson-xavier-nx-entwicklerkit-seeed-studio-102110427/p/30185707 > > Leider nicht: > "Fehler, das Produkt ist nicht mehr auf Lager" > > Jetzt kommt man gar nicht mehr so weit, es in den Warenkorb zu legen. Soll ich jetzt für Dich weiter suchen, oder schaffst Du es selber, Google zu bedienen? fchk
Frank K. schrieb: > Soll ich jetzt für Dich weiter suchen, Ja bitte, aber nicht für mich sondern für den TO. Deinen Vorschlag finde ich nämlich sehr gut, nur kosten die tatsächlich kaufbaren Kits 1000 bis 3000 Euro und kommen aus China über Aliexpress und Ebay. Darauf würde ich mich nicht einlassen. Auch bei Amazon von Nvidia kostet es 3000€. https://www.amazon.com/NVIDIA-Jetson-Xavier-Developer-Kit/dp/B086874Q5R/ Ist das wirklich der normale Preis?
Stefan ⛄ F. schrieb: > Auch bei Amazon von Nvidia kostet es 3000€. > https://www.amazon.com/NVIDIA-Jetson-Xavier-Developer-Kit/dp/B086874Q5R/ > > Ist das wirklich der normale Preis? nein, das ist Wucher. Normal sind so 500€. Bei ébay gibts Jetson Nano Devkits. Für den Anfang reicht das auch, allerdings hat man da eben nur das Jetpack 4.6.2 mit Ubuntu 18.04 und nicht das neuere Jetpack 5.0.2 mit Ubuntu 20.04. Ist aber verschmerzbar. Applikationstechnisch ist das Jetson Ökosystem untereinander kompatibel. Jetzt mit einem Nano oder einem TX2 NX anzufangen und später auf Xavier NX oder Orin NX umzusteigen ist kein Problem, auch nicht von der Hardware, sofern man die Unterschiede bereits beim Systemdesign berücksichtigt. fchk
Ich finde es wirklich sehr beeindruckend und Nett das trotz der Tatsache das ich was dieses Thema betrifft komplett frisch bin, konstruktiv und individuell auf meine Fragen eingegangen wird. Sowas erlebt man nicht in jeden Forum. Bezogen auf all eure Antworten, werde ich mich jetzt erstmal mit euren Vorschlägen auseinandersetzen. Vielen Dank!!
:
Bearbeitet durch User
auch ein ESP32 kann schon was: https://github.com/joachimBurket/esp32-opencv oder Zähler ablesen mit Kamera und AI: https://github.com/jomjol/AI-on-the-edge-device
Wie wäre es mit sowas, und darauf dann Hpeek bzw Halcon laufen lassen: https://www.phytec.de/produkte/development-kits/phyboard-pollux-imaging-kit/ https://www.mvtec.com/products/halcon
Das Thema "Objekterkennung" hat wahrscheinlich mehr Fasetten als dir bewusst ist. Objekterkennung gibt es auch im Leergutautomat (Erkennung der Flaschenform, oder ob die richtigen Flaschen im Kasten sind). Wenn du etwas auf solch einen Niveau machen möchtest, sollte die Zielhardware im unteren vierstelligen Bereich verfügbar sein. Am Ende wird eh der Entwicklungsaufwand den "Verkaufspreis" bestimmen. Für jemanden der mit dem Thema noch nichts zu tun hatte, ist das Ziel "für die Industrie" zu entwickeln sehr ambitioniert. 🙄 Das Ganze als Hobby zu betreiben, könnt ich verstehen.
Ssssss S. schrieb: > Später würde ich dieses Projekt gerne für die > Industrie umsetzen. Die Industrie kauft eigentlich nur Produkte die auch für industriellen Einsatz entwickelt und erprobt sind. Irgendeine selbst gefrickelte Platine wollen die nicht sehen. Also nimm einen fertigen Hutschienen-PC. > Ich lerne sehr schnell und möchte mich sehr ausgiebig mit diesem Thema > befassen Dir ist bewusst dass sich mit dem Thema "Machine-Vision" bereits dutzende Firmen mit unzähligen Mannjahren an Erfahrung tummeln die schon seit 15 Jahren im Geschäft sind. Da musst du schon seehr schnell lernen um da aufzuschließen - so mindestens 100-facher Zeitraffer. > allerdings scheint es mir sehr unübersichtlich was die Auswahl > eines geeigneten Mikrokontrollers angeht. Der Mikrocontroller ist dein geringstes Problem, wie schon gesagt nimm einfach mal einen PC. Von den wirklichen Problemen, mit denen du noch konfrontiert wirst, hast du noch gar keine Vorstellung.
??!?! Warum sollte weniger nicht reichen? Es kommt doch sehr auf die Ansprüche an und auf die Menge der zu verarbeitenden Informationen. Das ganze lässt sich ja je nach Anspruch extrem reduzieren. Siehe Handykamera/Digicam etc Das ganze ginge sogar mit einem Z80, in stark reduzierter Form MaWin schrieb: > Schau welche Anforderungen deine Software stellt, vielleicht reicht ein > rPi. > > Weniger wird nicht reichen.
Täusch dich nicht. Wenn du die richtige Idee in einer Nische hast, müssen die Ansprüche nicht so wahnsinnig hoch sein um damit gutes Geld zu verdienen. Ich spreche da aus eigener Erfahrung Jens R. schrieb: > "für die Industrie" zu entwickeln sehr ambitioniert. 🙄 Das Ganze als > Hobby zu betreiben, könnt ich verstehen.
Peter K. schrieb: > Täusch dich nicht. > Wenn du die richtige Idee in einer Nische hast, müssen die Ansprüche > nicht so wahnsinnig hoch sein um damit gutes Geld zu verdienen. > Ich spreche da aus eigener Erfahrung > > Jens R. schrieb: >> "für die Industrie" zu entwickeln sehr ambitioniert. 🙄 Das Ganze als >> Hobby zu betreiben, könnt ich verstehen. Es ging mir um die beschriebenen Ziele der Objekterkennung. Der Markt ist sehr populär und viele wollen da mitmischen. Demnach bleiben nicht viele lukrative Nischen. Das man mit einem Nischenprodukt ein wenig Geld verdienen kann, weiß ich auch 😀
Gerade dann gibt es noch eine Menge Einsatzgebiete an die noch niemand gedacht hat:-) Das können oft ganz einfache Dinge sein
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.