Suche Home Einstellungen Anmelden Hilfe  

4.2. Anwendung des Application-Board in einem Projekt "Datenhandschuh"

In der Literatur sind bereits eine Vielzahl von Anwendungen des C-Control- oder auch anderer Microcontrollersysteme beschrieben. Eine Beispielauswahl ist im abbschließenden Kapitel 4.3. angegeben.

Mit dem im folgenden vorgestellten Projekt "Datenhandschuh" soll demonstriert werden, daß es möglich ist, auch eigene, scheinbar sehr komplizierte Ideen mit relativ geringem Aufwand zu realisieren. Auch wenn die von uns erreichte Lösung noch nicht anwendungsreif ist, so sind die hierbei gesammelten Erfahrungen für die weitere Entwicklung des Produktes bzw. die Projektarbeit insgesamt sehr aufschlußreich. Insbesondere deshalb, weil der von uns erlebte Prozeß der kreativen Ideenfindung, der Lösungssuche, der praktischen Umsetzung und schließlich der erneuten Suche nach alternativen Lösungsideen sich auch innerhalb einer Schülergruppe, die ähnliche Projekte verwirklichen möchte, nicht anders abspielt.

4.2.1.  Beschreibung der Idee und verschiedener in Erwägung gezogener Realisierungsvarianten

Der Datenhandschuh soll als Maß für die Stärke der Krümmung der Finger einer Hand einen 8-Bit-Zahlenwert liefern. Dieser kann von ihm über eine direkte Drahtverbindung oder per Funk an ein grafisches Auswerteprogramm auf einem PC oder ein direkt steuerbares Gerät (z.B. einen Roboterarm) übermittelt werden.

Dazu sind folgende Teilprobleme zu lösen:

Auswahl eines passenden Handschuhs. Dieser sollte sich nach den nun vorliegenden Erfahrungen elastisch der jeweiligen Hand anpassen, d.h. nicht zu weich und für die Hand nicht zu groß sein.

- Auswahl geeigneter Sensoren, die auf dem Handschuh an entsprechenden Knöchelpositionen befestigt werden und möglichst auf Biegebelastung reagieren

Nach Auskunft verschiedener Hersteller (Conrad Electronic; Bürklin; Farnell), bei denen wir nachgefragt haben, gibt es keine Sensoren passender Größe und Empfindlichkeit, die unmittelbar auf Biegung reagieren.

Von Conrad Electronic wurden uns als Alternative jedoch Drucksensoren empfohlen, die sowohl von ihren Abmessungen, den Anschlüssen und den Widerstandswerten erfolgversprechend erschienen. Die nebenstehende Abbildung zeigt einen solchen Sensor [Quelle: 3].

Dieser arbeitet ähnlich wie ein Folienschalter, ändert aber, im Gegensatz zu konventionellen Schaltern, den Widerstand bei in Normal-Richtung aufgebrachtem Druck. Ein Fingerdruck von 10g bis 10kg auf einen Sensor bewirkt, daß der Widerstand von ca. 2MW auf ca.>1kW  abfällt. Wir haben uns entschlossen, zunächst 10 dieser Sensoren am Handschuh zu befestigen, und zwar auf den mittleren Fingerknöcheln sowie an den Gelenken zwischen Handballen und Finger.

Eine andere von uns zunächst geprüfte Idee, einen selbstgebastelten Kondensator aus zwei mit Klebestreifen getrennten Alufolienstreifen zu verwenden, haben wir wieder verworfen. Zwar erzeugte dieser eine deutlich meßbare Änderung der Kapazität zwischen ca. 20pF und 100pF, aber die Auswertung dieser Signaländerung hätte für jeden der Sensoren eine sehr komplizierte Schaltung erfordert, das System wäre nicht mehr praktikabel gewesen.

- Entwurf einer geeigneten Schaltung Diese Schaltung muß folgende Aufgaben lösen:

a) Umwandlung des veränderlichen Widerstandswertes jedes Sensors in eine äquivalente Spannungsänderung.

b) Wandlung des analogen Spannungswertes in den digitalen 8-Bit Zahlenwert.

c) Übermittlung der digitalen Daten an einen Empfänger (PC oder anderes Gerät, s.o.)

d) Soll die Übermittlung mit dem in 2.6. beschriebenen Sendermodul per Funk erfolgen, dann muß die Schaltung die dazu notwendigen Anschlüsse und Signalpegel bereitstellen.

Während a) durch eine einfache Spannungsteilerschaltung zu realisieren ist, können die Aufgaben b) und c) von einer C-Control-Haupteinheit übernommen werden. Diese besitzt geeignete AD-Wandler und das Betriebssystem (bzw. die BASIC-Programmiersprache) stellt entsprechende Routinen zur Ausgabe von Daten auf eine RS232-Schnittstelle zur Verfügung.

Aufgabe d) ist für das Applicationboard bereits realisiert, da an dieses ein Sender angeschlossen werden kann. Die direkte Verwendung eines Applicationboard ist aber nicht sinnvoll, da zum einen nicht alle seine Möglichkeiten benötigt werden und zum anderen ohnehin eigene Schaltungsteile ergänzt werden müssen. Da aber die Schaltpläne aller Komponenten des C-Controlsystems von Conrad-Electronic veröffentlicht sind, kann der entsprechende Schaltungsteil des Applicationboards direkt nachgebaut werden.

- Erstellung eines Steuerprogrammes, welches:

a) die Werte aller 10 Sensoren kontinuierlich erfaßt und

b) an den entsprechenden Empfänger ausgibt. 

4.2.2.  Beschreibung der Schaltung und ihres Layouts

Wie in 4.2.1. beschrieben, muß die zu entwickelnde Schaltung neben Spannungsteilern, RS232- Signalpegelwandlung und Senderanschluß auch die C-Control-Haupteinheit integrieren. Entsprechend sind in dem auf der folgenden Seite dargestellten Schaltplan links ihre beiden 20poligen Stiftleisten zu sehen.

Da die C-Control-Unit nur 8AD-Porteingänge besitzt, können die 10 Sensoren nicht direkt angeschlossen werden. Wir haben uns daher entschlossen, einen 16Bit-Analog-Digital-Multi-plexer einzusetzen. Dieser ist in der Mitte der Schaltung zu sehen.

Da die Firma Conrad Electronic einen solchen Schaltkreis nicht in ihrem Sortiment führt, haben wir im Internet nach geeigneten Schaltkreisen und Anbietern gesucht. Fündig geworden sind wir bei der Firma Farnell (http://www.farnell.com/germany/index.html), von der wir den Schaltkreis DG506A von Harris Conductors bezogen (Stückpreis: 9,20 DM + 7,90 DM Versandkosten).

Dessen genaue Anschlußbelegung und Funktionsweise kann dem sich im PDF-Verzeichnis befindenden Dokument ADG506AKN.pdf entnommen werden. Kurz zusammengefaßt gilt für unsere Schaltung:

- Die 10 analogen Eingänge S7 bis S16 werden wie dargestellt mit den analogen Eingangssignalen der 10 Spannungsteiler der Sensoren verbunden.

(Die Eingänge S1 bis S6 werden in dieser  Schaltung nicht benutzt. In einer späteren Schaltungsversion könnten sie mit einbezogen werden, um weitere Sensoren am Handschuh anzubringen. Die Masse wird dabei von Pin 20 der Steckbuchse  2 der C-Control-Haupteinheit bezogen.)


größer

- Mit den Digitalports D13 bis D16 (Pins 16 bis 19 der Steckbuchse 1) setzt der C-Control-Microcontroller die Adressleitungen A0 bis A3 des Multiplexers. Über diese Adresse wird bestimmt, welcher der analogen Eingänge S1 bis S16 vom Multiplexer auf den Ausgang D durchgeschaltet wird.

- Voraussetzung für diese Durchschaltung ist außerdem ein entsprechendes Freigabesignal am Eingang EN. Dieses erhält der Multiplexer ebenfalls von Microcontroller, und zwar von dessen Digitalport D9 (Pin 12 der Steckbuchse 1)

- Das nach D durchgeschaltete Signal wird vom Microcontroller auf seinem Analogeingang AD1 (Pin3 der Steckbuchse 1) eingelesen und entsprechend digitalisiert.

Die aus dem Transistor, den Widerständen und der Diode bestehende Schaltung zur Wandlung des RS232-Signalpegels auf einen zum Anschluß des Senders passenden Wert ist direkt dem Schaltplan des C-Control-Applicationboard entnommen (vgl. Datei "Schaltplan Applicationboard.PDF" im Verzeichnis "\PDF\C-Control Schaltpläne"). Da die Sendeleitung nicht an den zwei 20poligen Stiftleisten der C-Control-Haupteinheit abgreifbar ist, erfolgt die Verbindung zum Senderstecker wie beim Applicationboard über ein kurzes externes Kabel.

Die Spannungsversorgung des gesamten Systems muß im Falle der Funkdatenübertragung autonom sein und wird daher von entsprechenden Akkus übernommen (1x9V für die C-Control-Unit und 2x6V für den Analog-Multiplexer DG506A). Ein Konstantspannungsregler (78L05) sorgt dabei für eine stabile Versorgung des Microcontrollersystems.

4.2.3.  Steuerprogramm

Da die Gestaltung des Empfängers nicht mehr unmittelbar zur Konstruktion des Datenhand-schuhs gehört, sondern bereits wieder ein neues Projekt darstellt, ist das hier angegebene Steuerprogramm sehr einfach gehalten.

define ADR byteport[2]

define Enable port[9]

define Digit AD[1]

define i byte

#loop

 for i = 6 to 15

  ADR = i shl 4

        Enable = 1

  pause 4

  print Digit; ", ";

  Enable = 0

 next

 print "Stop"

goto loop

Die Funktion der definierten Ports ist bereits bei der Schaltungsbeschreibung in 4.2.2. erläutert worden. Das Programm legt nacheinander alle Adressen von 6 bis 15 auf die Digitalports 13 bis 16. Diese sind mit den Adreßleitungen des Multiplexer-Schaltkreises verbunden. Zu jeder Adresse wird durch Port 9 kurz ein Enablesignal an den Multiplexer gesendet. Anschließend steht auf dem AD-Port 1 der gewandelte Digitalwert bereit und wird hier einfach mit Print über die TX-Leitung gesendet. Erfolgt die Übertragung an einen PC (z.B. über Kabel in Verbindung mit dem RS232-Schnittstellenmodul oder über Funk mit den Sender-/Empfängermodulen), dann können die den 10 Sensoren zugeordneten Digitalwerte zeilenweise mit einem einfachen Terminalprogramm angezeigt werden. Selbstverständlich können auch aufwendigere Empfangsprogramme erstellt werden.

4.2.4.  Praktische Realisierung

Die folgende Abbildung zeigt eine Komplettansicht des von uns realisierten Handschuhs. Außer dem Handschuh sind die beiden 6V-Akkus, ein 9V-Akku, die Platine mit der C-Control-Haupteinheit sowie ein Kabel mit RS232- Schnittstellenadapter für die Verbindung zu einem PC zu erkennen. Letzteres kann auch durch die entsprechende Sender/Empfänger-Kombination ersetzt werden.

 

 

 

 

 

 

 

 

 

 

 

In Anlehnung an das von Conrad Electronic erhältliche Applicationboard haben wir zur Integration der C-Control-Haupteinheit eine Platine von halbem Euroformat (100x80) entwickelt, auf die die C-Control-Haupteinheit als Modul aufgesteckt werden kann.

Die zusätzlichen Bauteile und Anschlüsse befinden sich separat auf der Platine.

1

2

3

4

1 Anschlüsse für die Akkus, Sendermodul (oder Übertragungskabel) und TX-Kabel zur Haupteinheit
2 Konstantspannungsregler 78L05
3 16-Bit Analog-Multiplexer DG506A
4 10x100kW-Widerstände
5 Anschlußleiste für das Handschuhkabel (führt zu den Biegesensoren)

Das zugehörige Layout wurde wie die in 4.2.2. beschriebene Schaltung mit Hilfe des Programmes Eagle entworfen und entsprechend geätzt. Eagle ist in einer Sharewareversion erhältlich und liegt im Verzeichnis "\Eagle" zur Installation bei. Um sich die Schaltbilddatei und das zugehörige Layout (Verzeichnis "Eagle\Datenhandschuh") mit Eagle ansehen zu können, muß die selbst erstellte Bibliotheksergänzung "harris.lbr" in das Eagle- Bibliotheksverzeichnis kopiert werden. Sie enthält den standardmäßig in Eagle nicht verfügbaren Multiplexerbaustein.

Die Sensoren wurden auf die Finger aufgenäht. Da sie eigentlich auf Druck und nicht auf Biegung reagieren, wurde über die Sensoren ein Textilklebeband genäht, so daß dieses bei Fingerkrümmung von oben auf den Sensor einwirkt.

 

 

4.2.5.  Verbesserungsvorschläge, Alternativen

Einleitend wurde bereits bemerkt, daß die von uns realisierte Variante nicht in dem Maße funktioniert, wie es in realen praktischen Anwendungen erforderlich ist.

In Vorversuchen, bei denen die noch nicht aufgenähten Sensoren durch direkten Druck belastet wurden, war das Ergebnis der AD-Wandlung durchaus zufriedenstellend. Im aufgenähten Zustand ergeben sich aber folgende Probleme:

- Der runde druckempfindliche Bereich am Ende des Sensors ist zu klein. Dies hat zur Folge, daß der Toleranzbereich beim Aufnähen auf die Knöchelstellen zu gering ist, d.h. der Sensor muß äußerst exakt aufgenäht werden. Dies ist aber praktisch nicht zu realisieren, da die Hände unterschiedlicher Benutzer unterschiedliche Positionen erfordern. Praktisch äußert sich dies darin, daß eine Reihe von Sensoren nicht oder nur sehr schwach ansprechen.

- Der von dem übergenähten Klebeband ausgeübte Druck ist zu gering. Auch dies führt dazu, daß die Sensoren zu schwach oder gar nicht ansprechen.

- Der von uns verwendete Handschuh erfüllt nicht die in 4.2.1. genannten Anforderungen, d.h. ist nicht elastisch genug und paßt sich der jeweiligen Hand nicht genügend an. Eine geringfügige Verbesserung tritt ein, wenn über den Datenhandschuh ein Gummihandschuh gezogen wird.  (Gummihandschuhe allein haben sich nicht bewehrt. Hier gibt es erhebliche Probleme beim Befestigen der Sensoren.)  Eine gesicherte Zuordnung zwischen Beugungswinkel und eingelesenem Digitalwert ist in keinem Fall möglich.

Vorteilhaft für die Suche nach einer alternativen Lösung ist die Tatsache, daß einzig die zu verwendenden Sensoren nicht auf der Platine untergebracht sind. D.h. theoretisch wäre es denkbar, die Probleme allein dadurch zu lösen, daß eine andere Art des veränderlichen Widerstandes in die Spannungsteilerschaltung eingesteckt wird. Schlimmstenfalls müßten dann noch die Festwiderstände auf der Platine neu dimensioniert und ausgetauscht werden.

Abschließend soll noch kurz eine entsprechende Variante erläutert werden, für die ein erster Testversuch sehr erfolgversprechende Ergebnisse liefert.

Die Abbildung zeigt den Aufbau dieses Testversuches.

Eine LED an der Fingerspitze und ein Fototransistor rechts im Bild sind über ein Lichtleitkabel miteinander verbunden. Dieses wird über das Gelenk geführt, dessen Krümmung gemessen werden soll. Genau an dieser Stelle wird die Oberfläche des  Lichtleitkabels mit Sandpapier etwas angerauht. Dies hat zur Folge, daß bei gekrümmtem Gelenk an dieser Stelle weniger Licht totalreflektiert wird und als Streulicht nach außen tritt. (Dies ist auch optisch sichtbar). Entsprechend der Lichtmenge steuert der Fototransisitor unterschiedlich stark durch und der sich daraufhin verändernde Kollektor-Emitter-Widerstand kann in die Spannungsteilerschaltung des in 4.2.2. beschriebenen C-Controlboards integriert werden.

Das Schaltbild dieses Versuches sieht wie folgt aus:

 

 

 

 

 

 

 

 

 

 

 

 

4.2.6.  Stückliste, Preise  

Auch hier soll eine Aufstellung der benötigten Materialien und Kosten erfolgen. Mit Ausnahme des Analog-Multiplexers können alle Bauteile bei Conrad Electronic bezogen werden:

Anzahl Best. -Nr. Artikelbezeichnung Preis Gesamtpreis
10 182389-11 Drucksensor 7,95 DM 79,50 DM
1 189545-11 IC-Fassung (20polig) 0,51 DM 0,51 DM
1 155012-11 Transistor BC547 0,20 DM 0,20 DM
1 162280-11 Diode 1N4148 0,07 DM 0,07 DM
1 400319-11 Widerstand 3,3kW 0,22 DM  0,22 DM
1 400254-11 Widerstand 1,0kW  0,22 DM 0,22 DM
10 400491-11 Widerstand 100kW (1/10Watt) 0,17 DM 1,70 DM
1 179205-11 Konstantspannungsregler 74L05 0,95 DM 0,95 DM
2 254851-11 Akku 6V (1,1Ah) 24,95 DM 49,90 DM
1 254380-11 Akku 9V Block 14,95 DM 14,95 DM
1 736350-11 Stiftleiste doppelreihig 2x20 3,10 DM 3,10 DM
1 739499-11 Stiftleiste einreihig, Typ2 36 polig 3,35 DM 3,35 DM
1 609463-11 Flachbandkabel 20 polig (in Meter) 2,80 DM 2,80 DM
2 742309-11 Pfostensteckverbinder 2x10 1,70 DM 3,40 DM
Gesamtpreis:  160,87 DM

Gesamtpreis abzgl. der für Schulbestellungen üblichen 10% Preisnachlaß:

144,78 DM  
 

Als Analog-Multiplexer kann der Schaltkreis DG506A von Harris Conductors bei der Firma Farnell (http://www.farnell.com/germany/index.html) zu einem Stückpreis von 9,20 DM zuzüglich 7,90 DM Versandkosten bestellt werden.

weiter

Benutzer: gast • Besitzer: matthias • Zuletzt geändert am: