Archiv verlassen und diese Seite im Standarddesign anzeigen : Werte berechnen mittels OpenOffice Calc
Bernd_Stein
07.01.2012, 12:09
Hallo zusammen,
ich interessiere mich z.Zt. für den ADC des ATtiny26. Beim durcharbeiten des Datenblattes ist mir die Tabelle auf der Seite 100 untergekommen. Dort ist mir aufgefallen das z.B. bei
VADCm + VREF / GAIN = 1023
und
VADCm + (1023/1024) VREF / GAIN = 1023
das gleiche Ergebnis herauskommt. Nun wollte ich herausfinden wo dies noch der Fall ist.
Kann mir jemand schreiben, wie ich es mit OpenOffice calc anstellen kann mir dieTabelle unten zu vervollständigen. Also die 1023 Werte für
VADCm + (1/1024) VREF / GAIN = 1
bis
VADCm + (1023/1024) VREF / GAIN = 1023
auszuspucken. Falls dies nicht so einfach sein sollte, wo nach muß ich gezielt suchen ?
Nach " Formel " usw. brachte mich nicht weiter.
Table 44. Correlation Between Input Voltage and Output Codes VADCn Read code Corresponding decimal value
VADCm + VREF /GAIN 0x3FF 1023
VADCm + (1023/1024) VREF /GAIN 0x3FF 1023
VADCm + (1022/1024) VREF /GAIN 0x3FE 1022
... ... ...
VADCm + (1/1024) VREF /GAIN 0x001 1
VADCm 0x000 0
Die Tabelle ist auf Seite 100 zu finden.
http://www.atmel.com/dyn/resources/prod_documents/
(http://www.atmel.com/dyn/resources/prod_documents/)Bernd_Stein
Für GAIN gibt es ja nur wenige diskrete Schritte, du kannst also die Formel umstellen, die jeweiligen Werte für GAIN und deinen gewünschten Ergebniswert einsetzen und errechnest damit deinen gesuchten Parameter. (Recht allgemein die Antwort, weil mir deine schreibweise irgendwie nicht viel sagt und der Link übrigens auch tot ist ...)
mfG
Markus
Bernd_Stein
07.01.2012, 21:29
...
(Recht allgemein die Antwort, weil mir deine schreibweise irgendwie nicht viel sagt und der Link übrigens auch tot ist ...)
Ich weiß das ich mich meistens umständlich ausdrücke. Ich probier es mal so :
Ich möchte herausfinden, an welchen Stellen das Runden zum gleichen Ergebnis führt. Um nicht tausende von Rechnungen selber zu machen, dachte ich das dies mit OpenOffice Calc sicherlich erheblich schneller geht. Ich weiß nur nicht welche Formel bzw. Gleichung ich dafür benutzen soll.
Da muß ja irgend wie eine FOR...NEXT Schleife ( so wie man dies z.B. in BASIC macht ) ablaufen. Wobei die Variable von 0 bis 1023 zählt und gleichzeitig den Zählumfang bildet.
VADCm + ( " VARIABLE " / 1024) VREF /GAIN =
Seltsam mit dem Link, jetzt müsste er aber funktionieren
Die Tabelle ist auf Seite 100 zu finden.
http://www.atmel.com/dyn/resources/prod_documents/doc1477.pdf
Bernd_Stein
Ich glaube in der Tabelle steckt ein Fehler und konnte eine solche Angabe in zwei anderen Datasheets nicht finden.
Die relevante Formel lautet ja: ADC = dV / VRef * 1024 * GAIN, wobei dV bei einer Messung gegen GND die Spannung am Eingang ist, und bei einer differentiellen Messung dV = Vpos - Vneg. Es gibt damit 1023 diskrete, gleichmäßig verteilte Schritte von dV = 0V bis dV = VRef.
Solche Aufgaben erledige ich in Calc übrigens dadurch, dass ich einfach ein Feld mit einer 1 fülle und dann nach unten hin aufziehe, Calc nummeriert dann automatisch durch. In einer Formel kannst du auf das erste Feld Bezug nehmen, wenn du die Formel dann ebenso "aufziehst", passt Calc automatisch die Feldreferenz an, die Kopie der Formel in der zweiten Zeile bezieht sich also dann auf das zweite Zahlenfeld (in das beim Aufziehen von Calc eine 2 gefüllt wurde)
mfG
Markus
Bernd_Stein
11.01.2012, 10:19
...
Solche Aufgaben erledige ich in Calc übrigens dadurch, dass ich einfach ein Feld mit einer 1 fülle und dann nach unten hin aufziehe, Calc nummeriert dann automatisch durch.
...
Ich habe jetzt viel versucht bekomme, das jedoch nicht hin. Ich möchte ja das das Folgende " automatisch " geschieht.
1 / 1024 * 2,56 / 20 = 0,000125
2 / 1024 * 2,56 / 20 = 0,000250
3 / 1024 * 2,56 / 20 = 0,000375
4 / 1024 * 2,56 / 20 = 0,000500
5 / 1024 * 2,56 / 20 = 0,000625
usw.
Was ich auch mache, ich bekomme nie die richtigen Ergebnisse, wie hier gezeigt.
Wie bekomme ich dies hin das immer 1 /... , 2/... , 3/... automatisch vorgegeben wird ?
Bernd_Stein
Du schreibst in eine Zelle eine 1, markierst die Zelle durch einen Klick und ziehst dann das schwarze Kästchen am unteren rechten Rand der Zellenmarkierung nach unten. Wenn du loslässt, füllt Calc die in deinem aufgezogenen Bereich liegenden Zellen mit aufeinanderfolgenden Zahlen.
Dann schreibst du deine Formel nebendran und verwendest anstelle der 1 / [...] einen Zellenverweis, etwa $A1 / [...]. Dann "ziehst" du die Formel genauso nach unten wie du es eben mit der "1" gemacht hast.
Was passiert? Calc passt den Zellenverweis automatisch an, macht also in der zweiten Zeile aus dem $A1 ein $A2 etc.
Du musst also die erste Spalte bis 1024 aufziehen, die zweite ebenso weit..
mfG
Markus
Bernd_Stein
11.01.2012, 15:23
...
Du musst also die erste Spalte bis 1024 aufziehen, die zweite ebenso weit..
Vielen, vielen Dank. Es hat endlich geklappt.
21148
Bernd_Stein
MagicWSmoke
12.01.2012, 20:09
Was hat das mit Assembler-Programmierung zu tun ? :-k
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.