UV-desinfectierobot met Arduino Mega: Op afstand bestuurd germicidaal systeem
Onderdelen en benodigdheden
| Arduino Mega 2560 | 1 |
| FPV-camera | 1 |
| FPV-videotransmitter | 1 |
| FPV-videoreceiver | 1 |
| TFT-kleurenmonitor | 1 |
| 4-kanaals RC-radio-controller | 1 |
| 30W DC-tandwielmotor | 2 |
| VNH5019 Dual Motor Driver | 1 |
Benodigde tools en machines
- Boormachine, schroevendraaier
Over dit project
Inleiding tot de robot
De Ultraviolette Germicidale Robot (UV-robot) is een telegebede robot uitgerust met een UV-lichtsysteem. Het systeem bestaat uit een bewegende robotvoertuig en een grondstationcontroller (GCS). De operator bedient de robot met de joystick van de GCS terwijl hij de camerabeelden van de robot bekijkt.
De robot kan besmetten en ziekten, virussen, bacteriën en andere schadelijke micro-organismen in de omgeving doden met ultraviolett licht, door hun DNA-structuur te breken. Momenteel hebben verschillende landen deze robots succesvol getest om ziekenhuizen, openbaar vervoer, kantoorruimtes en andere publieke plekken te desinfecteren. We hebben deze UV-robot op een kosteneffectieve manier geïmplementeerd om het desinfectieproces uit te breiden naar publieke plekken.
Waarom geen desinfectievloeistoffen?

De meest voorkomende methode om publieke plekken te desinfecteren is het spuiten van desinfectievloeistoffen (70% alcohol). De Wereldgezondheidsorganisatie (WHO) heeft recent aangekondigd dat regelmatig gebruik van dergelijke vloeistoffen in publieke ruimtes schadelijk is: het kan respiratoire problemen veroorzaken door de sterke geur, huidirritatie en milieudisbalans. Bovendien is deze methode verbonden met hoge materiaal- en arbeidskosten op dagbasis.
Voordelen van de UV-robot
- Eenmalige kosten (geen bijvullen van alcohol of chloor).
- Kan gebruikt worden voor desinfectie van oppervlakken, medische pakken, mondmaskers en andere medische apparatuur.
- Verkort de desinfectietijd met 60% ten opzichte van vloeistofmethoden (droogtijd is aanzienlijk bij stofmateriaal).
- Geschikt voor omgevingen met elektronische apparatuur.
- Één operator kan een groot gebied afdekken (geen meerdere personen nodig als bij spuiten).
- We hebben een 99,997% desinfectiegraad bewezen in samenwerking met een microbiologielaboratorium van een lokale universiteit (uitleg in de laatste sectie).
Ultraviolette Germicidale Bestraling (UVGI)

UVGI is een desinfectiemethode die kortgolvige ultraviolet (ultraviolet C of UVC) licht gebruikt om micro-organismen te doden of te inactiveren door nucleïnezuren te vernietigen en hun DNA te verstoren, waardoor ze geen vitale cellulaire functies meer kunnen uitvoeren. UVC wordt geabsorbeerd door RNA- en DNA-basen en kan de fotochemische fusie van twee aangrenzende pyrimidines tot covalente dimeren veroorzaken, die dan niet meer kunnen paren.
UVGI wordt gebruikt bij voedsel-, lucht- en waterzuivering, en om de verspreiding van besmettelijke ziekten te voorkomen. Laagdruk kwik (Hg) ontladingslampen en LEDs worden veel gebruikt en emitteren UV-C (100–280 nm), voornamelijk op 254 nm.
Elk micro-organisme vereist een andere UV-dosis voor inactivatie. Voor Covid-19 wordt de inactivering met UV-licht overwogen. In onderzoekspapers wordt de benodigde UV-dosis uitgedrukt in "Joule per vierkante meter" of "Joule per vierkante centimeter". Fabrikanten geven UV-intensiteit in "Microwatt (µW) per vierkante centimeter" op 1 meter afstand.

Vergelijking 1 toont de relatie tussen dosis en intensiteit: verschillende dosissen kunnen bereikt worden door de bloottijd te variëren. Vergelijking 2 toont de relatie tussen UV-intensiteit en afstand: intensiteit daalt met de afstand tot de bron. Volgens Wikipedia kan een dosis van 8 mJ de meeste virussen inactiveren.
De functionaliteit van de robot begrijpen
Het systeem is complex door toegevoegde functionaliteiten en veiligheidsfuncties voor industrienormen. Voordat we de implementatie uitleggen, is het goed om te begrijpen hoe het systeem werkt.
De robot heeft 3 hoofcomponenten:
1. Het grondvoertuig

Deze wordt aangedreven door twee wielen met DC-tandwielmotoren (differentieel aangedreven robot). Twee zwenkwielen vooraan en achteraan zorgen voor balans. De elektronische besturing en de batterij (12V 35Ah loodzuur) zitten in het voertuig.

De Arduino Mega wordt gevoed door de hoofdbatterij via een spanningsregelaar (12V naar 5V). Een 4-kanaals RC-ontvanger met PWM-uitgangen is aangesloten op de Mega. Motoren worden aangedreven via een duale H-brug motordriver aangesloten op de Arduino. Een omvormer zit tussen de UV-lampen en de batterij, bestuurd via een relais op de Arduino.
2. De UV-lichttoren
We gebruiken fluorescerende UV-lampen die een apart elektronisch ballast nodig hebben. De toren bevat 6 UV-lampen rondom een aluminiumcilinder (gemaakt door een aluminiumvel te rollen). Deze cylinder fungeert als reflector voor UV-straling.

Alle ballasten zitten in de aluminiumcilinder. Bovenop de toren zit een FPV-camera en -transmitter voor videobeelden naar de GCS. De UV-toren is vast op het grondvoertuig gemonteerd.
3. Grondstationcontroller (GCS)

Dit is de afstandsbediening. Het scherm toont de camerabeelden. De joystick stuurt de robot. UV-lampen kunnen in/uitgeschakeld worden met de UV-schakelaar. De armeringsschakelaar fungeert als veiligheidsschakelaar: hij schakelt alle functionaliteiten uit bij inschakelen.
UV-lampen voeden

We gebruiken 6 UV-lampen met specificaties: Vermogen 55W, golfengte 254 nm, lengte 890 mm, buisdiameter 15 mm, type single-end 4-pin. De golfengte is cruciaal. De elektronische ballast wordt aangesloten op de 4 pennen van de lamp. UV-lampen branden wanneer de ballast gevoed wordt.
*** UV-licht is schadelijk voor huid en ogen. Bloot je ogen en huid niet langdurig uit. Kijken door glas is veilig omdat UV-licht geen doorzichtig glas penetreert. ***
FPV-videosysteem

FPV-videosystemen worden voornamelijk in drones gebruikt voor vogelvluchtbeelden. In ons geval maakt het een FPV-systeem eenvoudig om videobeelden van de robot te krijgen zonder programmeren of solderen. De robot heeft een camera en videotransmitter; je hoeft alleen voeding aan te sluiten en het begint te transmitteren op 5,8 GHz.
De GCS heeft een LCD-scherm met ingebouwde 5,8 GHz ontvanger. Zodra je het scherm aanzet, toont het de camerabeelden.
Het grondvoertuig bouwen
De hoofstructuur is gemaakt van 0,75 inch staalboxprofielen. Hieronder het ontwerp voor onze robot, maar pas het aan aan jouw eisen.

De frame moet ruimte en een mechanisme hebben voor twee motoren en twee zwenkwielen onderaan. Binnenin moet een mechanisme zitten om de loodzuurbatterij te vergrendelen. We hebben de frame bekleed met platen.
De motordraden gaan naar de uitgangspinnen van de motordriver. Deze procedure is eenvoudig te vinden op internet, dus we beschrijven het niet volledig.
Het schema van het elektronische besturingssysteem is aan het eind te vinden. Kanaal 1–4 PWM-signaalpinnen van de RC-ontvanger zijn verbonden met Arduino-pinnen 18–21. Elke kanaal is in de code als volgt geconfigureerd (je kunt dit wijzigen):
- Kanaal 1 - UV-schakelaar
- Kanaal 2 - Robot-armeringsschakelaar
- Kanaal 3 - Vooruit/Achteruit commando's
- Kanaal 4 - Links/Rechts draaicommando's
Dit kan ook gewijzigd worden bij het bouwen van de GCS.

De pinnen van de motordriver zijn verbonden met Arduino-pinnen 3–11 zoals in het schema getoond.
Om 12V om te zetten naar 230V AC voor de UV-lampen, wordt een omvormercircuit gebruikt. We kochten een commercieel beschikbare omvormer met ingebouwde lader. Dit voorkomt complexiteit door de loodzuurbatterij te laden via bestaande stopcontacten.

We gebruiken een modified sine wave omvormer met ~70% rendement. Om alle ballasten te voeden met 70% rendement is 470W nodig; met veiligheidsmarges kochten we een 1kW omvormer.
Batterijpolen zijn verbonden met de 12V-invoer, ballasten met de AC-uitgang. De aan/uit-schakelaar is verwijderd. Er zijn 3 draden beschikbaar: gemeenschappelijke draad, aarddraad, en aan-draad. Deze zijn als volgt aangesloten op het relais om de UV-lampen vanuit de Arduino te besturen:
- Gemeenschappelijke draad → Common
- Aarddraad → NC
- Aan-draad → NO

We hebben een systeem-aan/uit-schakelaar, UV-aan/uit-schakelaar en een noodstop-schakelaar toegevoegd om te voldoen aan industrienormen.
De UV-lichttoren bouwen
Het middendeel van de toren bevat een aluminiumvel dat gerold wordt tot een cylinder van 15 cm diameter. Twee cirkelvormige bekledingsplaten van 30 cm diameter worden boven en onder de cylinder geplaatst; deze dienen als UV-lamphouders. Beide platen hebben 19 mm gaten voor de UV-lampen. Ballasten worden met dubbelzijdig tape in de aluminiumcilinder vastgezet.


Het FPV-camerasysteem wordt bovenop de toren gemonteerd en twee draden worden naar beneden door de cylinder geleid.
De grondstationcontroller bouwen

Benodigde componenten voor de GCS:
- 2,4 GHz 4-kanaals RC-zender
- FPV-scherm
- 2x wipschakelaar
- 1x aan/uit-schakelaar
- 18650-batterijcellen
- 3-cel Battery Management System (BMS) module voor 18650
- 12V, 5A Schakelende voeding (SMPS)
De RC-zender heeft 2 joysticks en diverse schakelaars. We gebruiken één joystick, de printplaat en de indicator-LED. Haal de behuizing van de zender af en bekijk hoe de joysticks door de print worden uitgelezen. Elke joystick bevat twee potentiometers aangesloten op de print. Afhankelijk van de joystick-positie verandert de weerstand, zodat de print de positie kan lezen.


Verwijder één joystick en zijn twee potentiometers. Solder de draden aan de twee wipschakelaars. Nu hebben we één joystick en twee wipschakelaars voor alle 4 kanalen. Één schakelaar is de robot-armeringsschakelaar, de andere de UV-lichtschakelaar. De indicator-LED kan als batterijmonitor dienen (wordt rood bij lage batterij).
Nu maken we een voeding voor de zender en het FPV-scherm. Een 18650-cel is 3,7V (vol 4,2V). We schakelen 3 cellen in serie voor ~12V. We gebruikten 1000mAh cellen. Voor langere looptijd gebruikten we 9 batterijen: 3 serie-aangesloten sets in parallel voor 3000mAh. Vervolgens sloten we de BMS-module aan ter bescherming.

P+ en P- worden aangesloten op de zender- en FPV-schermvoeding. De 12V SMPS heeft een potentiometer om de uitgangsspanning in te stellen; zet hem op 12,8V en sluit de uitgang aan op P+ en P- van de BMS. Dit laadt het batterijpakket wanneer de SMPS in de stopcontact zit.
Je kunt een behuizing ontwerpen naar eigen wens.
Programmeren
De eerste taak van de code is het lezen van de RC-kanaalingangen. Omdat we een PWM-ontvanger gebruiken, gebruiken we interrupts om de PWM-waarden te lezen. Ik heb een PWM-bibliotheek gebruikt om interrupts te gebruiken door de aangesloten pin te definiëren:
PWM ch1(18); // Pin 18 voor input
PWM ch2(19); // Pin 19 voor input
PWM ch3(20); // Pin 20 voor input
PWM ch4(21); // Pin 21 voor input
In de opstartsequentie controleert de code de batterijspanning en of de UV-schakelaar aanstaat. Als een van beide gedetecteerd wordt, wacht de opstartprocedure tot alles in orde is.
// Controleer batterijspanning
battery_voltage_monitor();
while (batterylow == true) {
battery_voltage_monitor();
low_battery_notification();
}
// Controleer of UV-schakelaar uitstaat
rc_read();
while (uv_pwm > switch_on_pwm) {
rc_read();
uv_on_warning_at_startup(); // buzzer toon
}
Tijdens het draaien van de motoren daalt de batterijspanning tijdelijk kritiek. Om te voorkomen dat het laagspanningsalarm telkens afgaat bij beweging, draait de batterijmonitor alleen als de robot niet beweegt.
if (robot_moving == false) {
battery_voltage_monitor(); // monitor batterij wanneer robot stilstaat
}
Alle overige functies (motordriver besturen, buzzer tonen genereren, relais besturen) werken op de gewone manier. Je kunt een algemene tutorial hierover volgen als je er niet bekend mee bent.
Bedieningsprocedures
Opstartprocedure
GCS Controller
- Zet de hoofschakelaar aan.
- Zorg dat zowel de Robot-armeringsschakelaar als de UV-lichtschakelaar UIT staan (benedenstand).
Robot
- Zet de voedingsschakelaar aan.
- Wacht op de starttoon.
- Wacht op de "systeem OK"-toon.
De robot besturen
- Zet de Robot-armeringsschakelaar aan.
- Beweeg de joystick om de robot te sturen.
- Zet de UV-schakelaar aan om de UV-lampen in te schakelen. Wanneer de armeringsschakelaar UIT staat, werkt de UV-schakelaar niet.
Batterijniveau-indicator
- Zorg dat de batterij minimaal 4 balkjes knippert om de robot te bedienen.
- Bij lage batterij piept de buzzer met de laatste twee balkjes van de indicator knipperend.
Oplaadprocedure
- Zet de robot uit.
- Zet de GCS uit.
- Stop de omvormer in het stopcontact (meestal heeft de omvormer een ingebouwde laadstatusindicator).
Algemene overwegingen
1. Gebruik in drukke gebieden
Ultraviolett licht is schadelijk voor ogen en huid. Blootstelling op korte afstand (<3 m) langer dan 60 seconden kan oogschade en huidirritatie veroorzaken. UV-stralen penetreren echter geen vaste stoffen. Kijken naar UV-licht door doorgaans glas is veilig.
2. Gevoelige materialen en apparaten
Zachte kunststoffen zijn gevoelig voor UV-licht (speelgoed, voedselverpakkingen). Het apparaat kan dus niet in speelgoedwinkels, supermarkten, enz. gebruikt worden. Wel kan het gebruikt worden om vloeren van dergelijke gebieden te desinfecteren.
3. Gebruik in ziekenhuizen
In ziekenhuizen helpt UV-licht om hoog-aangeraakte oppervlakken snel te desinfecteren. De effectiviteit voor medische apparatuur en geneesmiddelen moet echter overwogen worden. Medische apparatuur met kunststofbehuizingen zijn gemaakt van harde kunststoffen (die tijdens productie bestraling ondergaan). Er zijn geen bewijs effecten van UV-licht op geneesmiddelen in ziekenhuizen. Roestvrij staal en N95-maskers kunnen wel gesteriliseerd worden met hetzelfde apparaat.
4. Effectiviteit in beschaduwde gebieden
UV-licht reflecteert van oppervlakken net als zichtbaar licht. Gebieden zonder direct UV-licht ontvangen wel gereflecteerd UV-licht. Hevig bedekte of beschaduwde gebieden ontvangen geen effectief UV-licht; deze worden ook niet gedesinfecteerd met vloeistofmethoden.
5. Overige overwegingen
UV-licht genereert ozon in gesloten ruimtes bij langdurig gebruik. Algemeen wordt geadviseerd om na UV-sterilisatie gesloten ruimtes 20 minuten te ventileren.
Code
Code voor Arduino Mega
https://github.com/tharindusuraj/Ultraviolet-Germicidal-Robot
Schema's
uv-x_Q9R5T59Q32.fzz
Productieproces
- Visie-gebaseerde Obstakel-Vermijdende Mobiele Robot op Raspberry Pi
- Bouw een Raspberry Pi Webcam-robot – Stap-voor-Stap Videostreaming Gids
- gatoBot: Raspberry Pi Zero W Web-gecontroleerde Robot met Live Videostreaming
- Recycling Sorteerrobot Aangedreven door Google Coral Edge TPU
- Servo-gestuurde obstakelvermijdende robot: Bouw met Arduino & HC-SR04
- Arduino-gestuurd automatische plantenwateringssysteem
- Arduino Licht & Geluid Display: VS Volkslied
- Arduino robotarm besturen via speciale Android-app
- WiDC: Wi‑Fi FPV-robot – Externe bediening met live video
- Robotgestuurde In-Process Profilering: Precieze Buitendiameter Metingen met Digitale Micrometers
- Yama Seiki GA-2000CR: Compact draaicenter met geavanceerde robotarm & palletsysteem