HS Photocamera Controller

ESP32 PCB C++ WiFi Optocouplers Actieve ontwikkeling

HS Photocamera Controller

Een zelfontworpen controller voor high-speed fotografie, bedoeld voor het nauwkeurig aansturen van ventielen, flitsers en cameras op microseconde-niveau.

HS Photocamera Controller (ESP32)

Een zelfontworpen controller voor high‑speed fotografie, bedoeld voor het nauwkeurig aansturen van ventielen, flitsers en camera’s.
Het project richt zich met name op druppelfotografie, waarbij timing op microseconde‑niveau essentieel is.

Technieken: ESP32 · PCB‑ontwerp · C++ · Optocouplers · WiFi
Doelgroep: Gevorderde hobbyisten en technische fotografen
Status: Actieve ontwikkeling en uitbreiding

Inhoud

  1. Projectdoel en achtergrond
  2. Functionele eisen
  3. Hardware‑ontwerp
  4. PCB‑ontwikkeling
  5. Software & besturing
  6. Ontwikkelgeschiedenis
  7. Resultaten en toepassingen
  8. Toekomstige uitbreidingen

1. Projectdoel en achtergrond

High‑speed fotografie vereist uiterst nauwkeurige timing. Handmatige bediening of PC‑gebaseerde oplossingen bleken onpraktisch en foutgevoelig.
Dit project heeft als doel een zelfstandig werkende controller te ontwikkelen die zonder externe computer kan functioneren en toch flexibel instelbaar blijft.

De eerste experimenten werden uitgevoerd met een Raspberry Pi, maar dit platform bleek minder geschikt voor realtime aansturing. Om die reden is het ontwerp later volledig herzien en gebaseerd op de ESP32 microcontroller

2. Functionele eisen

De controller moest voldoen aan de volgende eisen:

  • Meerdere ventielen onafhankelijk aanstuurbaar
  • Galvanische scheiding tussen controller en externe apparatuur
  • Instelbare timing in milliseconden en microseconden
  • Lokale opslag van instellingen
  • Bediening zonder afhankelijkheid van één specifiek platform

3. Hardware‑ontwerp

3.1 Keuze voor ESP32

De ESP32 is gekozen vanwege:

  • geïntegreerde WiFi en Bluetooth
  • ruime hoeveelheid IO‑pinnen
  • ondersteuning binnen Arduino IDE en PlatformIO
  • intern flash‑ en NVR‑geheugen [nijholt.net]

3.2 Galvanische scheiding

Alle aansluitingen voor camera’s en flitsers zijn optisch gekoppeld.
Hierdoor is er geen directe elektrische verbinding, wat zowel de controller als aangesloten apparatuur beschermt tegen schade. [nijholt.net]

3.3 Voeding

De voeding is geïntegreerd op het PCB en geschikt voor ventielen van circa 3 W per stuk. Hierdoor is geen externe adapter meer nodig en kan de controller direct op netspanning worden aangesloten. Echter een interne voeding kost veel ruimte op het board. Er zijn nu 2 versies beschikbaar. 1 met interne voeding en 1 met externe voeding.

4. PCB‑ontwikkeling

Tijdens de ontwikkeling zijn meerdere PCB‑versies ontworpen en getest.

Belangrijke ontwerpaanpassingen:

  • Correcte footprint voor de ESP32
  • Interne voeding i.p.v. externe adapter
  • Betere componentplaatsing vanwege beperkte ruimte
  • Galvanische scheiding op vrijwel alle IO‑poorten
  • 2 Versies voor ondersteuning van 4 ventielen en een versie voor 6 ventielen

5. Software & besturing

5.1 Ontwikkelomgeving

De oorspronkelijke software is ontwikkeld in C++ binnen de Arduino IDE.
Later is overgestapt naar Visual Studio Code met PlatformIO, waardoor integratie met GitHub en code‑inspectie mogelijk werd. [nijholt.net]

5.2 Besturingsmethodes

De controller kan worden aangestuurd via een webinterface. Hiermee is het mogelijk om met elke apparaat of het nu een telefoon, iPad of laptop/PC is de controller te bedienen. Het web interface is dan ook op alle apparaten goed en duidelijk te bedienen.

5.3 Opslag van instellingen

Instellingen worden lokaal opgeslagen in het interne niet‑vluchtige geheugen van de ESP32, zodat ze behouden blijven na uitschakelen.

In de Manueel pagina kunnen de ventielen worden getest en eventueel geleegd en de koppeling met camera en flitser(s) getest worden.

Verder kan de controller als eigen wifi access point worden gebruikt of worden gekoppeld met een bestaand wifi netwerk.

6. Ontwikkelgeschiedenis

Fase 1 – Raspberry Pi (2017)

Eerste opstellingen met Python‑scripts en open hardwareconfiguraties.
Instellingen werden aangepast via tekstbestanden en vereisten een aangesloten laptop. 

Gemaakt met de Raspberri Pi in 2017

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

Fase 2 – Arduino Dropcontroller

Gebaseerd op een open‑source ontwerp, aangepast voor eigen gebruik en ingebouwd in een compacte behuizing.

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

Fase 3 – ESP32‑migratie

Volledige conversie naar ESP32 om WiFi‑besturing, betere realtime prestaties en platformonafhankelijkheid mogelijk te maken.

7. Resultaten en toepassingen

Met deze controller zijn onder andere gerealiseerd:

  • Druppelfotografie met paraplu‑effecten
  • Waterstralen aangestuurd met luchtdruk
  • Experimentele opstellingen met meerdere ventielen
  • Uitbreidingen richting web‑gebaseerde bediening

8. Toekomstige uitbreidingen

Geplande uitbreidingen zijn:

  • Verdere optimalisatie van PCB en behuizing
  • Mogelijke nieuwe toepassingen buiten fotografie

Gerealiseerd:

  • Volledig web based
  • Opslaan van instellingen op de controller zelf
  • 4 en 6 ventiel varianten
  • koppeling eigen wifi of als stand-alone controler

HIGHSPEEDFOTOGRAFIE