Forum: Mikrocontroller und Digitale Elektronik Sensor-signal schwingt


von Zoltan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich habe folgendes Problem:

Die im Anhang gepostete Schaltung verwendet einen At90S4433. Zwei 
Sensoren (rot und blau markiert) erzeugen Spannungen, welche den 
AD-Wandlern des MC-ers zugeführt werden (PC0, PC1).

Der Drucksensor (blau) liefert hierbei eine "glatte" Spannung, wogegen 
die Spannung des Neigungssensors (rot) ganz leicht schwingt. Diese 
Schwingung beträgt nur einige mV aber dies führt dazu, dass der Wert des 
AD-Wandlers hin und her läuft. zB 1.2.3.2.1.2.3.2...

Soweit ich weis entsteht diese Schwingung durch den Quarz. Meine 
Vermutung ist, dass sich die Schwingung des Quarzes auf die 
Aref-Spannung des Ad-Wandlers, auf den Spannungsteiler des 
Neigungsmessers(rot), und/oder auf die LED1 egativ auswirken.

Meine Frage wäre nun, wie ich den Neigungssensor modifizieren muss, um 
ihm das Schwingen auszutreiben.

Danke
Zoltan

von ThomasB (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Zoltan:
Versuch es mal mit einem RC-Filter zwischen Uref+Vcc
Siehe Anhang.

MfG ThomasB

von Zoltan (Gast)


Lesenswert?

Hi thomas!

Erstens Danke für den Tipp!

Ich hab´s ausprobiert. Avcc mit Aref verbinden und 100 Ohm und 100nF an 
+ und gnd. Es schwingt aber immernoch. (1.2.3.2.1.2..).

Dabei habe ich aber den Spannungsteiler an Aref entferenen müssen. Die 
benötige ich, weil die Sensoren eine Spannung von 1 bis max 4V liefern, 
und ich möchte die 10 bit maximal ausnutzten (die 0..1V gehen ja schon 
verloren  :(   )

Gruß
Zoltan

von wolli_r (Gast)


Lesenswert?

Hi Zoltan,
bei den Widerständen R24,R25 in der Höhe von min 500KOhm fängt man sich 
natürlich einiges an Elektrosmog (auch Netzbrummen) ein. Versuchs mal 
mit nem Keramik-C ab 1nF zwischen Emitter von T1 und AGND. Damit dürfte 
das Problem gelöst sein.

mfg wolli_r ( http://www.tec-shop.de )

von Zoltan (Gast)


Lesenswert?

Hi wolli_r,

Mit dem Keramik kondensator zwischen Emitter von T1 und AGND (oder 
zwischen ADC1 und AGND) klappts. Dake vielmals!!!!!!!


Noch eine Frage, fällt mir grad ein:
Kann man auch AGND verschieben (mit Hilfe eines Spannungsteilers), zB 
auf 1V? Dann könnte ich, mit AREF, den AD-Wandler in dem Bereich von 
1..4V für die vollen 10bit nutzen.

Im Datenblatt steht zwar:.."AGND must be connected to GND".... aber 
praktisch wäre es allemal.


Gruß
Zoltan

von edi (Gast)


Lesenswert?

hi,

wozu hast du einen RECHNER...?
du solltest per software filtern.
zb 10 werte einlesen ,summieren und dann durch 10 teilen.
schon hast du einen brauchbaren wert.

es gibt natuerlich komplexere moeglichkeiten um mittelwerte
zu berechnen.

ciao

von Schmittchen (Gast)


Lesenswert?

Moin Zoltan,

a.) dein Aref beträgt 4,6V, nicht wie geplant 4V. (R16/(R1+R16))*5V
b.) ein C (~100nF) zwischen Aref und AGND schadet nicht.
c.) mir fällt auf, daß du möglicherweise nicht sauber zwischen AGND und 
GND trennst. (nur an einer Stelle zusammenführen; keine Schleifen; 
Sternverteilung).
Wieso geht z.B. R20 gegen AGND? Wieso z.B. R16, C3, R19... nicht?
d.) Wo ist der obligatorische 100nF-C zwischen Vcc und GND direkt am 
AVR?
e.) belastest du den AVR-Port mit R18/OK1 nicht etwas zu stark? Zudem 
kann den AVR eh nicht genug Strom liefern (sourcen), wie du bräuchtest. 
Schließ' ihn als Senke an und gut is. -> PB0 an Pin2 des CNY17 (OK1) und 
Pin1 (OK1) über 330R gegen Vcc.
f.) Wo ist die Kollektorstrombegrenzung für den Transistor im CNY17? -> 
Zwischen Vcc und Pin5 (OK1) noch einen Strombegrenzungswiderstand legen. 
Wert so wählen, daß dein Ausgang noch genügend Strom "erhält", aber der 
Transistorkollektorstrom noch nicht zu groß ist (75R-1k).

> Kann man auch AGND verschieben (mit Hilfe eines Spannungsteilers), zB auf 1V?
Ich glaube nicht, habe zumindest keine "Erlaubnis" im Datenblatt 
gefunden.
Andreas Schwarz hat letztens hierfür die Subtrahiererschaltung aus 
Günters Artikel empfohlen...
http://www.mikrocontroller.net/articles/op.htm (ganz unten)
... -> dann hast du 0-3V und mußt natürlich Aref wieder anpassen...

@edi:
> wozu hast du einen RECHNER...?
Nicht um damit Designpfusch mit Software auszubügeln.

Schmittchen.

von thkaiser (Gast)


Lesenswert?

Um den Subtrahierer benutzen zu können, benötigt man eine negative 
Spannung. Die Verwendung von R-R OPs läßt auf darauf schließen, daß 
diese nicht vorhanden ist.

von Zoltan (Gast)


Angehängte Dateien:

Lesenswert?

Hi allerseits,

Danke für Eure Antworten!

@edi:
Im Programm wird bereits aufsummiert (bis 64) und anschliessend geteilt 
(durch 64). Nimmt aber ne menge Zeit in anspruch….

@Schmittchen:
…Also bügle ich schon was das Zeug hält. Natürlich ist das nicht sehr 
schön, da hast Du Recht. Aber mir fällt es leichter zu programmieren, 
denn die Elektronik war bei mir immer schon eine Sache des 
Ausprobierens. Man könnte sich denken können, dass ich ein kleiner 
Indianer wäre, weil sich ständig Rauchzeichen gebe .

a.) danke für die Formel (R16/(R1+R16))*5V. Ich habe die Spannung  mit 
einem Poti eingestellt, und anschliessend die nächsten Werte als 
Festwiderstand eingebaut.
So bekomme ich 4,2V. Werd’s aber noch mal prüfen.
b.)100nF an Agnd. Wird gemacht.
c.)Hab auf der Platine direkt verbunden
d.)> Wo ist der obligatorische 100nF-C zwischen Vcc und GND direkt am 
AVR?
   hab ich vergessen, in die Schaltung einzutragen.
e.)verschrieben, die 100Ohm sind 4K.
f.)…… ich habe jetzt alles abgeändert und füge die Schaltung als Anhang 
bei.


>Kann man auch AGND verschieben (mit Hilfe eines Spannungsteilers), zB auf 1V?
Wie es thkaiser schon sagte, brächte ich für den OP –Subtrahieret dann 
eine negative Spannung, (die ich nicht habe). Das ginge mit dem 
Verschieben des AGND viel eleganter.


Also besten dank noch mal für die, unter anderem wirklich ausführlichen 
Antworten.

Gruss
Zoltan

von mikki merten (Gast)


Lesenswert?

AGND lässt sich nicht so einfach verschieben. Dieser Pin ist auch die 
GND-Referenz für die gesamte Port C Logik. Evtl. solltest du die mal 
Rail-ti-Rail OP anschauen. Hiermit kommst du auch mit einfacher 
Versorgungsspannung 0 Volt schon sehr nahe.

von Zoltan (Gast)


Lesenswert?

RAIL TO RAIL OP-AMPs, die ich so auf die schnelle gefunden habe:

http://www.st.com/stonline/campaign/gold/linear/rail.htm
http://www.linear.com/ezone/1782.html
http://www.imtek.de/konstruktion/pdf/periph/LT_1635_datasheet.pdf

Wenn ich Port C aber NUR für den AD-Wandler nutzen würde? Ich werde es 
am besten mal testen, ob ich AGND mit einem Spannungsteiler verschieben 
kann, und wie der AVR darauf reagiert.

von Zoltan (Gast)


Lesenswert?

Habe jetzt die, so glaube ich, beste Lösung gefunden. Es muss nicht ein 
teurer Rail to Rail Op (9 Euro) sein. Statdessen nehme ich einen 
"TLC272(1.40 Euro), Dual Single Supply Operational Amplifier". Der ist 
für eine unsymetrische Betriebspannug ausglegt, also GND an 0V. Die 
Ausgangsspannung liegt dabei(VCC=5V) im Bereich 0 bis 3.8V.

von Florian Wolling (Gast)


Lesenswert?

Hallo Zoltan!
Ich bin ein Anfänger im Bereich AD-Wandler der AVR's.
Mich würde interessieren, wie Du den AD-Wandler benutzt.
Könntest Du mir vielleicht Deinen Code zuschicken?

MFG,
#################
Florian Wolling #
#################

von Oliver (Gast)


Lesenswert?

Hallo Zoltan,

du solltest deine Referencespannung nicht durch einen Spannungsteiler
einstellen, da du damit auch Schwankungen der Versorgungsapannung
misst. Die Referenzspannung wird am besten mit einer Z-Diode
stabilisiert.

Gruß Oliver

von Zoltan (Gast)


Lesenswert?

Hi Oliver,

danke für den Tipp. Damals ging es mir darum, überhaupt mal eine
Referenzspannung zu bekommen, daher die einfache Aufbau mit
Widerständen.

Gruß
Zoltan

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.