Vorsicht: Diese Seite enthält
überwiegend Sachinformationen.
Die Unterhaltung spielt also weniger eine Rolle. Ich wollt's nur gesagt haben.
Kapazitiver Näherungssensor mit 2 Bauteilen |
Kapazitiver Näherungssensor mit nur einem Bauteil |
Meßgleichrichter |
Simpler Push-Pull Treiber |
Stromquelle für kleine Ströme |
Manchmal
entdeckt man eine Schaltung, die einem genial erscheint - wäre also nie selbst drauf
gekommen und im gebraucht gekauften Tietze-Schenk
findet man sie auch nicht. Oder man hat selber eine
Idee zu einer Schaltung und den Krempel auch schon irgendwie zum laufen gebracht.
Sowas will ich hier verewigen.
Auch landen hier Ideen, zu denen einfach noch das geeignete Problem fehlt, weshalb ich nur eine Lochrasterplatine mit einer Machbarkeitsstudie besitze.
Los geht's mit so einer Schaltung, die einfach zu genial ist um sie zu ignorieren, zu der aber noch kein konkretes Projekt besteht.
Mir ist eine Werbung von Atmel ins
Haus geflattert, dass sie die Touch-Technologie von Quantum lizensiert und das Know-How
in ein paar Chips gegossen haben. Dabei waren ein paar Infos, wie der kapazitive
Kram grundsätzlich funktioniert. Also habe ich mir zusammengereimt, wie man sowas selber
bauen könnte. Das musste natürlich
ausprobiert werden. Klappte
aber irgendwie gar nicht.
Ich hielt das erst für Absicht - schliesslich wollen die
ja, dass man den Chip mit dem genialen Know-How kauft in dem das perfekt realisiert ist.
Mit ein wenig experimentieren habe ich das Teil dann aber doch zum laufen gebracht. Die Schaltung
ist wirklich erstaunlich simpel!
Minimaler Schaltungsaufwand: Ein Mikroprozessor von dem ich 2 Ports brauche und ein Kondensator. Das Ganze ist mit Worten allein nicht so leicht zu verstehen - also habe ich ein paar Bildchen gemalt.
In den Bildchen sieht man einen Mikroprozessor mit 2 Ports, einen Kondensator und ein Stück Kabel an dessen Ende die Sensorfläche angelötet ist. Die Sensorfläche ist einfach irgendwas leitendes, das isoliert gegenüber der Umgebung angebracht ist.
Zuerst wird der Kondensator C1 entladen, indem beide Ausgänge auf Masse gelegt werden.
Die blaue Fläche ist die Sensorfläche. Sie liegt isoliert irgendwo in der Gegend rum. Damit bildet sie einen kleinen Kondensator C2 gegen Erde. Die Kapazität des Kondensators C1 am Prozessor ist so gewählt, dass sie einige hundert mal größer ist als C2. Die Erde hat irgendein Potential, die blaue Fläche liegt im Moment auf GND. Der Einfachheit halber nehmen wir mal an, die Erde hätte auch GND-Potential. Damit sind nun also beide Kondensatoren leer und die Messung kann beginnen:
Ich mache PB1 hochohmig und lege 5V an den Kondensator (Die Erdkugel ist im Bild nicht zu sehen - aber noch da!)
Jetzt habe ich im Prinzip 2 Kondensatoren in Reihe. Da C2 ja viel kleiner ist als C1, wird nur ein Quäntchen Ladung fließen biss er voll ist und dabei C1 ein wenig aufladen.
Jetzt schalte ich die 5V wieder ab und leg PB1 wieder auf GND.
Damit wird C2 (also die Sensorfläche) entladen und an PB0 liegt die Spannung von C1 an. Das wiederhole ich nun so oft, biss irgendwann C1 so voll geladen ist, dass der Eingang PB0 in diesem Schaltzustand nicht mehr Low sondern High meldet.
Wenn man nun die Anzahl der Zyklen zählt, die man braucht um C1 aufzuladen, hat man ein Maß für die Kapazität von C2. Ist der nämlich größer, brauche ich weniger Zyklen.
Anschließend wird eine neue Messung begonnen, indem wie im ersten Schritt der Kondensator leer gemacht wird.
Mit einem rumliegenden AtTiny13 und einem 33nF Kondensator
habe ich das mal aufgebaut.
Zusätzlich habe ich eine Led mit
Vorwiderstand spendiert, damit man auch was sieht.
Der Kram klappt sehr gut, wenn man das am Netzgerät betreibt. Sowie ich den Finger in die Nähe der blauen Platine bringe, erhöht sich die Kapazität von C2 und damit wird C1 in weniger Zyklen aufgeladen. Tippe ich mit 2 Fingern auf die Platte oder lege die ganze Hand drauf, geht's noch fixer. Anhand des Zählerstands kann ich also erkennen, wie groß der Gegenstand in der Nähe der Sensorfläche ist bzw. wie nah er dran ist.
Um das Teil rumzeigen zu können, habe ich eine mobile Spannungsquelle benutzt.
Ja, die alten Flachbatterien kann man immer noch
kaufen!
Die Schaltung funktionierte nun aber nicht mehr. Da keine Verbindung
zur Erde besteht, ist C2 extrem klein. Es wird damit weniger Ladung pro Zyklus
übertragen, als die Leckströme wieder auffressen. Das blaue Teil
ist übrigends ein Stück Fotopositiv-Platine auf dem die Schutzfolie
noch drauf ist ( bis auf die
Ecke an der das Kabel angelötet
ist).
Es reicht aber, wenn man an einen der beiden Batteriepole ein Stück Kabel klemmt (hier die weiße Krokoklemmenstrippe).
Jetzt läufts auch unterwegs!
Ich bin nicht sicher, ob es eine gute Idee ist, den Kondensator knallpeng über die Ports wieder zu entladen. Ich werde wohl einen Widerstand von mind. 150 Ohm mit in Reihe schalten, um den Strom zu begrenzen. Dann sind's halt 3 Bauteile.
Hier der verwendete Quellcode: touch13.zip
Die Software ist
extrem simpel gehalten: Nach dem Einschalten wird 100 Mal gemessen, der Mittelwert gebildet
und dann 95% davon als Grenzwert angenommen. Für eine echte Anwendung müsste
man da etwas mehr Aufwand treiben und den Code entrümpeln (die NOP's sind bestimmt
überflüssig).
Anfang 2010: Grade erhalte ich die Nachricht, dass diese Schaltung jemand erfolgreich nachgebaut hat und wirklich benutzt. Dokumentiert ist das auch. Siehe: Klingeltaster
Jetzt wo die Schaltung mit 2 Bauteilen so gut funktioniert, kann ich ja verraten,
dass ich inzwischen eine Variante habe, die mit der Hälfte der Bauteile auskommt!
Und sie braucht auch bloß einen Port für die Messung.
Also: Man
braucht nur den Sensor an den Portpin des Prozessors anschließen. Sonst keine
Bauteile!
Hier das Prinzip:
An einem Portpin hängt die
Sensorfläche, die wieder den Kondensator gegen Erde bildet. Erst schaltet man den Port
auf LOW und wartet kurz um den Kondensator auf GND Potential zu bringen. Nun wird
der Port auf Eingang umgeschaltet und der interne Pull-Up Widerstand eingeschaltet.
Über den Widerstand
lädt sich der Kondensator
auf und irgendwann wird der Eingang HIGH melden. Die Zeit zwischen Einschalten des Pull-Up und
dem umspringen von Low auf High am Eingang ist somit ein Maß für die Kapazität
der Sensorfläche.
Mißt man die Zeit, hat man einen Messwert für die Kapazität.
Die Zeiten ändern sich leider erheblich mit dem Wetter. Aber das Wetter ändert sich ja recht langsam. Um die Fläche als Taster zu verwenden lauert man daher einfach auf eine plötzlich ansteigende Kapazität. Sind die Werte der letzten 2-3 Messungen deutlich höher als der Mittelwert der letzten 1000-10000 Messungen, hat jemand die Taste berührt.
Eine kleines Programm als Machbarkeitsstudie findet man hier:
touchsensor.zip
Darin
wird die Zeit durch hastiges Zählen ermittelt und der Zählerstand zur
Kontrolle als Pulslänge in Millisekunden auf einem Portpin ausgegeben. Die
Zeit ist wirklich sehr kurz, weshalb die Zählschleife handoptimiert auf
Geschwindigkeit getrimmt wurde (Optimizer unbedingt auf -O2 stellen). Eine LED am Ausgang
zeigt, ob der Chip eine Berührung erkannt hat.
Beim Experimentieren habe ich dann festgestellt, dass der interne Pull-Up doch recht niederohmig ist. Schließt man statt dessen einen externen Widerstand mit z.B. 220K an, geht's echt noch viel besser!
Mal sehen, wer das Teil als Erster benutzt.
Es gibt unzählige Schaltungen zu diesem Thema.
Zum Beispiel
Messgleichrichter, bei dem ich den Massebezug verliere: http://www.elexs.de/messen5.html
Oder irre aufwändig:
http://www.elektronik-kompendium.de/public/schaerer/syncrec.htm
Manchmal braucht man aber nur was simples, um z.B. mit einem Mikroprozessor
zu messen. Muss auch gar nicht schnell sein...
Hier kommt jetzt eine genial einfache Schaltung:
Beim Betrieb an einem Mikroprozessor kann der rechte OpAmp auch weggelassen werden.
Die
Schaltung funktioniert wie folgt:
Ist Uac positiv, sperrt die Diode (Pin 1 ist negativ) und der Strom fließt einfach über die beiden Widerstände in den rechten OpAmp, der einfach als Spannungsfolger (Impedanzwandler) geschaltet ist.
Ist Uac negativ, wirkt der linke OpAmp als negierender Verstärker mit Verstärkungsfaktor1. Das heisst, hinter der Diode steht die negierte Eingangsspannung an. Ist also auch positiv. Zack - fertig ist der Gleichrichter, der auch im Millivoltbereich sauber und linear gleichrichtet!
Die 10K sind willkürlich gewählt. Es können auch 47K oder mehr sein. Hauptsache sie sind gleich!
In der Praxis will man das Signal eventuell auch verstärken. Das kann der rechte OpAmp prima mit erledigen. Hier mal mit Faktor 2, der über R3 und R4 eingestellt wird:
Die Diode D2 ist dazu da, eine eventuelle Offsetspannung des rechten OpAmp zu sperren. Damit ist Udc garantiert größer oder gleich Null.
Nachteilig an der Schaltung ist nur, dass der linke OpAmp bei
positiver Spannung voll an den negativen Anschlag fährt. Bipolare OpAmps kommen
dann voll in die Sättigung, wodurch die Grenzfrequenz relativ niedrig ist.
Super für digitale Signale. Aufgrund der enormen Unlinearität der Kennlinie aber meist ungeeignet als analoger Verstärker.
Um eine LED an unterschiedlichen Spannungen zu betreiben ist ein Vorwiderstand ungeeignet und eine dicke Stromquellenschaltung zuviel des guten. Manchmal kommt's ja auf ein Milliampere nicht an.
Hier eine simple Schaltung:
Der
Spannungsregler LM7805 sorgt dafür, dass über dem 270 Ohm-Widerstand
genau 5 V anliegen und damit I=U/R = 5/270=18,5mA durch den Widerstand
fließen. Das gilt, solange die Batteriespannung so etwa zwischen 7V und 20V liegt.
Natürlich fließt eben der Strom auch durch die Leuchtdiode. Hinzu kommt der
Strom, den der Spannungsregler selber braucht. Das ist aber recht wenig und
liegt im Bereich von 1mA.
Allgemein sieht die Stromregelung dann so aus:
Hier ein kleiner UV-Scheinwerfer mit dieser Schaltung:
Der ist mit 220 Ohm bestückt, denn ich brauchte etwas mehr Helligkeit um ein Leck im Klimaanlagensystem im Auto zu finden. Beim letzten Service hatte ich fluoreszierendes Zeug zumischen lassen, um das Leck lokalisieren zu können.
Kommentieren | Startseite |
Diese Seiten sind darauf optimiert mit möglichst jedem Browser zu funktionieren.
Aber der Seitenquelltext (strg-U) sieht auch interessant aus, zumindest wenn man ihn mit einem Monospace Font in sehr kleiner Schriftgröße betrachtet.