Forum: Mikrocontroller und Digitale Elektronik Mikrokontroller für Prototyp bzw. Industrie


von Ssssss S. (trop88)


Lesenswert?

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

von Jochen der Rochen (Gast)


Lesenswert?

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.

von PittyJ (Gast)


Lesenswert?

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.
von Noch ein Kommentar (Gast)


Lesenswert?

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.

von Irgend W. (Firma: egal) (irgendwer)


Lesenswert?

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

von Ssssss S. (trop88)


Lesenswert?

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
von mm (Gast)


Lesenswert?

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.

von Max M. (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

Entwickle das zuerst auf PC Hardware. Wenn die Software läuft, kannst du 
den PC verkleinern, z.B. (wie empfohlen) auf einen Raspberry Pi.

von Frank K. (fchk)


Lesenswert?

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

von J. S. (jojos)


Lesenswert?

Ab 04.10. ist die Vision in Stuttgart, schau dich da mal um.
https://www.messe-stuttgart.de/vision/

von Stefan F. (Gast)


Lesenswert?

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"

von Frank K. (fchk)


Lesenswert?

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

von J. S. (jojos)


Lesenswert?

Google Coral gibt es noch, scheint mittlerweile auch wieder lieferbar zu 
sein.
https://coral.ai/

von MaWin (Gast)


Lesenswert?

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.

von Stefan F. (Gast)


Lesenswert?

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.

von Frank K. (fchk)


Lesenswert?

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

von Stefan F. (Gast)


Lesenswert?

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?

von Frank K. (fchk)


Lesenswert?

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

von Ssssss S. (trop88)


Lesenswert?

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
von J. S. (jojos)


Lesenswert?

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

von No Y. (noy)


Lesenswert?


von Jens R. (tmaniac)


Lesenswert?

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.

von Thomas F. (igel)


Lesenswert?

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.

von Peter K. (Gast)


Lesenswert?

??!?!
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.

von Peter K. (Gast)


Lesenswert?

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.

von Jens R. (tmaniac)


Lesenswert?

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 😀

von Peter K. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.