HS Photocamera Controller

In mijn portfolio pagina zie je enkele high-speed foto’s. Deze foto’s zijn met de hand bijna onmogelijk na te maken. Er zijn dus hulpmiddelen nodig om dit eenvoudiger te reproduceren.

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.

Huidige status Software


High Speed Controller

Op basis van het ontwerp van Martyn Murry (https://dropcontroller.com) heb ik een versie gebouwd gebaseerd op een ander MCU. De standaard MCU is een Arduino (nano/uno) of gelijkwaardig.

Dit 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. De prijs is ongeveer het dubbele van een Arduino Nano (€5 tot €7), maar doordat je verder geen extra shields hoeft te gebruiken kom je onder aan de streep gelijk uit. Ook biedt deze MCU meer uitbreidingsmogelijkheden voor toekomstige toepassingen.

Wil je hier meer over weten, neem dan contact met me op via het formulier.

(De huidige versie: V5.01ß)


High Speed Controller Software

De originele software is geschreven in C++ op de Arduino IDE (gratis ontwikkelomgeving beschikbaar gesteld door Arduino. Deze 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 (ook gratis). 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.

Links de eerste ontwerpen van de webpagina’s voor de aansturing van de hieronder afgebeelde hsController PCB. De pagina’s zijn dus ook afkomstig van de hsController.

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. Echter het prijsverschil tussen Arduino (compatibles) en de ESP32 is ongeveer €2,50. Daarbij bespaar je wel op de kosten een HC-06 Bluetooth-shield waardoor de prijs ongeveer gelijkt komt. Voordelen van de ESP32 zijn ook dat er naar geïntegreerde Bluetooth ook WiFi, Flash geheugen, Multi processor en 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.

Mijn streven is om rond einde 2019 een productie rijpe versie klaar te hebben en zal de stappen hier zoveel mogelijk beschrijven.

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

(De huidige versie: V5.01ß)

Huidige status Hardware

foto 1 - Circuit design hsController


High Speed Controller hardware

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. De prijs is ongeveer het dubbele van een Arduino Nano (€5 tot €7), maar doordat je verder geen extra shields hoeft te gebruiken kom je onder aan de streep net iets voordeliger uit. Ook biedt deze MCU meer uitbreidingsmogelijkheden voor toekomstige toepassingen.

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.

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

(De huidige versie: V5.01ß)

Foto 2 - Een van mijn eerste opstellingen
foto 4 -- 2 verschillende PCB ontwerpen voor de Arduino Dropcontroller

Op basis van zowel hardware als het software ontwerp van Martyn Murry, ben ik verschillende punten gaan aanpassen. Met name het input gedeelte was nog niet uitgewerkt, ook de voeding kan eenvoudiger met een regulator en 2 condensatoren. Daarnaast vind ik persoonlijk de aanstuur mogelijkheden te beperkt. Ondanks dat de bluetooth of USB koppeling goed werkt prefereer ik persoonlijk een meer platform onafhankelijk oplossing, zoals web-based. 

Inmiddels heb ik 2 versies (foto 4) van de Dropcontroller PCB laten maken op basis van mijn eigen layout en PCB ontwerp. Dit ontwerp is dus inclusief enkele kleine aanpassingen, lees dit niet als verbeteringen, zoals input afscherming zodat je de chip niet opblaast, voeding en het passend maken van de aansluitingen op een PCB zodat ze passen in een kleine standaard behuizing.

Met het wens naar een web interface gebruiken kwam ik op mijn werk, waar een collega met een IoT demo oplossing bezig was, de ESP32 MCU tegen. Hiervan heb ik een paar maanden daarvoor al versie gekocht na het lezen van de specificaties van deze MCU maar was er nog niet aan toegekomen om erna te kijken. Mijn exemplaar is zelfs geïntegreerd met een 18650 accu. Dus die heb ik maar eens aangesloten op mijn computer om te zien of ik deze aan de praat krijg. Een simpel projectje gemaakt om een ledje te laten knipperen, en na een avondje experimenteren had ik de boel aan de praat. Het heeft me vervolgens nog een paar avonden gekost om de Dropcontroller van Martyn om te bouwen naar mijn

Onlangs heb 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 gelijk aan die van Martyn, zo veel mogelijk delen van kennis over dit leuke fotografie onderwerp met een technisch tintje.

Hieronder mijn eerste PCB versie (foto 6) en omgedoopt naar hsController.

foto 6 -- Eerste ESP32 versie omgedoopt naar hsController


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.

 

foto 3 - Gemaakt met de Raspberri Pi

 

Daarom ben ik achter mijn computer gekropen om eens te zoeken naar betere idëeen en snellere oplossing. Na het bekijken van sites als CameraAXE.com en de commerciële oplossingen van Cognisys kwam ik er al snel achter dat de Arduino een geschikt MCU platform was voor mijn doel. Daar ben ik ook mee bekend en had er zelfs nog enkele liggen.

Tijdens het ombouwen van mijn RPi opstelling naar een Arduino Nano, werd ik door een mij bekende fotograaf gewezen op de Dropcontroller aan van Martyn Murry. Dat was precies wat ik op dat moment zocht, een snelle kant en klare oplossing.

Foto 5: Eerste poging om via de De dropcontroller op een experimenteer printje de druppels proberen te genereren.

Resultaat is de druppel foto onderaan deze pagina.  Ondanks dat er 6 kleppen aan te sturen zijn, heb ik het nog even niet te moeilijk gemaakt en ben ik er bij 1 gebleven voor dit resultaat.

Foto 7 is mijn laatste versie op basis van de Arduino Nano en de HC-06 en buck controller zoals gebruikt bij de originele Dropcontroller.

foto 5 -- Eerste experimteer print versie van de Dropcontroller
foto 7 -- Eerste inbouwbare versie van de Dropcontroller

HIGHSPEEDFOTOGRAFIE