Millhouse
Geocacher
KannNix und WeissNix schrieb:Ich frage das jetzt wegen dem Abschnitt im Code: "Reference = Avcc"
Denn Vergleich stellt ja nur der Atmega8 an und nicht mein Atiny13 oder Vergleicht der Atiny automatisch mit dem VCC![]()
Die größeren AVR Mikrocontroller haben zwei für den ADC-Wandler relevante Pinne, nach draußen geführt. Avcc und Aref. Avcc versorgt den ADC mit Betriebsspannung und wird normalerweise nochmals mit einer Induktivität gefiltert. Bracht man dies nicht, so verbindet man Avcc direkt mit Vcc.
Aref ist der Referenzspannungseingang. Dort kann man eine externe Referenzspannung einspeisen. Der AVR hat aber auch interne Referenzspannungen. Dann kann man an Aref einen Kondensator von ca. 100nF nach GND anschließen um die Referenzspannungen ein wenig zu stabilisieren. Dies sollte man auch machen, wenn man die internen Referenzspannungen nicht verwendet. AREF kann auch als Ausgang wirken und wenn dieser Pin mit fest mit Vcc verbunden ist, dann könnte es bei einem Programmierfehler einen Kurzschluss geben.
Der ATtiny13 hat aber nur 8 Anschlusspinne. Da hat man um Pinne zu sparen den Avcc und Aref Pin nicht nach draußen gelegt. Avcc ist fest mit Vcc verbunden und AREF kann intern auf Vcc oder 1.1V gelegt werden.
Die ADC Wandler sind ansonsten in allen AVRs recht ähnlich. Wenn du also den Mega8 als Referenz Avcc nehmen lässt müsste sich dieser wie der Tiny13 verhalten.
Du kannst den ADC übrigens überprüfen, wenn du anstelle des Fotowiederstands einfach mal einen Spannungsteiler (z-B. Vcc - 10KOhm - ADCINPUT - 10KOhm - GND) an den ADC anschließt. Wenn dann etwa 512 herauskommt, dann funktioniert dein ADC.
Danach könntest du den Spannungsteiler durch ein Poti (http://de.wikipedia.org/wiki/Potentiometer, Wert ca. 10K oder mehr, aber darauf achten, das du ein Poti mit linearer Kennlinie verwendest. Potis aus dem Audiobereich sind meistens logarithmisch) ersetzen und dann schauen, ob du (fast) alle Werte zwischen 0 und 1023 sehen kannst.