mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Kapazitiver Schalter


Autor: Pentium 5 XS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr geehrte Forumsteilnehmer,

ich würde gerne einen kapazitiven Näherungsschalter bauen.
Dazu habe ich erstmal mit einem Kondensator experimentiert, der an eine 
vom MIkrocontroller generierte Rechtecksspannnug angelegt wird. Ein 
anderer Mikrocontroller liest dann am ADC die anliegende Spannung wie 
folgt ein:

Pin---1M-Ohm----1F---------GND
              |
              |
             ADC

Eigentlich möchte ich nun abhänging von der Frequenz und der Länge der 
einzelnen Impulse eine unterschiedliche,aber konstante, durch den 
Kondensator geglättete Spannung ablesen. Leider bekomme ich immer nur 
entweder 1023 oder 0 als Werte geliefert. Je nach Impulslänge 
unterschiedlich viele 1023er oder 0er.

Ich habe auch schon alle möglichen anderen Kombinationen von Kapazitäten 
und Widerständen probiert, aber es ändert sich nichts.

Auch die Frequenz habe ich shcon variiert- Ohne Erfolg

Was mache ich falsch?

Autor: Chris (Guest) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmen die Werte für R und C ?

Autor: Pentium 5 XS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Ja aber wie genau kann man die Spannung am Kondensator messen? Der ADC 
liefert bei mir nie ein einigermaßen konstantes Spannungssignal. 
Entweder liefert er direkt die einzelnen Impulse(also 1023 und 0) oder 
ein zufällig schwankendes singal das von 100 bis 600 reicht.....

Also wie gesagt, kann eigentlich ja nicht so schwer sein, aber ich häng 
da leider grad ein bisschen. Ich bin deswegen für jeden Tipp dankbar.

Gruß Marc

Autor: Pentium 5 XS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich die Aufladezeit messen will,muss ich ja auch irgendwie die 
Spannung am Kondnesator messen.
Wie soll das denn sonst gehen,wenn nicht mit dem ADC?

Gruß Marc

Autor: Lötkünstler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Peter Dannegger
Bezieht sich deine Argumentation auf die Schaltung von Pentium 5 XS
oder die Lösung auf die du verlinkt hast?
(Hab ich mir nicht angeschaut)

>Da Du eine Wechselspannung anlegst, ist das doch korrekt.

Wo ist denn da Wechselspannung? Ein Rechtecksignal ist nämlich keine.

>Mach es mit Messung der Aufladezeit, die ist linear zur
>Kapazitätsänderung.

wo ändert sich denn da die Kapazität?
Ist die nicht konstant? Der Kapazitive Blindwiderstand kann sich aber
Frequenzabhängig ändern.Aber das ist wohl auch ne Sackgasse.
Beim kondensator ist die Aufladekurve aber eine E-Funktion und nicht
linear.Linearität kann man nur mit einem Integrator erreichen.
Oder liege ich da falsch?

Vielleicht liegt es daran das Pentium 5 XS zwei Prozessoren benutzt.
Laufen die denn syncron?

>Wenn ich die Aufladezeit messen will,muss ich ja auch irgendwie die
>Spannung am Kondnesator messen.
>Wie soll das denn sonst gehen,wenn nicht mit dem ADC?

Auf die positive Flanke des Rechtecksignal einen Timer starten und
wenn der 0 erreicht hat den Adc mit sample and hold abfragen.
Zumindest theoretisch.

Lötkünstler

Autor: Pentium 5 XS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein die Prozessoren laufen icht sysnchron. Aber ist das nicht egal?
Es geht ja darum, dass der Kondensator die Rechteckspannung glättet und 
wenig schwankende Werte liefert.

Gruß Marc

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nach dem Prinzip wird das nicht funktionieren, der effektivwert der 
spannung hnägt nicht von der größe des Kondensators ab. Nur die 
Restwelligkeit hängt von der größe des kondensators ab, aber da die 
kapazitätsänderung bei solchen sensortasten so klein sind wirst du das 
auch nicht messen können.

Autor: Pentium 5 XS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und was meinst du mit "Restwelligkeit"?

Autor: Lötkünstler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Nein die Prozessoren laufen nicht sysnchron. Aber ist das nicht egal?

Ne eben nicht, ähnlich wie zwei Uhren die nach längerer Zeit nicht mehr 
die gleiche Zeit anzeigen.Ersten sind die Oszillatoren toleranzbehaftet 
und die Programme haben auch ungleiche Laufzeiten.Besser wäre es,das mit 
nur einer CPU zu machen.Sonst entsteht eine Art Phasenverschiebung da
der ADC dann irgendwelche Werte wandelt und das unkontrolliert.

>Es geht ja darum, dass der Kondensator die Rechteckspannung glättet und
>wenig schwankende Werte liefert.

Wenn du ein Rechtecksignal auf deine RC-Schaltung gibst,läd sich der 
Kondensator auf und entläd sich wieder.Wie weit dieser aufge/entladen 
wird hängt von der Schaltung,der Frequenz und dem Signalpegel ab.Mit 
einem Oszilloskop kam man das darstellen.Mit einem Multimeter wird man 
kaum brauchbare Werte erhalten weil die Spannung periodisch mit der 
Frequenz schwankt.Es handelt sich dabei auch nicht um eine 
Wechselspannung sondern um eine veränderliche periodische 
Gleichspannung.
Da bietet sich die positive Flanke des Rechtecksignals an.
Wenn du mit einem Prozessor die Ladezeit ermitteln willst muß das 
Programm erst mal einen Startpunkt für die Messung haben.
Allerdings ist die Ladezeit der Kehrwert der Frequenz des 
Rechtecksignals
pro Periode also t=1/f z.B.100Hz 1/100=10msek (5msek von positiver zur 
negativen Flanke).Wenn der Prozessor dir diese kleine Rechenaufgabe 
erledigen soll brauchst du ja nur ein kleines Programm zu schreiben
das das tut.Den Ladezustand des C kannst du dann während des 
Flankenwechsels über den ADC einlesen(nur dann)und verarbeitst den dann 
weiter.Im Zeitabschnitt wo sich der Kondensator entläd,also von 
negativer
zur positven Flanke(gleiche Zeitspanne wenn ton=toff)wird dann ein 
anderer
Wert gemessen der tiefer liegt als der erste Messwert.Die Ladekurve ist 
eben nicht linear sondern beschreibt eine e-Funktion

nach der Gleichung Uc=U/R^e-t/RC

Du wirst daher immer zwei Werte für den Ladungszustand erhalten.
Das Problem deiner Schaltung wird neben vermutlicher Programmmacken sein
das diese getrennt laufen und nicht synchron zueinander weil die 
Signalflanken nicht berücksichtigt werden.

Ich emfehle dir erst mal das Auslesen des ADC mit einem Spannungsteiler
Versuchsweise in den Griff zu bekommen um zu sehen ob es ein 
Software-oder ein Hardwareproblem ist.
Obwohl das Problem eigentlich simpel ist,ist es mir doch schwer
gefallen eine Lösung zu beschreiben.
Ich hoffe mich verständlich und nachvollziehbar ausgedrückt zu haben.
Wenn noch Frage auftauchen...posten.
Irrtum vorbehalten

lötkünstler
<Mit der Lizenz zum Löten>

Autor: A. C. (michael1988)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Lötkünstler!
Das Auslesen des ADC klappt. Ich habe daran auch schon einen 
Magnetfeldsensor und eine Solarzelle gehabt und dabei stabile Werte für 
die jeweiligen Zustände gehabt. Ich werde deine Empfehlungen jetzt 
beherzigen und mal weiter probieren.

Gruß Marc

Autor: Lötkünstler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Entweder die des Schmitt-Trigger der Eingangsstufe, oder die des
Schmitt-Trigger am ADC?
Lies dir gründlich den ersten Beitrag von  Pentium 5 XS(alias Michael 
D.?)
durch und versuchs noch mal.Nix Schmitchen...
>Komparators mit der internen Referenz (ist stabiler).
ist präziser meinst du wohl.
Bei vielen AVRs ist eine solche Anwendung schon vorgesehen und der
Komparatorausgang läßt sich direkt auf den Captureeingang legen.

>Wo die Schwelle liegt, ist egal.
Kann ich nicht nachvollziehen?

Lötkünstler

<mit der Lizenz zum Löten>

Autor: Lötkünstler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Besser Du liest es Dir durch, hast es ja bisher noch nicht einmal getan.
klar,hab ich.Nebenbei, ein Farad-Kondenstor von der Größe scheint
ein bischen total daneben.ob Marc sich vertippt hat?

>Er will schon die ganze Zeit ne Kapazitätsänderung durch Annäherung
>detektieren.
und dafür versucht Marc die Ladungsänderung über den ADC messtechnisch
zu erfassen.Mittels der hier geposteten Grundlagen und Tips müßte
Marc selbst drauf kommen.Als Hilfestellung müßte das reichen.
Die Lösung so Gaga vorsagen bringt doch nichts.

>Und ich rede mir quasi den Mund fusselig, daß dafür der ADC voll vorn
>Arsch ist.

Ja,ja,unten rein und oben wieder raus oder umgekehrt.
sehe ich nicht so,außerdem habe ich "Irrtum vorbehalten" geschrieben
wenn wir schon beim durchlesen sind.
poste doch in Gulli.de,da biste besser aufgehoben mit deiner 
Fekalsprache.


Lötkünstler

<mit der Lizenz zum Löten>

Autor: Lötkünstler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter Dannegger,
na wenn du glaubst das deine Beleidigungen,Difamierungen und zur 
Schaustellung deiner Aggressivität hier mehr Beachtungen finden,
mach man so weiter.
Bis du dann an den Falschen geräts,der dir eine Lektion verpaßt
die sich gewaschen hat.
Trag lieber etwas nützliches zu dem Beitrag bei.
Bisher hat mich von dir nichts überzeugt.
Allerdings solltest du lieber Marc helfen.

>>Amüsieren tun sich bei diesem Wortgefecht dann nur die anderen.

Ich beende nunmehr diesen Thread und amüsiere mich lieber mit ein paar
Vogonengedichten heute Abend als mit einem sinnlosen Schlagabtausch
der Eitelkeiten.
Sei lieber Froh das ich kein Interesse habe die Polizei einzuschalten.
Manche haben ja noch nicht mal davor Respekt.

lötkünstler

<m.d.L.z.L>

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.