Schnellstart in die Phidgets-Welt

 

 

Phidgets sind elektronische Baugruppen des gleichnamigen kanadischen Herstellers, die als Produktfamilie ein einheitliches und durchgängiges Konzept darstellen:

Phidgets_Aufbau

 

Es gibt Sensoren, die werden direkt ans I/O-Board angeschlossen, bei anderen wird ein Adapter benötigt und dann gibt es noch die komplexen Module wie Motorcontroller, Beschleunigungs- und Positionssensoren oder die RFID-Reader, auf denen eine I/O-Einheit intergriert ist. Das Software-Modell ist für alle Module einheitlich. Der Treiber kommuniziert direkt mit der I/O-Einheit und bildet die Zwischenschicht zwischen der API und den eigenen Programmen bzw. zwischen Hardware und Control Panel, um das Board ohne Programmierung einzusetzen. 

Der Vorteil dieses Ansatzes: elektronische Systeme lassen sich sehr schnell und ohne große Programmierkenntnisse aufbauen. Auf der anderen Seite stehen umfangreiche Software-Schnittstellen für die meisten Programmiersprachen zur Verfügung, um auch noch das Letzte aus den hochwertigen Modulen herauszuholen. 

Aber wir wollen uns nicht lange mit grauen Theorie beschäftigen, sondern sofort in die Praxis einsteigen. Dazu benötigen wir zunächst den Phidgets-Treiber, den wir hier finden.

Oder Sie wählen auf der Hauptseite, den Reiter "Drivers"...

 

Driver_Download

 

... und gelangen dann auf die Übersichtsseite für den Treiber-Download:

 

Driver_Download_2

 

Wir wählen für dieses Tutorial den Download-Link für die Windows-Betriebssysteme, laden die Datei herunter und starten anschließend das entsprechende Installationsprogramm:

 

Driver_Download_3

 

Es öffnet sich der Setup-Wizard für die Phidgets21-Bilbliotheken... 

 

Driver_Download_4

 

und wenn alles ohne Fehler installiert wurde, sehen Sie diesen Bildschirm:

 

Driver_Download_5

 

Jetzt müsste  auch in der Taskleiste unten rechts das Phidgets-Symbol "gelbes Ph" sichtbar sein:

 

Phidget_Control_Panel_1

 

Das war schon alles! Wir sind nun startklar für den ersten Versuch, den wir mit dem kleinsten Phidgets-I/O-Modul, dem  1011_0 InterfaceKit 2/2/2, durchführen werden. Der Aufbau sieht dabei folgendermaßen aus:

Aufbau_1

 

Das PhidgetInterfaceKit 2/2/2 verfügt über 2 analoge Eingänge, 2 digitale Ein- und 2 digitale Ausgänge. Wir nutzen hier nur einen analogen Eingang, andem ein IR-Distanz-Adapter 1101 angeschlossen wird.  Über diesen Adapter können Infrarot-Distanzsensoren von Sharp ausgewertet werden, in unserem Beispiel verwenden wir einen 2D120X bzw. seinen Nachfolger den 0A41SK mit einem Messbereich von 4 bis 30 cm. Beim Anschluss von analogen Sensoren an einen Controller oder einen PC müssen umfassende Signalanpassungen, Filterungen und Berechnungen vorgenommen werden. Diese Abläufe werden beim Einsatz von Phidgets-Komponenten erheblich vereinfacht. 

Wenn wir das PhidgetInterfaceKit 2/2/2 mit der USB-Schnittstelle verbinden und dann das Phidgets Control Panel aufrufen, wird das Modul sofort erkannt:

07_Phidget_Control_Panel_2

Das Modul wird dabei über die Seriennummer identifiziert. Es ist also durchaus möglich, mehrere gleichartige Phidgets-Module an den PC anzuschließen. 

Mit einem Doppelklick auf den Moduleintrag öffnet sich ein Kommunikationsprogramm für das entsprechende Modul:

08_Interface_Kit_1

Auf der linken Seite finden Sie ausführliche Informationen über das aktivierte Board, auf der rechten Seite findet die eigentlich Kommunikation statt. Sie können den Zustand der digitalen Eingänge ablesen, die digitalen Ausgänge setzen und auch die analogen Werte einlesen. In unserem Fall ist der Sensor am Anschluss 1 angeschlossen, der Wert schwankt momentan um einen Pegel von 22 da der IR-Sensor in den freien Raum zeigt. Daneben können wir noch wählen, ob der Sensorwert ratiometrisch betrachtet wird und über einen Schieberegler kann die Empfindlichkeit angepasst werden. Wenn Sie jetzt die Hand über den Sensor bewegen, dann erhalten Sie Werte von ungefähr 20 bis hin zu 550. Daraus müssten wir dann mittels einer Formel, die uns das Sharp Datenblatt verrät den Abstand errechnen. Aber es geht noch einfacher!

 09_Interface_Kit_1

Rechts unten finden Sie noch den Button "Sensors" und wenn Sie den anklicken, öffnet sich ein Auswahldialog:

10_Interface_Kit_1

Hier können Sie für jeden analogen Kanal auswählen, welcher Sensor angeschlossen ist. Standardmäßig steht dort "Base Value" damit erhalten Sie den digitalen Wert, der durch den AD-Wandler bestimmt wird. Das wären die Werte von 0 (0 Volt) bis 1024 (5 Volt).

11_Interface_Kit_1

Ich habe den Sensor auf den Kanal 0 umgesteckt und wähle dort den Eintrag: "IR Distance Adapter  4-30 cm". 

12_Interface_Kit_1

Das Programm weiß jetzt , wie es die Werte umrechnen muss. Der Sensor zeigt wieder in den freien Raum und der Wert wird als "Object Not Detected" interpretiert, was auch stimmt, denn im Messbereich von 4 bis 30 cm befindet sich kein Objekt. Die verwendete Formel wird übrigens auch noch einmal darunter dargestellt.

 13_Interface_Kit_1

Wenn wir uns jetzt dem Sensor nähern, wird der Abstand in cm angegeben. 

Auf diese Art und Weise lassen sich alle Phidgets-Sensoren über die I/O-Boards einlesen, ohne das Sie auch nur eine Zeile Code schreiben müssen. Der prinzipielle Ablauf ist immer derselbe. Bei den aufwendigeren Modulen ist die USB-I/O-Einheit auf dem Board integriert, das Prinzip ist aber identisch: Sie verbinden das Modul mit dem USB-Port, es meldet sich im Control-Panel an, Sie klicken dort auf den Eintrag und es ist einsatzbereit. 

Doch das einheitliche Konzept wird genauso beim Programmieren beibehalten. Das schauen wir uns dann aber in weiteren Tutorials an.

 

Copyright © Böcker Systemelektronik