PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Stromaufnahme messen



Christoph2
07.04.2008, 17:28
Hallo!
Ich habe schon wieder eine Frage: Wie kann man am bessten die Stromaufnahme von einem Getriebemotor messen?

Ich habe mir gedacht über einen Shunt an den Adc anschließen, aber da habe ich das Problem, dass ich
1. keinen Massepunkt beim motor habe
2. der Motor mit einer pwm spannung angesteuert wird, also ist die Spannung am Shunt ja dann auch rechteckig.

Also da habe ich mir schon was überlegt, ich weiß aber nicht, ob das funktioniert:

Also ich schließe einen Shunt in Serie zum Motor, paralell zu diesem Shunt einen Kondensator, der mir das ganze glättet. Nur bin ich mir nicht sicher ob das mit dem Glätten funktioniert, weil sich der Kondensator ja auch über den Shunt entladet, und da der Shunt ja ziehmlich klein ist, entladet er sich schnell.

Das Problem mit dem Massepunkt ist glaube ich komplizierter. Ich glaube da braucht man einen op-amp. Ich habe aber noch nie mit einem gearbeitet, und ich weiß nicht genau wie ich den da anschließen soll.

Kann mir jemand weiterhelfen? Ich habe hier schon öfters screenshots von computerinterfaces gesehen, wo die stromaufnahme der motoren gestanden ist. Wäre schön wenn mir jemand sagen könnte wie er das gemacht hat.

lg christoph


EDIT: Muss ich, wenn ich den Ladestand eines Bleiakkus wissen will, nur die Spannung an ihm mit einem ADC des AVRs messen?

Besserwessi
07.04.2008, 18:17
Wenn wirklich der Strom durch am Motor gemessen werden soll, wird das mit den shunt eine Lösung sein. Bei einem Motor sollte durch die Induktivität der Strom schon etwas geglättet. Ein einfacher Kondensator parallel zu shunt bringt, wie schon vermutet wenig wegen der kurzen Zeitkonstante. Man kann zwischen Shunt und Kondensator aber einen Widerstand schalten, um auf eine brauchbare Zeitkontante zu kommen.
Um auf das normale Massepotential zu kommen, wird man dann einen Differenzverstärker brauchen.

Eine alternative zum shunt wäre eine magnetische Strommessung, die hat auch keine Probleme mit der Position in der Brüchenschaltung.

Wenn es nur darum geht die Last grob zu erkennen, kann man auch den Strom der gesamten Motorsteuerung messen. Man muß da aber berücksichtigen, das je nach PWM Wert der Motorstrom größer sein wird als der Strom vor der Motorssteuerung. Eine Grobe umrechnung sollte aber möglich sein.

Christoph2
07.04.2008, 20:17
Also genau hätte ich es schon gerne.
Meinst du mit magnetische methode einen Stromwandler?
Das wird dann nämlich ziehmlich teuer glaub ich.

Gibt es diesen Differenzverstärker als fertiges IC auch, weil in wikipedia finde ich nur eine (für diesen Zweck ziehmlich komplizierte) transistorschaltung?

lg christoph

Besserwessi
07.04.2008, 20:41
Mit der magnetischenmethode waren Stromwandler gemeint. Wobei man hier auch noch die Gleichstomausführung braucht.
Differenzverstärker gibt es auch fertig, da heissen die meistens Instrumenten-Verstärker. Man kann aber auch einen oder besser 3 Operationsverstärker und ein paar Widerstände dazu nehmen. Mal im Wiki bereich nachlesen.
Den Ladezustand von Bleiakus kann man einigermaßen anhand der Spannung beurteile. In der Regel wird man aber eine Spannungsteiler brauchen um den Messbereich des AD-wandlers zu kommen.

Christoph2
08.04.2008, 22:33
Hallo!
Die Lösung mit dem Differenzverstärker gefällt mir sehr gut.

Hast du diese Schaltung gemeint, mit den 3 Operationsverstärkern?
https://www.roboternetz.de/wissen/index.php/Bild:Operationsverst%C3%A4rkerBild7.gif

Hat die nur den Vorteil dass die signale die gleiche laufzeit haben? Was bringt das eigentlich? Diese Schaltung kommt auch mit 2 Op amps aus: (die rechte von den beiden)
https://www.roboternetz.de/wissen/index.php/Bild:Operationsverst%C3%A4rkerBild3.gif

Kannst du mir einen Standardtyp sagen, den man für den Zweck gut verwenden kann?

Um wieviel kosten diese fertigen Differenzverstärker mehr? Das mit dem Widerstandsberechnen würde ich mir nämlich gerne sparen.

lg christoph

jwarta
09.04.2008, 00:42
Hallo,
bei TI gibt's recht interessante Infos zu kompletten Strommess-IC, die den Strom ueber Shunt messen. Ist auch fuer Motorapplikation geeignet.
http://focus.ti.com/analog/docs/gencontent.tsp?familyId=57&genContentId=28020

Besserwessi
09.04.2008, 16:48
Die Instrumenteation Amplifier kosten einiges mehr (so ab etwa 5 EUR) haben aber meistens eine sehr gut gleichtaktunterdrückung. 4-fach Operationsverstärker sind dagegen billig, man braucht aber noch 5 Widerstände dazu.
Für die Motoranwendung hat man vor allem Probleme mit den großen gleichtakt Signal. Da wird man wahrscheinlich eine negative Hilfsspannung brauchen, selbst Rail-Rail OPs werden kaum reichen. Wegen der PWM Modulation muss der Verstärker dazu auch noch recht schnell sein.

Jon
09.04.2008, 18:32
Mal eine ganz blöde Zwischenfrage: Welchen Motortreiber verwendest du? Viele haben nämlich schon einen Ausgang dabei, an dem man proportional zum Strom der an einem Kanal fließt eine Spannung messen kann.

jon

Christoph2
09.04.2008, 21:01
Ich verwende den L293D. Im Datenblatt habe ich nichts von so einem Ausgang gefunden.

Ich habe mal eine Zeichnung gemacht, wie ich mir das vorstelle. Unabhängig davon, was ich jetzt als differenzverstärker verwende, ist die Schaltung richtig?



+12V
+-----
| | VCC
| o-----o |
| +--|MOTOR|---+----------+-------+ |
| | | | | | | |
| | o-----o | | | |
| | | | | |
| | | .-.4,7 | |
| | | | |kOhm | o+----o
| | |3 Ohm | | | U1 | |
o-----------o .-. '-' | o-------o | |
| | | | | +-----| Diff | | A |
| L293 | | | | | erenz | ADC | |
| | '-' | | verst |--------| V |
o-----------o | | +-----| aerker| | |
| | | ---1000 | o-------o | R |
| | | --- uF | U2 | | |
| | | | | | | |
| | | | | | | |
| | | | | | o|----o
| | | | | | |
| +------------+----------+-------+ | |
| | |
| | |
| | |
| | |
| | |
| |
GND +--------------+------
GND




Was ist ein Gleichtaktsignal? Wenn du das PWM signal meinst, dann sollte das ja über den Kondensator geglättet werden, oder?

Eigentlich wäre mir schon die billige 4-fach op-amp Variante lieber, aber wie schwer ist es, die widerstände richtig zu dimensionieren?
Muss man die extra berechnen oder gibts da tabellen oder irgendwelche standardwerte?

lg christoph

Christoph2
12.04.2008, 14:57
Hat noch niemand mit einem uC die Stromaufnahme von Motoren gemessen?

lg christoph

avion23
12.04.2008, 16:57
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/articles/Standardbauelemente#Operationsverst.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.

Besserwessi
12.04.2008, 20:05
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.

Christoph2
12.04.2008, 22:51
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.

Besserwessi
13.04.2008, 10:57
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.

avion23
13.04.2008, 13:29
- 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.

Christoph2
13.04.2008, 14:57
Hallo!
Ich habe nochmal etwas gezeichnet: (erstmal ohne notabschaltung)



+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

Besserwessi
13.04.2008, 17:14
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.

avion23
13.04.2008, 17:47
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.

Christoph2
13.04.2008, 20:18
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.

Besserwessi
13.04.2008, 21:08
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.

Christoph2
24.04.2008, 21:24
Hallo!
Ich muss meinen alten thread wieder ausgraben, ich habe noch eine Frage.
Da habe ich jetzt das Schaltbild mit dem Sallen-Key Tiefpassfilter gezeichnet, ich will damit den gesammten strom der in den L293 reinfließt messen:




5V ^
^ 12V |
| |
| |
| o-+--o
o-----o | |
| L | | |
| 2 | | |
| 9 | | |
| 3 | | |
| D | | A |
o-----o | |
| +--------------------+ | V |
| | | | |
| 1nF | +----------+ | R |
+----- --- | | | |
| | --- | |\ | | |
S .-. | |\ | +---|-\ | | |
H | | +-|-\ ___ | ___ | >---+--------+ |
U | | | >---|___|--+--|___|--+---|+/ ADC | |
N '-' +-|+/ | |/ o--+-o
T | | |/ 10k 10k | |
| | | |
| | --- |
| | --- 1nF |
| | | |
| | | |
GND ----+----+-------------------------+----------------------+
(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)


Ich weiß nicht ob der Tiefpass vor oder nach dem Verstärker-opamp gehört. Ich habe ihn jetzt mal nachher gezeichnet. könnt ihr mir sagen ob das richtig ist.

Soll ich zur glättung zusätzlich noch einen Kondensator paralell zum Shunt schalten?

Besserwessi
25.04.2008, 12:04
Ein Kondensator parallel zum Shunt hat fast die Selbe Funktion wie ein Tiefpass. Der Entkoppelkondensator (ca. 100 nF) zum L293 solle eventuell nicht mit über den shunt laufen, also direkt ans IC.

Der erst OP in der Schaltung ist falsch und überflüssig. Man kann den Filter direkt an den shunt anschließen und den Filter gleich mit Verstärkung aufbauen. Es reicht also 1 OP.

Christoph2
25.04.2008, 17:18
Also so:





5V ^
^ 12V |
| |
+--------+ |
| | o-+--o
| o-----o | |
100nF| | L | | |
| | 2 | | |
--- | 9 | | |
--- | 3 | | A |
| | D | | A |
| o-----o | V |
| | +--------------------+ | V |
+--------+ | | | R |
| 1nF | +----------+ | R |
+-----+ --- | | | |
| | --- | |\ | | |
S .-. | | +---|-\ | | |
H | | | ___ | ___ | >---+--------+ |
U | | +-------|___|--+--|___|--+---|+/ ADC | |
N '-' | |/ o--+-o
T | 10k 10k | |
| | |
| --- |
| --- 1nF |
| | |
| | |
GND ----+------------------------------+----------------------+


(created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)


Fehlt sonst noch etwas oder kann man noch etwas verbessern?

lg christoph

PICture
26.04.2008, 06:35
Hallo!

@ Christoph2

Ich habe deine Schaltung modifiziert und im Code skizziert.

Dein aktiver Tiefpassfilter hat eine Spannungsverstärkung Ku = 1. Die Spannung vom Shunt sollte für den D/A Wandler wahrscheinlich verstärkt werden. Die Verstärkung ist gleich Ku = 1 + R2 / R1. Zum Beispiel für den LM2904 mit Bandbreite 6 kHz (Ku = 1) verringert sich die Bandbreite mit der Erhöhung der Verstärkung proportional (z.B. für Ku = 40 ist die Bandbreite 6 kHz / 40 = 150 Hz), so das bei hoher Verstärkung bzw. einem OPV mit kleiner Bandbreite kann der Tiefpassfilter (RfCf) entfallen.

Es fehlen die Betriebsspannungen des OPVs. Beide Spannungen sollten durch Tiefpässe (RvCv) zugeführt werden.

Um 0V am Ausgang des OPVs zu haben ist für ihn eine negative Versorgungsspannung (-) notwendig. Das könnte z.B. mit ICL7660 aus +5V erzeugt werden.

Die positive Versorgungsspannung (+) sollte um min. 2-3V höher als die max Ausgangsspannung sein. Dafür könnte man die vorhandene +12V nehmen.

Um Störungen zu vermeiden sollten alle GNDs sternförmig mit einem Punkt (HGND) verbunden werden.

MfG

+12V +5V
o o
| |
| |
+-----+ |
| | o--+--o
| o-----o R1 R2 | |
100nF| | L | ___ ___ | |
| | 2 | +-|___|-+------|___|----+ | |
--- | 9 | | | | | |
--- | 3 | === | Rv | | A |
| | D | GND | ___ | | A |
| o-----o | +-|___|-o + | | V |
| | | | | | V |
+-----+ | | ||Cv | | R |
| | +-||-+ | | R |
+---+ | | || | | | |
| | | |\| === | | |
S .-. | Rf Rf +-|-\ GND | | |
H | | | ___ ___ |OV>----------+---+ |
U | | +-|___|-+-|___|-+-|+/ ADC | |
N '-' | | |/| o--+--o
T | Cf --- Cf --- | ||Cv |
| --- --- +-||-+ |
| | | | || | |
=== === === | === ===
HGND GND GND | GND GND
| ___
+-|___|-o -

Rv

Christoph2
02.05.2008, 17:41
Hallo!
Danke für die Antwort, so werde ich es machen.
Also ich habe mit der Berechnung begonnen:


Berechnung des Shunts:

Beide Motoren gleichzeitig im normalen Betrieb: 150mA
unter Last: max. 500mA

Rshunt=0,1V/0,5A= 0,2 Ohm


Verstärkung:

0,1V * X = 2,56V (Referenzspannung des ADC)
X=25,6

=> 25 - fache Verstärkung


Tiefpass:

fg=100*fmess
fmess=fAVR/1024=10000000/1024=10kHz

fg=100*10000=1MHz

Angenommen: C=100pF

R=1/(2*pi*C*fg)= 1630 Ohm


Ein paar Fragen habe ich noch, ich hoffe das sind die letzten:

1. Bei der Berechnung fehlen mir noch die Werte für R1 und R2.
In welchem Bereich sollen die etwa liegen? Gehen so ungefähr 1kOhm und 25kOhm?

2. Soll die 12V - Spannung, mit der der OP-Amp betrieben werden soll, irgendwie stabilisiert oder geglättet werden? Die kommen nämlich direkt aus dem Bleiakku.

3. Wieviel negative Spannung soll ich mit dem ICL7660 erzeugen? Soll ich die vollen -5V an den OPamp legen oder noch einen Spannungsteiler davor?

4. Sollen die Tiefpässe von der Spannungsversorgung des OPamp genauso groß sein wie der Tiefpass den ich oben berechnet habe?

5. Im Datenblatt des mega32 steht, dass AVCC über einen Tiefpass auf VCC gelegt werden soll, aber es steht nicht dabei wie der dimensioniert sein soll. Ist der überhaupt wichtig?

lg
christoph

PICture
02.05.2008, 18:21
Hallo Christoph2!

Ich versuche kurz deine Fragen zu beantworten.

1. Die R1 und R2 sind nicht kritisch und können so wie Du geschrieben hast sein. Bei diesen Werten ist die Verstärkung
Ku = 1 + R2 / R1 = 26.

2. Die 12 V Spannung muss nicht stabilisiert und geglättet werden, da eine Spannung aus dem Bleiakku sehr glatt ist. Wichtig ist nur dass die Spannung nicht zu niedrig ist.

3. Die negative Spannung ist auch nicht kritisch und wichtig ist nur, dass sie negativ ist, kann also ruhig volle Spannung aus dem ICL 7660 gelegt werden, die höhe ist nicht wichtig und braucht auch nicht stabilisiert werden, sollte aber "sauber" geglättet sein.

4. Die Tiefpässe für den OpAmp sind vielleicht sogar nicht nötig, wenn der OpAmp nicht oszilliert. Am Anfang kann man ohne probieren, wenn Probleme gibt erst dann einlöten. Die Rv sollten um 100 Ohm sein und die Cv am besten 100nF vielschicht Kerkos, eventuell noch für NF ein Elko parallel.

5. Ich bin PIC Benutzer und über AVRs habe ich (fast) k.A.

MfG

Besserwessi
03.05.2008, 08:44
Der LM2904 (alternativ LM358 oder TLC272) arbeitet auch bei spannungen nahe GND noch recht gut. Man sollte also auch ohne die negative Spannung auskommen, denn Ströme im Bereich unter 20 mA werden ohnehin kaum interessieren.
Bei 25 facher Verstärkung und 10 kHz Grenzfrequenz ist er LM2904 schon etwas langsam, der TLC272 wäre etwas schneller. Ich glaube allerdings nicht, das man den Strom wirklich so schnell messen muß, denn so kriegt man jedes Umschalten der Kohlen mit.


Auf den Tiefpass sollte man nicht ganz verzichten. Man sollte ihn aber niederohmiger auslegen (z.B. 150 Ohm, 10nF), vor allem die erste Stufe. Man sollte einen Kondensator parallel zu R2 schalten, und kann dann eventuell auf ein RC Glied vor dem OP verzichten. Der Kondensator parallel zu R2 gibt eine nicht ganz perfekte Tiefpaß-stufe und verbessert die Stabilität der Verstärkerstufe, auch wenn die Schaltung auch so mit den meisten OPs schon stabil sein sollte.

Wenn der OP mit 12 V versorgt wird, sollte zwischen OP un AD noch ein Widerstand von ca. 5 kOhm um den Strom zu begrenzen.

PICture
03.05.2008, 10:04
Hallo!

Aus der Berechnung des Shunts kann man ausgehen, das die max. Ausgangsspannung des OpAmps ca. 2,5 V seien wird. In dem Fall, kann man den OpAmp mit + 5 V betreiben und auf die für den ADC gefährliche Spannung +12V verzichten.

@ Besserwessi

Ein serieller Widerstand zwischen dem Ausgang des OpAmps und Eingang des ADCs wird ein Spannungsteiler mit dem Eingangswiderstand des ADCs bilden und wird Erhöhung der Ausgangsspannung und somit der Verstärkung benötigen.

MfG

Christoph2
03.05.2008, 11:54
Hallo!
Da ich jetzt mehrere Teile brauche werde ich bei Reichelt bestellen, da gibt es auch den AD8551, der wäre doch das besste, oder?

Die erste Stufe des Tiefpasses habe ich neu berechnet ich kommen auf 163 Ohm und 1nF.
Bei 10nF wären es 16,3 Ohm.

Ich werde den OPamp mit 5V versorgen, aber ich lasse die -5V auch, weil der Aufwand ist es egal ich habe noch genug Platz auf dem Board.

Wie groß soll der Kondensator paralell zu R2 sein. Soll ich ihn als Tiefpass berechnen?
Dann komme ich auf 6,6pF (bei R2=25kOhm). So kleine Kondensatoren gibts nur selten.

Lg Christoph

PICture
03.05.2008, 13:24
Hallo Christoph2!

Wenn der AD8551AR in SMD für Dich nicht zu teuer und zu klein ist, ist er sicher sehr gut.

Ich sehe nicht deutlich den Vorteil des Tiefpasses mit niedrigeren Widerstanden, außer, dass lange Verbindungen (als "Antennen") mehr Störungen aus der Umgebung "empfangen" können.

Der Kondensator parallel zu R2 wird vom OpAmp als Frequenzabhängiger Widerstand gesehen und wird mit der wachsender Frequenz die Verstärkung des OpAmps senken. Weil sein Blindwiderstand Xc = 1/2*pi*F*C parallel zu R2 angeschlossen ist, ergibt sich die Verstärkung als Ku = 1 + R2 || Xc / R1 = 1 + { R2 * Xc / ( R2 + Xc )}/R1. Es ist ein bißchen komplizierter zum Rechnen. Man wählt eine Frequenz, definiert für sie die Verstärkung und berechnet den Blindwiderstand und daraus die Kapazität. Beim Reichelt (wenn ich mich nicht irre) gibt es Kondensatoren ab 1 pF. Der Frequenzgang des Verstärkers mit Cx parallel zu R2 ist anders als beim Tiefpass.

MfG

Besserwessi
03.05.2008, 19:59
Der AD8551 ist schon gut, verträgt aber so weit ich weiss nur 5 V, geht also nur ohne negative Versorgung. Den ICL7660 sollte man ruhig sparen, der verursacht gerne Störungen durch die hohen Impulsströme.

@Picture:
Der ein Eingangswiederstand des A/D in AVR ist sehr hoch (typ. 100 M), da fallen die 5 K nicht ins Gewicht. Der Widerstand kann laut Datenbatt bis 10 K sein, wegen einer kurzzeitigen Belastung beim S&H. Der Widerstand sollte als Schutz für den Eingang schon besser sein denn es ist schwierig eine dfiniertes Einschaltverhalten zu bekommen. Auch mögen nicht alle OPs wenn da hochfrequente Störungen vom Controller in den OP eingekopplet werden.

Der Frequenzganng ist etwas anders als beim einfachen Tiefpass, aber hier kommt der Unterschied erst ab 25 mal der Grenzfrequenz so richtig zum tragen, da lassen dann die anderen Stufen schon kaum was durch.

PICture
04.05.2008, 13:33
Hallo!

@ Christoph2

Wenn die Strommessungen nicht ab genau 0 nötig sind, braucht man (so wie der Besserwessi geschrieben hat) die -5V nicht, sonst muss man ein OpAmp nehmen, der mit gesplitterten Versorgungsspannungen (+/-) arbeiten kann.

@ Besserwessi

Danke für die Infos. Ich habe zwar den Datenblatt vom AD8551 kurz durchgeschaut, aber auf die negative Versorgungsspannung nicht geachtet.

Über ADC vom AVR als PIC Benutzer habe ich nicht gewußt, aber wenn so ist, dann kann man das, was ich über Einfluss des Eingangswiderstandes vom ADC geschrieben habe, vergessen. :)

MfG

Christoph2
04.05.2008, 21:35
Danke ihr habt mir sehr geholfen!
Ich werde die negative Spannung weglassen.
Ich glaube jetzt habe ich alles was ich brauche, um das Layout endlich fertig zu zeichnen.

Vielen Dank!

lg Christoph