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
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
> 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 ?
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
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.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.