Forum: Analoge Elektronik und Schaltungstechnik Spannung mit ADC von MSP430F427 messen.


von Franzis I. (reparateur)


Lesenswert?

Hallo,
ich habe hier ein paar Fragen an euch, hoffe ihr könnt mir weiterhelfen:
Mein Ziel ist es mit eingebautem ADC die Spannung an einer Solarzelle zu 
messen, die gleichzeitig zur Versorgung von meinem MSP430 verwendet 
wird.
D.h. Kathode von der Solarzelle ist mit GND verbunden.

Im Datenblatt  zu MSP430 steht:
Sigma-delta ADC.
Dufferentila analog inputs pairs.
Internal voltage reference :Vref=1,2V.
Maximum full-scale range: +/- Vfsr=1,2V/2= +/- 0,6V.(Mit eingebauter 
Referenzspannungsquelle, die ich ja verwenden möchte.)

Meine Solarzelle lifert max Umax= 1,8V.

Das Ganze soll so sparsam(Energietechnisch) wie möglich sein.
Ich will die Spannung jede ca 100 ms auslesen, um evtl. die Batterie mit 
einem PMosfet dazuzuschalten, wenn Usolar unter 0.9 Volt abfällt. Wenn 
die Usolar wieder ansteigt, wird die Batterie wieder abgeschaltet, 
u.s.w.

Hinter der Solarzelle und Batterie sitzt ein DC set up Wandler, der den 
MSP430 mit 3.3 V versorgen soll.

Meine Überlegungen nun:

1.Da die Solarzelle mit Kathode an Masse liegt, kann ich nur max die 
Spannungen bis 0,6 V messen, da der ADC differentielle eingänge hat.
Stimmt, oder kann man doch irgendwie auf 1,2V kommen?(Ohne gross neu 
Bauteile hinzuzufügen.)

2.
Man wird wohl so oder so(0,6V oder 1,2V) die Eingangsspannung teilen 
müssen, um sie zu messen. Das heißt ich brauche dann einen 
Spannungsteiler. Je hochohmiger, desto besser natürlich.
Welche werte würdet ihr hier nehemen?( Usolarmax =1,8 V, Umessmax= 0,6 
oder 1,2 V, siehe 1.)

3.
Oder gibt es Alternativen?

4.
Soll ich vielleicht noch einen Kondensator parallel zum Widerstand 
anschließen, an welchem die Spannung gemessen wird? Wenn ja wie groß?

Leider habe ich in Hardwarebau noch keine große Erfahrung. Möchte aber 
nicht nur programmieren können, sondern die dazugehörige Hardware auch 
selber herstellen können.

Danke im Voraus!

von Franzis I. (reparateur)


Lesenswert?

Hat jmd vielleicht einen Link, wo ich nachlesen kann, wie man mit 
differentiallen eingängen von ADCs umgeht?
Habe schon wikipedia und google benutzt, aber nichts über meine 
Problematik gefunden.

von Dietmar (Gast)


Lesenswert?

Hallo,

meiner Meinung kann man einstellen, ob der ADC mit differentiellen oder 
unipolaren Eingängen arbeiten soll.
Und selbst wenn es bei deinem nicht geht, dann kommt auf deinem A- 
einefach GND und auf dem A+ dein Signal.

von Franzis I. (reparateur)


Angehängte Dateien:

Lesenswert?

Danke für die Antwort.
Das einzige, was man da einstellen kann ist "Output Data Format".
Entweder:Unipolar: Offset Binary, oder Bipolar_: Two's complement.
Habe den Absatz angehängt.
Daraus ist mir nicht klar, in welchem Bereich die Spannung gemessen 
wird, wenn ich so anschliese:
"dann kommt auf deinem A-
einefach GND und auf dem A+ dein Signal."

von Supa M. (supa_micha)


Lesenswert?

Wenn dir Energiesparen besonders wichtig ist, würde ich die 
Solarspannung noch  auf einen normalen IO Pin führen. Abhängig von 
Device zu Device erkennt der MSP430F427 noch bis 0,9 V - 1,3 V eine 
logische 1. Das heißt, du fragst alle 100 ms deinen IO Pin ab (sehr viel 
energieparender als eine komplette AD-Wandlung), wenn du eine logische 1 
kriegst, alles klar, ansonsten müsstest du dann nochmal per AD-Wandler 
genau nachmessen. So wirst du sehr oft auf eine AD-Wandlung verzichten 
können.

Viele Grüße
Michael

von Franzis I. (reparateur)


Lesenswert?

@a Supa Micha
Danke für deine Antwort.
Das ist eine sehr gute Idee von dir. Man könnte sogar den Pin als 
Interruptquelle verwenden, dann brauche ich nicht ständig ihn 
abzufragen.
Das einzige Problemm, dass seinkann, ist, dass es zihmnlich selten sein 
wird, dass die Spanung über 1.5 Volt steigt, um wieder eine "1" am Pin 
zu liefern. Aber dazu muss ich noch ein paar Experemente anstellen.

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.