Kamera på STM32 med DCMI

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Kamera på STM32 med DCMI

Inlägg av DanielM »

Jag vill börja med att kunna ha en kamera på en STM32 som har DCMI. F4 och F2 med flera har stöd för DCMI. Det är ett sätt för STM32 att kunna tala med kameror via dataöverföring.

Jag har kollat upp några billiga OV kameror och för Arduino fungerar dom OK. Men jag undrar om något vet hur man använder dom för STM32?

Allt jag vet är att man måste ha en kamera som kan föra över data till STM32 via DCMI. Samt man styr själva kameran med I2C. Mer än så vet jag inte.

Jag har dock hittat ett dokument som behandlar detta ämne. Men problemet är att exemplet som är inkluderat är använt med ett ST kort som jag inte har. Jag vill använda mindre STM kort.

Så har någon något bra förslag på vart man ska börja?
Senast redigerad av DanielM 10 februari 2020, 20:34:01, redigerad totalt 1 gång.
ToPNoTCH
Inlägg: 4847
Blev medlem: 21 december 2009, 17:59:48

Re: Kamera på STM32 med DCIM

Inlägg av ToPNoTCH »

- Läs AN500
- Köp lämplig kamera
- Koda

Interfacet heter DCMI för övrigt, om du skall googla vidare i ämnet.
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Kamera på STM32 med DCIM

Inlägg av DanielM »

AN5020.

Oj! Det var mycket. Kanske lika bra att jag går mer på en färdig lösning t.ex. Raspberry Pi. Annars sliter man av sig håret. :tumupp:
ToPNoTCH
Inlägg: 4847
Blev medlem: 21 december 2009, 17:59:48

Re: Kamera på STM32 med DCIM

Inlägg av ToPNoTCH »

Nu vet ju inte jag vad du egentligen vill men du kan ju kolla på ESP32 CAM.

Jag har testat några.
Lite kul med ansiktsigenkänning i själva koden utan moln och jox...Med tanke på priset.
Användarvisningsbild
Klas-Kenny
Inlägg: 11292
Blev medlem: 17 maj 2010, 19:06:14
Ort: Växjö/Alvesta

Re: Kamera på STM32 med DCIM

Inlägg av Klas-Kenny »

ToPNoTCH skrev:- Läs AN500
Jag antar att du menar AN5020?
AN500 är inte till mycket hjälp i ämnet.
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Kamera på STM32 med DCIM

Inlägg av DanielM »

Jag hittade faktiskt en manual som tillämpar lågbudget STM32F4 kort med en lågbudget kamera. Dock är det på Japanska
https://github.com/iwatake2222/DigitalCamera_STM32

Del 1
Del 2
Del 2

Men som tur så finns undertexter. Ser bra ut! Funderar på att implementera objektingenkänning på detta.
Tror jag kör på detta! :)
Senast redigerad av DanielM 24 januari 2020, 11:24:10, redigerad totalt 1 gång.
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Kamera på STM32 med DCIM

Inlägg av DanielM »

ToPNoTCH skrev:Nu vet ju inte jag vad du egentligen vill men du kan ju kolla på ESP32 CAM.

Jag har testat några.
Lite kul med ansiktsigenkänning i själva koden utan moln och jox...Med tanke på priset.
ESP32 känns lite...lek enligt mig. :) Dessutom är det väll lite kinesiskt nu med tanke på att företaget som tillverkar ESP32, Tensilica har lagt ned.
Jag brukar hålla mig till traditionella mikroprocessortillverkare. STM verkar stabilt och riktigt gjort.
Användarvisningsbild
bruka
Inlägg: 242
Blev medlem: 29 augusti 2011, 08:06:27
Ort: Hälsingland

Re: Kamera på STM32 med DCIM

Inlägg av bruka »

Det är väl Espressif som tillverkar Esp32?
https://www.espressif.com/en/products/hardware/socs
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Kamera på STM32 med DCIM

Inlägg av DanielM »

Japp. Kinesiskt!

Var på ett företag för en tid sedan. Dom använde Arduino och ESP för att verifiera sjukhusutrustning (respiratorer, diabetesanalysator). Oerfarna programmerare och beta hårdvara för seriösa tillämpningar har fått mig att undvika Arduino och ESP.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Kamera på STM32 med DCIM

Inlägg av Micke_s »

Och MCU IP delen från tensilica har Cadence tagit över...
E Kafeman
Inlägg: 3238
Blev medlem: 29 april 2012, 18:06:22

Re: Kamera på STM32 med DCIM

Inlägg av E Kafeman »

> Tensilica har lagt ned.
Som ovan. Köptes upp av Cadense för 8 år sedan. Ungefär samtidigt som Espressif startade.

>företaget som tillverkar ESP32
Det är TSMC i Taiwan. Om det räknas som Kina beror på vem du frågar. De utvecklar också egna versioner med ARM-kärnor. En av deras senare produkter är ett chiplet med 8 st Cortex-A72.
https://www.tomshardware.com/news/tsmc- ... 40498.html
Espressif med huvudkontor i Shanghai är beställare av tilläggen i arkitekturen utöver processorn Tensilica Xtensa LX6. Har blivit mycket indier bland utvecklarna på Espressif numera men flera av de som varit med ett tag som utvecklare inom företaget har bakgrund i Marvell, USA, inklusive företagets ägare.
ESP32 har visat sej synnerligen stabil och med 4 modellvarianter utan kritiska behov av revisions-uppdateringar och nu kommer version med BT LE 5.0.
Dess processor är liksom ARM syntetiserad så tillgången är knappast ett problem oavsett om IP byter ägare.
ESP32 är i sammanhanget en hyggligt duglig RISC-processor. ARM har bredare utbud där Cortex med framtida versioner strävar efter att duga som ensam processor i Amazons servrar, knuffa ut x86-arkitekturen.
Vad man väljer är ofta en balansgång mellan bekvämligheten av hög tillgång på kraft och minne relativt krav av typ att chippet ska drivas på en knapp-cell i 10 år och kosta $1.
ARM erbjuder hela spännvidden, men ESP32 har hittat sin nisch med integrerad BT och WiFi med sällsynt bra radio-integration med lågt brus och hög flexibilitet, något som inte någon ARM-modell kan mäta sej med även om det finns diverse integrerad radio även för ARM.

Att avstå från en produkt med hänvändelse till att den i något led är kinesisk är nog inget bra motiv om man är seriös elektronik-designer där man ska kunna se vad som möter kundens behov mest effektivt.
Det är som att undvika åka Volvo av samma skäl och Foxconn kommer bli så ledsna om du inte redan äger en mobiltelefon där de stått för tillverkning och sammansättning av stor del av innehållet.
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: Kamera på STM32 med DCIM

Inlägg av Micke_s »

För närma ett rätt så stort företag som har tagit fram moduler baserat på ESP32 är U-blox.
https://www.u-blox.com/en/product/nina-w10-series

Tror man kan vara rätt så trygg att välja ESP32 idag.
DanielM
Inlägg: 2166
Blev medlem: 5 september 2019, 14:19:58

Re: Kamera på STM32 med DCIM

Inlägg av DanielM »

Nu har jag hittat en klar kandidat!

Kameran heter VC0706 och det är en UART kamera. Alltså RX och TX. :tumupp:
Enkelt litet bibliotek finns här: https://github.com/adafruit/Adafruit-VC ... ra-Library
https://learn.adafruit.com/ttl-serial-c ... uino-usage

Dock är det C++, men det är absolut inga problem att skriva om delar av koden så det passar STM32. :)
Kameran är dock inte ny, men den verkar enkelt att jobba med jämfört med övriga kameror som ska kräva så otroligt mycket konfigureringar för att få fram en liten bild.
E Kafeman
Inlägg: 3238
Blev medlem: 29 april 2012, 18:06:22

Re: Kamera på STM32 med DCIM

Inlägg av E Kafeman »

VC0706 är en 15 år gammal bild-processor som tillverkas av Vimicro, ett företag som ägs av Kinesiska Informationsministeriet, ett statligt organ för propaganda och som även använder Vimicro för att förmedla sina budskap
VC0706 är inte någon kamera, det är en bildprocessor, men många enklare cmos bild-sensorer integrerades till den utan att skryta om vilken bildsensorn är. Processorn kan max adressera 640x480 pixels så den är hänvisad mest till äldre sensorer.
Många av de lågprisvarianter av VC0706 som säljs idag med integrerad bildsensor härrör själva sensorn från ett stort lager med MT9V011 bild-sensorer från Aptina, som lades ner 2014. Micron Tech. äger idag rättigheterna till sensorn men tror aldrig de producerade några egna sensorer då Aptinas lager är så stort att det fortfarande utbjuds i stora volymer på spot-marknaden.

>ESP32 känns lite...lek enligt mig. :)

>Dessutom är det väll lite kinesiskt nu


För den som uttalar sej så om ESP32, Arduino, Kina-produkter och orolig för tillverkande företagets fortsatta existens borde VC0706 och Arduino-kod hamna så långt ned det går på spy-listan.

Absolut inget fel att använda utgångna låg-kvalitets Kina-produkter, direkt från Kinesiska staten, men det är inte mycket dyrare och ett relativt jättesteg i kvalitet att gå upp till mellanklass sensor från Sony, typ IMX219.
IMX219 finns implementerad open source med bildprocessor från HiSilicon för flera plattformar om man inte vill skriva egen kod. Man kan köra nativt ned till 640x480 30bps. Max upplösning är 3280 x 2464 15bps.
Jämför man bildkvalitet vid rörelse och vid olika ljus så ser man att det hänt en hel del på de 10 år som skiljer mellan sensorerna som i stort annars bägge bygger på samma teknik.

IMX219 är ingen av Sonys starvis sensorer, starvis är betydligt dyrare, uppåt 2-300 kr för enklaste modellerna i enstyck levererat på PCB med processor. Motsvarande IMX219 kan man däremot få för under 150 kr inkl frakt och den presterar hyggligt i svagt ljus utan starvis-funktioner fast visst skiljer det en hel del. Starvis-sensorer ger bild när det är så mörkt att man inget ser med blotta ögat. Det är dock en rätt krävande sensor och med många kringfunktioner som måste hanteras för bästa bild.

Intressant referens-data för IMX219 som normalt kräver NDA finns här: https://github.com/rellimmot/Sony-IMX21 ... 140425.pdf
Där finns även RPi-kod för IMX219: https://github.com/rellimmot/Sony-IMX21 ... i-V2-CMOS/
30 sekunder in på denna video jämförs ljuskänslighet för två av Sonys starvis-sensorer realtivt andra Sony-sensorer:
Alla fyra sensorerna har god ljuskänslighet men de bägge Starvis-sensorerna är en klass för sej.

Finns givetvis både sämre och bättre sensorer/bildprocessor, IMX219 är bara ett exempel som även den har sina brister.
Den har t.ex. fått kritik för att den har rullande slutare. Ska man filma mestadels statiska föremål så har det ingen betydelse. Det finns en hel del exempel på nätet hur det påverkar bilder relativt kameror med global slutare.

Om man letar open source programkod med alternativ till IMX219, med aktivt underhållen kamera-kod för flera plattformar för kameror med global slutare kan detta vara intressant: https://github.com/ArduCAM
Allt är inte heller Sony vad gäller bra bildsensorer men man får leta för att hitta prisvärda alternativ.

Vill man hitta ett något modernare alternativ, bildsensor med lite bättre bildkvalitet och betydligt bättre ljuskänslighet än vc0706/MT9V011 men ändå nativt VGA så finns t.ex. OV7725.
Bildsensor komplett monterad på PCB med lins för 65kr här: http://www.aliexpress.com/item/32856441225.html
Demo samt länk till kod för STM32F4 finns här:
Användarvisningsbild
tecno
Inlägg: 27022
Blev medlem: 6 september 2004, 17:34:45
Skype: tecnobs
Ort: Sparreholm, Södermanland N 59° 4.134', E 16° 49.743'
Kontakt:

Re: Kamera på STM32 med DCIM

Inlägg av tecno »

så långt ned det går på spy-listan
:bravo: om inte poletten ramlar ner nu så.......
Skriv svar