Utilizzo di interruttori di prossimità con l'attuatore lineare

Interruttori di prossimità

Gli interruttori di prossimità, o sensori, sono interruttori senza contatto in grado di rilevare la presenza di un oggetto nelle loro vicinanze. Questi sensori possono essere utilizzati per dire a un attuatore lineare di muoversi o fermarsi quando un oggetto si trova davanti al sensore o se un oggetto viene portato via. Possono anche essere utilizzati per determinare la distanza dall'oggetto più vicino e possono essere utilizzati per fornire feedback per controllare l'attuatore lineare. Comunemente, vedrai sensori di prossimità utilizzati con dispositivi a mani libere o touchless, come l'asciugamani touchless e i portelloni posteriori elettrici a mani libere nei SUV, ma sono anche utilizzati in un'ampia gamma di applicazioni industriali. Da utilizzare con attuatori lineari, i sensori di prossimità possono essere utilizzati in varie situazioni, tra cui il controllo senza contatto e il feedback di rilevamento di oggetti.

I sensori di prossimità rilevano generalmente la presenza di un oggetto utilizzando il campo elettromagnetico, la luce o il suono [1]. Il metodo con cui il tuo attuatore lineare rileva la presenza di un oggetto dipenderà dal tipo di sensore di prossimità. Esistono quattro tipi comuni di sensori di prossimità:

  • Induttivo: Utilizza il campo magnetico per rilevare materiale ferroso
  • Capacitivo: Utilizza le variazioni di capacità per rilevare un oggetto 
  • Fotoelettrico: Utilizza la luce per rilevare se un oggetto è presente
  • Ultrasonico: Utilizza il suono per rilevare se un oggetto è presente 

La scelta del tipo dipenderà dalla tua applicazione e dal materiale che desideri rilevare [1]. Avrai anche una serie di altre specifiche che dovrai considerare quando scegli il sensore di prossimità giusto, che include il raggio di rilevamento, il tempo di risposta, la frequenza di commutazione, la temperatura operativa e il segnale di uscita. Per scegliere il sensore di prossimità corretto, è necessario considerare le esigenze dell'applicazione, il tipo di sensore, le specifiche di cui sopra e consultare la scheda tecnica del sensore per ulteriori informazioni.

Sensore di prossimità capacitivo

Qual è la differenza tra sensori di prossimità e rilevatori di movimento?

I sensori di prossimità non sono rilevatori di movimento poiché rilevano la vicinanza di un oggetto piuttosto che il movimento. Rilevatori di movimento, come suggerisce il nome, percepisce il movimento piuttosto che la vicinanza di un oggetto o di una persona. Funzionalmente, un sensore di prossimità sarà in grado di dirti quanto è vicino un oggetto al sensore indipendentemente dal fatto che l'oggetto sia in movimento o meno. Mentre i rilevatori di movimento, si attiveranno solo quando c'è movimento indipendentemente da quanto sia vicino un oggetto.

Sensore di movimento

Controllo touchless

Per il controllo touchless, utilizzerai il sensore di prossimità come un semplice pulsante. Per fare ciò, ti consigliamo di scegliere un sensore di prossimità con un raggio di rilevamento più breve, in modo da non attivare accidentalmente l'interruttore e un sensore che rileverà la tua mano, il tuo piede o qualunque cosa tu stia cercando di rilevare. Una buona opzione per questo è un sensore di prossimità capacitivo in quanto hanno un breve raggio di rilevamento e possono rilevare un'ampia gamma di materiali, ma anche i sensori di prossimità ad ultrasuoni e alcuni sensori fotoelettrici funzioneranno fintanto che hanno un raggio di rilevamento più breve [1]. Dovrai collegare il sensore di prossimità a un microcontrollore, come un file Arduino, per leggere l'uscita del sensore. Il modo in cui colleghi il sensore di prossimità al microcontrollore dipenderà dalla scelta del sensore, ma nella maggior parte dei casi, il tuo microcontrollore riceverà un valore analogico convertito in digitale o dovrà convertire un segnale analogico in un valore digitale.

Il sensore di prossimità agirà come un solo pulsante in questa applicazione, il che limiterà il nostro controllo sull'attuatore lineare. Utilizzando il nostro microcontrollore, possiamo scrivere codice per alternare tra estensione e ritrazione quando il sensore viene attivato e utilizzando i finecorsa interni dell'attuatore lineare per fermare l'attuatore quando raggiunge la posizione completamente estesa o ritratta. Possiamo anche fare uso di feedback interno o interruttori di fine corsa esterni che ci consentirebbero di utilizzare altre posizioni piuttosto che completamente estese o retratte, sebbene saremo comunque limitati a due posizioni. Per fare ciò nel firmware del nostro microcontrollore, dovremo attivare una variabile flag ogni volta che viene attivato il sensore di prossimità. L'esempio di codice seguente mostra il loop principale di un codice IDE Arduino utilizzando il flag sensorFlag per determinare in quale direzione azionare l'attuatore lineare, che è guidato da a driver del motore.

Per attivare o disattivare questo flag, dobbiamo leggere il valore del sensore di prossimità. Poiché non sappiamo quando il sensore verrà attivato, dovremo leggere costantemente il sensore nel loop principale del nostro codice oppure possiamo utilizzare interruzioni del timer interno per leggere periodicamente il sensore. Quest'ultima è considerata la migliore pratica, soprattutto se si desidera utilizzare il microcontrollore per eseguire attività parallele, poiché garantisce che il sensore venga sempre letto per il periodo di tempo esatto. L'esempio di codice seguente, che utilizza un Arduino, mostra come configurare un interrupt del timer interno che viene attivato ogni secondo. Per Arduino, questo è un po 'più complesso degli interrupt esterni e potrebbe essere necessario eseguirne alcuni letture aggiuntive per imparare come impostare l'interrupt per la tua applicazione.

La funzione SINGAL, nel codice sopra, è la routine di servizio di interrupt per l'interrupt del timer, che viene eseguito ogni volta che viene attivato l'interrupt, aggiorna il valore dal sensore di prossimità ogni secondo. Se il valore letto dal sensore è inferiore al nostro valore di soglia, consideriamo i sensori “premuti” e commutiamo sensorFlag. Sarà necessario determinare in anticipo questo valore di soglia testando il sensore e determinare un valore di uscita che si desidera considerare come "premuto". Per limitare la commutazione del sensorFlag a una sola volta mentre il sensore è “premuto”, c'è un altro flag che non viene resettato fino a quando il valore del sensore non è più inferiore al valore di soglia.

Rilevamento degli ostacoli

I sensori di prossimità possono anche essere utilizzati per misurare quanto è vicino l'oggetto più vicino davanti a loro. Ciò può essere particolarmente utile nelle applicazioni con attuatori lineari per rilevare ostacoli davanti all'attuatore e inviare feedback al controller per arrestare l'attuatore se si avvicina troppo a un oggetto, come nel video qui sotto. Per utilizzare un sensore di prossimità in modo simile, ti consigliamo di scegliere un sensore di prossimità che abbia un raggio di rilevamento più ampio ed è in grado di rilevare vari tipi di materiali. I sensori a ultrasuoni sono una buona scelta per questo in quanto possono avere un ampio campo di rilevamento, anche se dovrai fare attenzione ai punti ciechi del sensore.

La configurazione del sensore di prossimità per questa applicazione è abbastanza simile al controllo touchless. Dovrai comunque leggere l'uscita del sensore utilizzando un microcontroller e ti verrà nuovamente voglia di utilizzare un interrupt timer interno per leggere periodicamente i valori dal sensore. Anche se, il sensore sarà ora posizionato di fronte all'attuatore per rilevare gli ostacoli di fronte ad esso. L'uscita dal sensore sarà correlata alla distanza dell'oggetto più vicino davanti al sensore, il che significa che possiamo determinare un valore di soglia basato sulla distanza di sicurezza minima. Questo valore di soglia varia in base al sensore selezionato. Nell'esempio di codice riportato di seguito, la funzione SIGNAL, che è la routine di servizio di interrupt, viene preformata ogni millisecondo e misura l'output del nostro sensore e lo confronta con il nostro valore di soglia. Se il valore misurato è inferiore al valore di soglia, il flag sensorFlag viene impostato su 1 e viene utilizzato nel ciclo principale per arrestare l'attuatore lineare. Sebbene il valore misurato sia inferiore al valore di soglia, il codice non consentirà di estendere ulteriormente l'attuatore fino a quando il valore della misura non sarà maggiore del valore di soglia e il flag non verrà reimpostato su 0. Il codice consentirà comunque all'attuatore lineare di ritrarsi mentre sensorFlag è impostato su 1 in quanto è ancora sicuro ritrarre l'attuatore.

Riferimenti

Kinney, T. A. (2001, settembre) Sensori di prossimità confrontati: induttivo, capacitivo, fotoelettrico e ultrasonico Recuperato da: https://www.machinedesign.com/automation-iiot/sensors/article/21831577/proximity-sensors-compared-inductive-capacitive-photoelectric-and-ultrasonic

Immagini sensore da: Digikey.com  

Tags:

Share this article

Raccolte in primo piano

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.