Hallo,
wie beschaltet man den einen ADC korrekt? Denn bei meiner Schaltung
kommt es zu einer erheblichen Schwankung der Messwerte. Habe gelesen das
mit einem 100uF Kondensator gearbeitet werden soll und das dies genauer
im Datenblatt erläutert wird. Arbeite derzeit mit einem MSP430F5529 und
finde keine Schaltung im Datenblatt wo könnte man den einen Schaltplan
beziehen?
Benutze die int. Ref. Spg. (2,5V), der ADC misst über einen
Spannungsteiler siehe Anhang.
Könnte mir jemand hierzu eine Hilfestellung geben? Gibt es im Netz
Artikel oder Unterlagen bzgl. der Erhöhung der Messgenauigkeit der
Schaltung?
Denke nicht das es an der Programmierung liegt. Da ich zwar nur kurz
gemessen wird und wenig mit Mittelwerte gemacht wird aber die Sprünge
hierfür einfach zu groß sind. Habe auch mit der SHT experimentiert und
mit längeren Pausen zwischen Messstart und auslesen rumprobiert. Deshalb
denke ich nicht das es am Code liegt.
Aber dennoch (die ftoa Konvertierung ist noch ein Überbleibsel der
Ausgabe der Spannung, ich weiß das das in diesem Fall unnötig ist):
1 | void mess(void)
|
2 | {
|
3 | buttonsPressed = 0;
|
4 | Dogs102x6_clearScreen();
|
5 | messprep();
|
6 | messung = 0;
|
7 | ADC12CTL0 |= ADC12SC; // start conversion
|
8 | messung = 0;
|
9 | messung = (ADC12MEM0);
|
10 | ftoa(display,messung,3,4,1);
|
11 | return;
|
12 | }
|
13 | /***************************************************************************/
|
14 | void messprep(void)
|
15 | {
|
16 | ADC12CTL0 = ADC12ON+ADC12SHT03+ADC12MSC+ADC12REFON+ADC12REF2_5V; // ADC12 anschalten, n=1, mehrere konvertierungen, referenz auf 2,5V setzen
|
17 | ADC12CTL1 = ADC12SHP;
|
18 | ADC12MCTL0 = ADC12SREF_1+ADC12INCH_12; // Vr+=Vref+ select (A12)
|
19 | ADC12CTL0 |= ADC12ENC; // jetzt anfangen ...
|
20 | return;
|
21 | }
|
22 | /***************************************************************************/
|
23 | void messend(void)
|
24 | {
|
25 | ADC12CTL0 &= ~ADC12ENC; // Disable conversions
|
26 | ADC12CTL0 &= ~ADC12ON; // ADC12 off
|
27 | return;
|
28 | }
|
Hoffe es kann mir jemand helfen.