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
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
wie meinst du das an welcher stelle? Interne REFspg falls du das meinst
Hi
>Interne REFspg falls du das meinst
An welcher Stelle des Einlesens hast das Problem?
MfG Spess
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...
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
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?
Also macht das also nichts wenn die Referenzspannung 5V ist und ich eine Spannung von 2,5V einlesen will?
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
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?
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?
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
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
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.