Hallo, ich habe eine Frage zu der Strommessung mit dem ADC Eingang eines Aduc7026 Eval Boards. Als Stromsensor nutze ich einen LEM Wandler, der an den ADC Eingang des uC eine Spannung zwischen 2,5V + 0,625*(ip/ipn) liefert. Wobei 2,5V die Offsetspannung darstellen. IP ist der Primärstrom, also der Messstrom. Der Nennstrom IPN beträgt 100A (ein HASS 100-S LEM Wandler). Wie realisiert (programmiert) man nun die Messung? Sagen wir man ich habe einen Strom IP von +10A. Dann gilt am ADC Eingang des uC 2,5V + 0,625V*(10A/100A) = 2,5625V. Mir ist klar, dass ich im Mikrocontroller die oben angegebene Rechnung so umstellen muss, dass der uC 10A als Ergebnis errechnet, doch wie komme ich erstmal auf die 2,5625V? Die Antwort auf diese Frage mag für einen Programmierer jetzt nicht besonders schwer aussehen, doch ich bin eben kein (guter) programmierer und habe nicht soviel Kontakt mit Mikrocontrollern gehabt. Ich wäre für jeden Hinweis dankbar.
Arthur Peters schrieb: > Sagen wir man ich habe einen Strom IP von +10A. Dann gilt am ADC Eingang > des uC 2,5V + 0,625V*(10A/100A) = 2,5625V. stimmt. Arthur Peters schrieb: > Mir ist klar, dass ich im Mikrocontroller die oben angegebene Rechnung > so umstellen muss, dass der uC 10A als Ergebnis errechnet, doch wie > komme ich erstmal auf die 2,5625V? Die Rechnung stimmt doch, aber: Zunächst muss der Messbereich des Kontrollers zu dem Wertebereich des Signals passend gemacht werden: Ausgangsbereich der Werte ist wohl 2,5V plusminus 0,625 V. Arbeitsbereich eines normalen AVR ist aber 0V bis 2,5V. und schon passt es nicht. Eine Lösung wäre eine Operationsverstärkerschaltung, die einen Versatz um die halbe Referenzzspannung erzeugt und eventuell die max 0,625V-Komponente verdoppelt. ( Summierer mit Verstärkungsfaktor -2 für den Eingang und Addition von -1/2 (2,5V, uref), also die 1,875 V bis 3,125 V auf 0V bis 2,5V umsetzt. Diesen Bereich kann dann der Wandler lesen. Anschließend beim Einleseergebnis rechnen: Offset abziehen/Addieren, dass bei 1,25V am Eingang das AVR die Zahl Null entsteht. Danach noch multiplizieren, dass aus den plusminus 512 die Zahl 10,00 entsteht. Oder: einen AD-Wandler suchen, der den Spannungsbereich 1,875 bis 3,125V lesen kann. Anschließend offset abziehen und wieder skalieren, dh. das Messergebnis so multiplizieren, dass 10 entsteht.
@Arthur Peters (Gast) >Wie realisiert (programmiert) man nun die Messung? >Sagen wir man ich habe einen Strom IP von +10A. Dann gilt am ADC Eingang >des uC 2,5V + 0,625V*(10A/100A) = 2,5625V. Ja. >Mir ist klar, dass ich im Mikrocontroller die oben angegebene Rechnung >so umstellen muss, dass der uC 10A als Ergebnis errechnet, doch wie >komme ich erstmal auf die 2,5625V? Messen? Oder fehlt dir die allgemeine ADC-Grundgleichung? https://www.mikrocontroller.net/articles/Festkommaarithmetik
@ Peter R. (pnu) >Zunächst muss der Messbereich des Kontrollers zu dem Wertebereich des >Signals passend gemacht werden: Ausgangsbereich der Werte ist wohl 2,5V >plusminus 0,625 V. Ja. >Arbeitsbereich eines normalen AVR ist aber 0V bis 2,5V. Nö. Das hängt von der Referenzspannung des ADC ab. Die kann intern 1,1 oder 2.56V sein oder auch extern bis 5V hochgehen. Im einfachsten fall nimmt man VCC=5V=Vref. Oder eine halbwegs genaue Spannungsreferenz mit 4,096V anlegen. https://www.mikrocontroller.net/articles/Standardbauelemente#Shuntregler.2FSpannungsreferenz >Eine Lösung wäre eine Operationsverstärkerschaltung, NEIN! Eher ein 2:1 Spannungsteiler, wenn man mit der internen 2,56V Referenz arbeiten will.
>> Nö. Das hängt von der Referenzspannung des ADC ab. Die kann intern 1,1 >> oder 2.56V sein oder auch extern bis 5V hochgehen. Im einfachsten fall >> nimmt man VCC=5V=Vref. Oder eine halbwegs genaue Spannungsreferenz mit >> 4,096V anlegen. Blödsinn, der ADUC lässt hier keine 5V zu, siehe Datenblatt. Peter hat hier bereits einen guten Ansatz geliefert. Der Rest ist Umrechnung und fertig.
Ohhh, Betriebsblind, irgendwie bin ich von einem AVR ausgegangen. 8-0 Trotzdem ist in dem Fall ein Spannungsteiler deutlich einfacher und ausreichend.
Peter R. schrieb: > Arthur Peters schrieb: > Zunächst muss der Messbereich des Kontrollers zu dem Wertebereich des > Signals passend gemacht werden: Ausgangsbereich der Werte ist wohl 2,5V > plusminus 0,625 V. > Arbeitsbereich eines normalen AVR ist aber 0V bis 2,5V. und schon passt > es nicht. > > Eine Lösung wäre eine Operationsverstärkerschaltung, die einen Versatz > um die halbe Referenzzspannung erzeugt und eventuell die max > 0,625V-Komponente verdoppelt. ( Summierer mit Verstärkungsfaktor -2 für > den Eingang und Addition von -1/2 (2,5V, uref), also die 1,875 V bis > 3,125 V auf 0V bis 2,5V umsetzt. Diesen Bereich kann dann der Wandler > lesen. > > Anschließend beim Einleseergebnis rechnen: Offset abziehen/Addieren, > dass bei 1,25V am Eingang das AVR die Zahl Null entsteht. Danach noch > multiplizieren, dass aus den plusminus 512 die Zahl 10,00 entsteht. > > Oder: einen AD-Wandler suchen, der den Spannungsbereich 1,875 bis 3,125V > lesen kann. Anschließend offset abziehen und wieder skalieren, dh. das > Messergebnis so multiplizieren, dass 10 entsteht. Also ich habe neben dem Aduc Eval Board noch einen "selbst gebauten" Board der Hochschule, der auch auf einem Aduc7026 aufbaut. Auf dessen EAGLE Schaltplan habe ich nun entdeckt, dass an einem Pin VRef/2 (=1,25V) nach außen führt. Die VRef werden voher von einem OPV bearbeitet. Also könnte ich im Grunde gesehen die VRef/2 dieses Pins nutzen? Ich hätte somit einen Spannungsbereich von 0,625V bis 1,875V. Mir ging es bei der Fragestellung eher um die programmtechnische Umsetzung eines ADC zur Messung. Gut das ich gefragt habe, denn es war mir nicht klar, dass der Aduc einen Arbeitsbereich von 0V bis 2,5 hat. Hätte gedacht, dass bis zu Versogungsspannung von 3,3V alles OK ist. Das was ich als Laie nicht ganz verstehe ist weiterhin, wie ich eben die "Messung" mache. Das Signal von z.B. 1,25V kommt am Eingang an und wird durch den ADC digitalisiert. Das heißt doch, dass "z.B." bei einer Spannung von 2,5V und einer Auflösung von 8Bit alle Bits mit 1 belegt werden, sodass FF gilt. Und bei einer Spannung von 1,25V würde entsprechend 0F gelten. (Dies ist alles nur Beispielhaft dargestellt) Das Programm würde dann über eine Umrechnung "wissen", dass es 1,25V sind, weil es eben weiß, dass bei FF eine Spannung von anliegt. Und über eine weitere Umrechnung halt heraus finden, welcher Strom fließt. Liege ich hiermit richtig?
@Arthur Peters (Gast) >Das was ich als Laie nicht ganz verstehe ist weiterhin, wie ich eben die >"Messung" mache. ADC konfigurieren und Messung starten. Da musst du mal nach Beispielen für deinen uC suchen. > Das Signal von z.B. 1,25V kommt am Eingang an und wird > durch den ADC digitalisiert. Ja. >Das heißt doch, dass "z.B." bei einer Spannung von 2,5V und einer >Auflösung von 8Bit alle Bits mit 1 belegt werden, sodass FF gilt. Ja. >Und bei einer Spannung von 1,25V würde entsprechend 0F gelten. (Dies ist >alles nur Beispielhaft dargestellt) Nö, eher 0x80 ;-) >Das Programm würde dann über eine Umrechnung "wissen", dass es 1,25V >sind, weil es eben weiß, dass bei FF eine Spannung von anliegt. Ja. > Und über >eine weitere Umrechnung halt heraus finden, welcher Strom fließt. Sicher.
@ Arthur Peters (Gast) > Abschnitt_VRef.png Wer hat den den Schaltplan verbrochen? Schaltplan richtig zeichnen
Falk B. schrieb: > @ Arthur Peters (Gast) > >> Abschnitt_VRef.png > > Wer hat den den Schaltplan verbrochen? > > Schaltplan richtig zeichnen Ist nicht mein Mist ;D. Hat mal jemand gemacht, dessen Augabe es war, aus einem Aduc7026 Chip ein nützliches Board für das Labor zu entwerfen.
Falk B. schrieb: > @Arthur Peters (Gast) > >>Das was ich als Laie nicht ganz verstehe ist weiterhin, wie ich eben die >>"Messung" mache. > > ADC konfigurieren und Messung starten. Da musst du mal nach Beispielen > für deinen uC suchen. > >>Und bei einer Spannung von 1,25V würde entsprechend 0F gelten. (Dies ist >>alles nur Beispielhaft dargestellt) > > Nö, eher 0x80 ;-) Ok, ich scheine ja bei fast allen Punkten richtig zu "denken". An dem 2,5V -> FF 1,25V -> 0F scheint man ja auch zu erkennen, dass ich nicht so oft mit uC zutun habe ;D. Ich bedanke mich. Werde mir ein paar Beispiele ansehen.
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.