Forum: Mikrocontroller und Digitale Elektronik Spannung direkt am ADC-Eingang messen


von Löms Hotzenplotz (Gast)


Angehängte Dateien:

Lesenswert?

Hallo.

Ich möchte gerne eine analoge Spannung mit einem Atmeg168 
Mikrocontroller am ADC-Eingang messen. Momentan kann ich aber nur eine 
Spannung messen, wenn ich einen Differenzverstärker verwende davor 
schalte, obwohl die Spannung groß genug ist. Die meisten anderen 
Schaltungen im Internet verwenden einen Spannungsteiler zwischen der zu 
verwendenden Spannung und Ground. Zwischen den Widerständen ist der Pin 
des Mikrocontrollers. Das habe ich auch versucht, funktioniert aber 
nicht. Hat irgendjemand eine Idee was ich noch probieren könnte um die 
Spannung direkt zu messen??

Vielen Dank!

von Matthias L. (Gast)


Lesenswert?

>um die Spannung..

Ja welche denn? Was willst Du denn machen?

von ... (Gast)


Lesenswert?

Dreh doch mal deinen OC gerade. So kriegt man ja einen Knoten ins 
Gehirn. In Eagle darf man Symbole auch so zeichnen, dass "+" und "-" 
jeweils auf einer Seite sind, so dass man im Schaltplan oben einheitlich 
die hohen Potentiale hat.

von Krapao (Gast)


Lesenswert?

Musst du den analogen Spannungswert an V_0l digitalisieren oder willst 
du wissen, ob die LED im Optokoppler den Fototransistor im Optokoppler 
duchgeschaltet hat (V_0l = LOW) hat oder nicht (V_0l = HIGH)?

Mir fällt keine sinnvolle Anwendung ein, bei der man in obiger Schaltung 
den exakten Wert wissen muss, weil der Optokoppler oben IMHO digital 
eingesetzt wird und nicht analog.

Die gezeigte Schaltung ist auch nicht vollständig und es fehlt der 
Sourcecode. Vermutlich steckt in einem von beiden ein Fehler, der die 
korrekte Funktion verhindert.

Im analogen Fall
1
Schaltung         µC
2
=====================================
3
Vcc1 o
4
V_Ol o----------o ADC0
5
GND  o----------o AGND o--+
6
                  GND  o--+
7
                  AVCC o--+
8
                  Vcc2 o--+
9
10
Sebstverständlich mit Abblockkondensatoren 100nF
11
AVcc o--||--o AGND 
12
Vcc2 o--||--o GND

Abfrage über den ADC
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#ADC_.28Analog_Digital_Converter.29

Im digitalen Fall
1
Schaltung         µC
2
=====================================
3
Vcc1 o
4
V_Ol o----------o beliebiger I/O-Pin
5
GND  o----------o GND
6
                  Vcc2

Sebstverständlich mit Abblockkondensatoren 100nF
Vcc2 o--||--o GND

Abfrage in Software über (PINx & (1<<Pxy))
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Eing.C3.A4nge_.28Wie_kommen_Signale_in_den_.C2.B5C.29

von Löms Hotzenplotz (Gast)


Lesenswert?

Hi. Danke für die ANtworten, aber ich hab noch eine Frage, was ist 
AGND??
Im Schaltplan des Atmega kann ich kein Analog Ground finden.

von Rumpelstilzchen (Gast)


Lesenswert?

Löms Hotzenplotz schrieb:
> Im Schaltplan des Atmega kann ich kein Analog Ground finden.

Welcher ATmega?
Es gibt sooooo viele davon.

von Matthias (Gast)


Lesenswert?

Löms Hotzenplotz schrieb:
> Im Schaltplan des Atmega kann ich kein Analog Ground finden.
Im Datenblatt ATmega168
2.1 Block Diagramm, Fig. 2-1: Der Anschluß GND an A/D Conv. (rechts)
Je nach Gehäuse Pin 18, 21 bzw. 22

von Ali B. (Gast)


Lesenswert?

AGND hat nicht wirklich was mit dem Controller zu tun. Denk mal drüber 
nach was du da gerade versuchst.

Du hast nen analogen Schaltungsteil der dir ein Messsignal zur Verfügung 
stellt. Das willst du digitalisieren. Du hast also nen zweiten 
Schaltungsteil der durch feste Pegel und Pegelwechsel gekennzeichnet 
ist. Das Ganze wird in der Regel mit einer nicht unerheblichen Frequenz 
betrieben. Das bedeutet du lädst periodisch Kapazitäten um. Dieses 
Umladen verursacht in der Regel Potentialverschiebungen auf dem 
Bezugspotential (Rground |= 0) sowie induktive Auskopplung abhängig von 
Leiterführung und der Frequenz beziehungsweise der Flankensteilheit.

Um diese Störeinflüsse zu kompensieren musst du bestimmte Massnahmen 
beim Layout vornehmen. Gängig ist die Trennung der analogen und 
digitalen Signalmasse und die dezidierte Zusammenführung der beiden 
Bezugspotentiale in einem Sternpunkt. Oft am ADC da dieser die Brücke 
zwischen analoger und digitaler Welt darstellt. Wie hilfreich diese 
Massnahme ist hängt massgeblich von der Gestaltung der Schaltung und des 
Layouts ab, richtiges Layout erspart oft die Masseauftrennung ;)

von Löms Hotzenplotz (Gast)


Lesenswert?

super, vielen Dank! :)
Der Fehler muss aber irgendwo anders liegen, den AGND habe ich schon 
verwendet ...

von Ralf G. (ralg)


Lesenswert?

Könnte es sein, dass die 47k etwas viel sind?

von MaWin (Gast)


Lesenswert?

> Ich möchte gerne eine analoge Spannung

Welche analoge Spannung ?
Das, was du gezeichnet hast, ist eine normale Reflexlichtschranke.
Da es aber eine Reflexlichtschranke ist, ist ein statischer Betrieb 
suboptimal. Wenn es dort wo sie montiert ist nicht stockdunkel ist, dann 
ist die "immer an".

Man verwendet daher moduliertes Lichts und einen Detektor, damit die 
Lichtschranke nur auf ihr eigenes Licht reagiert. Schaltung:

  +---+--+----------------+------+--+-- +5V
  |   |  |                |      |  |
  |  4k7 |           +----+---+ 1M 220R
 E|   |  |           |    4   |  |  |
  >|--+--(--2k2---+--|5      1|--+  |
  |BC307 |       10k |LM/NE567|  |  |A
  |      |        +--|6       |  | LED zur Kontrolle
  |      |        |  |        |  |  |
 180R 47kPoti-22n-(--|3 2  7 8|--(--+-- Ausgang
  |      |        |  +--+--+--+  |
 A|     C|        |     |  |     |
 LED=PhotoTrans  22n   2u2 |    4u7
  |      |        |     |  |     |
  +------+--------+-----+--+-----+----- GND

Siehe
http://www.dse-faq.elektronik-kompendium.de/dse-faq.htm#F.8

von Löms Hotzenplotz (Gast)


Angehängte Dateien:

Lesenswert?

Hallo.

Ich hab jetzt mal den ganzen Schaltplan gezeichnet. Ich würde mich 
freuen wenn irgenjemand noch eine gute Idee hätte, denn es geht immer 
noch nicht :|

LG
Löms

von Löms Hotzenplotz (Gast)


Lesenswert?

@MaWin
Danke, aber der Optokoppler arbeitet mit IR-Licht, deswegen reagiert er 
auch ganz gut nur auf sein eigenes Licht!!

LG
Löms

von Ralf G. (ralg)


Lesenswert?

gute Idee:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC
(Allerdings. Zitat: 'Der Wert des Potentiometers ist Dank des hohen 
Eingangswiderstandes des ADC ziemlich unkritisch. Es kann jedes 
Potentiometer von 1kΩ bis 1MΩ benutzt werden.' - kann ich mich nicht so 
richtig damit anfreunden, habe aber vielleicht das Datenblatt nicht 
richtig interpretiert.)

Löms Hotzenplotz schrieb:
> Danke, aber der Optokoppler arbeitet mit IR-Licht, deswegen reagiert er
> auch ganz gut nur auf sein eigenes Licht!!
... Spaßvogel

von Martin (Gast)


Lesenswert?

Löms Hotzenplotz schrieb:
> Danke, aber der Optokoppler arbeitet mit IR-Licht, deswegen reagiert er
> auch ganz gut nur auf sein eigenes Licht!!

Dann guck dir mal die spektrale Empfindlichkeit des Detektors und die 
spektrale Beleuchtungsstärke durch deine Lichtquellen (Sonnenlicht, 
Glühbirne, IR-Diode) an. Sowohl Sonne als auch Glüchlampe enthalten 
massig IR-Licht.

Beim µC darf A_Ref nicht mit VCC verbinden werden! (s. Datenblatt)

von (unknown) (Gast)


Lesenswert?

> Ich hab jetzt mal den ganzen Schaltplan gezeichnet. Ich würde mich
> freuen wenn irgenjemand noch eine gute Idee hätte, denn es geht immer
> noch nicht :|

Was geht nicht?

Liegt eine Spannung an ADC0 an, wenn du mit dem Voltmeter dort misst? 
Welche bei welchem/welchen Vcc?

Und ändert sich die Spannung wenn du den Lichteinfall auf den 
Fototransistor änderst (LED in OK1 an/aus d.h. Pin1 oder 2 an OK1 
verbunden oder nicht)?

Wenn nein ist die Verkabelung anders als im Schaltplan oder der OK1 ist 
kaputt. Den Transistor im ausgebauten OK1 kann man mit dem Multimeter 
durchmessen.

Wenn ja ist das nicht gezeigte Programm im Atmega168 vielleicht falsch. 
Das kann man aber leicht prüfen, in dem man statt des OK eine 
Potischaltung anklemmt wie im Tutorial gezeigt.

Schaut man in das DAtenblatt des OK, liegen deine 47KOhm Lastwiderstand 
irgendwo zwischen dem typ. gesättigten Betrieb und dem typ. 
ungesättigten/linearen Betrieb. Wie bist du auf die 47 KOhm gekommen und 
bist du sicher, dass das für deine Anwendung der richtige Wert ist? Wenn 
ADC benutzt werden soll, ist vermutlich der ungesättigten/linearen 
Betrieb  beabsichtigt. Dazu passt allerdings nicht, dass die LED im OK 
fest auf Vcc  geklemmt ist. Dort würde man eher ein veränderliches 
Signal einspeisen, welches man 1) galvanisch von der µC Schautung 
trennen will (dann haben µC und OK auch kein gemeinsames GND!) und 2) 
das man nicht digital (an/aus) abtasten will sondern analog.

Geschmackssachen:

AREF würde ich offen lassen und im Programm mit der internen Referenc 
(AREF=AVCC) arbeiten.

An Abblockkondensatoren würde ich nicht sparen und jedem xVcc/xGND 
Pärchen einen spendieren.

CNY17F
http://www.vishay.com/docs/83607/cny17f.pdf

von Krapao (Gast)


Lesenswert?

> dann haben µC und OK auch kein gemeinsames GND!

Gilt für die LED-Seite des OK1. Die Transistorseite des OK1 und µC 
müssen gemeinsames GND haben.

von Krapao (Gast)


Lesenswert?

Ähm

Im ersten Beitrag ist ein CNY70 drin und im letzten Schaltbild ein 
CNY17F. Die haben sehr unterschiedliche typ. Funktionen/Aufgaben!

von Krapao (Gast)


Lesenswert?


von (unknown) (Gast)


Lesenswert?

Jedes Element für sich funktioniert.
Der OK arbeitet korrekt (er ist auch nicht dauernd an). Das Programm 
geht auch, die Prüfschaltung mit Poti ist ok.
Ich kann auch den Wert aus dem OK im µC korrekt messen, wenn ich über 
einen OPV (Differenzverstärker) schalte.
Wenn ich V_01 nicht anschließe, kann ich mit einem Multimeter die 
Spannung und Spannungsänderung am OK messen. Wenn die Leitung an den 
ADC-PIN angeschlossen wird, geht alles nur noch auf 0V. Das verstehe ich 
nicht.

von (unknown) (Gast)


Lesenswert?

Der OK ist übrigens ein CNY70, im Schaltplan ist mir ein Fehler 
passiert.

von Krapao (Gast)


Lesenswert?

Wenn es der CNY70 ist, betrachte mal Fig.5 im Datenblatt un überlege, 
welche Auswirkungen es hat, wenn du dem Fototransistor mit Strom aus 5V 
fütterst, die durch 47K gequetscht werden. Am Fototransistor kommen dann 
max. 0.1mA an.

Alles in Fig.9 mit Ic > 0.1mA kannst du dann vergessen, d.h. Abstände 
unter 7mm brauchst du nicht auszuprobieren, die kann der strangulierte 
Fototransistor nicht weitergeben.

von Harald W. (wilhelms)


Lesenswert?

Löms Hotzenplotz schrieb:
> @MaWin
> Danke, aber der Optokoppler arbeitet mit IR-Licht, deswegen reagiert er
> auch ganz gut nur auf sein eigenes Licht!!

Jetzt weiss ich auch, warum ich die letzten Tage so friere.
Löms hat das ganze Infrarot, was es draussen gibt, abgeschaltet. :-)
Gruss
Harald

von (unknown) (Gast)


Angehängte Dateien:

Lesenswert?

Das Problem liegt irgendwo anders. Wenn ich den ADC mit Punkt A 
verbinde, zeigt das Programm korrekt Vcc an. Mit dem Multimeter kann ich 
die (wechselnde) Ausgangsspannung zwischen B und C messen, solange B 
nicht mit dem ADC verbunden ist. Sobald ich B mit ADC verbinde, kann ich 
keine Spannung zwischen B und C mehr feststellen und am ADC wird auch 0V 
angezeigt. Wenn ich 100k vor den ADC schalte, fällt zwar die Spannung 
zwischen B und C kaum, aber einen Messwert bekomme ich am ADC trotzdem 
nicht. Woran liegt das ? Ist die Stromstärke aus dem Transistor zu klein 
? Wie könnte ich das ändern ? R2 habe ich schon zeitweise auf 10k 
reduziert, ändert aber auch nichts.

von Dietrich L. (dietrichl)


Lesenswert?

(unknown) schrieb:
> Woran liegt das?

Was mir so einfällt:
- die Realität stimmt mit der Schaltung nicht überein (z.B. Kurzschluss)
- µC defekt
- Programmfehler (allerdings weiß ich nicht, ob man das Port auch noch 
auf Ausgang/Low schalten kann, wenn der ADC läuft).
Du kannst ja mal bei Verbindung von A und ADC den Strom messen, der dort 
fließt. Der sollte fast 0 sein.

Gruß Dietrich

von Krapao (Gast)


Lesenswert?

Ich kann mir anhand des Schaltplans auch nicht erklären, wie ADC0 
niederohmig bis zum Kurzschluss werden kann. Die Idee der Strommessung 
von Dietrich finde ich gut, wenn du ein Amperemeter für <<1mA hast.

Die Beschreibung, dass es mit der Messung an A bzw. bei Ersatz des CNY70 
durch ein Poti funktioniert, passt auch nicht zur Theorie Software 
falsch oder µC defekt.

Ein Rätsel!

von (unknown) (Gast)


Lesenswert?

Ich weiß jetzt auch nicht mehr weiter. Wir haben noch den µC 
ausgetauscht und einen anderen Phototransistor genommen, aber das 
Ergebnis bleibt gleich. Den Strom wollten wir auch messen. Wenn ein 
Strommessgerät zwischen A und C geschaltet wird, geht die Spannung auch 
auf 0.
Im Programm haben wir jetzt noch den Port explizit auf Eingang 
geschaltet (keine Veränderung). Wenn man dann aber den PullUp hochzieht, 
misst man an Punkt B mit dem ADC exakt Vcc, der Transistor ändert dann 
aber auch nichts mehr.
Ich glaube, wir bauen das jetzt noch mal komplett neu auf, damit wir 
nicht irgendeinen versteckten Fehler übersehen.

von spess53 (Gast)


Angehängte Dateien:

Lesenswert?

Hi

Bist du sicher, das du die richtige Anschlussbelegung des CNY70 hast? Es 
gibt zwei Varianten,

MfG Spess

von (unknown) (Gast)


Lesenswert?

Ich habe schon beide Belegungen ausprobiert und auch einen ganz anderen 
Phototransistor verwendet, das ist es nicht.

von Dietrich L. (dietrichl)


Lesenswert?

(unknown) schrieb:
> Strommessgerät zwischen A und C
Das ist ja auch ein Kurzschluss der Versorgungsspannung. Das sollte man 
nicht so zum Spaß machen...

Gruß Dietrich

von (unknown) (Gast)


Lesenswert?

Sorry, war Strommessgerät zwischen A und ADC, nicht C.

von Dietrich L. (dietrichl)


Lesenswert?

(unknown) schrieb:
> Sorry, war Strommessgerät zwischen A und ADC, nicht C.

(unknown) schrieb:
> geht die Spannung auch auf 0.

Dann muss ja ein großer Strom geflossen sein. Und wenn der µC auch schon 
ausgetauscht wurde, bleibt nur ein Kurzschluss in der Schaltung übrig...

Oder es fließt ein so großer Strom, dass Vcc in die Knie geht und der µC 
zwar noch arbeitet, aber nur Mist macht.

Gruß Dietrich

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
Noch kein Account? Hier anmelden.