www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADC wandlung


Autor: Sinyo N. (naceur)
Datum:

Bewertung
0 lesenswert
nicht 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ß.

Autor: ah (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Durch 80 teilen ist unguenstig. Nimm 128 oder 256. Dh mach 128 oder 256 
Samples.

Autor: Horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Sinyo N. (naceur)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Sinyo N. (naceur)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Sinyo N. (naceur)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andy N. (matador)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wtf sind PIXE?

Autor: ah (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wuerd mal einen exponentiellen Mittelwert probieren.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: hilfe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
LTC1286 nehmen mit 1.5V Referenzspannung. Kannst du dann seriell 
auslesen.

Autor: Horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.