banner
Centro notizie
Società integrata

Sensore di prossimità IR programmabile

Oct 25, 2023

Il cliente di Ido Gendel aveva uno specifico modulo sensore di prossimità IR, che accende costantemente un LED IR e rileva il riflesso di un oggetto tramite un fototransistor. Questo dispositivo ha raggiunto la fine del suo ciclo di vita, quindi è stata necessaria una sostituzione immediata. Invece di realizzare qualcosa che funzionasse come l'ultima unità, ne ha realizzato uno con una sensibilità programmabile mantenendo bassi i costi della distinta base.

Il modo più semplice per farlo sarebbe utilizzare un potenziometro trim per la regolazione analogica con un cacciavite. Tuttavia, impostare le cose in questo modo non è facile da riprodurre e significherebbe la regolazione manuale di ogni singolo sensore implementato.

Ciò che serviva era un modo per programmarli elettronicamente. Piuttosto che aggiungere componenti di interfaccia aggiuntivi, il nuovo sensore potenziato di Gendel sfrutta l'emettitore/rilevatore IR per un doppio compito: rilevare oggetti e ricevere e trasmettere dati.

Il nuovo dispositivo utilizza un interruttore riflettente OPB732 economico come unità IR e un ATtiny212 per il controllo. L'ATtiny212 utilizza il suo DAC, insieme a un transistor BJT per modificare l'intensità dell'uscita IR. Le riflessioni vengono lette tramite un ADC per il rilevamento della presenza di oggetti, mentre allo stesso tempo vengono immesse in una periferica comparatrice analogica. L'uscita del comparatore viene inviata tramite pin GPIO fisici all'ingresso USART RX, consentendogli di rilevare i segnali di programmazione se sono presenti.

Il segnale TX dall'unità sensore viene bit-bang attraverso l'uscita DAC, inviando intensità LED minima e massima a 1200 baud. Insieme al sensore stesso, Gendel ha costruito un'unità di programmazione, che traduce i segnali da USB a UART in impulsi di luce IR. Anche se ci sono alcune avvertenze su questo progetto, la maggior parte dei messaggi arriva correttamente e il protocollo utilizzato filtra quelli che non arrivano.