www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik kapazitiver sensor, auswertung haut nicht hin


Autor: bongo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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:
int main() {
  
  uint16_t  timer = 0;
  uint8_t   timer_l,timer_h,i;

  init_uart();
  init_timer();

  _delay_ms(100);

  while(1) 
  {
    timer = 0;
    DDRD |= (1<<PD7); //Ausgang
    PORTD &= ~(1<<PD7); //Low
    _delay_ms(100);
    TCNT1 = 0;
    DDRD &= ~(1<<PD7); //Eingang
    PORTD &= ~( 1 << PD7 ); //Pullup aus
    while ( !(PIND & (1 << PD7)) ) ; //bis PD7 = 1
    timer_h = TCNT1H;
    while (!(UCSRA & (1<<UDRE))) 
    {} 
      UDR = timer_h;
    timer_l = TCNT1L
    while (!(UCSRA & (1<<UDRE))) 
    {}
      UDR = timer_l;
  }
  return 0;
}

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 ?

Autor: Düsendieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Platte ist mehr Antenne als Kondensator. Du misst nur die 
Störeinstrahlung.

Axel

Autor: bongo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
D.h. ?
Einen Kondensator noch in Reihe zwischen Platte und µC zum filtern ?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: bongo (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: bongo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ich hab jetzt 1:1 den Code von Peter übernommen aber es haut 
überhaupt nicht hin. ich kriege total schwankende Werte und kann nix 
auslesen.
Sind 260KOhm zu groß fürn pullup ?

Autor: B e r n d W. (smiley46)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eventuell bekommst Du 50 Hz Einstreuung aus dem Netz, wie auch Düsendieb 
schrieb. Deshalb solltest Du mal probieren, den Sensor in eine Keksdose 
o.ä. zu stecken und diese mit Deiner Masse zuverbinden. Sind dann die 
Schwankungen deutlich weniger?

Bernd

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.