Forum: Mikrocontroller und Digitale Elektronik Touch Sensoren flackern und triggern ohne Annäherung


von Robert K. (qcopternoob)


Lesenswert?

Hallo zusammen,

ich habe ein Problem mit kapazitiven Touch Sensoren mit denen ich eine 
LED-Lampe steuern möchte.
Die Sensoren sind bei Reichelt unter "DEBO TOUCH" zu finden.
Grundsätzlich funktioniert alles wunderbar, ABER: wenn ich die Lampe ans 
Netz anstecke passt erstmal alles. Einschalten, hoch- und runter-dimmen 
funktioniert alles. Dann aber fangen die Sensoren an herumzuspinnen. Sie 
fangen an zu flackern und zu triggern. Das flackern sieht man durch die 
am Sensor eingebaute LED. Die LED-Lampe macht sich dadurch völlig 
selbstständig.

Zunächst dachte ich die Sensoren seien zu sensibel. Nach langem Googeln 
habe ich herausgefunden, dass die Sensoren über den angelöteten 
Kondensator in der Sensitivität eingestellt werden können. Soweit mir 
das jetzt bekannt ist soll die Kapazität zwischen 0 und 50pF liegen. 
Dies habe ich ausprobiert aber an der Sensitivität ändert sich nichts. 
Ob ich den Kondensator komplett weg lasse oder zwei 22pF Kondensatoren 
parallel (=44pF) anlöte ändert sich nichts. Die Sensoren lösen bereits 
aus wenn der Finger 10mm davon entfernt ist. Also scheinen sie extrem 
sensibel zu sein. Ich betreibe die Sensoren in "Direct Mode, CMOS active 
high output", also sind die Pads A und B an den Sensoren nicht 
verbunden.

So wie es bislang aussieht sind die Sensoren damit leider völlig 
unbrauchbar...

Einige schreiben die Sensoren benötigen eine saubere Spannung und das 
durch Schwankungen in der Versorgungsspannung diese fehlauslösen können. 
Die VCC habe ich gemessen und scheint sehr stabil bei ca. 3,3V zu 
liegen.


Mein Aufbau besteht aus einem ESP8266 auf einem WEMOS Board mit zwei 
Step-down Spannungsreglern für 3V und 5V die aus einer 12V Spannung 
erzeugt werden. Ein altes Netzteil dient für die 230V auf 12V Erzeugung. 
Diese Konstellation habe ich öfters im Einsatz und machte bisher nie 
Probleme.

In meinem Code sind die Sensoren bereits "entprellt" damit sie nicht zu 
früh auslösen. Das könnte ich auch noch etwas erweitern. Aber ich möchte 
grundsätzlich nicht, dass mir die Sensoren den ganzen Tag und die ganze 
Nacht ein Lichtkonzert veranstalten... Die SW-seitige Entprellung ist 
nur ein Pflaster und keine Problemlösung.

Ich bin für alle Ideen zur Problemlösung dankbar! Falls ich wichtige 
Details zum Aufbau vergessen habe, einfach fragen.

von Frank K. (fchk)


Lesenswert?

Wie viele Meter sind die Touch-Sensoren vom WLAN-Modul entfernt?

fchk

von Robert K. (qcopternoob)


Lesenswert?

Die befinden sich ca. 60cm davon entfernt. Dazwischen liegen diverse 
Holz-Teile der Lampe.

Das WLAN des ESP8266 nutze ich in meinem Code aktuell nicht. Kann es 
sein das es dennoch in irgendeiner Art und Weise funkt und damit die 
Sensoren stört?

von Michael U. (amiga)


Lesenswert?

Hallo,

die Sensorplatine befindet sich da, wo auch (möglichst kurz) die 
Sensorfläschen angeschlossen sind?
Mach doch mal Bilder von Deinem Aufbau.
WLAN ist generell aktiv, man konnte es mal mit einem Trick per 
deepSleep(1) abschalten, geht wohl im aktuellen SDK nicht mehr so 
richtig.
Über 60cm sollte das aber die Sensorplatine nicht mehr stören.

Gruß aus Berlin
Michael

von Robert K. (qcopternoob)


Angehängte Dateien:

Lesenswert?

Die Sensorplatinen sollen auf dem Holzteil festigt sein (siehe Bild) und 
durch eine dünne Kunststoffschicht verdeckt werden damit sie nicht 
sichtbar sind. Dafür ist die hohe Sensibilität von Vorteil. Nur dieses 
wilde Selbstauslösen ist extrem schlecht.

Die drei Sensoren sind im Kreis angeordnet. VCC und GND sind 
durchgeschleift. Die Datenleitungen verlaufen über den ganzen Weg, 
aktuell noch ca. 80cm lange Leitungen bis zum ESP. Soweit ich mich 
erinnern kann, dürfen die Leitungen keine Probleme verursachen bzw. als 
ich die Sensoren ohne angeschlossene Datenleitungen getestet habe, gab 
es auch Fehlauslöser (sichtbar an der LED an Sensor)...

Aktuell hängen sie an den Drähten in der Luft. Anfangs dachte ich das 
die Nähe zu umliegenden Teilen das Auslösen hervorrufen könnte. Aber 
auch wenn sie in der Luft hängen, fangen sie nach einigen Sekunden das 
herumflackern an.

Theoretisch könnte ich die WLAN Antenne an dem ESP abtrennen. Mit einem 
Dremel oder so reinschneiden... Dann könnte es zumindest nicht mehr 
funken. Aktuell jedoch unsicher ob es überhaupt das Problem sein könnte.

Grüße
Robert

von Teo D. (teoderix)


Lesenswert?

VCC und GND Sternförmig verteilen und GND möglichst weit weg von den 
Sensorflächen verlegen. GND evtl. Schirmen, Schirm auf VCC legen!

von Robert K. (qcopternoob)


Lesenswert?

Werde die Sternförmige Verteilung von VCC und GND versuchen. GND zu 
schirmen und den Schirm auf VCC legen wäre mir bislang nicht in den Sinn 
gekommen... mal sehen wie ich das umsetzen könnte.

Melde mich sobald ich zumindest eins davon umgesetzt und getestet habe. 
Danke schon mal für die Vorschläge!

Grüße
Robert

von Wolfgang (Gast)


Lesenswert?

Robert K. schrieb:
> Die VCC habe ich gemessen und scheint sehr stabil bei ca. 3,3V zu
> liegen.

Um beurteilen zu können, ob die sauber ist, hast du hoffentlich mit 
einem Oszi gemessen?

von Robert K. (qcopternoob)


Lesenswert?

Wolfgang schrieb:
> Robert K. schrieb:
>> Die VCC habe ich gemessen und scheint sehr stabil bei ca. 3,3V zu
>> liegen.
>
> Um beurteilen zu können, ob die sauber ist, hast du hoffentlich mit
> einem Oszi gemessen?

Muss zugeben das ich kein Oszi zur Hand hatte. War nur der Wert eines 
Messgeräts... sagen wir mal, es war am Messgerät stabil. Genauer bekomme 
ich es leider nicht hin.

von Robert K. (qcopternoob)


Lesenswert?

Hallo zusammen,

habe endlich Zeit gehabt wieder etwas an der Lampe zu basteln. Der 
Versuch die VCC und GND Leitungen in Sternform anzulöten hat leider 
nichts gebracht. Die Sensoren flackern wie verrückt und triggern was das 
Zeug hält :(

Danach wollte ich wissen ob die Sensoren sich in irgendeiner Form 
gegenseitig stören. Bis auf den ON/OFF Sensor habe ich die anderen 
beiden abgelötet. Der eine Sensor hat dann mit dem Flackern seine eigene 
Party veranstaltet :(

Für eine geschirmte Leitung habe ich in dem Konzept leider keinen Platz 
und auch momentan keine vorrätig... schätze ich werde von den 
Touch-Sensoren absehen und normale Taster einbauen da ich mir nicht 
sicher bin ob ich dieses Problem lösen kann.

Leider scheine ich der einzige mit dem Problem zu sein oder keiner nutzt 
diese Sensoren... vielleicht auch aus gutem Grund.

Danke erstmal für eure Hilfe!

Grüße
Robert

von Peter D. (peda)


Lesenswert?

Robert K. schrieb:
> In meinem Code sind die Sensoren bereits "entprellt" damit sie nicht zu
> früh auslösen.

Das muß nichts bedeuten. Es gibt viele mangelhafte und einige 
zuverlässige Entprell-Libs. Fataler Weise verbreiten sich die 
mangelhaften im Web wie Unkraut.

Robert K. schrieb:
> Ein altes Netzteil dient für die 230V auf 12V Erzeugung.

Schaltnetzteile können oft bei Unterlast (lückender Betrieb) rumsauen 
wie blöd.
Nimm mal zu Testzwecken ein Labornetzteil (Linearregler).

Robert K. schrieb:
> Theoretisch könnte ich die WLAN Antenne an dem ESP abtrennen.

Durch die Fehlanpassung werden sich wohl im Nahfeld umso mehr Störungen 
einkoppeln.

Wenn man eh einen µC verwendet, würde ich auf extra Sensoren ganz 
verzichten und mit dem internen ADC den Touch programmieren. Dann kann 
man sich auch die ADC-Werte für gedrückt und losgelassen per UART 
ausgeben lassen.

von Toby P. (Gast)


Lesenswert?

Pack den ESP mal in Alu-Folie und schau ob das besser wird

von Keller (Gast)


Lesenswert?

Sensor sehr hochohmig an die Versorgungsspannung + oder - klemmen .

von Mike J. (linuxmint_user)


Lesenswert?

Robert K. schrieb:
> Einige schreiben die Sensoren benötigen eine saubere Spannung und das
> durch Schwankungen in der Versorgungsspannung diese fehlauslösen können.
> Die VCC habe ich gemessen und scheint sehr stabil bei ca. 3,3V zu
> liegen.

Ich habe auch solche Sensoren gekauft, 40 Stück für 4€ inkl. Versand bei 
eBay. (Suche nach: TTP223)

Da sie nur 3,5µA verbrauchen und ich damit quasi leistungslos einen 
MosFET ansteuere, kann ich den Eingang mit einem Tiefpass 1. Ordnung 
(RC) gut entstören.

Robert K. schrieb:
> als
> ich die Sensoren ohne angeschlossene Datenleitungen getestet habe, gab
> es auch Fehlauslöser (sichtbar an der LED an Sensor)...

Schau mal wie groß die Widerstände vor den LEDs sind.
Bei mir waren es 220 Ohm. Das bedeutet I = (3,3V-1,85V)/220 Ohm = 6,6mA

Sie können aber auch mit 5V betrieben werden:
Bei mir waren es 220 Ohm. Das bedeutet I = (5V-1,85V)/220 Ohm = 14,3mA

Im Datenblatt wird angegeben:
Output Port Sink Current (I_OL)  +8mA
Output Port Source Current (I_OH) -4mA

Der Widerstand ist also zu niederohmig, daher habe ich den Widerstand 
raus gelötet oder 4,7kOhm genommen wenn ich die Status-LED sehen wollte.

von Robert K. (qcopternoob)


Lesenswert?

Ich habe das Problem gefunden!

Es lag tatsächlich daran, wie/wo die Touch Sensoren angeschlossen waren. 
Für die Eingänge am ESP8266 nutzte ich folgende PINS an meinem 
Lampenaufbau:
D0 (GPIO 16)
D1 (GPIO 5)
D2 (GPIO 4)

Zu Testzwecken habe ich einzelne Touch Sensoren an unterschiedliche PINs 
am ESP angeschlossen. Und je nach Eingang war das Verhalten anders, was 
mich stutzig machte. Die Eingänge am ESP sind ja teilweise mehrfach 
belegt, was auch zu Problemen führen kann...dachte ich mir. Danach 
entschloss ich mich einen GPIO-Port expander über I2C zu nutzen 
(PCF8574).

Seitdem funktionieren die Touch Sensoren wie ein Traum!!! Kein einziger 
selbstauslöser, nie!

Noch eine Erklärung weshalb ich genau die oben angegebenen PINs genutzt 
habe. Sechs weitere PINs am ESP waren bereits als Ausgänge für LEDs 
belegt. Diese werden mittels PWM geschaltet. Übrig geblieben sind 
deshalb nur die drei oberen. Nun habe ich die PINS D1 und D2 als I2C 
Schnittstelle und es funktioniert super!

-> lessons learned: immer darauf aufpassen welche Ein-/Ausgänge am ESP 
für welche Funktionen benutzt werden!!!

Trotzdem vielen Dank an alle die mir Tipps gegeben haben!

Grüße
Robert

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.