Van idee tot proefmodel: controle over kracht met prototype actuator controller

17 Juni 2025 –

Ontwikkelvraag prototype controller
Afgelopen week kreeg ik de vraag of ik op korte termijn een apparaat kan ontwikkelen waarmee een biologisch composteerbaar paneel langdurig en gecontroleerd onder druk gezet kan worden met behulp van een actuator. Voor het onder druk zetten is een beweging nodig, iets dat prima te realiseren is met een actuator. Een gecontroleerde beweging vereist sturing op tijd, uitslag en het bijhouden van het aantal uitgevoerde cycli. Op basis van deze eisen kies ik ervoor om het systeem te ontwikkelen op basis van het Arduino-platform.

Benodigdheden project
Voor dit project gebruik ik de volgende onderdelen:
– Arduino Uno R3
– Open Smart Rich Shield
– 2x Relaismodule 12V (OT901-C111)
– 1x TracoPower TXL 025-12S Schakelnetvoedingsmodule 12V/DC 2.1A 25W
– 12x stand-offs, 3mm diameter, 6mm hoog
– 220V netspanningskabel
– Acrylaat plaat, zwart, 3mm, 200x100mm
– 2x Wago lasklemmen, 5-polig
– 4 rubber voetjes
– 1m zwart montagedraad, 0,75mm
– 1m rood montagedraad, 0,75mm
– 3x Tyraps, 20cm
– Arduino IDE ontwikkelsoftware
– Multimeter
– CO2 Lasersnijder
– Schroevendraaier

Eén werkend prototype
Omdat het om één enkel exemplaar gaat en de aanpak experimenteel is, hoef ik geen rekening te houden met schaalbaarheid. Eén werkend model is het doel. Binnen mijn beschikbare middelen lijkt een combinatie van de Arduino Uno, twee relais en het Open Smart Rich Shield een passende keuze. Dit shield, ontworpen voor het Arduino-platform, bevat meerdere ingebouwde componenten zoals LEDs, knoppen, een buzzer, sensoren (licht, temperatuur, luchtvochtigheid), een 4-digit 7-segment LED-display en een IR-ontvanger. Een ideaal bord om mee te prototypen.

Gewenste functies
Voor de gewenste werking moeten de volgende functies worden geïmplementeerd:
– Een 12V actuator moet heen en weer kunnen bewegen op commando
– Een knop start of stopt de heen-en-weer-cyclus
– Een draaiknop voor het instellen van de tijd tussen de bewegingen (0–60 seconden)
– Een extra knop verandert de bewegingsrichting handmatig
– Een teller houdt het aantal uitgevoerde cycli bij
– De cyclus-teller moet kunnen worden gereset
– LEDs geven visuele feedback

Inzet van het shield
Het Open Smart Rich Shield biedt de nodige elementen: 2 knoppen, een potmeter, een 4-digit display en uitgangen voor relais. De specificaties geven aan dat Button 1 en 2 zijn verbonden met D2 en D3. De potmeter hangt aan A0, en het TM1637-display gebruikt D10 (clk) en D11 (dio). Voor het bijhouden van het aantal cycli kies ik voor de ingebouwde EEPROM. Dit geheugen blijft behouden na stroomverlies, wat handig is voor inspecties tussendoor.

Stapsgewijs ontwikkelen
Mijn ontwikkelstrategie is small-incremental development. Ik begin met een werkende basis en breid die stap voor stap uit. Hierdoor blijft elke versie functioneel en kan ik altijd terugvallen op een eerdere stabiele versie. In totaal werk ik aan 14 versies van de controller. Per versie documenteer ik welke functie is toegevoegd:
– V1: Ping-pong vier LEDs loop
– V2: TM1637 segments één voor één
– V3: 0–30 s timer, PWM-groen, rode pulse
– V4: K1 start/pauze, K2 handmatig
– V5: Gewisselde rode en groene pins
– V6: Behoud laatste UP/NEER bij start
– V7: State-output LOW bij UP, HIGH bij DOWN
– V8: 0–60 s in 5 s pot-stappen
– V9: EEPROM telt DOWN→UP overgangen
– V10: K2 <1 s toggle; 2–5 s show; ≥5 s reset
– V11: Edge-detect K1 voorkomt knipperen
– V12: 16-bit EEPROM-teller tot 9999
– V13: 32-bit EEPROM-teller tot >4 miljoen
– V14: D2-interrupt reset teller

Software afgerond
Met versie V14 ben ik tevreden: alle gewenste functies zijn geïmplementeerd. De interface werkt naar verwachting en de tellers en timers functioneren zoals bedoeld. Na het debuggen controleer ik en stal ik vast dat het systeem consistent en correct reageert op veranderingen in de inputvariabelen.

Hardware opbouw
De bouwfase start met het monteren van de kerncomponenten: Arduino Uno, Rich Shield, twee relais en de voeding. Ik ontwerp een layout voor de onderplaat waarop alles stevig vastgezet wordt met stand-offs. Onder de printplaten maak ik ruimte voor de bekabeling. Aan de onderzijde monteer ik twee Wago-klemmen voor een veilige stroomvoorziening.

Onderplaat ontwerp
Voor het ontwerp van de onderplaat gebruik ik VCarve Pro. Hiermee teken ik nauwkeurig alle montagegaten en componentmaten in. Vervolgens exporteer ik een DXF-bestand dat ik gebruik op de CO₂-lasersnijder. Het materiaal is zwart acrylaat van 3mm dik: isolerend, strak en direct te gebruiken na het snijden. De componenten monteer ik op de stand-offs, inclusief vier rubber voetjes voor stabiliteit en kabelbeheer.

Eindcontrole en test
Na montage controleer ik met de multimeter of alle verbindingen correct zijn aangesloten. Ik flash de code van versie V14 naar de Arduino Uno. De LEDs lichten direct op en het display toont het juiste aantal cycli en de ingestelde tijd. Alles werkt zoals gepland.

Gebruiksinstructie en validatie
Ik schrijf een korte handleiding waarin de functies van de knoppen, potmeter, display en LEDs worden uitgelegd. Vervolgens sluit ik de actuator aan en voer ik een duurproef uit met minimaal 300 bewegingen. Regelmatig controleer ik de cyclus-teller. Na 311 geslaagde bewegingen concludeer ik dat de actuator controller klaar is voor oplevering aan de opdrachtgever.