Forum: Mikrocontroller und Digitale Elektronik Studienprojekt: Prototyp einer einfachen Digitalkamera


von Wolf (wolf_rose)


Angehängte Dateien:

Lesenswert?

Im Rahmen eines Studienprojekts entwickeln wir einen Funktionsprototyp 
für eine minimalistische Digitalkamera. Die Kamera wird keinen 
Bildschirm haben und Videos in einfacher SD- oder HD-Qualität aufnehmen. 
Eine "ältere" Bildästhetik ist vollkommen in Ordnung, da der Fokus auf 
der Funktionalität liegt.


Zielsetzung:

Einfache Architektur: Die Kamera soll aus wenigen Modulen bestehen (z. 
B. Mikrocontroller, Kameramodul, Micro-Sd Speicher, Taster (Ausläsen), 
Kippschalter (An/Aus), LED, Akku, Ladeanschluss.

Prototyping mit Microcontroller: Erstmal testen wir die Funktionen mit 
einem Controller, der leicht programmierbar ist.

Ausbaufähigkeit: Für spätere Verbesserungen (bessere Qualität, mehr 
Leistung) wäre ein nahtloser Übergang zu leistungsfähigeren Bauteilen 
ideal, ohne die Programmierlogik komplett neu aufsetzen zu müssen.

Zukunftsvision: Langfristig könnte ein speziell angepasster 
Mikrocontroller entworfen werden, der nur die Funktionen enthält, die 
wir benötigen.


Aktueller Stand:

Ich habe bereits Erfahrungen mit Arduino und Adafruit ItsyBitsy 
gesammelt. Diese Plattformen gefallen mir wegen ihrer Einfachheit, sind 
aber je nach Projekt nicht leistungsfähig genug. Besonders bei der 
Videoaufnahme bin ich mir unsicher, welche Hardware ausreicht.



Meine Frage an euch:

Welche Mikrocontroller und Kameramodule könnt ihr empfehlen, die gut 
zusammen funktionieren und einfach anzusteuern sind?

Wichtig: Es sollte für Einsteiger verständlich und kostengünstig sein.
Optional: Eine Plattform, die später auch mit mehr Leistung skalierbar 
ist, wäre ideal.


Ich freue mich über Erfahrungswerte und Tipps für die Auswahl der 
Komponenten. Vielen Dank im Voraus für eure Unterstützung! 😊

von Cyblord -. (cyblord)


Lesenswert?

Wenn man schon als "Microcontroller" direkt ein Arduino Board zeichnet 
hat man sich bereits für sowas disqualifiziert.

Wolf schrieb:
> Welche Mikrocontroller und Kameramodule könnt ihr empfehlen, die gut
> zusammen funktionieren und einfach anzusteuern sind?

Ist eine solche Auswahl nicht zentraler Bestandteiler EURER 
Projektarbeit?

> Studienprojekts

Die Aufgabe sieht eher nach einem Schulprojekt 10. Klasse aus. Hoffe ihr 
studiert nicht wirklich.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Cyblord -. schrieb:
> Wenn man schon als "Microcontroller" direkt ein Arduino Board zeichnet
> hat man sich bereits für sowas disqualifiziert.
Könnte ja auch sowas sein:
- 
https://www.heise.de/news/Mikrocontroller-500-MHz-ARM-im-Arduino-Format-7540306.html

BTW: was sagt wohl der in der Skizze erwähnte MIRCO dazu?

Wolf schrieb:
> Tipps für die Auswahl der Komponenten
Nimm einen RPi. Der kann Kamera.

> Meine Frage an euch
Gegenfrage: wie lange soll denn der Akku im Akkubetrieb halten?

: Bearbeitet durch Moderator
von J. S. (jojos)


Lesenswert?

Oder Milk-V Risc-V Board. Oder STM32H743 mit DCMI Kamera. Oder ESP32 
Cam.
Gibt es doch schon alles in Schüttgutmengen für kleines Geld. Für eine 
eigene Arbeit reicht es nur wenn man mal recherchiert welche 
Kameraschnittstellen es gibt, welche Rechenpower nötig ist usw. Nur 
einen Sketch von ChatGPT diktieren lassen ist wohl keine Arbeit wert.

von Michael B. (laberkopp)


Lesenswert?

Wolf schrieb:
> Welche Mikrocontroller und Kameramodule könnt ihr empfehlen, die gut
> zusammen funktionieren und einfach anzusteuern sind

Gar keine.

Ein normaler Mikrocontroller ist zu langsam, um die Kameramodule schnell 
genug auszulesen und auf SD Karte zu speichern.

Daher nutzen all die dashcams und sonstigen Kameras FPGAs.

von Wolf (wolf_rose)


Lesenswert?

> Ist eine solche Auswahl nicht zentraler Bestandteiler EURER
> Projektarbeit?

Nein, das ist nicht Bestandteil unserer Studienarbeit, es soll lediglich 
funktionieren. Wie ich aus deinen Antworten herauslesen kann, hast du 
sicher schon gemerkt, dass das für uns ein fachfremder Bereich ist. Aber 
es ist ja schön, dass jeder andere Schwerpunkte setzt. Deshalb hatte ich 
gehofft, hier ein paar Tipps von Leuten zu bekommen, die sich damit 
auskennen.


> Die Aufgabe sieht eher nach einem Schulprojekt 10. Klasse aus. Hoffe ihr
> studiert nicht wirklich.

Wenn du eine andere Anlaufstelle kennst, wo man auch für so einfache 
Projekte Unterstützung bekommt, bin ich für Tipps sehr offen.

von Wolf (wolf_rose)


Lesenswert?

Lothar M. schrieb:
> BTW: was sagt wohl der in der Skizze erwähnte MIRCO dazu?

Danke für die Anmerkung. Da ist mir ein Tippfehler unterlaufen

von Cyblord -. (cyblord)


Lesenswert?

Wolf schrieb:

> Nein, das ist nicht Bestandteil unserer Studienarbeit, es soll lediglich
> funktionieren.

Soso. Das scheint eine merkwürdige Arbeit zu sein. D.h. nämlich ihr 
könntet das ganze auch einfach fertig kaufen und damit trotzdem alle 
Vorrausetzungen der Arbeit erfüllen. Das wird aber wohl nicht so sein. 
Falls doch: Kauft was fertiges.

> Wie ich aus deinen Antworten herauslesen kann, hast du
> sicher schon gemerkt, dass das für uns ein fachfremder Bereich ist.

Bleibt die Frage warum man ein Studienprojekt, und dann quasi ein 
Entwicklungsprojekt aus HW und SW, aus einem fachfremden Bereich macht. 
Wie kommt es dazu?

> Wenn du eine andere Anlaufstelle kennst, wo man auch für so einfache
> Projekte Unterstützung bekommt, bin ich für Tipps sehr offen.

Wie kommst du auf "einfach"? Wenn es einfach wäre könntet ihr es doch 
einfach machen oder?

: Bearbeitet durch User
von Matthias S. (dachs)


Lesenswert?

Auch die Verwendung von 1,4 MB für eine Skizze scheint zu zeigen, dass 
beim TO technisches Verständnis wenig ausgeprägt ist.

Für den TO:
Das sind rund 1.400.000 Bytes für weniger als 100 Linien.

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Wolf schrieb:
> Wie ich aus deinen Antworten herauslesen kann
Ein Tipp: lies auch die anderen Antworten, nicht nur die, wo dir einer 
unflätig quer kommt.

> so einfache Projekte
Lustigerweise ist genau das, was du beschreibst, keineswegs ein 
irgendwie "einfaches" Projekt. Und man kann das als Einsteiger auch 
nicht in einem Forum Remote in Betrieb nehmen. Du brauchst sachkundige 
Hilfe vor Ort. Habt ihr an eurer HS nicht irgendwelche Leute, die sich 
mit sowas auskennen?

von Cyblord -. (cyblord)


Lesenswert?

Lothar M. schrieb:
> unflätig

Bitte um einen Nachweis für diese Behauptung oder eine Entschuldigung.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Cyblord -. schrieb:
> Bitte um einen Nachweis für diese Behauptung
Lies deinen Post. Das ist für mich aggressives, rüpelhaftes Benehmen. 
Ist halt so.

von Cyblord -. (cyblord)


Lesenswert?

Lothar M. schrieb:
> Ist halt so.

Genau. PUNKT.

von Frank K. (fchk)


Lesenswert?

Wenn Du was leistungsfähiges haben willst, schau Dir die NVidia Jetson 
Boards an:
https://www.nvidia.com/de-de/autonomous-machines/embedded-systems/jetson-orin/

Das ist ein ARM64 Linux-System mit einem Ubuntu-Linux drauf, ähnlich 
einem Raspberry Pi. Im Unterschied zum Pi ist da aber noch eine 
verhältnismäßig fette GPU drauf, die gerne für solche Sachen wie 
Bildverarbeitung genutzt wird. Leistungsmäßig versägen die größeren 
Module einen Pi5 sehr deutlich.

Kameras kannst Du über CSI2, USB oder PCIe anschließen. Die üblichen 
Pi-Kameras sollten benutzbar sein. Ansonsten gibts auch CamLink und SDI 
Framegrabber dafür.

Mein Arbytegeber benutzt diese Prozessormodule für KI und 
Kameraanwendungen. Das ganze ist schon anerkannt in der Industrie, und 
bei KI ist NVidia Marktführer.

fchk

von Motopick (motopick)


Lesenswert?

Vor einigen Jahren(zehnten) habe ich mal den Bericht von jemanden
gelesen, der sich mit einem Vollformatsensor und einem FPGA seine
Kamera selbst gebaut hat. Der war davor "elektronischer Laie".
Dessen Hirn war aber auch noch nicht von dem "Arduinosandkastenzeug"
vergiftet. Der konnte u.a. auch rechnen, naemlich was er an Leistung
brauchen wird, und was dazu imstande ist.

> Könnte ja auch sowas sein:
> -
> 
https://www.heise.de/news/Mikrocontroller-500-MHz-ARM-im-Arduino-Format-540306.html

Das u.U. schon das Format, also verfuegbare IOs etc. es fuer den
Einsatz disqualifiziert kommt dir nicht in den Sinn?

von Karl K. (leluno)


Lesenswert?

Anfangen würde ich mit einem Atmega328 (Arduino-Nano), 240x360 Lcd-Modul 
und vga-camera.
Da lernst du, wie das mit dem Transport der von der camera aufgenommenen 
Bildpunkte zum Bildschirm oder zur Speicherkarte funktioniert.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Bei Olympia 2024 hatten sie doch für die Siegerpodestfotos so kleine 
Schnappschusskameras. Es sollte doch rauszufinden sein, was das für 
welche waren.

von Martin S. (strubi)


Lesenswert?

Auch nach 20 Jahren kann ich fuer solche Aufgaben den DSP-Hybriden 
Blackfin (BF527-Brettle sollte man noch kriegen) von Analog Devices 
empfehlen.
Kann man was bei lernen, und Stromverbrauch pro Leistung ist relativ 
gering. Bare-Metal-Code findet man noch in alten Code-Repos zum SRV1 
Roboter vom JPEG-Pionier (RIP) Howard Gordon. Damit koennt ihr schon mal 
etwas VGA-MJPEG streamen.

Nachteil: Nische. Auch wenn die Dinger immer noch in vielen 
Industriekameras stecken, wie auch in alten Leica M8.
Mit STM32 gehen manche Loesungen auch, allerdings mit deutlich weniger 
Verarbeitungspower.
Bei "fertigen" Linux-Ansaetzen lernt man nur bedingt was oder debuggt 
sich an anderen Themen einen Wolf. Bei Studienprojekten ist es eher 
wichtig, den Fokus nicht zu verlieren.

Bei den Sensoren haben sich die Micron/Aptina, schliesslich ON-Semi 
fuers Prototyping mit dem paralellen Videointerface fuers Lernen gut 
bewaehrt und man kriegt die Datenblaetter ohne NDA-Theater, das ist bei 
Sony anders.

Neuere Consumer-Sensoren nutzen meist MIPI, davon wuerde ich in diesem 
Rahmen unbedingt die Finger von lassen.

Ansonsten gibt es schon interessante FPGA-Bretter, um Sensoren 
dranzustecken, aber da faengt man oft ganz von vorne an und braucht 
definitiv mehr Betreuung. Schliesslich sollte euch die ganzen Fragen ein 
Betreuer an Ort und Stelle beantworten, sonst wird das schnell eine 
Bauchlandung.

von Harald K. (kirnbichler)


Lesenswert?

Martin S. schrieb:
> Neuere Consumer-Sensoren nutzen meist MIPI, davon wuerde ich in diesem
> Rahmen unbedingt die Finger von lassen.

Man könnte natürlich den "Microcontroller" sehr flexibel auslegen und 
z.B. einen Raspberry Pi Zero verwenden. Der kann MIPI, denn die 
verschiedenen Raspberry-Pi-Camera-Module nutzen diese 
Drecksschnittstelle*.


*) Dreck nicht wegen der Technik, sondern Dreck wegen der 
Dokumentationshandhabung durch die Drecksorganisation MIPI.

von Jonas B. (jibi)


Lesenswert?

Esp32 cam board. Hat alles. Das verlagert das Problem komplett 
softwareseitig. Wenn ihr da auch fachfremd seit.. könnte es
knifflig werden

: Bearbeitet durch User
Beitrag #7775260 wurde von einem Moderator gelöscht.
von Frank O. (frank_o)


Lesenswert?

Lothar M. schrieb:
> Lies deinen Post. Das ist für mich aggressives, rüpelhaftes Benehmen.

Das ist es, wenngleich ich die Motivation verstehen kann.

Dieses "Eigentlich weiß ich schon alles und brauche nur eine 
klitzekleine Hilfe", gepaart mit einem handgemalten Bildchen. Das hat 
schon eine gewisse Arroganz.
Sicher würde ich das mit Kamera hin bekommen, da ich das alles auch 
schon eine Weile mache, wenn auch mit großer Unterbrechung. Aber ich 
würde lieber etwas Fertiges kaufen oder erstmal ein Tutorial lesen, 
Videos schauen und dann vielleicht nochmal fragen.
Nur bei diesen ganzen Leuten, die hier immer wieder so ankommen, die 
können nicht mal richtig ehrlich eingangs sein und sagen was der 
wirkliche Grund ist und dass sie null Ahnung haben.

von J. S. (engineer) Benutzerseite


Lesenswert?

Harald K. schrieb:
> Dokumentationshandhabung durch die Drecksorganisation MIPI.
Wo genau liegt der Kritikpunkt?
Dass du nicht an die Doku kommst?

Wolf schrieb:
> Eine "ältere" Bildästhetik ist vollkommen in Ordnung
Was bitte ist eine "ältere" Bildästhetik?

von Christoph M. (mchris)


Lesenswert?

Wolf schrieb:
> Welche Mikrocontroller und Kameramodule könnt ihr empfehlen, die gut
> zusammen funktionieren und einfach anzusteuern sind
von Michael B. (laberkopp)
>>Gar keine.
>>Ein normaler Mikrocontroller ist zu langsam, um die Kameramodule schnell
>>genug auszulesen und auf SD Karte zu speichern.

Da hat wieder einmal die letzten 10 Jahre Entwicklung verpasst.

von J. S. (jojos)

>Oder Milk-V Risc-V Board. Oder STM32H743 mit DCMI Kamera. Oder ESP32
>Cam.

Genau.  Dank der Arduinofizierung ist heutzutage ist so ein Projekt gut 
machbar:

https://www.youtube.com/watch?v=SeExddxWdNs
( Minute 10:55 )

: Bearbeitet durch User
von Pandur S. (jetztnicht)


Lesenswert?

Von Kamera direkt auf SD Karte ist schon anspruchsvoll. Dazu muesste man 
auch etwas zu Aufloesung wissen. Und zum Anwendungsfall.
Man ist schnell bei HDR, quasi Autobelichtung, und aufwendiger 
Bildverarbeitung. Denn auf SD Karte schreiben, mit vielleicht moeglichen 
50 MByte/s ist nicht geschenkt.

Darf nach 20sec schon 1 GByte weg sein, oder doch lieber nicht ? Ein 
Sensor von zB 1000x1000 bringt bei 30 Frames/s schon 90MByte/s bei 3 
Farben und 8 bit/farbe

: Bearbeitet durch User
von Frank E. (Firma: Q3) (qualidat)


Angehängte Dateien:

Lesenswert?

Alles an Bord, sogar der SD-Slot. Erreicht eine Auflösung von 1600 x 
1200, kostet um die 10 €. Da braucht es nur noch einige Zeilen Code ...

https://www.amazon.de/APKLVSR-Entwicklungsplatine-Entwicklung-Dual-Core-Entwicklungsplatine-kompatibel/dp/B0CHY9S2RK

von Frank O. (frank_o)


Lesenswert?

Frank E. schrieb:
> Da braucht es nur noch einige Zeilen Code ...

Die er sich dann sogar runter laden kann.

von J. S. (engineer) Benutzerseite


Lesenswert?

Frank E. schrieb:
> Erreicht eine Auflösung von 1600 x 1200

mit welcher Rate?
Ich lese da nur was von Bildausgabeformaten wie BMP.

von Cyblord -. (cyblord)


Lesenswert?

Frank E. schrieb:
> Alles an Bord, sogar der SD-Slot. Erreicht eine Auflösung von 1600 x
> 1200, kostet um die 10 €. Da braucht es nur noch einige Zeilen Code ...
>
> 
https://www.amazon.de/APKLVSR-Entwicklungsplatine-Entwicklung-Dual-Core-Entwicklungsplatine-kompatibel/dp/B0CHY9S2RK

Wenn man sowas nehmen dürfte, könnte man auch gleich eine fertige 
Digitalkamera nehmen. Da der HW Entwicklungsteil komplett wegfällt.

Da das Wesen dieser "Studienarbeit" aber nicht klar ist, und ja sowieso 
alles fachfremd sein soll, bleibt es völlig unklar, was überhaupt 
Aufgabe und Ziel ist.

von J. S. (jojos)


Lesenswert?

da bleibt noch das große Problem wie man mit dem Druckknopf das Ausläsen 
startet, das ist ja nicht im Beispielcode drin.

von Stephan R. (Firma: FHK) (nautosteer)


Lesenswert?

Karl K. schrieb:
> Anfangen würde ich mit einem Atmega328 (Arduino-Nano), 240x360 Lcd-Modul
> und vga-camera.

Würde ich auch sagen. Von 4DSystems gibt es wunderbare serielle Kameras 
(https://4dsystems.com.au/products/ucam-iii/) und pixelweise 
ansprechbare LDC .

von J. S. (jojos)


Lesenswert?

Super geeignet für Video...

von Oliver S. (oliverso)


Lesenswert?

J. S. schrieb:
> da bleibt noch das große Problem wie man mit dem Druckknopf das Ausläsen
> startet, das ist ja nicht im Beispielcode drin.

Das kommt später.

Fang mal mit Schalter, Taster, und der LED an einem Arduino an. Wenn das 
zufriedenstellend blinkt, kannst du dich ja hier nochmal melden. Das 
Forum wirds auch in 2-3 Jahren noch geben.

Oliver

von Stephan R. (Firma: FHK) (nautosteer)


Lesenswert?

J. S. schrieb:
> Super geeignet für Video...

Ach ja, fast vergessen. Ich würde mit nem einzelnen Bild anfangen..

von Axel S. (a-za-z0-9)


Lesenswert?

J. S. schrieb:
> da bleibt noch das große Problem wie man mit dem Druckknopf das Ausläsen
> startet, das ist ja nicht im Beispielcode drin.

Das ist doch einfach. Der Ausläseknopf geht an den Bediener (der soll 
wohl MIRCO heißen) und der steckt die Mirco-SD Karte dann in ein 
Ausläsegerät. Fertig. Video kommt später, Schritt für Schritt :)

Beitrag #7776640 wurde vom Autor gelöscht.
von Martin S. (strubi)


Lesenswert?

Harald K. schrieb:
> *) Dreck nicht wegen der Technik, sondern Dreck wegen der
> Dokumentationshandhabung durch die Drecksorganisation MIPI.

Die Dokumentation kriegt man ja ohne Probleme. Shenzhen ist da 
innovativ.

Das Problem sind eher die Hersteller der SoCs, die einen haufenweise 
nutzlose NDAs unterschreiben lassen, man dann die Bugs aber selber 
finden darf. Bei MIPI gibt es so einige corner cases, die die 
Entwicklung beim Mittelstandsentwickler mal um ein halbes Jahr 
zurueckwerfen kann, wenn man kein Simulationsmodell oder kein richtig, 
richtig teures Oszi hat.
Teils wissen die FAE der Hersteller nicht mal selber Bescheid. Ich 
wuerde somit nur noch SoCs nutzen, wo der IP-Core-Lieferant bekannt ist 
und eine klare Doku vorliegt, wie das Interfacing mit DMA vonstatten 
geht und die Clocks konfiguriert werden.
Da geht aber das naechste Problem los, dass man ohne Mitglied in der 
MIPI-Family auch wieder keine Hilfe auf den offiziellen Kanaelen 
erwarten kann.

Und ja, es gibt zig Raspi und ESP-Frickelloesungen, die als 
Schwalbennestkamera fuer die Ferienhuette taugen moegen. Ein Produkt 
wird daraus kaum. Lernt man zudem keine Basics bei, und genau 
Entwickler, die das koennen und die entsprechende Lesekompetenz inkl. 
Reverse-Engineering-Faehigkeiten aufweisen, sind gefragt.

von Arduino F. (Firma: Gast) (arduinof)


Lesenswert?

Martin S. schrieb:
> Und ja, es gibt zig Raspi und ESP-Frickelloesungen, die als
> Schwalbennestkamera fuer die Ferienhuette taugen moegen.

Es soll ja mit eine "Frickellösung" anfangen...
Ein Produkt wir da sicherlich erst nach dem Studium draus.

Hier noch eine "Frikckellösung":
> Sipeed Maix Dock Kit K210
Mit Kamera, SD, LCD, Mic und was sonst noch alles...

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.