PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PMW und ADC am Atmega16



MAxK
02.07.2006, 17:30
Hi,

ich will einen Motor per PWM regeln und gleichzeitig den Strom messen.
PinA0 ist der ADC an dem ich die Spannung messen will.
Im Anhang ist eine Skizze.

Habt ihr eine Idee, wie ich nun den Shunt an den Atmega klemmen muss, damit ich den Strom bzw die Spannung, die am Shunt abgegriffen wird messen kann?

Einfach Pin1 mit Pina0 verbinden funktioniert nicht, da hier dann 12V anliegen...):

askazo
02.07.2006, 17:48
Wenn Du
- den Shunt zwischen Motor und FET legst
- den Spannungsabfall am FET vernachlässigen kannst
- und die Spannung am Shunt 5V nicht übersteigt
kannst Du den Abgriff zwischen Motor und Shunt eigentlich direkt an den ADC legen. Dazwischen muss eventuell noch ein Tiefpass, der aus dem PWM-Signal den Mittelwert bildet (kann aber auch sein, dass die Induktivität des Motors ausreicht, um ein glattes Signal zu erhalten).

Wenn Du den Shunt dort lassen willst, wo er ist, brauchst Du noch einen Instrumentenverstärker, um ein Massebezogenes Signal zu bekommen.

askazo

MAxK
02.07.2006, 17:57
Hi.
danke für die Antwort.
Darauf bin ich nicht gekommen, dass ich den Shunt ja auch zwischen GND und FET legen kann.Ich habe auch gleich die Werte gemessen und mit einem Amperemeter verglichen und für meine Zwecke reicht dies aus.

Was wäre ein Instrumentenverstärker der dieses massebezogene Signal liefert?

askazo
02.07.2006, 18:20
Wenn Du ihn direkt zwischen Masse und FET schaltest, musst Du nur aufpassen, dass der Spannungsabfall am Shunt nicht so groß wird, dass nachher der FET nicht mehr sauber durchschaltet. Aber der Shunt sollte ja eh sehr niederohmig sein.

Ein Instrumentenverstärker ist grundlegend eine Operationsverstärkerschaltung aus 3 OPs und ein paar Widerständen.
Da es die Dinger aber als fertige ICs gibt, nutzt man sinnvollerweise diese. Ein Instrumentenverstärker ist eigentlich nichts anderes als ein Subtrahierer, dessen Vorteil darin liegt, dass er eine sehr hohe Gleichtaktunterdrückung hat und die Verstärkung über nur einen Widerstand eingestellt werden kann. Zudem arbeiten die Dinger äußerst präzise.

askazo

MAxK
02.07.2006, 18:26
Nochmals Danke für deine ausführliche Beschreibung. Nur noch eine Frage: Weist du welches die kleinste,messbare Spannung am ADC ist?
Bei 2Ampere bekomme ich den Wert:4.
Geht dies noch genauer oder müsste ich dann den von dir beschriebenen OP verwenden?

askazo
02.07.2006, 18:37
Nochmal zum Instrumentenverstärker: Ich hab eben Blödsinn geredet. Hab die Erklärung nochmal verbessert. Hatte noch eine andere OP-Schaltung im Kopf...

Die ADCs des AVR haben eine Auflösung von 8 Bit. Daraus ergibt sich bei einer Referenzspannung von 5V die kleinste messbare Spannung mit
5V/ (2^8 ) = 5V/512 = 0,195V

Wenn Du damit nicht hinkommst, kannst Du mit einem einfachen OP (als nichtinvertierender Verstärker geschaltet) die Spannung des Shunts verstärken, so dass Du den vollen Bereich bis 5V (bzw. bis zur Referenzspannung) nutzen kannst.

Hanni
02.07.2006, 18:58
Die ADCs des AVR haben eine Auflösung von 8 Bit. Daraus ergibt sich bei einer Referenzspannung von 5V die kleinste messbare Spannung mit
5V/ (2^8 ) = 5V/512 = 0,195V


Das ist so nicht richtig.

Die ADC's der AVR Mikrocontroller haben im allgemeinen eine Auflösung von 10 Bit.
Daraus folgt:

5V / 2^10 = 5V / 1024 = 0,00488 V = 4,88 mV

im Übrigen sind 2^8 = 256 und nicht 512 und auch ansonsten solltest du mal deinen Taschenrechner überprüfen ... 5 / 512 sind so ca 0,01 ....
aber das nur nebenbei.

Grüße,

da Hanni.

askazo
02.07.2006, 19:02
Ah, verflixt - muss an der Hitze liegen...
Sorry, Hanni hat natürlich Recht....

askazo

MAxK
02.07.2006, 19:39
Welchen OP kann man für dieses Problem verwenden.
2mV müssten auf 5V verstärkt werden

Marco78
02.07.2006, 20:35
Was passiert denn, wenn man Vref auf von mir aus 1V stellt? (Oder 200mV). Ist dann nicht bei einem Volt der "Endausschlag" von 1024 bei 10Bit erreicht?

Wenn ja, dann wäre doch ein Spannungsregler etwa genau so teuer wie OPs, aber kleiner und einfacher angeschlossen, oder nicht?

askazo
02.07.2006, 22:47
Die Minimale Referenzspannung beim AVR liegt bei 2V. Drunter geht nicht (zumindest laut Datenblatt). Bei 200mV Signalgröße wäre mir das auch nicht genau genug.

Im Prinzip kannst Du dafür fast jeden OP nehmen. Ich nehme für solche Standartaufgaben immer den TL081 (ein OP) bzw. TL082 (zwei OPs) bzw. TL084 (4 OPs). Der ist gut und billig.

askazo