Forum: Analoge Elektronik und Schaltungstechnik AVR MCP9700 Störeinflüsse


von Tim M. (tim90)


Angehängte Dateien:

Lesenswert?

Hallo!,

habe hier eine kleine Platine mit einem Attiny84 und einem MCP9700 
Temperatursensor. Prinzipiell funktioniert die Schaltung und ich kann 
die Temperaturwerte mittels ADC + interner 1,1V REF wunderbar und ohne 
Probleme auslesen. Sobald aber ein GSM Modul in die Nähe kommt 
(~40-50cm) und dieses Daten sendet fangen die Temperaturwerte relativ 
stark zu schwanken an >=5°C.
Es besteht dabei keine Verbindung zwischen den beiden Platinen. 
(Getrennte Stromversorgung - GSM Modul testweise über Akku betrieben) 
Bei Handys mit aktiver Datenverbindung konnte ich keine Probleme 
feststellen.
Andere ADC Eingänge am Attiny84 wie z.B. ein externer Spannungsteiler 
zur Spannungsmessung sind immun gegen dieses Problem.
Ich habe den Aufbau des Temp-Sensors angehängt. Der Vout des Sensors ist 
dabei direkt an den AVR angeschlossen.
Was könnte das sein? Ist vielleicht der IC so störanfällig?
Mein Gedanke wäre noch gewesen zwischen Vout des Sensors und GND einen 
10nF Keramikkondensator zu hängen. Wäre das sinnvoll?


Gruß,
Tim

von Dieter (Gast)


Lesenswert?

Stelle ein altes Mobiltelefon/Smartphone um auf maximal 2G-Netze und 
probiere es dann noch einmal. Ansonsten hat das GSM-Modul keine 
Sendestärkenregelung und powert mit der vollen Sendeleistung.

von Frank K. (fchk)


Lesenswert?

Das ganze ist zu hochohmig, und deswegen fängst Du Dir leicht Störungen 
ein.

Maßnahmen:

1. OpAmp als Puffer hinter den Sensor setzen. Der Sensor selber kann nur 
100uA Ausgangsstrom liefern. Als OpAmp wäre z.B. ein MCP6021 geeignet. 
Der kann 20mA liefern. IN- mit OUT verbinden, d.h. als Puffer 
verschalten. Der OpAmp muss direkt am Temperatursensor sein, die 
Verbindung zwischen VOUT vom MCP9700 zum IN+ des MCP6021 muss minimal 
sein, am Besten nur Millimeter.

2. 1k zwischen ADC-Pin und GND schalten. Der Widerstand muss direkt am 
Pin sein, die Leitungslängen müssen minimal sein, auch hier zählt jeder 
Millimeter.

Mit diesen beiden Maßnahmen zusammen sorgst Du dafür, dass tatsächlich 
ein Strom vom Sensor zum ADC fließt. Das macht das System unempfindlich 
gegen externe Störungen.

Wenn Du dann noch ausschließlich SMD-Bauteile nimmst, ist das vom 
elektrischen Standpunkt noch besser. Lange Drähte bergen immer die 
Gefahr, dass Du Dir Störungen einfängst. Daher besser SOT23 statt TO-92 
für den MCP9700 nehmen, SOT23-5 für den OPAmp, und Abblockkondensatoren 
in 0603. Wenn es geht, eine durchgehende Groundplane auf der Unterseite 
vorsehen.

Wie lang ist die Leitung zwischen Temperatursensor und ADC-Pin?

fchk

von Tim M. (tim90)


Lesenswert?

@Dieter

>Stelle ein altes Mobiltelefon/Smartphone um auf maximal 2G-Netze und
>probiere es dann noch einmal.
Das habe ich gemacht :-)

>Ansonsten hat das GSM-Modul keine
>Sendestärkenregelung und powert mit der vollen Sendeleistung.
Stimmt! Das kann sein!

@Frank K.
Vielen Dank für Deine ausführliche Hilfestellung!
Es handelt sich um eine SMD Platine. Der Temperatursensor ist mit dem 
Footprint SC70-5 bestückt. Leiterbahnlänge zum AVR ist ca. 5mm.
Die OP Variante ist natürlich die "Königslösung"
Würde vielleicht ein einzelner 100k Widerstand als Belastung etwas 
bringen?
So könnte ich versuchen die Platine doch noch zu retten :-)


Gruß,
Tim

von Tim M. (tim90)


Lesenswert?

Ich habe jetzt testweise versucht den AVR Eingangspin zu belasten (10k / 
100k) - ohne Erfolg (nicht einmal geringfügig besser geworden)
Auch ein 10nF Kondensator brachte in Kombination mit den Widerständen 
keine Besserung.
Desweiteren habe ich wie im Datenblatt beschrieben den Eingangsfilter 
aufgebaut (mit 200 Ohm & 1µF Kondensator) - Auch keine Besserung

Komischerweise tritt das Problem beim Spannungsteiler nicht auf... (in 
unmittelbarer Nähe)
1
+ - 100k - | - 3.9k - GND
2
           |
3
           - - 10nF - GND
4
           |
5
           |
6
          AVR

Bitte um Hilfe :-)

Edit: Störung bzw. das Schwanken ist in der Größenordnung 130mV / 13°C

: Bearbeitet durch User
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.