www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Viele Befehle zu A/D?


Autor: Sencer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HI,
ich habe einen µC mit einem A/D-Wandler. Wie lese ich jetzt blos einen
Analogen-Wert ein?
Es gibt für den A/D-Wandler so viele Befehle, wie ADMUX, ADCSR usw.
Da wird mir schwindlig.
Was für Befehle muss ich ausführen, damit ich ein Analoges-Signal in
ein Digitales Signal umwandeln kann und diese dann z.B. in einer
Varible zur verfügung gestellt bekomme?

Sencer

Autor: hofer tobias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
falls du eine antwort erwartest wäre es sicherlich nicht schlecht
zu wissen was für einen prozessor du verwendest.

tobias

Autor: Sencer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende einen ATMEL-Mikrocontroller(ATtiny26/ATmega8515).

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
unglücklich - der ATmega8515 hat leider keinen AD Wandler.

Außerdem wäre es interessant zu wissen, in welcher Programmiersprache
du arbeiten willst ...

Danach liest du dir vielleicht mal die passende Passage im Datenblatt
nach und versuchst mal zu verstehen, was die einzelnen Register
bezwecken. Das schreibst du dann mal im Forum und fragst die sachen
noch, die du nicht verstanden hast.

Zeig mal ein bisschen Interesse.

Autor: Sencer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast recht, der 8515 hat leider keinen.
Habe mich verguckt.
Im Datenblatt des ATtiny26 habe ich mich mal umgeschaut, verstehe
leider nichts, was über den A/D steht:(
Hilf mir bitte weiter.

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Sencer...

> Es gibt für den A/D-Wandler so viele Befehle, wie ADMUX, ADCSR usw.
> Da wird mir schwindlig.

Hmmm... Die Befehle dazu sind wohl eher IN, OUT, LDI usw...
Was du da aufzählst sind I/O-Register.

In ADMUX musst du reinschreiben, welchen Pin du messen willst, also wie
du den AD - MUltipleXer (deshalb AD-MUX) einstellen willst.

In ADCR (AD-Control-Register, also Steuerregister) musst du halt
reinschreiben, was der ADC machen soll.

Auslesen kannst du den Wert dann aus ADCH und ADCL.

Was dabei zu beachten ist, findest du im Datenblatt des jeweiligen
AVR... Da gibt es von Typ zu Typ Unterschiede...

Im Prinzip läuft es auf Folgendes hinaus:

- Messquelle mittels ADMUX einstellen,
- Betriebsart mittels ADCR einstellen,
- was anderes tun, bis die Messung fertig ist,
- Wert aus ADCL und ADCH auslesen, aber erst, wenn der ADC fertig
  ist... (geht mit ADC-Int, aber bei guter Planung auch in oder
  besser nach einem Timer-Int...

Viel Erfolg...
...HanneS...

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
da steht doch in dem einleitungstext zum adc im DB alles schritt für
schritt drin was du machen muss. dann musste doch nur noch nachschaun
welche register/bits das genau sind (wenns nicht auch schon angegeben
ist) und fertig.
ist ja nicht das erste mal das du durch exzessive faulheit unangenehm
auffällst

Autor: Sencer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke sehr.

Autor: Thomas O. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

für den ATtiny26 hab ich was da, er leißt an einem Pin die Spannung ein
und gibt den Wert am anderen Port aus, aber nur die unteren 7bits da der
Resetpin sonst deakitviert werden müsste, habe aber kein STK500 da um
das Rückgängig zu machen.

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sencer: Nix zu danken...

@Tobi: Du hast Recht, deshalb habe ich ja auch keinen Code mitgeliefert
sondern ihn nur durch allgemeine Äußerungen neugierig aufs Datenblatt
gemacht.

@Thomas Oly: Cooler Code... Verstehst du den? - Oder sammelst du sowas?
Warum schiebst du das Ergebnis nach rechts? Hat der Tiny kein ADLAR in
ADMUX? Die Schieberei war doch nur bei den Classic's nötig...

Beste Grüße...
...HanneS...

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

den Schiebeteil hab ich nur übernommen und mir ehrlich gesagt keinen
Kopf drüber gemacht, denke aber zu wissen wies funktioniert man muss
das niedrigere Register 2 mal schieben und die höherwertigen Bits aus
dem hohem Register übernehmen. Den Rest verstehe ich ja schon hab ja
Teilweise noch ein paar Komentare dazugefügt, damit ich nicht jedesmal
im Datenblatt anchscheuen brauche wenn ich z.b. den Takt des ADC
ändere.

Ich habe die Schaltung aufgebaut und der Code funktioniert deswegen
habe ich meine Hilfe angeboten, mit Sachen wo ich mir nicht ganz sicher
bin werde ich mich in Zukunft zurückhalten.

Autor: bluemole (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hab' mal Deinen geposteten Code überflogen. Die Schieberei kannst Du
locker einsparen.
Stell' einfach im ADMUX das ADLAR auf High. Dann ist das Ergebnis left
adjusted. Du brauchst nun nur noch das ADCH einlesen

in temp,ADCH
out portb,temp

Das ADCL brauchste gar nicht mehr zu lesen. Spart echt Rechenzeit und
sieht bestimmt schöner aus.....

MfG bluemole

PS: Zur Debatte der Faulheit, vielleicht ist ja das Analphabetentum
weiter verbreitet als man denkt ;-)

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke werde ich mir gleich anschauen und ändern.

Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

jawoll es funktioniert ich man muss das 5te Bit im ADMUX aud 1 setzen
also 32 zu dem Wert dazurechnen den man ans ADMUX überträgt.

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@bluemole

> vielleicht ist ja das Analphabetentum weiter verbreitet als man
denkt

Vielleicht liegts aber auch einfach daran, daß man mit 15 noch nicht so
fit in technischen Englisch ist.

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Vielleicht liegts aber auch einfach daran, daß man mit 15 noch nicht
so fit in technischen Englisch ist."
dabei ist das technische englisch das leichteste. die fachbegriffe muss
man sowieso lernen, egal in welcher sprache und gleich sind die meist
auch noch. der rest um die fachausdrücke rum ist nicht wirklich
sonderlich schwer und auch mit ein wenig eigeninitiative erlernbar (vor
allem da man mit 15 schon etwas länger englisch in der schule haben
sollte)

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das mit dem "Fitt" in Englisch kommt aber absolut auf den Schultyp und
das Bundesland an;)
Und dadrauf ob man sich wirklich mit der Materie beschäftigen will.
mfg Flo

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Und dadrauf ob man sich wirklich mit der Materie beschäftigen will."

wenn man merkt, dass man das gelernte nicht nur in der schule braucht
sondern auch im hobby, z.b um englische schaltungsbeschreibungen und
datenblätter zu verstehen sollte die motivation eigentlich da sein. es
sei denn jemand ist so faul und dreist jeden müll in foren zu erfragen
weil man zu ignorant ist einzusehen, dass einem nicht immer alles fertig
vorgesetzt werden wird. das sollte man IMO nicht auch noch unterstützen

Autor: Sencer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Leute für eure Beiträge.
Und wenn alles in Deutsch stehen würde, dann müsste ich nicht hier
andauernd Fragen stallen. Englisch ist für mich persönlich schwer und
verstehe deshalb auch nur einige Sachen die in den Datenblättern
stehen. Aber trotzdem bleibt mein hobby die Elektrotechnik.
Ich mag es garnicht, dass mir ein paar Leute sagen, dass ich die
Elektrotechnik vergessen soll, weil ich nur nicht so gut Englisch
kann:(

DANKE SCHÖN

Autor: Christof Krüger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wirke dem entgegen! Versuche es stetig und du wirst dein Englisch
aufbessern. Es wird dir niemand was sagen, wenn du hier im Forum eine
Frage der folgenden Art stellst:

"Ich wollte xyz machen, es klappt aber irgendwie nicht. Ich habe im
Datenblatt gelesen, dass man das IO-Register ABC auf XYZ stellen muss.
Ausserdem steht da was von Register ZZZ, aber da verstehe ich nicht
ganz, was dieser Satz bedeutet: 'blablabla englisch blablabla'. Kann
mir jemand helfen?"

Siehst du den Unterschied?

Autor: Sencer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo, danke.
Werde dem nächst versuchen, die Datnblätter einigermassen zu
verstehen:)

Autor: Tassilo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Sencer,

das ist was Du brauchst!!

http://www.catb.org/~esr/faqs/smart-questions.html

Viel Spaß
Tassilo

Autor: Sencer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was das auch für ne Seite ist Tassilo, alles in Englisch. Willst mich
wohl auf den Arm nehmen.

He He.

Autor: Gunter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Tassilo,

das ist jetzt aber gemein - ihn auf die englische Seite zu verweisen !

http://www.lugbz.org/documents/smart-questions_de.html

ist das Gleiche auf Deutsch.

Gunter

Autor: Sencer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Gunter.

Autor: Tassilo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Was das auch für ne Seite ist Tassilo, alles in Englisch. Willst mich
>wohl auf den Arm nehmen.

....
....

>ist ja nicht das erste mal das du durch exzessive faulheit unangenehm
>auffällst


Ohne Worte

Autor: Sencer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was soll das heißen Tassilo?

Autor: Tassilo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Quod erat demonstrandum!

- oder


was zu beweisen war!

Autor: Smart Questions (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Was soll das heißen Tassilo?

Naja, der erste Abschnitt von "asking smart questions" nennt sich
"Translations"; und in diesem Abschnitt befindet sich ein Link mit
dem Titel "german".
Man könnte auch ohne große Englisch-Kenntnisse darauf kommen, dass sich
hinter diesem Link etwas deutsches verbirgt.

Falls selbst dafür die Englisch-Kenntnisse nicht ausreichen sollten,
könnte man alternativ auch auf die Idee kommen, (Achtung Geheimtipp!)
Google zu benutzen:
http://www.google.com/search?hl=de&ie=UTF-8&q=smar...

Das alles ließe sich in wenigen Minuten erledigen.
Aber wofür gibt es schließlich Foren mit hilfsbereiten Menschen, die
einem jede noch so kleine Denkarbeit abnehmen?

Autor: Sencer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich lasse euch doch nicht die ganze Arbeit machen mir die Datneblätter
zu übersetzten. Das wäre sehr nett, aber wo bleibt den der Spaß?
Das mache ich lieber selber.

Autor: Tassilo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Gunter,


das Signum muß jetzt aber wieder raus!!! lol


Gruß
Tassilo

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.