Forum: Mikrocontroller und Digitale Elektronik ADC wandlung


von Sinyo N. (naceur)


Lesenswert?

Hallo an alle,
ich bin neu hier,und hab ein problem mit dem ADC Wandlung. ich bin für 
jede Hilfe Dankbar.
zur meine Problem:
ich will die Elektronik für eine Küchenwaage mit 1g Auflösung bauen.
ich benutze den PIC18F4523 mit 12 Bit ADC, Leider kriege ich von der 
Wäägezellen durch ein Verstärker nur
Umin=3v bei 0g und
Umax=4,5 bei 5000g
und dadurch benutze ich nur ~1,5v von 5V des ADCs Bereich (schlecht!!).
durch Mittelwertbildung hab ich mein Anzeige auf ca 5g Auflösung 
reduziert, aber die schwankt immer noch stark.
kann die Fehler daran liegen dass ich falche ACQT und TACQ werte 
ausgewählt habe.
ich werde für jede Hilfe Dankbar.
mein Programm siegt übrigens so aus.


// ----- ADC Initialisierung ----------

void adc_init()
{
  ADCON0 = 0b00000101;     // ADON =1 und CHS3:CHS0 = 0001 ( AN1)
  ADCON1 = 0x00;           // alle Analog ,  Referenc Spannung Vdd und 
Vss
  ADCON2 = 0b10011101;     // ACQT<2:0>=010  und TACQ=010
            // Reight justified
}

for(i=0;i<8000;i++)       // Mittelwertbildung
{
  delay_us(4);
  GODONE = 1;     // GODONE: conversion starten
  while(!ADIF);   // warte bis conversion complet ist
  ADIF = 0;        // A/D Converter Interrupt Flag bit löschen
  adc_high = ADRESH & 0x0F;
  adc_high = adc_high << 8;
  adc_low = ADRESL;
  weight += adc_low + adc_high;
}

 weight /= 80;    // Ich Teile nur durch 80 damit
                  // ich 2 stellen Auflösung gewinne


Danke noch mal
Gruß.

von ah (Gast)


Lesenswert?

Durch 80 teilen ist unguenstig. Nimm 128 oder 256. Dh mach 128 oder 256 
Samples.

von Horst (Gast)


Lesenswert?

12 bit für 5V?
sind ca. 4'000 Schritte
/5*1,5 = ~1230 Schritte bei 5000g
pro 1 Schritt also rund 4g.

Wieviele Schritte Ungenauigkeit hat der ADC?

Wie genau ist die Referenzspannung?
Wie genau ist dein Verstärker?
Was verstehst du unter starker Schwankung?

von Sinyo N. (naceur)


Lesenswert?

hii Leute ich hab nicht gedacht dass ihr so schnell Antwortet, vielen 
Dank nochmal für eure Mühe.
hab versucht mit 128 und 256 aber die anzeige schwankt immer noch
danke ah...

von Sinyo N. (naceur)


Lesenswert?

Hi Horst,

//----Wieviele Schritte Ungenauigkeit hat der ADC?----//

der ADC selber ist um die ca 5 Schritte ungenau, sollte aber 
warscheilich durch mittelwertbildung sinken.

//----Wie genau ist die Referenzspannung?------------//
meine Referenzspannung ist VDD =5v und Vss=0V von PICDEM 2 Demo Board

//-----Wie genau ist dein Verstärker?-------------//
//-----Was verstehst du unter starker Schwankung?--//
mit dem Verstärker weiss ich nicht wie genau der ist, werde ich aber 
morgen untersuchen.
durch die erhöhung der mittelwertbildung und einen medianfilter, bekomme 
ich ein Anzeige fast auf 1g. die machmal für ca 2s stabil ist und dann 
wieder anfängt sich bis zu 5 gramm langsam zu veränderen (nach oben und 
unten).

Danke Horst nochmal

von Sinyo N. (naceur)


Lesenswert?

Hii Leute,

Gruß an alle zuerst, ich bin das Problem näher gekommen.
und zwar,mit Oszilloscop konnte ich ja feststellen, dass bei jeder 
Messung des ADCs ein Starke Pixe Signal Auftritt.
Das heisst z.b. Bei eine Mittelwertsbildung von 10 Werte tauchen ja auch 
10 Pix im gleichen Zeitabstende,die eine grosse Abweichung haben als der 
normalen ADC Wert.

wenn einer von euch ein Idee hat, wie ich weiter kommen könnte, oder was 
ich vielleicht probieren sollte, wäre ich sehr Dankbar.

vielen Dank nochmal.

Gruß Naceur.

von Andy N. (matador)


Lesenswert?

Wtf sind PIXE?

von ah (Gast)


Lesenswert?

Ich wuerd mal einen exponentiellen Mittelwert probieren.

von Klaus (Gast)


Lesenswert?

Für weitere Hinweise und Analysen wäre nötig
  =  das Schaltbild (Eingang zum ADC, Taktversorgung, uC Interface)
  =  ein Foto des Aufbaus (Platine)
  =  das Scopebild mit genauer Bezeichnung der dargestellten Signale 
(Testpunkte)

von hilfe (Gast)


Lesenswert?

LTC1286 nehmen mit 1.5V Referenzspannung. Kannst du dann seriell 
auslesen.

von Horst (Gast)


Lesenswert?

Ich hab das mit den Pix jetzt nicht verstanden, also denke ich jetzt 
vielleicht in die ganz falsche Richtung.

Aber versuch dich mal mit winsorisiertem oder gestutztem Mittel.
(siehe http://de.wikipedia.org/wiki/Mittelwert)
Das kann helfen, wenn dir einige Peaks (Ausreißer) die Messung versauen.
Das hilft natürlich nicht, wenn über eine ganze Messperiode der Wert 
abweicht.

5g von 5000g, das sind 0,1%. Brauchst du das Ergebnis wirklich so genau?
Da kann sich das Problem leicht sonstwo von der Mechanik bis zur EMV 
verstecken. Störungen und Schwankungen vor dem Verstärker werden 
natürlich mitverstärkt. Da dein Messsignal wohl im einstelligen 
mV-Bereich ist reichen Störungen im uV Bereich um gleich mal 5g daneben 
zu liegen.

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.