banner
Nachrichtenzentrum
Integriertes Unternehmen

Programmierbarer IR-Näherungssensor

Oct 25, 2023

Der Kunde von Ido Gendel verfügte über ein spezielles IR-Näherungssensormodul, das ständig eine IR-LED zum Leuchten bringt und über einen Fototransistor die Reflexion eines Objekts auffängt. Da dieses Gerät das Ende seiner Lebensdauer erreichte, war ein Ersatz vor Ort erforderlich. Anstatt etwas zu entwickeln, das wie das letzte Gerät funktionierte, baute er eines mit programmierbarer Empfindlichkeit und hielt gleichzeitig die Stücklistenkosten niedrig.

Der einfachste Weg, dies zu tun, wäre die Verwendung eines Trimmpotentiometers zur analogen Einstellung mit einem Schraubendreher. Eine solche Einrichtung ist jedoch nicht einfach zu reproduzieren und würde eine manuelle Anpassung jedes einzelnen implementierten Sensors erfordern.

Was benötigt wurde, war eine Möglichkeit, jeden einzelnen elektronisch zu programmieren. Anstatt zusätzliche Schnittstellenkomponenten hinzuzufügen, nutzt Gendels neuer verbesserter Sensor den IR-Sender/Detektor für eine doppelte Aufgabe: die Erkennung von Objekten sowie den Empfang und die Übertragung von Daten.

Das neue Gerät verwendet einen kostengünstigen OPB732-Reflexschalter als IR-Einheit und einen ATtiny212 zur Steuerung. Der ATtiny212 verwendet seinen DAC zusammen mit einem BJT-Transistor, um die IR-Ausgangsintensität zu modifizieren. Reflexionen werden über einen ADC zur Objektpräsenzerkennung gelesen und gleichzeitig in ein analoges Komparator-Peripheriegerät eingespeist. Der Komparatorausgang wird über physische GPIO-Pins an den USART-RX-Eingang gesendet, sodass er Programmiersignale erkennen kann, sofern diese vorhanden sind.

Der TX von der Sensoreinheit wird bitweise über den DAC-Ausgang übertragen und sendet minimale und maximale LED-Intensitäten bei 1200 Baud. Zusammen mit dem Sensor selbst baute Gendel eine Programmiereinheit, die USB-zu-UART-Signale in IR-Lichtimpulse umwandelt. Obwohl dieses Design einige Einschränkungen aufweist, kommen die meisten Nachrichten Berichten zufolge korrekt an, und das verwendete Protokoll filtert diejenigen heraus, bei denen dies nicht der Fall ist.