Forum: Mikrocontroller und Digitale Elektronik MSP430 30kHz Signal abtasten


von Bernd Schneider (Gast)


Lesenswert?

Hallo Leute!

ich möchte mit meinem MSP430H149 den Spannungswert zwischen zwei 
Widerständen mit dem ADC12 abtasten.
     Vcc ----------+
                   |
                  ---
                  | |
                  | |
                  ---
                   |
                   +------- P6.0
                   |
               Sensor,
          der seinen Widerstand
          in Abhängigkeit der
          Messgröße ändert
                   |
      GND ---------+

Diesen Spannungswert würde ich dann gerne nach dem ADC programmintern in 
eine float-Zahl umwandeln und weiterverarbeiten.

Nun ist mein Problem, das meine Sinusspannung mit 30kHz relativ hoch 
ist.
Bis jetzt hab ich folgende Sachen eingestellt:

  P6SEL=0x01;             /* P6.0 als A/D-Wandler benutzen
  ADC12CTL0 = ADC12ON+SHT0_0+REFON+REF2_5V;  /*
  ADC12CTL1 = SHP;        /* SHP benutzen
  ADC12MCTL0 = SREF_1+INCH_0; /* Vr+=Vref+
  ADC12CTL0 |= ENC;       /* starten

Welche Spannung und Widerstand muss ich wählen wenn mein Sensor 
Änderungen von 5-400 Ohm macht, um die volle breiten des ADC's nutzen zu 
können?
Was muss ich alles beachten bezüglich der Sample-Hold-time?
Hab was von einer FFT gehört, könnte die für mein Programm weiterhelfen?

von Stefan S. (blacknighthawk)


Angehängte Dateien:

Lesenswert?

Hallo Bernd,

was genau möchtest Du denn "messen"?
Du kannst einen Mittelwert messen, oder auch die spitzte-spitze 
Spannung.
Welche Spannung hat eigentlich dein 30KHz- Signal?

Der MSP verträgt an den Ports auch nicht viel mehr als 3V.
Ich habe das für einen PT1000 Sensor an 12V so gelöst (s. Bild).

Die Z- Diode verhindert dass die 12V an den Eingang des MSP gelangen 
wenn kein Sensor angeschlossen ist.
Der Kondensator blockt Störsignale ab.
Funktioniert aber nur für Gleichspannung.


Gruß Stefan

von Bernd Schneider (Gast)


Angehängte Dateien:

Lesenswert?

Hi!

bin ein bisschen weiter gekommen.

Also ich möchte mit ADC den höchsten Wert der gleichgerichteten Spannung 
erfassen und programmintern weiterverarbeiten.

Die Schaltung hatte ich vor mit 4 Volt zu versorgen, sodass ich beim 
höchsten Widerstandswert den mein Sensor haben kann genau auf die 2.5V 
komme.

Gruß

von Stefan S. (blacknighthawk)


Lesenswert?

Hallo,

also bei 4V müsste bei der kleinen Schaltung von mir der R1 = 240R sein.
Dann hättest Du bei einer Änderung des Wiederstandes R2 von 5 bis 400 
Ohm maximal 2,5V und minimal 0,082V.

Vorausgesetzt deine Spannung ist gut geglättet.
Ich hatte bei meinem letzten Projekt richtig Mühe die ADC - Werte 
einigermaßen ruhig zu bekommen.

Was möchtest Du dir denn damit aufbauen?
In welche Einheit willst Du den ADC - Wert umrechnen?


Gruß Stefan

von Bernd Schneider (Gast)


Lesenswert?

Servus!

den Maximalwert der Amplitude will ich herausbekommen um darüber dann 
den aktuellen Widerstand mit dem Spannungsteiler herzuleiten. Den 
Widerstandswert werde ich dann mit einer Tabelle (welche ich durch 
messungen erstellt habe) vergleichen, um damit dann den aktuellen 
Abstand des Sensors zu ermitteln.

Eine Idee wäre eine x Anzahl von Messungen mit einer for-schleife zu 
machen, und den größten Wert aus diesen Werten zu bestimmen.

Jedoch hängts nun schon an den ADC Einstellungen, weil ich bisher nur 
weiß wie hoch meine Abtastrate sein muss (2*30kHz). Aber wie und wo ich 
das einstelle ist mir nicht ganz so klar.

Gruß!

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
Noch kein Account? Hier anmelden.