atmega328p ADC Problem mit OP

Gast #5657026
Lesenswert?

Hi ich finde meinen Fehler im Aufbau nicht.

Ich habe einen atmega328p als Arduino UNO Board. Von dem nutze ich den 
ADC, was auch soweit funktioniert (habe ich mit einem verstellbaren 
Netzteil geprüft). Desweiteren habe ich einen invertierenden OP, der 
Funktioniert auch so wie er soll (mit einem Oszi getestet).
Nun mein Problem, wenn ich den OP an den Arduino anschließe bricht der 
ein.

Danke im Vorraus für die Hilfe.
Gast #5657048
Lesenswert?

Paul schrieb:
> Nun mein Problem, wenn ich den OP an den Arduino anschließe bricht der
> ein.

Versucht der invertierende OPV eine negative Spannung an den ADC 
anzulegen? Das wird nicht gehen: wenn die Spannung ein paar hundert mV 
ins negative geht beginnt die ESD-Diode im ADC-Eingang zu leiten und die 
Spannung zu begrenzen (auf ca. -0,7V)
#5657258
Lesenswert?

Achim S. schrieb:
> Versucht der invertierende OPV eine negative Spannung an den ADC
> anzulegen? Das wird nicht gehen:

Das Problem hatte ich auch mal in einer Schaltung.

OP hat trotz Begrenzerdioden (negativ Spannung) -0.2 V an den internen 
ADC geliefert - ZACK, da war schon das Problem:

- Übersprechen auf andere ADC
- Werte nicht mehr nachvollziehbar

Die internen ADC vom µC mögen keine negativ Spannung!
#5657649
Lesenswert?

Du kannst dem OP am Ausgang auch noch einen 1k-Serienwiderstand 
spendieren. Wenn du die Feedbackleitung dahinter legst, wird der 
Spannungsabfall über den 1k ausgeregelt. aber etwaige Ströme auf ein 
paar Milliampere begrenzt und es arbeiten nicht zwei Treiberstufen 
gegeneinander.

Die nächste spannende Frage wäre dann: Hast du den Pin vom Arduino aus 
Versehen als Ausgang definiert und auf Low geschaltet?
#5657777
Lesenswert?

Wenn Du zwei Teilsysteme hast, die jedes für sich funktionieren, wie sie 
sollen aber zusammen nicht, dann liegt es wahrscheinlich an der Art und 
Weise, wie sie miteinander verbunden sind (dazu zählt auch die genaue! 
Art und weise der Spannungsversorgung(en) der beiden Teilsysteme).

Poste also ein Blockschaltbild (1), das die Zusammenschaltung sowie die 
Spannungsversorgung zeigt.
Evtl. ein Foto vom Aufbau (2).
Denn nicht selten besteht der Fehler in Abweichungen zwischen (1) und 
(2).
Gast #5657796
Lesenswert?

Paul schrieb:
> Der Pin ist im uC weder als Eingang noch als Ausgang deklariert.

Das geht nicht!
Zumindest beim AVR gibts nur die beiden Möglichkeiten.
(mal abgesehen von irgendwelchen Sonderfunktionen)

Paul schrieb:
> Er bricht am Ausgang zusammen.
Dann arbeitet er gegen eine "Mauer".

Denn er kann ja immerhin 15mA treiben.
Das reicht für einen AVR Input, mehr als aus.
Gast #5657894
Lesenswert?

Stefanus F. schrieb:
> Oder er ist doch (warum auch immer) ein Ausgang. Kannst ja zum Test mal
> eine LED dranhängen.

Led bleibt aus.

Blockschaltbild ist im Anhang.
Aufbau der Schaltung ist auf einem Breadboard und mit den Standardkabeln 
darauf verbunden.

A. S. schrieb:
> Schließ den kurz, nimm ein statisches signal, dass 3V am Ausgang ergibt
> und messe mit Multimeter einige Stellen vor und nach Abschluss an ADC.

Ändert leider nichts am Ergebnis.

Arduino Fanboy D. schrieb:
> Das geht nicht!
> Zumindest beim AVR gibts nur die beiden Möglichkeiten.
> (mal abgesehen von irgendwelchen Sonderfunktionen)

Ich programmiere mit dem Atmelstudio falls das hilft.
Den Pin habe jetzt explizit als Eingang deklariert
DDRC |= ~(1 << DDC4);
und für die Auswahl des Pins zum ADC so:
ADMUX |= (1 << MUX2);
Angehängte Dateien:
Gast #5657934
Lesenswert?

Paul schrieb:
> Stefanus F. schrieb:
>> Dann hast du sie wahrscheinlich falsch angeschlossen, aber wer weiß das
>> schon (ohne Plan)?
> Schaltplan ist weiter oben als Bild. Angeschlossen habe ich das Kabel
> vom Ausgang des OPs auf den Analog A4

Der Schaltplan zeigt nicht, wie du die LED angeschlossen hast. Das 
brauche ich aber, um zu beurteilen, ob du sie richtig angeschlossen 
hast.

Wenn die Leitung auf Low gezogen wird (von wem oder was auch immer), 
müsste eine LED leuchten, wenn sie so angeschlossen ist:
1
Pin o----[===]---|<|---o VCC

Das würde beweisen, dass die Leitung tatsächlich aktiv auf Low gezogen 
wird.
Gast #5657945
Lesenswert?

Ingo L. schrieb:
> Eine weitere Möglichkeit wäre, denn µC zu löschen und die Komponenten im
> ungeflashten Zustand zu verbinden, dann ist der µC absolut passiv. Liegt
> der Fehler dann immernoch vor, ist es nicht das Programm

Einfach Reset Knopf gedrückt halten, während man misst.
Gast #5657951
Lesenswert?

Ingo L. schrieb:
> Stefanus F. schrieb:
>> Der Pin ist ein Ausgang, wenn das Bit gesetzt ist.
> Ja, deswegen will er ja auch auf Eingang stellen

Der Bootloader konnte das Programm nicht laden. Ich hatte hTerm noch 
verbunden. . . der hat die Schnittstelle blockiert. Es war die 
Deklaration. Vielen Dank für die Hilfen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren