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.
Paul schrieb: > Nun mein Problem, wenn ich den OP an den Arduino anschließe bricht der > ein. Gehts zur Not auch etwas präziser? Was bricht ein? Schaltplan zeigen würde auch helfen...
Stabileren Tisch/Ablage nutzen..... Bisschen mehr Infos. Wer bricht ein (Arduino oder OP)? Gibts einen Schaltplan?
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)
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!
Das ist der Schaltplan. Ich habe mittlerweile einen anderen OP drinnen, den TS1851. Negative Spannungen sollte es nicht geben da ich einen Offset von Vcc/2 (2,5V) habe und ich den OP von V+ 5V bis V- 0V betreibe. Der OP bricht ein der Arduino läuft weiter.
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?
Paul schrieb: > Der OP bricht ein Meinst du damit, dass seine Ausgangsspannung absackt? Auf welchen Wert?
> Der OP bricht ein > > Meinst du damit, dass seine Ausgangsspannung absackt? Auf welchen Wert? Wo bricht der OP ein? Nach was könnte er suchen? Benutzt er dazu Werkzeug oder gar einen Verstärker? MfG
:
Bearbeitet durch User
Der Pin ist im uC weder als Eingang noch als Ausgang deklariert. Der OP bricht auf 0-0,5V zusammen sobald ich ihn an dem uC anschließe. Er bricht am Ausgang zusammen.
Dann hast du vermutlich einen Kurzschluss im Aufbau. Oder er ist doch (warum auch immer) ein Ausgang. Kannst ja zum Test mal eine LED dranhängen.
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).
Irgendwann ist C1 Mal voll. Schließ den kurz, nimm ein statisches signal, dass 3V am Ausgang ergibt und messe mit Multimeter einige Stellen vor und nach Abschluss an ADC.
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.
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);
Paul schrieb: > Den Pin habe jetzt explizit als Eingang deklariert > DDRC |= ~(1 << DDC4); Heute ist Freitag!
Paul schrieb: > DDRC |= ~(1 << DDC4); Versuch ma DDRC &= ~(1<<DDC4); So wie du es jetzt hast, hast du alle IO außer DDC4 auf Ausgang geschaltet
:
Bearbeitet durch User
Paul schrieb: >> Oder er ist doch (warum auch immer) ein Ausgang. Kannst ja zum Test mal >> eine LED dranhängen. > > Led bleibt aus. Dann hast du sie wahrscheinlich falsch angeschlossen, aber wer weiß das schon (ohne Plan)?
Ingo L. schrieb: > Versuch ma DDRC &= ~(1<<DDC4); Ergebnis bleibt gleich. Macht es Sinn den Internen Pullup zu aktivieren?
Paul schrieb: >> Versuch ma DDRC &= ~(1<<DDC4); > Ergebnis bleibt gleich. Logisch, das st auch falsch. Der Pin ist ein Ausgang, wenn das Bit gesetzt ist. Bit setzen: DDRC |= (1<<DDC4); Bit löschen: DDRC &= ~(1<<DDC4);
Paul schrieb: > Macht es Sinn den Internen Pullup zu aktivieren? Nee, wozu? Wie wäre es mal den gesamten Code zu zeigen? Paul schrieb: > DDRC |= ~(1 << DDC4); Hieraus leite ich ab, dass du noch sehr wenig Kenntnisse besitzt
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
> Logisch, das st auch falsch.
Sorry, könnte ein Moderator bitte diesen Bullshit löschen? Meinetwegen
auch den ganzen Beitrag? Ich schäme mich.
Stefanus F. schrieb: > Der Pin ist ein Ausgang, wenn das Bit gesetzt ist. Ja, deswegen will er ja auch auf Eingang stellen
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.
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
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.
Stefanus F. schrieb: > Einfach Reset Knopf gedrückt halten, während man misst. Ich vergesse immer das die Leute ein Aduino nutzen, der sowas hat. Meine Schaltungen haben nie einen Reset Knopp.
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.
Ingo L. schrieb: > Ich vergesse immer das die Leute ein Aduino nutzen, der sowas hat. Meine > Schaltungen haben nie einen Reset Knopp. Meine auch nicht. Ich stecke immer einen Jumper auf den ISP Stecker, wenn es denn mal sein muss.
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.