Forum: Projekte & Code LTC1286 mit Aref über PWM


von chris (Gast)


Angehängte Dateien:

Lesenswert?

Guten Tag,

da ich eines meiner Projekte überarbeite und die alte Spannungsmessung 
ersetzen will, durch einen externen ADC, bin ich auf den LTC1286 und 
MAX187 gestoßen. Enstscheidung fiel eigentlich ganz leicht auf den 
MAX187 weil der soweit alles intern hat und vorallem 4096mV als AREF. 
Naja da ich noch was für nen Bekannten mitbestellen wollte und dieses 
nicht bei Reichelt gab hab ich mich mal bei Conrad umgeschaut, hatten 
leider diese für mein Bekannten aber leider nicht den MAX187. Toll dacht 
ich mir beide Datenblätter studiert und dem LTC mitbestellt, ohne 
darüber nachzudenken wie ich AREF stabil bekomme.

Nach ein wenig umhergespiele dacht ich mir mit T2 im Mode3 noninvert 
eine PWM generieren über nen Tiefpass schicken und auf ca 4096mV 
einstellen

4096/5000mV = 0.8192 * 255bits = 209

welches im OCR2 geschrieben wurde und gleichzeitig kann man AREF bequem 
verändern.

Also den LTC verkabelt, Programm geschrieben, AREF auf ca 4096mV 
eigestellt und ausgelesen und das was die Anzeige wiedergab hat mich 
überrascht das es so recht gut funktioniert. Dann noch ein paar 
Messungen gemacht mit dem Oszi und am CS-pin bricht die REF immer ganz 
leicht ein ich vermute, das dass RC-Glied nicht genügend Strom zur 
Verfügung stellt oder es liegt an meiner Freiluftverdrahtung.

Zur SW selbst Messung starten und Daten empfangen und es werden 8 
Messung durchgeführt, aufaddiert und wieder /8 geteilt.

Im Anhang die ZIP.
Daten werden direkt an den PC über RS232 mit der Eingabe eines 'S' 
übertragen
getestet mit dem STK500

Anzeige      Messgerät          Programm
             1.000V             1.002V
             2.000V             2.003V
             2.500V             2.502V
             4.000V             3.993V

Gruß chris

von Marius S. (lupin) Benutzerseite


Lesenswert?

Dir ist schon klar, dass deine "Referenzspannung" keine Referenzspannung 
ist, oder?

Warum nicht einfach die 5 Volt Versorgung als Referenzspannung 
verwenden?
Oder noch besser eine Referenzspannungsquelle mit bestellen.
Müsste genauer sein als deine PWM.

Ich sehe gerade, dass du ASM nutzt. Das macht die Umrechnung mit 5V 
Referenzspannung etwas komplizierter, aber nicht viel:
ADC-Spannung = ADC-Wert * (Ref-Spg / 2^Auflösung)

Also bei 5V Ref und 12 Bit Auflösung:
ADC-Spannung = ADC-Wert * (5V / 4096)

Wenn man z.B. 1024 als ADC-Wert hat rechnet man erstmal 1024*5 und 
danach teilen durch 4096.

1024*5 = 1024 + 1024<<2 = 5120

Schrittweise teilen:
5120 / 4096    = 1 und Rest 1024 -> 1    Volt
1024*10 / 4096 = 2 und Rest 2048 -> 1,2  Volt
2048*10 / 4096 = 5 und Rest 0    -> 1,25 Volt

Das ganze so lange teilen bis Rest zu null wird oder maximale Anzahl an 
darstellbaren Ziffern erreicht ist (dann könnte man noch die nächste 
Ziffer ausrechnen und runden).

Das teilen durch 4096 macht man natürlich nicht wirklich.
Das teilen ist in jeden Schritt eine Schiebeoperation und eine 
Maskierung:
- Den ganzzahligen Anteil mit Schieben ermitteln also z.B. 10240>>12=2
- Den Rest mit Maskierung ermitteln also z.B. 10240&0xFFF=2048

Die Multiplikationen mit *5 und *10 macht man auch durch schieben und 
addieren.

: Bearbeitet durch User
von chris (Gast)


Lesenswert?

> Dir ist schon klar, dass deine "Referenzspannung" keine Referenzspannung
> ist, oder?
> Warum nicht einfach die 5 Volt Versorgung als Referenzspannung
> verwenden?

5V Ub kommen doch auch von einem Festspannungsregler und der schwankt 
doch bekanntlich auch.

> Oder noch besser eine Referenzspannungsquelle mit bestellen.

Leider war die Bestellung schon raus deshalb musste ich mir was 
einfallen lassen.

> Müsste genauer sein als deine PWM.

joar die Genauigkeit ist bei ca 4089-4090mV, bei 209bit im OCR2, weils 
ein 8-bitTimer ist mit einem 16bitTimer kann man das noch genauer 
einstellen. mmh ich glaube die REF ist eher stabiler vom Spannungsdrift 
im zeitlichen Verlauf. Die F von jeglichen Controllern sind doch 
verdammt stabil oder nicht?
Die 4090mV sind recht stabil weil die F stabil ist. PWM-Frequnez hab ich 
auch geändert und die Spannung bleibt die selbe egal bei welcher F und 
somit ist nur noch UB die auschlaggebende Größe die wiederrm vom 
Festspannungsregler abhängt.

Sicherlich kann man noch nen Impedanzwandler hintendran hängen um 
eventuell mehr Strom zur Verfügung zu stellen.

> Also bei 5V Ref und 12 Bit Auflösung:
> ADC-Spannung = ADC-Wert * (5V / 4096)

Ähm die Berechnungsgrundlage ist mir schon klar und 1mV Auflösung wollt 
ich erreichen ohne großartig umher zurechnen.

Hast du das denn mal ausprobiert ?

von Ernst O. (ernstj)


Lesenswert?

chris schrieb:
> 5V Ub kommen doch auch von einem Festspannungsregler und der schwankt
> doch bekanntlich auch.

chris schrieb:
> Die 4090mV sind recht stabil weil die F stabil ist.

Dir scheint entgangen zu sein, dass das gefilterte PWM Signal nicht nur 
von der Pulsweite, sondern auch von Ub abhängt... und die Frequenz des 
PWM Signals hat bei einigermasssen sinnvoller Filterung keinen! Einfluss

von chris (Gast)


Lesenswert?

chris schrieb:

> PWM-Frequnez hab ich
> auch geändert und die Spannung bleibt die selbe egal bei welcher F und
> somit ist nur noch UB die auschlaggebende Größe die wiederrm vom
> Festspannungsregler abhängt.

von Ernst O. (ernstj)


Lesenswert?

Hmmlhrrgttskrmnt

Nimm etwas anderes als Ub für deine URef, notfalls halt einen separaten 
5V Regler, dessen Spannung hängt dann nicht davon ab, was der Rest der 
Schaltung gerade macht. Richtige Referenzspannnugsquellen sind ja auch 
"nur" Spannungsregler, halt (temperatuur)stabiler.

Übrigens rechne mal nach, wieviel 2hoch12 ist (kleiner Tip: 4090 ist 
nicht richtig). Wenn dieser Fehler allerdings egal ist, warum bleibst du 
dann nicht gleich bei der 10 bit Auflösung des ADC im Controller? Oder 
geht es nur um  das Prinzip, mal einen externen ADC durch die Manege 
getrieben zu haben?

von Marius S. (lupin) Benutzerseite


Lesenswert?

chris schrieb:
> PWM-Frequnez hab ich
> auch geändert und die Spannung bleibt die selbe egal bei welcher F und
> somit ist nur noch UB die auschlaggebende Größe die wiederrm vom
> Festspannungsregler abhängt.

Okay, selbst wenn du deine 5V Versorgung mit der PWM ideal runter teilen 
kannst dann bleibt die Frage wofür der ganze Aufwand wenn man auch die 
5V Versorgung als Ref. nehmen könnte? Nur für die einfachere Berechnung?

Außerdem hat ein Port-Pin einen Innenwiderstand welcher unsymmetrisch 
und von Umgebungseinflüssen/Toleranzen abhängig ist.

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.