Sobald der Kanal in ADC10CTL1 ausgewählt wird, steigt die Spannung des
offenen Pins dort auf ca. Vcc/2 und mit angeschlossenem Strom-Signal
wird dieses um ca. 100 mV "hochgezogen".
Das schlägt sich auch auf die Messung nieder:
155e-3 V /(3,6V/1024) = 44
und das ist auch der ADC Wert in ADC10MEM.
Sind der Filterkondensator und der ADC "Schuld"?
SLAU144J:
22.2.2 ADC10 Inputs and Multiplexer
The eight external and four internal analog signals are selected as the
channel for conversion by the
analog input multiplexer. The input multiplexer is a break-before-make
type to reduce input-to-input noise
injection that can result from channel switching (see Figure 22-2). The
input multiplexer is also a T-switch
to minimize the coupling between channels. Channels that are not
selected are isolated from the A/D, and
the intermediate node is connected to analog ground (V SS ) so that the
stray capacitance is grounded to
help eliminate crosstalk.
The ADC10 uses the charge redistribution method. When the inputs are
internally switched, the switching
action may cause transients on the input signal. These transients decay
and settle before causing errant
conversion.
SLAS694J:
10-Bit ADC, Power Supply and Input Range Conditions (MSP430G2x31 Only)
PARAMETER TEST CONDITIONS TA VCC MIN TYP MAX UNIT
...
CI Input capacitance 25°C 3 V 27 pF
RI Input MUX ON resistance 0 V ≤ VAx ≤ VCC 25°C 3 V 1000 Ω
Im Gegensatz zu obiger Dauer-Messung fallen einzelne Messungen nicht so
ins Gewicht - was passiert denn da im ADC? Warum ist der Sample-and-Hold
- oder welche Kapazität auch immer - so geladen?
Danke für dein Interesse.
Main clock sind ca. 8 MHz, sonstige ADC-Einstellungen mache ich nicht,
d.h. ADClock ohne Vorteiler. Ist das zu schnell?
Ich kann heute abend mal ein komplettes Minimalprogramm machen.
Und auch mal die Clock auf 1 MHz reduzieren.
Ich denke ADC Clock solltest du dir ansehen. Ich kann dir auch einen
Beispielcode anhängen. Dieser Code gibt dir die Spannung in Volt auf dem
USB Application COM Port zurück (Back Channel UART). Die Messung ist
recht genau und kompensiert.
Also wenn das helfen würde dann lass es mich wissen.
Hi und danke,
mit ADC10DIV_7 ist die Spannung des offenen ADC-Pins bei ca. 0.6 V.
Ich werde es heute abend nach Möglichkeit mit einem OP versuchen.
Bzgl. Masseverbindung: das Verhalten ist auch ohne PC-Verbindung das
gleiche, nur weniger Rauschen:
Prozessor im Reset: 0 mV
Prozessor/AD läuft: 25 mV
Netzteil an DRV8801: 12 mV
AD u. Netzteil: 38 mV
Netzteilan, Proz. aus: 0 mV
Last nicht verbunden, gemessen an GND und CS vom Modul.
Die 12 mV sind wohl der Offset-Fehler vom DRV8801.
Wieso der AD so rück-wirkt kann ich leider noch nicht mal vermuten.
To answer your question, yes, the VPROPI output operates regardless of what the ENABLE input is doing or whether there is current or not on the H Bridge. It is a separate block and it works standalone.
8
9
As you specified, the SENSE resistor is basically grounded when there is no current. In this case, the amplifier is an undefined state. Design tells me there is about +/- 10 mV of bias in the inputs, so you can see as much as 50 mV bias at the output.
10
11
Hope this answers the question, but do let me know if there is anything else I can help you with. Best regards,
12
13
Jose Quinones
Das beantwortet allerdings nicht die Frage nach dem ADC-Einfluss
Hi,
die Ausgabe des Wertes hat keinen Einfluss auf den Pin, daher habe ich
das weggelassen :-)
Ausserdem kann man im Debugger sehen, was sich tut (sofern er denn
angeschlossen ist).
Und wenn ich nicht irre, ist auch keine Auswahl eine Auswahl der
Referenz, nämlich Vcc und GND.
Ich hatte aber auch mit der 1.5 V - Referenz Probleme (aber keine
Messwerte mehr im Kopf, heute abend will ich es nochmal probieren).
Gibt es denn ein Problem mit den Einstellungen?
Am einfachsten ist es mal einen Versuch mit funktionierenden Code
durchzuführen. Wenn du dann immer noch ein Problem hast dann liegt es
sicherlich an deiner Eingangsschaltung bzw. Masse Probleme etc.
Im Anhang mal ein funktionierender Code, ist das Problem immer noch da
dann weißt du das du die Fehlersuche innerhalb der Software erst einmal
vergessen kannst.
Achtung! Ich verwende das Launchpad Rev1, also möglicherweise mußt du
die Brücken anders stecken.
Also mit deinem Code konnte ich vorhin auch den Einfluss des ADCs sehen,
aber offenbar spinnt meine Messtechnik, denn mit reduzierter Sample-Zeit
und der 2.5 V Referenz habe ich am Oszi 90 mV Rauschen aber den
passenden ADC-Wert, auch, wenn kontinuierlich gemessen wird (d.h. 0x5
für die 12 mV Offset des DRV8801).
Wenn ich noch etwas zum Thema rausfinden sollte, melde ich mich wieder.
Danke für deine Hilfe!
Naja, 512 Messwerte mitteln ist gleichbedeutend mit einem Tiefpass. Das
macht also durchaus Sinn...
>> denn mit reduzierter Sample-Zeit und der 2.5 V Referenz habe ich am Oszi>> 90 mV Rauschen aber den passenden ADC-Wert
Deine 12mV kannst du dann noch per Software kompensieren, ist im Code eh
schon enthalten, mußt nur deine "rohen" Messwerte anpassen.
>> Also mit deinem Code konnte ich vorhin auch den Einfluss des ADCs sehen
Erklär das mal so das ich eine Idee bekomme.
Die 90 mV sind schon der Mittelwert, laut Oszi.
Auch mit deinem Code konnte ich den Einfluss des ADCs auf das zu
messende Signal feststellen, d.h. es wurde hochgezogen, sobald gewandelt
wurde, und nach der Wandlung hat es sich dann wieder entladen.
Ich traue aber meinen Oszi-Messungen nicht mehr, und ich konnte das
beschrieben Verhalten gestern abend auch nicht mehr reproduzieren.
Da nun aber mit der internen Referenz und bei etwas reduzierter
Messfrequenz auch bei "meiner" kontinuierlichen Messung der ADC-Wert den
Erwartungen entspricht, ist das Problem für mich erstmal gelöst.
Nochmals meinen Dank.