- 12V Akku mit 280 Ah bauen         
Seite 2 von 4 ErsteErste 1234 LetzteLetzte
Ergebnis 11 bis 20 von 33

Thema: Stromaufnahme messen

  1. #11
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.09.2006
    Beiträge
    734
    Anzeige

    Praxistest und DIY Projekte
    Hallo Christoph,
    vorab: ich habe nicht den ganzen Thread gelesen.
    Im Prinzip hast du zwei möglichkeiten:
    - Spannungsabfall über shunt
    - Magnetfeldmeßung über Leiter

    Möglichkeit eins wird bei eher kleinen Leistungen verwenden. Nach U=R*I fällt eine Spannung ab, wegen P = I² * R darf der Strom nicht zu groß sein. Der Widerstand wird wegen der Verlustleistung möglichst klein gehalten und muss deswegen für den ADC verstärkt werden. Dafür kannst du z.B. einen diskreten OPamp verwenden. Oder den differentiellen ADC deines atmel µCs.
    Zusätzhlich hast du noch die Wahl des Bezugspunktes: Highside oder lowside. Lowside ist einfacher auszuwerten ist aber leider nicht immer möglich.
    Unter http://cq.cx/smps.pl findest du einen LED-Treiber. Der Strom wird über den differentiellen ADC eines µC gemeßen, und das sogar highside. Schau dir den Plan mal an, ich fand es ganz überraschend, dass so etwas funktioniert. Meiner meinung nach sollte man höhere Ströme sowieso nur differentiell meßen, weil die Masse sich auch verschieben kann.

    Zusätzlich hat man noch das Problem der überlagerten PWM. Man kann z.B. den Strom nur während der ON-Phase meßen, indem man die Shunt-SPannung über einen n-fet leitet, der synchron zum anderen Leistungsschalter durchgeschaltet wird. Sozusagen ein Kleinsignalmosfet parallel zu einem richtigen Mosfet. Den Strom kannst du dann zurückberechnen über den Dutycycle.
    Sinnvoller ist aber ein Tiefpass (allgemeines Konzept). Dieser lässt sich z.B. über ein RC-Glied realisieren (das suchst du wahrscheinlich). Dieses RC-Glied hat eine Grenzfrequenz. Unterhalb dieser Grenzfrequenz wird alles stark geglättet, bei exact dieser Frequenz kommen noch 70% des Wechselspannungsanteils durch (ist nicht richtig ausgedrückt, ich weiß). Damit auch alles schön glatt ist, sagt man dass f_grenz < 100*f_meß sein soll. Dadurch wird natürlich auch deine Regelung träger, falls du eine aufbauen möchtest.
    In dem Fall gibt es aktive Tiefpässe, die man z.B. mit einem Opamp realisieren kann.

    Bei einer Motorsteuerung ist es oft der Fall, dass man eine Überlastabschaltung realisieren möchte. Hiefür verwendet man gerne Komperatoren, die die am Shunt abfallende Spannung mit einer Referenzspannung vergleichen. Nur so kann man schnell genug reagieren, dort würde ich dann auch keinen Tiefpass verwenden. Zusätzlich gleicht man Softwarefehler aus oder hat ein weiteres Sicherungselement.

    Einen Instrumentenverstärker brauchst du IMHO nicht, das hört sich nach overkill an. Was du brauchst ist ein opamp mit geringem offset und je nach dem railtorail eingänge/ausgänge. Die Geschwindigkeit ist wahrscheinlich egal, der Spannungsbereich, Eingangswiderstand Stromverbrauch wahrscheinlich auch. Schau dir mal den LM358 an, der kostet wirklich wenig und vielleicht reichen dir die technischen Daten. Unter http://www.mikrocontroller.net/artic...erst.C3.A4rker findest du viele tolle empfehlungen, auch für alles andere

    Ein weiteres Problem ist der Shunt. Reichelt hat temperaturkompensierten Widerstandsdraht im Angebot, ist aber nicht billig. Conrad hat 0.1Ω smd widerstände, von denen könntest du mehrere parallel schalten. Selber machen könntest du ein Stück Kupfer, z.B. deinen Anschluss zum Motor. Allerdings hat Kupfer einen starken Temperaturkoeffizienten. Diesen könntest du entweder in Software kompensieren (temperatur meßen) oder als solchen akzeptieren, weil auch viele andere Bauelemente bei höheren Temperaturen nicht so leistungsfähig sind. Dann würde z.B. deine Überstromabschaltung bei 80°C ein gutes Stück früher anschlagen als bei 25°C.

  2. #12
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Bei den Brückenschaltungen wird der Strom meistens nicht direkt am Motor gemessen, sondern an den Treibertransistoren. Bei den L620x, L293 usw. sind dazu Sense Widerstände vorgesehen. Was man da mißt ist nicht genau der Motorstrom, aber schon recht nahe dran. Bei einer Brücke aus disktreten MOSFETs könnte man den Shunt auch so ähnlich einbauen. Weil das Signal dann schon auf die Masse bezogen ist, wird das messen deutlich einfacher. Dadurch das der Strom durch die Freilaufdioden nicht mitgemessen wird, ist der Unterschied zum echten Motorstrom relativ gering, das ist der Steuerstrom für den Schalter, der Reverse recovery der einen Dioden und ggf. der Stromfluss im Umschaltzeitpunkt.

    Auch wenn ich empfehlen würde den Strom Masseseitig zu messen:
    Die Widerstände für die Differenzverstärkerschaltung lassen sich relativ einfach dimensionieren. Die Hauptverstärkung sollten die ersten Stufen machen (z.B. 10 fach), der OP am Ausgang in der Regel nur etwa 2 fache Verstärkung. Wegen des großen Gleichtaktbereichs (volle PWM Spannung) kommt man kaum ohne Hilfsspannungen aus.

  3. #13
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.03.2006
    Ort
    nahe Tulln (Niederösterreich)
    Alter
    33
    Beiträge
    460
    Danke für die ausführliche Antwort!

    Ich weiß wie man einen Tiefpass dimensioniert, das dürfte kein Problem sein.

    Brauche ich wirklich nur einen OP amp pro motor, oder so eine differenzschaltung mit 2 OPamps?

    Das mit dem LED Treiber check ich nicht ganz, war das ein Beispiel oder brauch ich so ein Teil? Das hört sich ein bischen viel an für ne einfache Strommessung.

    Das ganze braucht nicht sooo hochgenau sein, der Komperator ist auch ne gute Idee, wenn der billig ist bau ich ihn auch noch zusätzlich ein.
    Ich will mit der Strommessung einen Überlastungsschutz einbauen, und feststellen ob der bot bergauffährt, oder ob er das gelände überhaupt passieren kann wenn er im gelände fährt. Und mir fallen sicher noch ein paar sachen ein die ich damit feststellen kann.

    lg christoph



    EDIT @Besserwessi:
    An welchem Ausgang kann ich die Spannung von den Sense-Widerständen abgreifen? Auf diesem "BLOCK DIAGRAMM" in dem L293 Datenblatt habe ich keine widerstände gefunden.

  4. #14
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    habs gerade gesehn, beim L293 sind tatsächlich keine extra Sense anschlüsse vorgesehen. Die hat wohl nur der L298. Bei den MOSFET-Brücken ist das mit dem Sense anschlüssen auch schwierig. (geht nur während der "Ein" phase, oder eventuell mit externen Schottkydioden).

    Beim L293 kann man dann nur die gesamte Stromaufnahme des Treibers messen. Das ist dann immer noch ein gutes Maß für die Belastung des Motors, aber abhängig vom PWM wert, der ja dem Controller bekannt ist.

  5. #15
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.09.2006
    Beiträge
    734
    - Du brauchst maximal einen opamp pro motor. Du kannst auch den internen verstärker vom µC verwenden. Ein operationsverstärker ist ein differenzverstärker, schau dir mal beispielschaltungen an. Ich verstehe das Problem nicht

    - LED-Treiber: LEDs sind stromgesteuert, ergo muss man den Strom meßen. Zusätzlich ist eine PWM vorhanden, also ganz genau dein Problem. da kann man sich etwas abschauen.

    - Sicherheitsabschaltungen macht man besser nicht in software. Also bietet sich die komperatormethode an, diese wird auch in netzteilen verwendet. lm311 smd kostet bei Reichelt 10Cent. Als shunt Leiterbahn.

  6. #16
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.03.2006
    Ort
    nahe Tulln (Niederösterreich)
    Alter
    33
    Beiträge
    460
    Hallo!
    Ich habe nochmal etwas gezeichnet: (erstmal ohne notabschaltung)
    Code:
                                          +5V
    
                                           |
           +--------------+                |
           |              |                |
           |              +---------+      | LM358                  o-----o
           |              |         |    |\|                        |     |
           |           S .-.        +----|-\       ___          ADC |     |
           |           H | |             |  >-----|___|------+------+  A  |
           |           U | |        +----|+/                 |      |     |
       o---+---o       N '-'        |    |/|                 |      |  V  |
       |       |       T  |         |      |      TIEFPASS  ---     |     |
       | L293D |          +---------+      |                ---     |  R  |
       |       |          |                |                 |      |     |
       |       |       o--+--o             |                 |      |     |
       |       |       |MOTOR|             |                 |      o-----o
       o---+---o       |     |             +-----------------+
           |           o--+--o             |
           |              |                |
           |              |                |
           |              |                |
           |              |                |
           +--------------+                |
                                           |
                                           |
                                          GND
    (created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
    Also ich verstehe schon um einiges mehr, aber ich habe noch 3 fragen:

    1. Ich habe jetzt den Tiefpass nach dem OPamp gezeichnet, gehört das eh so?

    2. Soll ich für die Strommessung auch ne leiterbahn als shunt nehmen oder nur für die notabschaltung? Wieviel spannung soll mindestens abfallen an dem shunt damit der opamp das ordentlich verstärken kann?
    Beim Conrad gibt es 4W Widerstände von 0,01ohm bis 0,05ohm um 1,25€. Wenn man den genauen Wert weiß kann man ja besser damit rechnen, oder?

    3. Du hast geschrieben "Schau dir mal den LM358 an, der kostet wirklich wenig und vielleicht reichen dir die technischen Daten." Welcher opamp wäre eine teurere Alternative, falls der LM358 nicht reicht?

    lg christoph

  7. #17
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die gezeichnete Schaltung klappt so nicht. den shunt direkt in serien zum Motor mißt zwar den Motorstrom, aber mit PWM Steuerung hat man sehr viel Gleichtaktstörungen. Ein Verstärker der da noch die kleine Differenz messen kann ist recht aufwendig, und müßte auch noch mehr Versorgungsspanung als der Motor haben. Wenn es nicht unbedingt sein muß, würde ich empfehlen den Strom zu messen, der in den L293 geht. Am einfachsten am Masseanschluß.

    Am shunt sollten bei maximaler Stromstärke etwa 100mV - 500mV Abfallen. Es kann auch etwas weniger sein, wenn der shunt gut ist (wenig thermospannung) und man einen guten Verstärker nimmt.
    Viel größer sollte der Spanungsabfall nicht werden, wegen er Wärme und der Störungen, wenn die Massen am L293 zu viel Spannug abkriegt.

    Für die Strommessung wäre übrigens der L293 B oder E besser geeignet als der L293D. Der L293B hat keine internen Freilaufdioden, und man kann so den Strom nur durch die Transsistoren gegen GND messen. Bis auf kleinere Störungen beim Umschalten ist das der mittlere Motorstrom, zumindestens wenn man im PWM-Betrieb immer einen der Low Treiber an läßt (das sollte ohnehin die normale Betreibsart sein). Die externen Freilaufdioden natürlich nicht vergessen.

    Normalerweise sollte der LM358 reichen, wenn man was besseres will, wäre ein AD8551/AD8552 gut, dann darf der Shunt eventuell etwas kleiner sein (ab 20 mV). Die Doppel OPs sind fast alle Pinkompatibel, man kann also leicht umsteigen und es gibt jede Menge Auswahl.
    Wenn man tatsächlich den Shunt direkt am Motor haben will, dann wären OP27, TL082 oder ähnliches geeigent.

  8. #18
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    30.09.2006
    Beiträge
    734
    Hallo Christoph,
    ab hier ist mein Wissen definitiv schwammig, also verlass dich nicht drauf.

    zu 1: Dann würdest du die Störimpulse mit verstärken, kannst also definitiv nicht den vollen Vcc Bereich für dein Messsignal ausnutzen. IMO würde es funktionieren, wäre aber nicht perfekt. Such mal nach aktiver Tiefpass, vielleicht hilft dir http://de.wikipedia.org/wiki/Sallen-Key_Filter. Wenn du schon einen Opamp hast, kannst du das auch ausnutzen Also ein Tiefpass + Verstärker in einem, das wäre ideal. Ich weiß aber nicht, ob das auch funktioniert. Theorie <--> Praxis :P

    zu 2: Du hast auch ein thermisches Rauschen sowohl im Widerstand als auch im Opamp, also gibt es nach unten hin eine theoretische Grenze. Die Hausnummer von Besserwissi kann ich bestätigen, in diesem Bereich scheint es noch wenig Probleme zu geben.
    Klar, mit dem genauen Wert kann man besser rechnen. D.h. falls du eine Konstantstromquelle oder eine Stromanzeige bauen möchtest, brauchst du auch einen Wert mit dem du rechnen und auf den du dich verlassen kannst. Also dafür die Conradwiderstände. Gibt's auch in SMD und man kann sie parallel schalten.
    Wenn du nur möchten willst "zuviel strom" oder "noch nicht zuviel Strom" dann kann auch ein Stück Leiterbahn genügen. Alles eine Frage von dem was du machen möchtest. Die Widerstandsmethode ist technisch gesehen besser.

    zu 3: Nach dem was Besserwissi geschrieben hat würde ich es erstmal mit dem lm358 versuchen. Den kann man immer mal brauchen und so teuer ist er auch nicht. Alternativen kenne ich keine, niimm nur nicht den *741.


    Zu deiner Schaltung:
    - deine Meßung ist eine Mischung aus high- und lowside, schonmal sehr schwierig
    - zusätzlich hast du beim Shunt die Induktionsspannung des Motors, die u.U. sehr hoch werden kann. Das ist nicht so gut für die Eingänge des opamps.

    Meß doch einfach den Strom durch den L293?. P = U*I, dann weißt du ja was abgeht. Die Masseverschiebung dürfte nicht soviel ausmachen.

    @besserwissi
    Sorry dass ich deinen Beitrag fast 1:1 nacherzählt habe, ich dachte es würde ihm helfen eine zweite Meinung zu hören.

  9. #19
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.03.2006
    Ort
    nahe Tulln (Niederösterreich)
    Alter
    33
    Beiträge
    460
    ok, ihr habt mich überredet/überzeugt, ich messe die Spannung an nem Shunt nach dem L293, alles andere ist viel zu kompliziert.

    Zur dimensionierung des shunts: (sagt mir bitte ob es stimmt)

    Meine 2 Motoren brauchen je 300mA, unter volllast/blockierung der räder sagen wir mal 400mA.
    Es sollten also ca. 800mA in den L293 fließen.
    Am Shunt sollen bei nem guten widerstand und nem AD8551 als OPamp sagen wir mal 20-100mV abfallen.

    R=U/I=0,1/0,8= 0,125 Ohm

    lg christoph


    EDIT: Verdammt, ich habe gerade bemerkt, dass weder den AD8551 noch den AD8552 beim Conrad gibt. Gibt es etwas in der selben Qualität, was besser erhältlich ist (beim conrad), irgendein standardbauteil.

  10. #20
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    So schlecht ist der LM358 gar nicht. Ein TLC272 wäre etwas besser, ein LT1013 noch einmal ein bischen. Als ungefähr gleichwertiger Ersatz für den Ad8551 gäbe es den LTC1152, ist aber recht teuer. Der Hauptvorteil der teueren OPs ist der geringere Offset, aber den kann man ja in Software abgleichen wenn man den Motor aus hat.

    Mit dem Tiefpass vor dem AD wandler ist das so eine Sache, man kann entweder einen Tiefpass nehmen und den mittleren Strom messen, oder man nimmt extra keinen Tiefpass und mißt den Strom syncron mit dem PWM Signal gerade in der An-phase (geht natürlich nicht bei ganz wenig Geschwindigkeit). Der Tiefpass ist für die Software einfacher.

    gerade gesehen: Conrad ist beim TLC272 ja wirklich teuer.

Seite 2 von 4 ErsteErste 1234 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test