Gast
#5032093
Hallo Community, Wir arbeiten zurzeit an einem Projekt, bei dem es darum geht, eine Kugel auf einer Fläche zu balancieren. In etwa so: https://www.youtube.com/watch?v=enlQMUE9df4 Als Rückmeldung der aktuellen Kugelposition verwenden wir diesen Touchscreen-Sensor: http://ch.rs-online.com/web/p/touchscreen-sensoren/7105238/ Nun zu unserem Problem: Betreiben wir den Touchscreen-Sensor "statisch", d.h. ohne Umschaltung von X- und Y-Richtung, erhalten wir saubere Messwerte (logischerweise nur in einer Achse). Das funktioniert jeweils für beide Achsen. Sobald aber zwischen diesen beiden Schritten umgeschalten wird, um auch wirklich eine zwei-Achsige Position auslesen zu können, erhalten wir merkwürdige Störungen. Woher kommen diese Spannungsspitzen? Parasitäre Kapazitäten des Touchscreens? Wie lassen sich diese unterdrücken? Die Messwerte werden über die serielle Schnittstelle an den PC übertragen und dort für Debug-Zwecke angezeigt (siehe Bilder). (Bei den Versuchen mit der statischen Ansteuerung wird der Messwert jeweils für das Protokoll doppelt gesendet, und dementsprechend auch doppelt angezeigt). Die Elektronik besteht aus einem PIC18F25K22. Anbei den Code für den relevanten Teil:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
Die Funktion Get_Ball_Position wird regelmässig von einem Timer-Interrupt aufgerufen. Mit freundlichen Grüssen, Stefan

