Gast
#107246
Hallo Ich hab ein Problem mit meinem AD Wandler am 90S8535. Ich hab als Anhang mal meinen Schaltplan beigefügt. Der Aufbau ist relativ einfach. Ein kleiner Sauerstoffsensor gibt stabil (ohne Schankungen) ein Signal aus (ca. 9-10 mV). Dieses wird mit einem LM324 ca. 10 fach verstärkt, so daß am Eingang des AD-Wandlers ca 100mV anliegen. Als Referenzspannung hab ich einen LM 336, damit liegen stabil 2,48 Volt an. Damit wäre ein Bit = 2480/1023 = 2,424242....mV. Jetzt hab ich das Problem, das die Anzeige meines Ad-Wandler immer zwischen 39 - 43 schwankt. Das würde ja einem Bereich von etwa 10 mV entsprechen. Wenn ich das Signal am AD aber mit meinem Multimeter nachmesse schwankt das nur um 0,5 - 0,7 mV. Das Signal aus dem LM 324 schankt auch nur, wenn ich Ihn an den 8535 angeschlossen hab. Betreibe ich den OP Teil solo ist das Ausangssignal stundenlang absolut stabil. Woran kann es liegen, daß das Siganl instabil wird, wenn ich es an den Prozessor gebe. Den 8535 hab ich wie im Datenbaltt mit Spule (10müH und 100n Kondensator) an AVCC angeschlossen. Auch hab ich allen Bauteilen eine eigen VCC und GND Leitung spendiert. Der OP sitzt auf der Platine nur 2 cm neben dem ADWandler. Hier nochmal mein Programmteil für den Wandler. DAs Programm läuft auf der Eperimentierplatine von Microcontroller.com ohne zu ruckeln (ohne Sensor und OP). Hat da jemad eine gute Idee????? void divemode(void) { outp (BV(ADEN) | BV(ADSC) |BV(ADPS0) | BV(ADPS1) | BV(ADPS2), ADCSR); //Initialisierung// while (inp(ADCSR) & BV(ADSC)) for(;;) { outp (0,ADMUX); outp(inp(ADCSR) | BV(ADSC), ADCSR); //Einzelne Wandlung// while (inp(ADCSR) & BV(ADSC)) wait_ms(3000); //Warten bis Wandlung fertig// AD_aktuell = ADCW; AD_po2 = ADCW; lcd_cls();wait_ms(100); lcd_putstring(0,0,"pO2:"); lcd_putnumber4(0,5,AD_po2); } } Danke Dirk
