Bewegingsmelders en lineaire actuatoren

Bewegingsmelders

Bewegingsmelders, zoals hun naam al doet vermoeden, zijn sensoren die worden gebruikt om beweging te detecteren. Ze worden vaak gezien in beveiligingsalarmen en door beweging geactiveerde verlichtingssystemen, maar kunnen worden gebruikt in combinatie met lineaire actuatoren voor een breed scala aan koele toepassingen. Een veel voorkomende toepassing van lineaire actuatoren en bewegingsdetectoren die samen worden gebruikt, bevinden zich in spookhuizen voor jump scares. Maar samen kunnen lineaire actuatoren en bewegingsmelders ook gebruikt worden voor een breed scala aan domotica-projecten.

Bewegingsdetector

Denk je aan bewegingsmelders, dan denk je over het algemeen aan 2 soorten:

  • Passief infrarood - Welke veranderingen in lichaamswarmte (infraroodenergie) meet om beweging te detecteren
  • Magnetron - Die reflecties van objecten meet met behulp van microgolven om beweging te detecteren

Deze twee soorten bewegingsdetectoren komen het meest voor, aangezien ze vaak worden gebruikt in toepassingen zoals beveiligingssystemen. Hoewel er veel andere soorten bewegingsdetectoren beschikbaar zijn, waaronder gebiedsreflecterende sensoren, die gebruik maken van afgeleid licht, trillingssensoren en ultrasone sensoren [1]. Voor gebruik bij hobbyisten en doe-het-zelf-projecten is het meest algemeen verkrijgbare en gebruikte type bewegingsdetector de passieve infrarood (PIR) bewegingssensor. Daarom zal de rest van deze blog zich richten op het gebruik van een PIR-bewegingsdetector met je lineaire actuator. Hoewel elk type sensor verschillende implementaties heeft, zal veel van wat hieronder wordt beschreven over het besturen van een lineaire actuator met een bewegingsdetector, vergelijkbaar zijn voor alle typen bewegingsdetectoren.

Hoe zit het met naderingssensoren?

Nabijheidssensoren zijn geen bewegingsdetectoren, ze detecteren de nabijheid van een object in plaats van beweging. Functioneel, a nabijheids sensor kan u vertellen hoe dicht een object zich bij de sensor bevindt, ongeacht of het object beweegt of niet. Bewegingsdetectoren worden alleen geactiveerd als er beweging is, ongeacht hoe dicht een object is. U kunt naderingssensoren gebruiken als bewegingsdetectoren, aangezien de output van de naderingssensoren verandert wanneer een object of persoon voor de sensor beweegt. Hoewel naderingssensoren alleen detecteren hoe dicht het dichtstbijzijnde object zich bij de sensor bevindt, zou de naderingssensor deze beweging dus niet detecteren als er iets achter het dichtstbijzijnde object zou bewegen. Hoewel het gebruik van een naderingssensor als bewegingsdetector mogelijk is, is dit misschien niet de beste oplossing voor uw ontwerp.

Nabijheids sensor

Uw PIR-bewegingsdetector instellen

Als je op zoek bent naar het ontwerpen van je eigen jump scare-robot voor Halloween of als je een ander bewegingsgevoelig project in gedachten hebt, dan wil je je PIR-bewegingsdetector gebruiken als ingangsschakelaar om te bepalen wanneer je lineaire actuator moet bewegen. Om dit te doen, wil je gebruik maken van een microcontroller, zoals een Arduino, om de output van uw PIR bewegingsmelder af te lezen en om uw lineaire actuator aan te sturen. De output van de PIR bewegingsdetector is vergelijkbaar met een simpele drukknop, bij beweging stuurt de sensor een hoog signaal of spanning naar de microcontroller en bij geen beweging een laag signaal of lage spanning. U kunt ook uw PIR-sensor testen voordat u deze in uw ontwerp installeert, aangezien u met sommige PIR-sensoren de gevoeligheid van de sensor kunt aanpassen voor betere prestaties.

PIR-sensor aangesloten op Arduino 

Omdat je niet weet wanneer iemand langs je bewegingsmelder loopt, moet je ofwel constant de output van de PIR-sensor in de hoofdlus van je code aflezen of je kunt gebruik maken van externe interrupts. Externe interrupts zijn pinnen van de Arduino die een verandering in spanning detecteren en in ons geval kunnen worden gebruikt om de Arduino te waarschuwen dat onze PIR-sensor beweging heeft gedetecteerd. Afhankelijk van uw toepassing zijn beide methoden voor het lezen van de uitvoer van de PIR-sensor haalbaar, hoewel de laatste als de beste praktijk wordt beschouwd, omdat het ervoor zorgt dat uw code geen enkele beweging mist die door de PIR-sensor wordt gedetecteerd. Als u van plan bent een externe interrupt te gebruiken om een ​​verandering van uw bewegingsdetector te detecteren, moet u het gegevensblad van uw Arduino raadplegen om er zeker van te zijn welke pinnen van uw microcontroller kunnen worden gebruikt als interrupt-pinnen. Als dit niet het geval is, kunt u eenvoudig de uitgang van de PIR-sensor aansluiten op een van de digitale ingangspennen van de Arduino. De PIR-sensor moet ook worden aangesloten op een geschikte voedingsbron en op een gemeenschappelijke aarde.

Bewegingsgestuurde lineaire actuator

In beide onderstaande voorbeelden bestuurt de Arduino de lineaire actuator met behulp van een Motor bestuurder. Om te leren hoe je een lineaire actuator aandrijft met een motoraandrijving of andere tussenliggende componenten, zoals relais, kunt u onze post bekijken op Hoe een lineaire actuator te besturen met een Arduino. Ook gebruikt geen van de onderstaande voorbeelden een feedback lineaire actuator of externe eindschakelaars in hun ontwerp, wat u meer controle over uw actuator zou geven dan zonder. Als je geïnteresseerd bent in hoe en welke feedbackopties beschikbaar zijn, kun je ons bericht over het onderwerp lezen hier.  

Het bovenstaande codevoorbeeld laat zien hoe je een interrupt in de Arduino IDE instelt, waarbij de interrupt wordt geactiveerd op de stijgende flank van de spanningspuls. U kunt uw interrupt zo instellen dat deze op verschillende punten in een spanningsverandering wordt geactiveerd. Raadpleeg het gegevensblad van uw microcontroller om de beschikbare opties te bepalen. Als u eenmaal een geschikte interrupt-pin hebt geïdentificeerd en geselecteerd, is het laatste aspect dat u moet doen om uw interrupt in te stellen, het schrijven van uw interruptserviceroutine. De interruptserviceroutine is een eenvoudige functie die de code elke keer dat de interrupt wordt geactiveerd, uitvoert. In ons geval stelt onze interrupt-serviceroutine motionDetector eenvoudig de vlag motionDetected in op hoog wanneer de interrupt wordt geactiveerd.

Zodra uw Arduino de output van uw PIR-sensor heeft gelezen, hetzij door een externe interrupt te gebruiken, hetzij door simpelweg de output te lezen, hangt af van uw ontwerp en uw toepassing hoe u deze feedback gebruikt om uw lineaire actuator te besturen. Omdat de PIR-sensor alleen binaire feedback geeft, zoals een drukknop, is het niveau van controle over de lineaire actuator beperkt. Een manier om de lineaire actuator met deze feedback te besturen, is door de actuator te vertellen dat hij moet bewegen wanneer er beweging wordt gedetecteerd, wat handig kan zijn bij toepassingen zoals robotachtige jump scares in een spookhuis. De bovenstaande code laat zien hoe u dit ontwerp zou kunnen implementeren. Zodra de vlag motionDetected op hoog is ingesteld, schuiven we de lineaire actuator naar voren uit en na 10 seconden wordt de vlag teruggezet op laag en trekt de actuator zich terug voor de volgende jump scare. Omdat we de bewegingsdetector alleen gebruiken om de Arduino te vertellen dat er iemand is, maken we gebruik van een timer om de vlag te resetten en te wachten tot de volgende persoon langskomt.

Een andere methode is om te schakelen tussen uitgeschoven en ingetrokken posities van de lineaire actuator telkens wanneer beweging wordt gedetecteerd, wat handig kan zijn in domotica-toepassingen. De implementatie van deze aanpak is hierboven weergegeven. In de onderbrekingsserviceroutine wordt de vlag motionDetected omgeschakeld telkens wanneer de PIR-sensor beweging detecteert. Als de vlag te hoog is ingesteld, wordt de lineaire actuator uitgeschoven en als de vlag te laag is ingesteld, wordt de actuator ingetrokken. We hebben ook een andere vlagtimer toegevoegdVlag die wordt gebruikt om een ​​tijdvertraging toe te voegen nadat de PIR-bewegingsdetector is geactiveerd. Deze vlag wordt ingesteld op HOOG wanneer de onderbreking voor het eerst wordt geactiveerd en wordt pas laag verzonden na de ontworpen tijdvertraging, die in dit voorbeeld één minuut is. Het wordt ook gebruikt om ervoor te zorgen dat de waarde van de vlag motionDetected pas na deze tijdvertraging wordt omgeschakeld.

Referentie:

  1. Tross, K. (2019, oktober). De beginnershandleiding voor bewegingssensoren. Opgehaald van: https://www.safewise.com/resources/motion-sensor-guide/
Tags:

Share this article

Uitgelichte producten

Linear Actuator - 12v dc
Klassieke staaf lineaire actuatoren In Stock
From $109.99USD
water resistant IP66 Premium Linear Actuator
Premium lineaire actuatoren In Stock
$129.99USD
TVL-170 Pop-up tv-lift aan achterzijde
TVL-170 Pop-up tv-lift aan achterzijde In Stock
On Sale From $590.00USD

Hulp nodig bij het vinden van de juiste actuator?

Wij precisie engineer en vervaardiging van onze producten, zodat u directe fabrikanten prijzen. Wij bieden dezelfde dag verzending en deskundige klantenondersteuning. Probeer onze Actuator Calculator te gebruiken om hulp te krijgen bij het kiezen van de juiste actuator voor uw toepassing.