Hallihallo!
Ich bin relativ neu und (noch) hobbymäßig im Elektronikbereich tätig.
Zur Zeit bastle ich mir verschiedene Module zusammen, um die Funktionen
der AVR ausprobieren zu können.
In letzter Zeit tüftle ich mit dem ADC rum und habe es mittlerweile
geschafft, meine Software im Simulator funktionsfähig zu machen.
Prinzip: Analoge Eingangsspannung wird ausgelesen, der Wert unter
Berücksichtigung von einstellbaren Offset-Schwellen in eine 7 Bit Zahl
umgerechnet und über BCD den Wert (1-127) ausgeben. So weit, so gut.
Beim Ausprobieren in der Praxis passiert das mir Unerklärliche: Die
Vergleichsspannung am ADC-Pin schwingt mit etwa 1Hz zwischen 0,5V und
5V, sobald das Poti (linear) leicht aufgedreht wird. Stöpsle ich es vom
ADC ab, messe ich die normalen Spannungen, wie man sie von einem Poti
erwartet.
Außerdem funktioniert auch die Ausgabe an den Port Pins in dieser
Versuchsanordnung nicht mehr, Pegel ändern sich nicht und sind immer
gleich (auch nach Reset).
Abblockkondensatoren sind vorhanden. Die Schaltung wird über ein
Schaltnetzteil und nen 7806 Wandler mit Strom versorgt, auch hier wird
natürlich abgeblockt. Die Leiterführung ist dank Steckbrett natürlich
nicht besonders förderlich. Dass sowas eine 1Hz Schwingung verursacht,
kann ich mir aber kaum vorstellen. Vlt ist das ADC-Modul im AVR kaputt?
Der AVR selbst scheint zu funktionieren, er lässt sich jedenfalls ohne
Probleme programmieren.
Hat jemand noch eine Idee?
Liebe Grüße
Hannes
So, jetz hab ich mal wieder Zeit mich dem Thema hier zu widmen ;)
Versorgungsspannung schwankt nicht, jedenfalls nicht mit dem Multimeter
messbar.
Warum nicht 7806? Ich kenn mich da noch nicht so aus, mein erstes
Entwicklungsboard hatte nen 7806 drauf und seitdem werwende ich halt die
dort benutze Schaltung für Stromversorgungen.
ADC-Pin ist ADC0, also Pin C0 am ATMega8.
Schaltplan kommt noch.
Nimm den 7805. Der 7806 macht 6V und nicht 5, das ist 0,5V über den
Absolute Maximum Ratings der ICs... würde mich nicht wundern, wenn Dein
Problem daran liegt und der Controller daran stirbt.
Schaltung und Programm her.
Wenn Du schon Probleme bei der Erzeugung der korrekten Betriebsspannung
hast sind in der Schaltplan bestimmt noch einige andere Leckerbissen
versteckt.
Für den ADC-Betrieb gibt es viele Feinheiten zu beachten.
1.) was verwendest du als Referenz (Hardware-Verschaltung)
2.) Mit welcher Frequenz wird der Atmega8 betaktet
3.) Welches Timing verwendest du?
Die gewählten Parameter werden in die Register geschrieben
um dann vernünftig wandeln zu können.
Danke schonmal soweit!
Also anbei mal der Schaltplan.
Dann werd ich wohl den Spannungsregler bei Gelegenheit mal austauschen,
so ein Gschmarre, 6V!
Referenz: Intern an Versorgungsspannung, darum ist der AREF-Pin extern
abgeblockt.
Frequenz des µC ist 4 MHz, der Prescaler des ADC beträgt 32.
Ich denke mal, der ADC ist schon richtig eingestellt so, oder?
Sry für den Doppelpost! Wollte nur noch anmerken, dass ich von der Wahl
der Dimensionen der Bauteile nicht viel Ahnung habe! Da orientiere ich
mich immer an Versuchsaufbauten, die im Internet zu finden sind und die
Spannungsregelung ist die gleiche, wie die meines (bescheuerten)
Entwicklungsboards.
mr. mo schrieb:> in der schaltung ist der 7806 in ordnung (siehe post vorher).
Nicht wirklich. Im myAVR-Board wurde die Diode hinter dem
Spannungsregler eingebaut, damit bei Versorgung über USB kein Strom in
dessen Ausgang hineinfließt. Wegen des Spannungsabfalls über die Diode
war man gezwungen, auf 6V zu stabilisieren, und kommt auf ca. 5,3V, also
knapp unter dem Maximalwert des AVR. Nicht so saubere Lösung...
Hier ist das aber ohnehin Unsinn, weil keine 5V-Einspeisung hinter dem
Regler vorgesehen ist. Die Diode ist überflüssig, sie erhöht nur den
Innenwiderstand.
@Hannes
Nimm einen 7805 und lass die Diode weg.
Den Brückengleichrichter am Eingang kannst du durch eine 1N4001 in der
Plusleitung vor dem 7805 ersetzen, sofern die Polung der
Eingangsspannung nicht beliebig sein muss und einfacher Verpolungsschutz
ausreicht.
Außerdem fehlt die Drossel an AVCC. Siehe hier:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_ADC#Referenzspannung_AREF
Johannes