mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 2 verschiedene Spannungen an einem analogen Eingang


Autor: jogi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen ich habe einn Atmega32 und will über einen Eingang 2 
verschiedene Spannungen einlesen.

- 5V
- 10V

da 10V nicht einfach draufgegeben werden dürfen habe ich eine OP 
beschaltung vor den Eingang gebaut der mir die Spannung immer halbiert.

10V werden 5V

und 5V werden 2,5V

so jetz habe ich das Problem wie ich jetzt die verschiedenen Spannungen 
einlesen kann , da meine refspannung 5V beträgt

mfg

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>da 10V nicht einfach draufgegeben werden dürfen habe ich eine OP
>beschaltung vor den Eingang gebaut der mir die Spannung immer halbiert.

Ein Spannungsteiler hätte es wahrscheinlich auch getan.

>so jetz habe ich das Problem wie ich jetzt die verschiedenen Spannungen
>einlesen kann , da meine refspannung 5V beträgt

Und an welcher Stelle?

MfG Spess

Autor: jogi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie meinst du das an welcher stelle?

Interne REFspg falls du das meinst

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Interne REFspg falls du das meinst

An welcher Stelle des Einlesens hast das Problem?

MfG Spess

Autor: sportI (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
naja die 10V klappt ohne Probleme da die auf 5V gemindert werden und mit 
der Ref Spg. von 5V verglichen werden.

nun stellt sich mir die Frage wie ich das bei den 2,5V machen soll... 
rein Theoretisch müsste ich doch den Ausgangswert von ADCW einfach mal 2 
nehmen dann müsste das gehen und ich könnte mit verschiedenen Rechnungen 
weitermachen...

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Der ADC gibt dir je nach Eingangsspannung einen Wert von 0..1023 (0..5V) 
aus.
Daraus die Spannung zu berechnen ist simple Mathematik. Steht übrigens 
auch im Datenblatt.

MfG Spess

Autor: Hurz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

wie ist Dein erster Post gemeint:
1) Du willst "über einen Eingang 2 verschiedene Spannungen einlesen" -
2 verschiedene Spannungen bedeutet das "2 Kanäle"? Oder nacheinander 
einmal 10V und einmal 5V?

allgemein ist es so, dass Dein Atmega einen ADC hat, vor dem ein 
Umschalter ist, mit dem Du einen von 8 ADC-Kanälen auf den ADC-Eingang 
legen kannst.
Ausserdem braucht der ADC eine Referenzspannung. Diese kannst Du anlegen 
oder eine interne Referenz benutzen. Die Spannung darf nicht höher als 
die Versorgungsspannung sein. Legst Du nun an einen ADC-Pin eine 
Spannung an, die genau der Referenzspannung entspricht, und wählst den 
Kanal für den ADC aus, misst er den Wert 1024 (=2^10).
Hast Du eine Referenzspannung von Beispielsweise 5V und willst maximal 
10V messen, musst Du Deine Messspannung dem Meßbereich anpassen. Am 
einfachsten linear mit einem Spannungsteiler. Angenommen Du baust Dir 
mit 2 Widerständen einen Spannungsteiler, an dessen Ausgang die Hälfte 
der Eingangsspannung liegt, und Deine Messspannung von 10V liegt am 
Eingang an, liegt am Ausgang des Spannungsteilers eine Messspannung von 
5V an. Der ADC würde hier wieder 1024 messen. Du selbst weisst aber, 
dass dieser Wert nur der Hälfte der Spannung entspricht, musst also, 
wenn Du z.B. die gemessene Spannung auf dem Display ausgeben willst, mit 
2 Multiplizieren. - Ja, das müsstest Du dann im Programm machen.
Damit hast Du den Messbereich an den Maximalen Wert angepasst, kannst 
also statt 5V maximal 10V messen. Das hat jedoch einen Preis: durch die 
lineare Transformation und konstante Anzahl der 1024 Teilbereiche Deines 
Messbereiches, misst Dein ADC nun nur noch "halb so genau".
Dazu ein Beispiel: ohne Spannungsteiler bedeutet der ADC-Wert 1: 
1/1024*Vref = 1/1024*5V = 4,88mV. Das ist der kleinste messbare 
Spannungsunterschied.
Schaltest Du einen 2:1 Spannungsteiler vor den ADC, kannst Du nur 
1/1024*10V =9,77mV genau messen. Der ADC-Wert 1 bedeutet also 9,76mV.
Hast Du schon im Tutorial gelesen?

Autor: sportI (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also macht das also nichts wenn die Referenzspannung 5V ist und ich eine 
Spannung von 2,5V einlesen will?

Autor: Hurz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nicht 1024 sondern 1023.

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>Also macht das also nichts wenn die Referenzspannung 5V ist und ich eine
>Spannung von 2,5V einlesen will?

Nein. Die Referenzspannung bestimmt lediglich die maximal messbare 
Spannung.

MfG Spess

Autor: Hurz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein, der ADC ist doch dazu da, um Spannungen zu messen, er gibt Dir 
einen Wert äquivalent zur angelegten Spannung aus. bei 2,5 V gibt er Dir 
512 als Wert aus.

Kann ich Deiner Fragestellung entnehmen, dass Du gar keinen ADC 
brauchst? Mir kommt es so vor, dass Du nur mit dem Controller schauen 
willst, ob ein Eingangspin "high" oder "low" ist und fragst Dich, ob der 
auch bei 2,5V schon high ist, kann das sein?

Autor: sportI (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nein, will schon den analogwert einlesen... dann rechne ich ihn in eine 
spg wieder um und gebe ihn auf dem Display aus!

aha also hab ich das richtig verstanden das er bei einer REF spg.  von 
5V und einer Eingangsspannung von 5V 1023 Werte max ausgibt und bei 2,5V 
eingangsspannung gibt er max 511 werte aus!

stimmt das so?

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

>aha also hab ich das richtig verstanden das er bei einer REF spg.  von
>5V und einer Eingangsspannung von 5V 1023 Werte max ausgibt und bei 2,5V
>eingangsspannung gibt er max 511 werte aus!

So in etwa. Du solltest aber eher mit Werten um 1023 bzw. 511 rechnen.

MfG Spess

Autor: Hurz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn du mit eingangsspannung = messpannung meinst, dann ja.

also, nochmal (hoffentlich unmißverständlich):
Dein Controller ist mit 5V versorgt.
Deine Referenzspannung beträgt 5V.

dann gilt:
Messspannung = 5 V   --> ADC misst 1023
Messspannung = 2,5 V --> ADC misst 512
Messspannung = 1V    --> ADS misst 205
Messspannung = x V   --> ADC misst (x V / 5V) * 1024

Autor: sportI (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke sehr.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.