Hallo,
ich schaue mir gerade die LPC11Cxx an. Die sind ja noch überschaubar.
Jedoch lese ich das Manual so, daß die Referenzspannung für den ADC fest
mit der Versorgungsspannung des Controllers verbunden ist.
Ratiometrische Widerstandsmessungen sind damit ja kein Problem, aber wie
kann man damit eine absolute Spannung messen, wenn die Referenz die
Versorgungsspannung ist? Zum Beispiel, wenn ich die Batteriespannung
eines Funkmoduls messen will, um diese rechtzeitig zu wechseln?
Ohne jetzt deinen Akku/Batterie zu kennen. Du betreibst einen uC ja
nicht direkt an der Batteriespannung sondern da ist ja immer noch ein
Linear oder Schaltregler dazwischen. Somit ist deine Versorgungsspannung
zu mindestens innerhalb der Betriebsparameter deines Spannungsreglers,
unabhängig von der Batterie.
Was natürlich auch geht, aber sowohl Schaltungs- als auch Rechenaufwand
mit sich bringt, eine externe Spannungsreferenz (LM4040 oder sowas) auf
einen ADC Eingang klemmen. Von dem kennst du dann die Spannung und
kannst anhand vom Wertverhältnis auf den Absolutwert schließen.
Es ist aber zu beachten ob man zwei ADC Kanäle nutzt und das Sampeln
parallel anstoßen kann, oder ob man mehrere Pins auf einem Kanal hat und
die dann zwangsweise seriell gesampelt werten. Was dann natürlich
Schwingungen, starkes Rauschen,... auf der Versorgung nicht zwangsläufig
raushält aus der Messung.
Ich kann mir nicht vorstelen, daß ein AD-Wandler die Versorgunsgspannung
als referenzspannung nutzt. Vlt. wird intern eine Referenzspannung
erzeugt. Ich kennen den Baustein nicht. Zum problem der Messung der
Eigenversorgung:
Aus VCC mittels einer Referenzdiode einen fixe Spannung kleiner VCC
erzeugen und diese messen. Dann steigt logischerweise der Messwert (in
Digits) mit falener Versorgungsspannung.
Andere Spannungen ließen sich mit Hilfe einer externen gemessenenen
Referenzspannung auch errechnen..
Hanns-Jürgen M. schrieb:> Ich kann mir nicht vorstelen, daß ein AD-Wandler die Versorgunsgspannung> als referenzspannung nutzt.
Tja, mangelhafte Vorstellungskraft.
Diese µC sind solche mit geriner Pinanzahl, so etwa 44 oder 48 Pins. Da
werden eben Pins gespart, was in solchem Falle nicht schädlich ist.
Diese µC benutzen lt. Datenblatt tatsächlich Vcc als ADC-Referenz. Wer
eine stabile Referenz braucht, muß eben einen ordentlichen
Spannungsregler vor den µC setzen. Dann ist die Vcc auch gut genug für
10 Bit Auflösung.
W.S.
W.S. schrieb:> Diese µC sind solche mit geriner Pinanzahl, so etwa 44 oder 48 Pins
Was für ein Argument ist das denn?
Die Tiny45 zum Beispiel haben auch nur 8 Pins und dennoch kann man da
ohne ARef Pin VCC, 1,1V oder 2,56V Referenz auswählen weil der eben auch
interne Referenz-Spannungsquellen hat.
Ich finde auch, dass ein µC ohne die Möglichkeit einer externen Referenz
und ohne interne Referenz etwas eingeschränkt klingt.
Hanns-Jürgen M. schrieb:> Ich kann mir nicht vorstelen, daß ein AD-Wandler die Versorgunsgspannung> als referenzspannung nutzt. Vlt. wird intern
Nein. Das ist nicht unüblich. Die kleinen von Freescale machen das
genauso.
Und warum auch nicht? Wenn VRef- = GND und VRef+ = Vcc dann kann man
wunderbar alles mögliche zwischen 0...3,3V messen, gar nicht mal so
unpraktisch.
Was wegfällt ist halt der separate Eingang für die Referenzspannungen,
intern kann man (WIMRE) aber immer noch auf interne Referenz umschalten.
Was soll das Geschwafel mit WIMRE (gibt es bei LPC11Cx2/Cx4 nicht)
und WUNDERBARER Messung von 0...3,3 V, wenn man so ein Ding mit
Batterie / Akku von 3.6 V bis runter zu 1,8 V betreibt.
Da ist eine Vor-Regelung von Vcc auch Humbug: Kostet mAh!!!
Die Antwort heißt:
Entweder - stabile (abgeglichene) Betriebsspannung,
oder - nur ratiometrische Messung möglich.
Klimmzüge mit einem ADC-Eingang für eine Ref-Spannung haben
nur SEHR beschränkten Wert, weil die im o.a. Fall unter 1,8 V
sein muss, was u.a. MINDESTENS 1 Bit Auflösung kostet.
Fazit:
Die LPC11Cxx haben ihre Qualitäten, aber NICHT beim ADC.
Bernd K. (prof7bit) schrieb:
> Warum regst Du Dich so auf?
Ich habe keinen Grund mich aufzuregen, weil ich nur AVR mache. :-)
Habe doch nur zusammengefasst, dass hier hauptsächlich geschwafelt
wurde, statt dem TO mit klaren Aussagen zu seinem µC zu helfen.
Lagst nun mal daneben - da meckert man nicht auf andere, sondern
macht es nächstes Mal besser. :-)
So langsam wird es ja unerträglich hier!
Ist es denn wirklich zu viel verlangt zu einem Link, dem man dem Rest
der Mitleser unbedingt vor die Füße werfen will, wenigsten EINEN Satz
dazu zu schreiben, damit wenigstens der ein oder andere den
Gedankengängen folgen kann?!
Zum Thema:
Es wurden Vorschläge gemacht wie man eine Absolutwertmessung ohne
Referenz über Hilfsmittel realisieren kann, es wurde gesagt dass das
Problem hier wohl eher Konzeptionell ist und leicht hätte Umgangen
werden können...
Vielleicht sollte man jetzt auf den Autor warten um sein Problem genauer
zu spezifizieren.
Oft haben die kleinen Mikrocontroller keinen extra Vref-Eingang sondern
verwenden Vcc um Pins zu sparen.
Damit man dennoch absolute Messwerte bekommen kann, ist intern eine
Referenzspannung von typischerweise ca. 1,2V vorhanden. Mit dem Mux des
ADC kann man die jetzt gegen Vcc messen und damit rückrechnen welche
Spannung Vcc momentan genau hat. Dann kann man den ADC-Mux wieder auf
die normalen Pins legen und dort gegen das jetzt bekannte Vcc messen.
Leider scheint der LPC11Cxx diese Technik nicht zu verwenden und keine
interne Vref anzubieten. Schau daher mal vielleicht bei ST, der
STM32F072 könnte evtl. als Alternative passen und der hat eine solche
interne Referenz.
Den LPC11C2x gegen einen anderen Controller zu tauschen wird nicht so
leicht sein. Welcher kleine M0 hat CAN und den Transceiver an Bord?
Die Referenzen in den übichen Controllern sind nur von der Auflösung her
geignet den 10 oder 12bit gerecht zu werden. Die absolute Genauigkeit
ist meistens so grottig, dass ein Abgleich nötig ist. Da ist es oft
besser eine externe Referenz mit der nötigen Genauigkeit zu verwenden
und sich das Kalibrieren zu sparen.
Oldie schrieb:> Was soll das Geschwafel mit WIMRE (gibt es bei LPC11Cx2/Cx4 nicht)> und WUNDERBARER Messung von 0...3,3 V, wenn man so ein Ding mit> Batterie / Akku von 3.6 V bis runter zu 1,8 V betreibt.> Da ist eine Vor-Regelung von Vcc auch Humbug: Kostet mAh!!!
Aber doch nur wenn man die Leistung in einem LDO verbrennt. Wenn man
einen Schaltregler auf z.B. 2,0 Volt einsetzt dann hält der Akku viel
länger, weil bei höherer Spannung deutlich weniger Strom fliesst.
Horst schrieb:> LPC11Cxx
Unter "LPC11Cxx" ist bei NXP leider kein Datenblatt zu finden, in das
man gucken könnte. Meinst du die LPC11Cx2/Cx4? Vielleicht hast du einen
Link zu dem/den Baustein, auf den sich deine Frage bezieht.
Jim Meba schrieb:> Wenn man einen Schaltregler auf z.B. 2,0 Volt einsetzt dann hält der> Akku viel länger, weil bei höherer Spannung deutlich weniger Strom> fliesst.
Du vergißt, dass auch ein Schaltregler Leistung verbrennt. Solche mit
100% Wirkungsgrad oder mehr wurden leider noch nicht erfunden. Ob unterm
Strich ein "viel länger" herauskommt, muss man im Einzelfall prüfen.
Horst schrieb:> ..., aber wie kann man damit eine absolute Spannung messen, wenn die> Referenz die Versorgungsspannung ist?
Indem du in deiner Schaltung eine Referenzspannungsquelle einbaust und
deren Wert mißt. Der Rest ist simpler Dreisatz.
temp schrieb:> Den LPC11C2x gegen einen anderen Controller zu tauschen wird nicht so> leicht sein. Welcher kleine M0 hat CAN und den Transceiver an Bord?
Aber ein Gerät mit CAN-Bus-Anbindung wird doch typischerweise nicht mit
ungeregelter Batteriespannung betrieben, da kann man doch eine sauber
geregelte Versorgungsspannung zur Verfügung stellen.
Donnerwetter, ist ja richtig was los ...
Es handelt sich um die LPC11C12/14/22/24. Die /22 und /24 haben den
CAN-Transceiver schon an Bord.
Ich will per CAN ein Hausnetzwerk aufbauen, kann aber nicht überall
verkabeln und damit auch mit Strom versorgen. Also müssen einige Knoten
eben per Funk (nRF24L01+) angebunden werden und müssen daher auch per
Batterie versorgt werden. Und da will ich halt einmal am Tag messen, wie
gut es den Batterien denn noch geht. Also muß ich wohl eine externe
Referenz an einen ADC-Pin legen, da ich innerhalb des Projektes nur mit
einem Controllertyp arbeiten will.
Danke für die Infos!
Horst schrieb:> Also muß ich wohl eine externe Referenz an einen ADC-Pin legen, ...
Mit einem weiteren Pin könntest du die Referenz auch noch schaltbar
machen, damit sie nicht dauern an der Batterie nuckelt ;-)
Horst schrieb:> Also muß ich wohl eine externe> Referenz an einen ADC-Pin legen
Ja, aber du musst die Batteriespannung ja nicht auf 18 bit genau messen
- für den Zweck würde auch eine Zenerdiode reichen.
Georg
Wenn Vcc von einem Linearregler kommt, nehme ich diese als Referenz.
Besser als 1% ist es auf jeden Fall und reicht in der Regel voll aus.
Wenn es genauer werden soll, ist meist sowieso ein externer ADC
notwendig.
Georg schrieb:> Ja, aber du musst die Batteriespannung ja nicht auf 18 bit genau messen> - für den Zweck würde auch eine Zenerdiode reichen.
War natürlich auch mein erster Gedanke, aber eine Zenerdiode muß man
m.W. mit einem anständigen Strom betreiben, damit die Zenerspannung
stimmt. Und bei Batteriebetrieb ist das eher kontraproduktiv, wenn die
Spannungsmessung selbst irre Strom verbraucht.
m.n. schrieb:> Wenn Vcc von einem Linearregler kommt, nehme ich diese als Referenz.> Besser als 1% ist es auf jeden Fall und reicht in der Regel voll aus.
Ich betreibe ja direkt aus einer Batterie (bzw. will dies tun).
Horst schrieb:> Ich betreibe ja direkt aus einer Batterie (bzw. will dies tun).
Das war mir so nicht klar.
Dann kannst Du die Spannung einer ext. Referenz messen, aus der Du die
Batterie-/Versorgungsspannung ableiten kannst.
Einfach und günstig: LM336-2,5 mit 20ppm.
Horst schrieb:> War natürlich auch mein erster Gedanke, aber eine Zenerdiode muß man> m.W. mit einem anständigen Strom betreiben,
Es ist ja nicht so daß die Zenerdiode bei kleineren Strömen plötzlich
komplett aufhört zu funktionieren, sie wird nur etwas nach unten
abweichen in der Spannung, je nachdem wie rund das Knie in der Kennlinie
ist. Du könntest also mit dem Strom so weit runtergehen wie möglich und
dann wenn Du noch einen Portpin übrig hast die ganze
Zenerdiodenschaltung nur dann kurz mit Spannung versorgen wenn Du eine
neue Messung machen willst, es reicht ja wenn Du die Batterie nur alle
paar Minuten misst.
Ob nun Zenerdiode oder einfach ne rote LED, wenn man die Diode per
Vorwiderstand und Portpin nur ganz kurzzeitig anschaltet, dann schluckt
das Konstrukt über die Zeit gemittelt auch keinen nennenswerten Strom.
W.S.