Rilevatori di movimento e attuatori lineari

Rilevatori di movimento

I rilevatori di movimento, come suggerisce il nome, sono sensori utilizzati per rilevare il movimento. Sono comunemente presenti negli allarmi di sicurezza e nei sistemi di illuminazione attivati ​​dal movimento, ma possono essere utilizzati insieme ad attuatori lineari per un'ampia gamma di applicazioni interessanti. Un'applicazione comune di attuatori lineari e i rilevatori di movimento usati insieme si trovano all'interno di case infestate per spaventare i salti. Ma insieme attuatori lineari e rilevatori di movimento possono essere utilizzati anche per un'ampia gamma di progetti di automazione domestica.

Sensore di movimento

Quando pensi ai rilevatori di movimento, generalmente pensi a 2 tipi:

  • Infrarossi passivi - Che misura i cambiamenti nel calore corporeo (energia a infrarossi) per rilevare il movimento
  • Microonde - Che misura i riflessi degli oggetti utilizzando le microonde per rilevare il movimento

Questi due tipi di rilevatori di movimento sono i più comuni in quanto vengono spesso utilizzati in applicazioni come i sistemi di sicurezza. Tuttavia, sono disponibili molti altri tipi di rilevatori di movimento, inclusi sensori riflettenti di area, che utilizzano luce dedotta, sensori di vibrazione e sensori a ultrasuoni [1]. Per l'utilizzo con hobbisti e progetti fai da te, il tipo di rilevatore di movimento più comunemente disponibile e utilizzato è il sensore di movimento a infrarossi passivi (PIR). Per questo motivo, il resto di questo blog si concentrerà su come utilizzare un rilevatore di movimento PIR con il tuo attuatore lineare. Sebbene ogni tipo di sensore avrà implementazioni diverse, gran parte di quanto descritto di seguito su come controllare un attuatore lineare con un rilevatore di movimento sarà simile per tutti i tipi di rilevatori di movimento.

E i sensori di prossimità?

I sensori di prossimità non sono rilevatori di movimento poiché rilevano la vicinanza di un oggetto piuttosto che il movimento. Funzionalmente, a sensore di prossimità può dirti quanto è vicino un oggetto al sensore se l'oggetto si sta muovendo o meno. Mentre i rilevatori di movimento, si attiveranno solo quando c'è movimento indipendentemente da quanto sia vicino un oggetto. È possibile utilizzare i sensori di prossimità come rilevatori di movimento poiché l'uscita dei sensori di prossimità cambierà quando un oggetto o una persona si sposta davanti al sensore. Sebbene i sensori di prossimità rilevano solo quanto è vicino l'oggetto più vicino al sensore, quindi se qualcosa si muovesse dietro l'oggetto più vicino, il sensore di prossimità non rileverebbe questo movimento. Sebbene sia possibile utilizzare un sensore di prossimità come rilevatore di movimento, potrebbe non essere la soluzione migliore per il tuo progetto.

Sensore di prossimità

Configurazione del rilevatore di movimento PIR

Se stai cercando di progettare il tuo robot per spaventare i salti per Halloween o hai in mente un altro progetto sensibile al movimento, vorrai utilizzare il tuo rilevatore di movimento PIR come interruttore di ingresso per determinare quando il tuo attuatore lineare dovrebbe muoversi. Per fare questo, vorrai utilizzare un microcontrollore, come un file Arduino, per leggere l'uscita del tuo rilevatore di movimento PIR e per pilotare il tuo attuatore lineare. L'uscita del rilevatore di movimento PIR è simile a un semplice pulsante, quando c'è movimento il sensore invierà un segnale o tensione alto al microcontrollore e quando non c'è movimento invierà un segnale o voltaggio basso. Potresti anche voler testare il tuo sensore PIR prima di installarlo nel tuo progetto poiché alcuni sensori PIR ti consentono di regolare la sensibilità del sensore per prestazioni migliori.

Sensore PIR collegato ad Arduino 

Poiché non saprai quando qualcuno passerà davanti al tuo rilevatore di movimento, dovrai leggere costantemente l'output del sensore PIR nel loop principale del tuo codice oppure puoi utilizzare interrupt esterni. Gli interrupt esterni sono pin di Arduino che rilevano un cambiamento di tensione e nel nostro caso possono essere utilizzati per avvisare l'Arduino che il nostro sensore PIR ha rilevato un movimento. A seconda dell'applicazione, entrambi i metodi di lettura dell'output del sensore PIR sono fattibili, sebbene quest'ultimo sia considerato la migliore pratica in quanto garantisce che il codice non perda alcun movimento rilevato dal sensore PIR. Se prevedi di utilizzare un interrupt esterno per rilevare un cambiamento dal rilevatore di movimento, dovrai consultare la scheda tecnica del tuo Arduino per assicurarti quali pin del tuo microcontrollore possono essere utilizzati come pin di interrupt. In caso contrario, puoi semplicemente collegare l'uscita del sensore PIR a uno qualsiasi dei pin di ingresso digitale di Arduino. Il sensore PIR dovrà anche essere collegato a una fonte di alimentazione appropriata e a una terra comune.

Attuatore lineare controllato dal movimento

In entrambi gli esempi seguenti, Arduino controlla l'attuatore lineare utilizzando un file driver del motore. Per imparare a pilotare un attuatore lineare con un driver del motore o altri componenti intermedi, come relè, puoi controllare il nostro post su Come controllare un attuatore lineare con un Arduino. Inoltre, nessuno degli esempi seguenti utilizza un file attuatore lineare a feedback o finecorsa esterni nel loro design, che ti darebbe più controllo sul tuo attuatore che senza. Se sei interessato a come e quali opzioni di feedback sono disponibili, puoi controllare il nostro post sull'argomento Qui.  

L'esempio di codice sopra mostra come impostare un interrupt nell'IDE di Arduino in cui l'interrupt verrà attivato sul fronte di salita dell'impulso di tensione. Puoi impostare il tuo interrupt in modo che venga attivato in diversi punti di una variazione di tensione e dovresti consultare la scheda tecnica del tuo microcontrollore per determinare le opzioni disponibili. Dopo aver identificato e selezionato un pin di interrupt appropriato, l'ultimo aspetto che devi fare per impostare il tuo interrupt è scrivere la tua routine di servizio di interrupt. La routine del servizio di interruzione è una funzione semplice che il codice eseguirà ogni volta che viene attivato l'interruzione. Nel nostro caso, la nostra routine di servizio di interrupt motionDetector imposta semplicemente il flag motionDetected su alto quando viene attivato l'interrupt.

Una volta che il tuo Arduino ha letto l'output del tuo sensore PIR, utilizzando un interrupt esterno o semplicemente leggendo l'output, il modo in cui utilizzi questo feedback per controllare il tuo attuatore lineare dipenderà dal tuo design e dalla tua applicazione. Poiché il sensore PIR fornisce solo un feedback binario, come un pulsante, il livello di controllo sull'attuatore lineare sarà limitato. Un modo per controllare l'attuatore lineare con questo feedback è dire all'attuatore di muoversi ogni volta che viene rilevato un movimento, il che potrebbe essere utile in applicazioni come i salti robotici in una casa infestata. Il codice sopra mostra come implementare questo progetto. Una volta che il flag motionDetected è impostato su alto, estendiamo l'attuatore lineare in avanti e dopo 10 secondi, il flag viene ripristinato su basso e l'attuatore si ritrae per il successivo spavento di salto. Poiché utilizziamo il rilevatore di movimento solo per dire ad Arduino che c'è qualcuno, utilizziamo un timer per resettare la bandiera e aspettiamo che passi la persona successiva.

Un altro metodo consiste nel passare dalla posizione estesa a quella retratta dell'attuatore lineare ogni volta che viene rilevato un movimento, il che può essere utile nelle applicazioni di automazione domestica. L'implementazione di questo approccio è mostrata sopra. Nella routine di servizio di interruzione, il flag motionDetected viene attivato ogni volta che il sensore PIR rileva un movimento. Quando il flag è impostato su alto, l'attuatore lineare viene esteso e quando il flag è impostato su basso, l'attuatore viene ritirato. Abbiamo anche aggiunto un altro flag timerFlag che viene utilizzato per aggiungere un ritardo dopo l'attivazione del rilevatore di movimento PIR. Questo flag è impostato su ALTO quando l'interrupt viene attivato per la prima volta e viene inviato basso solo dopo il ritardo di tempo progettato, che è un minuto in questo esempio. Viene anche utilizzato per garantire che il valore del flag motionDetected non venga attivato / disattivato fino a dopo questo intervallo di tempo.

Riferimento:

  1. Tross, K. (2019, ottobre). La guida per principianti ai sensori di movimento. Recuperato da: https://www.safewise.com/resources/motion-sensor-guide/
product-sidebar product-sidebar
Tags:

Share this article

Prodotti in primo piano

Attuatori lineari Classic Rod
Attuatori lineari Classic Rod In Stock
From $109.99USD
water resistant IP66 Premium Linear Actuator
Attuatori lineari Premium In Stock
$129.99USD
Bullet Serie 50 Cal. Attuatori lineari
Bullet Serie 50 Cal. Attuatori lineari In Stock
From $279.99USD

Hai bisogno di aiuto per trovare l'attuatore giusto?

Progettiamo di precisione e produciamo i nostri prodotti in modo da ottenere prezzi diretti dai produttori. Offriamo la spedizione in giornata e un'assistenza clienti competente. Prova a utilizzare il nostro calcolatore dell'attuatore per ottenere aiuto nella scelta dell'attuatore giusto per la tua applicazione.