Hallo ich habe ein seltsames Verhalten am ADC, das ich mir nicht erklären kann. Vielleicht hat ja jemand einen Tip? Also ich benutze Avcc. mit 47Ohm gegen Vcc und 100nf gegen Gnd. Wie im tut beschreiben. Die ADC Werte kommen von einem cny70. Was mich nun wundert ist folgendes Verhalten: Wenn ich mir die ADC Werte ausgeben lasse schwanken die Werte um ca. 100 Stellen (bei gelichbleibender Umgebung). Wenn ich nun mit dem Multimeter die Spannung nachmesse bleiben plötzlich die ADC Werte konstant (schwanken nur noch um +- 1) woran könnte das liegen??? Hat jemand ne Idee? Gruß Cs
Ach ja, wenn ich nur den Sensorausgang messe kann ich auch keine derartig krassen Veränderungen festellen... Es handelt sich dabei ja immerhin um ca. 0,5V!
meine Vermutung: es schwingt was. Durch die Kapazität des Messgerätes wird die Schwingung gedämpft / unterdrückt. Mit Schaltplan könnten wir Dir besser helfen.
Ich habe nun mal statt des Netzgeräts eine Batterie als Spannungsquelle genommen das hat schonmal die Fehlerrate halbiert. Schaltplan ist folgendermaßen: |-----------| Vcc----R=47Ohm--o--------|AVcc ARef|---C=100nf----|GND | | | C=100nf | AVR | | | | GND | GND|---|GND |-----------| Hoffe das kann man verstehen ;-)
Cs_ Explorer wrote: > Wenn ich mir die ADC Werte ausgeben lasse schwanken die Werte um ca. 100 > Stellen (bei gelichbleibender Umgebung). 100 Stellen? Wie bitte? Der ADC vom Atmega16 hat nur 10 Stellen.
Hi, liest Du die vollen 10 Bit aus? Oder eventuelle nur das Low- oder High-Byte?
Hallo also mein adc hat 10 bit Auflösung -> 1024 Werte, bzw. Stufen -> die Analoge Spannung wird durch eine Zahl dargestellt und dieser Zahlenwert schwankt um 100 |-----------| Vcc----R=47Ohm--o--------|AVcc ARef|---C=100nf----|GND | | | C=100nf | AVR | | | | GND | GND|---|GND | | | AD0|-----Signal CNY70 |-----------| So hier die erweiterte Schaltung das CNY 70 Signal wird noch über einen BC485 verstärkt bevor es an den AD0 Anglegt wird.
Nö ich lese ein wort das passt schon ich denke nicht, dass es am Programm liegt, ich habe Werte über den gesammten Bereich. Nur leider schwanken diese so sehr... Hier noch der Bascom Code: Dim Analogval As Word 'adc settings Config Adc = Single , Prescaler = Auto , Reference = Avcc Start Adc Enable Interrupts Do Analogval = Getadc(0) Waitms 800 Locate 1 , 1 Lcd "value at adc0:" Locate 2 , 1 Lcd Analogval Waitms 800 Cls Loop End
Der CNY70 ist doch ein Koptoppler, äh Optokoppler, der auf der Empfängerseite nur einen Transistor hat. Zeige mal die Schaltung, mit der Du das Signal aufbereitest. Ich habe im Datenblatt gesehen, daß der Kollege seinen Kollektorstrom bei einer Distanzänderung von 2mm von ca 0,5 auf 1mA verändert. Wenn Du im Kollektorkreis einen Widerstand von 4,7K hättest, würde die Spannung über diesem zwischen 2,35 und 4,7 Volt liegen. Da muß es ganz schön erschütterungsfrei sein, dmit ein stabiler Wert kommt. MfG Paul
Okay danke erstmal für den Hinweis. Ja... die Spannung am Eingang schwankt ja auch ein wenig allerdings nur um 0,05V bis 0,1V und nicht um 0,5V. Bei einer Auflösung von ca. 0,004V je Stufe -> Sollte bei einer Schwankung von 0,05 V die Abweichung bei 12-13 Stufen liegen. Bei ca. 0,1 V Schwankung am Eingang bei ca. 25 Stufen. Also wo kommen dann die restlichen Fehler her? Immerhin schwanken die Werte mit der Batterie jetzt nur noch um 50, was allerdings immer noch sehr schlecht ist - wie ich finde-
was passiert wenn du 5V an den ADC hängst? Schwankt immer noch oder konstanter wert? (1023?) Ansonsten vielleicht auch kalte lötstelle -> adc liegt offen, dann schwankt er nämlich auch total.
Habe jetzt den ad0 mal ein ein 10kPoti gehängt... -> einwandfreie Werte schwanken maximal um eine Stufe. Kann jetzt höchstens noch sein dass der Transistor defekt ist.. Oder ich schalt mal noch am Signalausgang nen Kondensator gegen GND, dann sollte doch das Ausgangssignal nochmlas geglättet werden oder? Am besten doch nen kleinen damit er nicht zu viel verfälscht 20 nf oder so?
Da Du die Schaltung nicht herausrücken willst, kann ich nur spekulieren, daß Dein zusätzlicher Transistor Dir in die Suppe spuckt. Denke daran, daß Uce temperaturabhängig ist. 20mV pro Kelvin machen mehr aus, als Dein eigentliches Meßsignal..... MfG Paul
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.