Hallo, die Auflösung des internen ADC des 89C51CC03ers reicht für mein Projekt leider nicht aus. Ich möchte Strom messen (60mv Shunt - 150A) Bei 10 Bit bekomme ich eine Auflösung von 146 mA, deshalb würde ich gerne einen 12 Bit ADC einsetzen, dann bekommme ich immerhin 36,6 mA Schritte, das sollte dann reichen um die entnommene und zugeführte Leistung einigermassen genau zu ermitteln. Ich habe mir den 12 Bit ADS7816 rausgesucht, er wird seriell angesteuert über !CS, DCLOCK und Dout. Ich möchte das folgendermassen machen: - Mit einem Port DCLOCK hin und her schalten. - Den Chip mit CS=0 aktivieren. - Während den nächsten 12 Impulsen die bits von Dout lesen und zu einem 12 Bit Wort zusammensetzen. Ist das das richtige Vorgehen oder gibt es da eine elegantere Lösung? Gruss Gerd
Es gibt auch die Möglichkeit, die Auflösung eines gegebenen Wandlers durch Oversampling zu erhöhen. Das setzt natürlich die effektiv erzielbare Samplerate herab; um vier Bit zusätzliche Auflösung zu gewinnen, ist 256faches Oversampling erforderlich, bei zwei Bit genügt 16faches Oversampling. Dieses Konzept ist in einer AppNote* von TI beschrieben, ich habe es erfolgreich mit dem in verschiedenen MSP430-Varianten verwandten 12-Bit-A/D-Wandler umgesetzt (auf 'F449, 'F1611 und 'F5438), mit dem so stabile 16 Bit Auflösung erreicht wurden. Das Prinzip ist einfach: 256 Samplewerte werden addiert und die resultierende Summe durch 64 geteilt. *) http://focus.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=slaa323
Rufus Τ. Firefly schrieb: > Das Prinzip ist einfach: 256 Samplewerte werden addiert und die > resultierende Summe durch 64 geteilt. Kann man machen, wenn man sie gerne selber in die Tasche lügen will. Das Ergebnis ist hochgradig vom Rauschen des Signals und des ADC abhängig. Es ist im allerbesten Falle monoton, aber keinesfalls linear. Ich hab das selber mal mit nem ATmega8 probiert, der hat auch nen 10 Bit ADC. Ich habe nichtmal ein 11. Bit rauskitzeln können. Wenn ein ADC so gut wäre, daß er 12 Bit Auflösung schafft, warum sollte dann der Hersteller nur 10 Bit ausgeben? Peter
Gerd F. schrieb: > Ist das das richtige Vorgehen oder gibt es da eine elegantere Lösung? Ja, so wird das gemacht. Nennt sich Software-SPI. Peter
Ich hab den 12 Bit ADC auf meinem layout auch schon untergebracht, es geht mir nur noch um die Softwaremässige Ansteuerung, ob der oben beschriebene Weg so funktionierten wird oder ob man das anderst macht, ich hab eben nich nie mit einem Chip der auf diese Weise angesteuert wird, gearbeitet. Gruss Gerd
Das hat möglicherweise auch mit dem Aufbau des ADC zu tun, da gibt es ja unterschiedliche Funktionsweisen. Daß TI vollständige Augenwischerei betreibt, das wage ich zu bezweifeln. Peter Dannegger schrieb: > Wenn ein ADC so gut wäre, daß er 12 Bit Auflösung schafft, warum sollte > dann der Hersteller nur 10 Bit ausgeben? Nun, er ist dann ja erheblich langsamer, was sich nicht so schick verkauft. Ich werde mal meinen Testaufbau (besteht im wesentlichen hieraus: http://olimex.com/dev/msp-449stk2.html) überprüfen, ich kann dafür eine Präzisionsspannungsquelle mit vier Dekaden und auch eine Widerstandsdekade mit sechs Dekaden verwenden; Kontrollmessungen kann ich mit einem genauen kalibrierten DVM anstellen. Kann jetzt aber noch nicht genau sagen, wann ich dazu kommen werde; im Büro ist gerade Land unter.
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.