kapazitiver sensor, auswertung haut nicht hin

Gast #1735502
Lesenswert?
• ▲
▼
Hallo.

Hab mich hier schon durchs Forum gelesen und versteh auch eigentlich das 
Prinzip, einen Kapazitiven Sensor mittels µC auszuwerten.

Cap (Kupferplatte) entladen.
Timer starten
Cap aufladen (über Pullup)
warten bis Cap aufgeladen ist und dann die Zeit stoppen

Soweit so gut, nur klappt das nicht.

Hier ist mal mein Quellcode:
1
int main() {
2
  
3
  uint16_t  timer = 0;
4
  uint8_t   timer_l,timer_h,i;
5

6
  init_uart();
7
  init_timer();
8

9
  _delay_ms(100);
10

11
  while(1) 
12
  {
13
    timer = 0;
14
    DDRD |= (1<<PD7); //Ausgang
15
    PORTD &= ~(1<<PD7); //Low
16
    _delay_ms(100);
17
    TCNT1 = 0;
18
    DDRD &= ~(1<<PD7); //Eingang
19
    PORTD &= ~( 1 << PD7 ); //Pullup aus
20
    while ( !(PIND & (1 << PD7)) ) ; //bis PD7 = 1
21
    timer_h = TCNT1H;
22
    while (!(UCSRA & (1<<UDRE))) 
23
    {} 
24
      UDR = timer_h;
25
    timer_l = TCNT1L
26
    while (!(UCSRA & (1<<UDRE))) 
27
    {}
28
      UDR = timer_l;
29
  }
30
  return 0;
31
}

Beschaltung ist ganz simpel:
Sensor Platte an der einen Seite an Pin PD7 und parallel dazu ein 
260KOhm Widerstand an VCC. Andere Seite der Platte an Masse.
Ich lass mir halt die Werte über den UART schicken und die Schwanken 
ständig, ob ich die Platte berühre oder nicht. Man kann also kein Muster 
erkennen...

Hat jemand eine Idee was ich falsch mache ?
#1735556
Lesenswert?
• ▲
▼
bongo schrieb:
> Sensor Platte an der einen Seite an Pin PD7 und parallel dazu ein
> 260KOhm Widerstand an VCC. Andere Seite der Platte an Masse.

Welche andere Seite?

Du hast nur eine Sensorelektrode.
Die andere "Kondensatorplatte" bildet die Erdleitung Deiner Schaltung.
Sie existiert nicht physisch und auf keinen Fall nahe der 
Sensorelektrode.
Du willst ja einen möglichst schlechten Kondensator haben.


Peter
Gast #1735609
Lesenswert?
• ▲
▼
Also so wie in deinem Codebeispiel für die einfach Sensortaste ?
Ich dachte es gibt zwei Möglichkeiten.
Im Moment hab ich eine Kupferplatine (einseitig beschichtet) in der 
Mitte durchgeschnitten und die Rückseiten aneinander geklebt.
Wäre also die Auswertung besser wenn ich den zweiten Teil weglasse und 
nur ein Stück Kupfer direkt an den Sensorpin lege?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.