Interruttori di prossimità
Gli interruttori di prossimità, o sensori, sono interruttori senza contatto che possono rilevare la presenza di un oggetto nelle loro vicinanze. Questi sensori possono essere usati per dire a un attuatore lineare di muoversi o fermarsi quando un oggetto è posizione davanti al sensore o se un oggetto viene portato via. Possono anche essere usati per determinare quanto è lontano l'oggetto più vicino per loro e può essere utilizzato per fornire feedback per controllare l'attuatore lineare. Comunemente, vedrai sensori di prossimità usati con dispositivi a mani libere o senza touche Per l'uso con Attuatori lineari, i sensori di prossimità possono essere utilizzati in varie situazioni tra cui il controllo senza touch e il feedback di rilevamento degli oggetti.
I sensori di prossimità generalmente rilevano la presenza di un oggetto utilizzando il campo elettromagnetico, la luce o il suono [1]. Il metodo che l'attuatore lineare rileva se è presente un oggetto dipenderà dal tipo di sensore di prossimità. Esistono quattro tipi comuni di sensori di prossimità:
- Induttivo: Utilizza un campo magnetico per rilevare materiale ferroso
- Capacitivo: Utilizza i cambiamenti nella capacità per rilevare un oggetto
- Fotoelettrico: Usa la luce per rilevare se è presente un oggetto
- Ultrasonico: Usa il suono per rilevare se un oggetto è presente
La tua scelta nel tipo dipenderà dalla tua applicazione e dal materiale che si desidera rilevare [1]. Avrai anche una serie di altre specifiche che dovrai considerare quando si sceglie il giusto sensore di prossimità, che include l'intervallo di rilevamento, i tempi di risposta, la frequenza di commutazione, la temperatura operativa e il segnale di uscita. Per scegliere il giusto sensore di prossimità, dovrai considerare le esigenze dell'applicazione, il tipo di sensore, le specifiche di cui sopra e consultare il foglio dati del sensore per ulteriori informazioni.
Qual è la differenza tra sensori di prossimità e rilevatori di movimento?
I sensori di prossimità non sono rilevatori di movimento in quanto rilevano la vicinanza di un oggetto piuttosto che un movimento. Rilevatori di movimento, come suggerisce il loro nome, il movimento del senso 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 se l'oggetto si sta muovendo o meno. Mentre i rilevatori di movimento, si innescano solo quando c'è un movimento indipendentemente da quanto sia vicino un oggetto.
Controllo senza tocco
Per il controllo senza touch, utilizzerai il sensore di prossimità come un semplice pulsante. Per fare ciò, ti consigliamo di scegliere un sensore di prossimità che ha un intervallo di rilevamento più breve, quindi non attivi accidentalmente l'interruttore e un sensore che rileverà la tua mano, il piede o qualunque cosa tu stia cercando di rilevare. Una buona opzione per questo è un sensore di prossimità capacitiva in quanto hanno un intervallo di rilevamento breve e possono rilevare una vasta gamma di materiali, ma anche i sensori di prossimità ultrasuoni e alcuni fotoelettrici funzioneranno fintanto che hanno un intervallo di rilevamento più breve [1]. Dovrai collegare il sensore di prossimità a un microcontrollore, come un Arduino, per leggere l'output del sensore. Il modo in cui collega il tuo sensore di prossimità al tuo microcontrollore dipenderà dalla scelta del sensore, ma nella maggior parte dei casi, il microcontrollore riceverà un valore analogico convertito digitale o dovrà convertire un segnale analogico in un valore digitale.
Il sensore di prossimità agirà solo come un singolo pulsante in questa applicazione, che limiterà il nostro controllo sull'attuatore lineare. Utilizzando il nostro microcontrollore, possiamo scrivere il codice per alternare tra estensione e ritiro quando il sensore viene attivato e utilizzando gli interruttori di limite interni dell'attuatore lineare per fermare l'attuatore quando raggiunge la posizione completamente estesa o ritirata. Possiamo anche utilizzare feedback interni o interruttori di limite esterni che ci consentirebbero di utilizzare altre posizioni piuttosto che completamente estese o ritirate, sebbene saremo comunque limitati a due posizioni. Per fare questo nel firmware del nostro microcontrollore, dovremo attivare una variabile di flag ogni volta che viene attivato il sensore di prossimità. Il campione di codice seguente mostra il ciclo principale di un codice IDE Arduino usando il sensorflag Flag per determinare quale direzione Guida l'attuatore lineare, che è guidato da a Driver del motore.
Per attivare questo flag, dobbiamo leggere il valore del sensore di prossimità. Come non sappiamo quando verrà attivato il sensore, dovremo leggere costantemente il sensore nel ciclo principale del nostro codice oppure possiamo utilizzare interruzioni del timer interno per leggere periodicamente il sensore. Quest'ultimo è considerato le migliori pratiche, soprattutto se si desidera utilizzare il tuo microcontrollore per preformare le attività parallele, in quanto assicura che il tuo sensore venga sempre letto nel periodo esatto di tempo. Il campione di codice seguente, che usando un Arduino, mostra come impostare un interrupt del timer interno che viene attivato ogni secondo. Per l'Arduino, questo è un po 'più complesso degli interrupt esterni e potrebbe essere necessario farlo Lettura aggiuntiva Per imparare a impostare il tuo interrupt per la tua applicazione.
La funzione Singal, nel codice sopra, è la routine di servizio di interruzione per l'interrupt timer, che funziona 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 attiviamo il sensoreflag. Dovrai determinare in anticipo questo valore di soglia testando il sensore e determinare un valore di output che si desidera considerare come "premuto". Per limitare il tratti del sensorflag solo una volta mentre il sensore viene "premuto", c'è un altro flag che non viene ripristinato fino a quando il valore del sensore non è più inferiore del valore di soglia.
Rilevamento degli ostacoli
I sensori di prossimità possono anche essere usati per misurare quanto sia vicino l'oggetto più vicino di fronte a loro. Ciò può essere particolarmente utile nelle applicazioni con attuatori lineari per rilevare ostacoli di fronte all'attuatore e inviare feedback al controller per fermare 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 ha un intervallo di rilevamento più ampio ed è in grado di rilevare vari tipi di materiali. I sensori ad 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 senza touch. Dovrai comunque leggere l'output del sensore usando un microcontrollore e vorrai nuovamente utilizzare un interrupt di timer interno per leggere periodicamente i valori dal sensore. Sebbene, il sensore sarà ora posizionato di fronte all'attuatore per rilevare ostacoli di fronte a 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 che si basa sulla distanza di sicurezza minima. Questo valore di soglia varierà in base al sensore selezionato. Nel campione di codice seguente, la funzione del segnale, che è la routine di servizio di interruzione, 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 sensorflag di flag è impostato su 1 e viene utilizzato nel ciclo principale per fermare l'attuatore lineare. Mentre il valore misurato è inferiore al valore di soglia, il codice non consentirà di estendere ulteriormente l'attuatore fino a quando il valore della misura non è maggiore del valore di soglia e il flag viene ripristinato a 0. Il codice consentirà comunque il lineare L'attuatore si ritrae mentre il sensorflag è impostato su 1 in quanto è ancora sicuro ritirare l'attuatore.
Riferimenti
[1] Kinney, T. A. (2001, settembre) Sensori di prossimità rispetto: induttivo, capacitivo, fotoelettrico e ultrasuoni Recuperato da: https://www.machinedesign.com/automation-iiot/sensors/article/21831577/proximity-sensors-compared-inductive-capacitive-photoelectric-and-ultrasonic
Immagini del sensore da: Digikey.com