HS Photocamera Controller

In mijn portfolio pagina zie je enkele high-speed foto’s. Deze foto’s zijn met de hand bijna niet te maken. Er zijn hulpmiddelen nodig om te kunnen doen. Tijdens wat rondsnuffelen naar macrofoto’s op de verschillende foto sites, zag ik eens een foto van een parapluutje, na goed gekeken te hebben waren het 2 waterdruppels die op elkaar spatten. 

Na wat rond zoeken op het internet, heb ik een aantal oplossingen gevonden. Een aantal commerciële en een aantal doe het zelf projecten. 

Dat laatste interesseerde mij enorm, waarbij ik eerst zelf iets heb uitgeprobeerd met een oud Raspberri-Pi microcontroller board. Hieronder heb ik een aantal foto’s van mijn experimenten en de verdere beschrijvingen van mijn voortgang. Inmiddels begint het wat meer body te krijgen en ben ik met deze pagina begonnen om mijn interesses en bevindingen te delen.


highspeedController

Inmiddels is het eind 2020, COVID-19 heeft er een bijzonder jaar van gemaakt.  Ondanks de beperkingen heb ik het afgelopen jaar druk gehad met mijn reguliere baan. Maar door minder reistijd en meer binnen zitten heb ik weer wat tijd gestoken kunnen steken in dit project. Enkele fouten in het ontwerp en slechte componenten van een niet nader te noemen leverancier uit China hebben gezorgd voor flink wat vertraging. Inmiddels is er een nieuw ontwerp gemaakt en besteld. De footprint voor de MCU op PCB klopte niet, was veel te snel voor de ESP32. Hierdoor kon de MCU niet goed worden geplaatst. Ook een issue met de 12Volt voeding. De klepper zijn per stuk 3Watt. Dus de voeding moet genoeg vermogen leveren. Dit heb ik nu opgelost door op het PCB een voeding te plaatsen met voldoende vermogen. Dit in plaats van het gebruik van een externe adapter. Hiermee kan de controller direct in het stopcontact worden aangesloten. Let wel op met water! Door de omvang van deze voeding is het hele ontwerp aangepast maar de maat van de print niet. 

PCB2020-11
3D schermafdruk van het PCB ontwerp

Boven PCB ontwerp huidige versie, 

Links de Drain en Test pagina om de kleppen te legen en de verbindingen met camera en flitser(s) te testen.

Software

De originele software is geschreven in C++ op de Arduino IDE. Deze IDE wordt inmiddels ook gebruikt voor het programmeren van andere merken MCU’s zoals ook de ESP32.

Ik ben overgestapt op Visual Code van Microsoft met de PlatformIO uitbreiding. Hiermee koppel ik mijn ontwikkelingen (geïntegreerd) aan een versiebeheersysteem Github. Ook bied deze omgeving meer voordelen bij het coderen door de ingebouwde code-inspector. Bij interesse om hier zelf eens mee te kunnen spelen, neem dan even contact op via het formulier.

De eerste ontwerpen van de webpagina’s voor de aansturing van de hsController PCB. De pagina’s zijn dus ook afkomstig van de hsController deze pagina’s praten tegen een webservice zodat er realtime contact is met de hsController vergelijkbaar met de seriële verbinding over bluetooth of USB. Als extra optie een testfunctie voor de verbinding met de camera en flitsers.

Op dit moment ben ik met de conversie van USB/Bluetooth aansturing naar web-based bezig. Ik ben me nog aan het beraden op de juiste methodes om de originele code zo veel mogelijk intact te houden. Hiermee wordt de nieuwe aansturing toegevoegd aan de bestaande. Wel wordt de te gebruiken MCU (hardware) beperkt tot de EPS32 range. Voordelen van de ESP32 zijn ook dat er naar geïntegreerde Bluetooth ook WiFi, Flash geheugen, Multi-core NVR geheugen beschikbaar komen. Hiermee wordt het dus mogelijk om de web-besturing toe te voegen en de instellingen permanent intern op te slaan in de chip. Ook bied dit mogelijkheden voor eventuele nieuwe toepassingen. Verder kom je deze MCU of een uit de serie tegen in allerlei huishoudelijke apparatuur. Waaronder omvormers voor zonnepanelen, slimme schakelaars en andere domotica oplossingen. 

Wil je hier meer over weten, laat dan een bericht achter.

2020 ontwerp PCB

foto 1 - Circuit design hsController

Mijn aangepaste ontwerp is gebaseerd op de ESP32 chip van de fabrikant Espressif. Het voordeel, naar mijn mening, is dat er heel veel geïntegreerd is op de chip. Beschikbaar zijn o.a. Bluetooth, WiFi, SPIFFS en NVR. Dan heb je verder geen extra shields nodig. Hierdoor is een voltage reglator (7805) met een koelvin erop voldoende om enkel de ESP32 te voeden met 5v. Het circuit is verder 3,3v (<125mA totaal excl. kleppen). 

Links (foto 1) het circuit ontwerp van de PCB met daaronder het resultaat. 

Met uitzondering van 1 Analoog Input poort, zijn alle poorten galvanisch gescheiden. Dit wil zeggen dat er geen galvanische verbinding is met je camera of flitsapparatuur. Dit bescherm zowel je apparatuur als dit apparaat. Dit gebeurd door middel van optische-koppeling, waarmee geen snelheidsverlies optreed.

Op dit moment wordt de controller aangestuurd door een Android App of een Windows App. Deze apps zijn te downloaden van de originele website Dropcontroller. Later zal er een web interface beschikbaar komen, waarmee de controller platform onafhankelijk kan worden gebruikt.


Waar begon het idee

Een van mijn eerste opstellingen om druppels te fotograferen is de opstelling met de Raspberri Pi type B (foto 2) heb ik eind 2017 gebouwd. Ondanks dat een Raspberri Pi niet realtime werkt, heb ik hier toch redelijke druppels mee kunnen fotograferen (foto 3). Het werkt met een Python script welke de kleppen aanstuurt.

Maar geen behuizing, alles ligt open en bloot, breadboard met flatkabel naar RPi, netwerkkabel, 2 adapters, 1 voor de klep (12v) en 1 voor de RPi (5v), naast de laptop die altijd aan moet staan om het script op de RPi uit te voeren. Het aanpassen van de parameters gaat via een tekstbestand op de RPi. Het instellen tot de eerste goede paraplu kon meer dan een 1/2 uur in beslag nemen.

 

Gemaakt met de Raspberri Pi in 2017

foto links, houten opstelling met RPi, foto’s via Lightroom direct zichtbaar op het scherm (thetering)


Originele Dropcontroller

En na de eerste druppel die gelukt is wil je meer. Na wat gezocht te hebben kwam ik verschillende oplossingen tegen met foto’s erbij die mij erg bevielen. Als je dan verder zoek zie je dat die eigenlijk allemaal een MCU gebruiken zoals de Arduino. Ook kwam ik een site tegen (dropcontroller.com) waar een open source ontwerp stond waar ik ook nog bijna alle componenten in huis had en wat ook nog een goede oplossing leek. Maar dat zie je pas als je het zelf uit hebt geprobeerd. 

Nadat ik de eerste druppel redelijk eenvoudig voor elkaar had op mijn houten opstelling met een breadboard (weer alles open en bloot opgesteld) ernaast. Vervolgens heb ik alles op een proto printje (PCB) overgezet en gezocht naar een passend kastje. Eindelijk een keer iets wat ik makkelijk kan pakken en weer wegzetten. Daar heb ik vervolgens online een PCB van gemaakt en besteld. 

Eerste experimteer print versie van de Dropcontroller
Eerste inbouwbare versie van de Dropcontroller

Op basis van zowel het originele hardware als het software ontwerp van Martyn Curry, ben ik verschillende punten gaan aanpassen, lees vooral niet verbeteren maar meer passend maken voor een standaard behuizing. 

Inmiddels heb ik een aantal versies van de Dropcontroller PCB laten maken op basis van mijn eigen layout en PCB ontwerp. Dit ontwerp is dus inclusief enkele kleine aanpassingen zoals input afscherming zodat je de chip niet opblaast en het passend maken van de aansluitingen op een PCB zodat ze passen in een kleine standaard behuizing.

Ondertussen was er iemand op mijn werk met een IoT projectje bezig en hij gebruikte daarvoor een ESP32. Die had ik ook nog ergens in een kastje liggen om een keer naar te kijken. Had intern Wifi en BlueTooth ondersteuning en was ook met de Arduino IDE te programmeren met dezelfde code. 

Na wat eenvoudige dingen te hebben gedaan met de ESP32 en ik wat met domotica was begonnen, waarbij ik het idee had dat mijn wifi netwerk thuis eigenlijk wel een goed medium was en met een ES8266 en een eenvoudig relay alles te schakelen was wat ik maar wilde. Er zijn zelfs kant en klare “nette” inbouw schakelaars te krijgen met een ESP erin. 

Daar begon mijn idee om de Arduino oplossing zo om te bouwen dat ik via een web interface hetzelfde kan doen als nu via de bluetooth app. Het heeft me vervolgens nog een paar avonden gekost om de Dropcontroller van Martyn om te bouwen van Arduino nano naar ESP32. Ik contact gezocht met Martyn om officiële toestemming om een ESP32 versie te maken op basis van zijn ontwerp, in het forum geeft hij zijn goedkeuring hiervoor. Mijn insteek is identiek aan die van Martyn, het zo veel mogelijk delen van kennis over dit leuke fotografie onderwerp met een technisch tintje.

Waarom zoveel kleppen: Deze aansluitingen kunnen ook gebruikt worden om met (bijvoorbeeld) luchtdruk van onderaf een waterstraal afschieten of een kogeltje met luchtdruk afvuren op een waterdruppel. Net wat je maar kunt verzinnen. Er zijn ook ventielen (3D print) te krijgen om draaiende fonteinen onder de druppels te genereren. 

 

HIGHSPEEDFOTOGRAFIE

Shopping Basket