www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR ATmega8 DAC Problem


Autor: vlad_tepesch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe, wie in dem AVR-Tut beschrieben den ATmega folgenderweise 
beschalten:
http://www.mikrocontroller.net/wikifiles/f/f6/Tut_ADC_03.gif
(außer dass er bei mir an PortC5 (Pin 28) hängt.
Ich mittele jeweils 128 messungen und gebe diese auf einer 
4*7-seg-mentanzeige aus.

AGND hängt an ground
AVCC an 5V
als referenzspannung hab e ich auf intern 5V gestellt.
der VREF port ist also mit dem einen ende des Potis, der Ground mit dem 
anderen und der Abgriff mit PC5 verbunden.
Das Poti hat ich 10kOhm.


Was ich nicht verstehe (und was in meinen augen falsch ist), ist dass 
das Poti bis kurz vor schluss werte im 10er bereich anzeigt und dann 
innerhalb der letzten paar grad (5% des Poti drehspielraums) auf 950 
geht.

Was mach ich denn falsch?

Autor: vlad_tepesch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich meinte natürlich ADC

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Häng mal das Poti zwischen Vcc und GND!

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das eine Ende des Poti gehört nicht auf AREF sondern auf AVCC. An AREF 
gehört ein 100n nach AGND.

Autor: vlad_tepesch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In dem Tutorial ist diese Möglichkeit ausdrücklich beschrieben:
http://www.mikrocontroller.net/articles/AVR-Tutori...

Allerdings habe ich das überlesen:
"Der Spannungsteiler muss einen Gesamtwiderstand von deutlich über 10kΩ 
besitzen. Werte von 100kΩ oder höher sind anzustreben"
Ich hoffe ich habe jetzt nicht den Port geschrottet


Auch mit VCC verbunden, gibt sich das gleiche bild.
Oder muss ich jetzt im ADMUX was umstellen?

Autor: vlad_tepesch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ergänzung:
Ich wollte das so machen, da mich die Spannung nicht interessiert und es 
nicht auf Megagenauigkeit ankommt, da ich nur einen internen Parameter 
mit dem Poti einstellen möchte.
Da sah mir das nach der einfachsten Möglichkeit aus.

Autor: Volker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also das Poti an Vcc und Gnd. Dann in ADMUX REFS0=1,REFS1=0 und 
MUX0..MUX3 entsprechend deinem ADC-Kanal setzen. Sollte das nicht 
funktionieren poste mal deinen Code

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Variable zum Aufsummieren ist hoffentlich ein uint32_t, sonst kommst 
du nicht weit.
Oder du verwendest nur 8 bit.

Autor: vlad_tepesch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ahhh,
jetzt beim Code aufbereiten sehe ichs:

anstatt ins DDR hab ich in PORTC reingeschrieben, dass PC6 ein Eingang 
ist -> war also die ganze zeit als Ausgang konfiguriert.

jetzt gehts.
auch mit der Variante mit Poti zwischen vref und ground.

Danke ;)

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.