Hallo, ich versuche seit 2Tagen jetzt nun schon eine Analog/Digigtalwandlung mit Attiny26,Mega8/16 hinzubekommen. Aber es klappt nicht und ich habe schon eine Handvoll defekter Chips. Kann mir irgendjemand ein Schaltungsbeispiel geben? Ich will einfach nur eine Spannung zwischen 0-5V messen. Besten Dank
Da gibt es eigentlich nicht viel zu schalten. Die normale Schaltung, in die der AVR halt eingebunden ist. Als Eingang mußt Du den entsprechenden PortPin benutzen (siehe Datenblatt, beim Mega32 ist es z.B. PortA) und die Referenzspannung Aref anschließen. Die sollte dann bei 5V liegen. Dann müßte eigentlich alles schon funktionieren. Wie hast Du denn die Chips kaputtgekriegt?!? Oder anders herum gefragt, woran merkst Du, daß sie kaputt sind? Nicht vielleicht doch Software-Fehler?!? Gruß KMT
@Manuel Zeig mal deine Beschaltung. vieleicht haste nen Fehler den de nicht bemerkst. Und Softwaremäßig kannste vieleicht erstmal mit Bascom probieren. Das ist erstmal schneller und man kann weniger fehler machen. Beispiel: (Gaaanz simpel aussem Gedächtnis) ------------------- Config Adc = Single , Prescaler = Auto , Reference = Avcc Dim A As Word Do Start Adc A = Getadc(0) Lcd A 'oder Print A Waitms 500 Loop End ------------ Damit kannste wenigstens feststellen obs geht und ob die naderen Controller wirklich im Sa** sind. Bascom gibbet als Demo zum Probieren (Max 2K Code) Sicher gibt es auch Beispiele in C oder Assembler.
Also ich mach das immer so, daß auch avcc und agnd mit angeschlossen werden Aref=+5V vom 7805 AGND=GND vom 7805 AVCC= +5V über ca 12Ohm (Trimmer) vom 7805, mit 1µ gegen GND vom 7805 die grundschaltung (quarz,kondenstoren, gnnd,vcc) und auch das programmieren funktioniert, hab schon mehre sachen (display,led etc) gemacht und es läuft... ist das richtig angeschlossen? da sich die chips nicht mehr ansprechen lassen,müssen sie defekt sein... ich arbeite mit bascom, und will endlich zahlen haben auf dem display *schnief
Hi, du solltest dir nochmal das Datenblatt des Controllers anschaun. Aref kannste auf +5 V legen .... AGND auf GND..... AVCC ueber ein LC Tiefpass an 5V .... L = 100 µH und C = 100nF Ich vermute das du vergessen hast die interne Referenzspannung abzuschalten ... diese liegt bei 2,56 V. Deine zu messende Spannung darf AREF niemals uebersteigen, ansonsten kann der µC zerstoert werden. Moechtest du groessere Spannungen messen geht es ueber ein OP und du berechnest dir ein unbelasteten Spannungsteiler. Mfg Dirk
mh, und wie schalte ich beim tiny26/mega8/16 die interne ref-spannung ab?fuses? welches ist es denn? aus 176seiten datenblätter werd ich nicht so richtig schlau....
@Manuel Yo,das dürfte der Fehler sein. Ich lasse den "Aref" offen wenn ich ne andere Referenz al 5V nehme und gebe im Programm "AVCC" als Refferenz an. (Config Adc = Single , Prescaler = Auto , Reference = Avcc) ---------------- Wie Dirk schon sagte ist per Default die Referenz auf "Aref" und der ebenso per default auf 2.55V.(So habe ich es jedenfalls auch aus dem Datenblatt verstanden) Gibst du jetzt 5V drauf dann wird vermutlich die Referenzschaltung im Controller zerstört. Wenn ich mal ne andere Referenz an "Aref" anlege dann lasse ich vor der ersten Programierung den Pin frei und schalte erst danach die Referenzspannung zu. Im Übrigen sehe ich wenig Sinn darin AVCC mit ner RC-Kombi zu entkoppeln und die Referenz einfach ohne jegliche Maßnahme auf die 5V zu legen. Wenn dann würde ich gerade dort entkoppeln denn wenn die Referenz schwankt dann schwankt auch das Meßergebnis. Die AVCC (Und die dazugehörige masse) sind Primär zur energieversorgung da und können schon einwenig Wandern (Innerhalb der Tolleranzen natürlich). (Natürlich sollte man AVCC auch entkoppeln.Was ich meinte ist das die Referenz am wichtigsten ist) Da du ja nun achon den AVCC Entkoppelt hast und eh 5V als Referenz nehmen willst würde ich die Referenz mit obiger Zeile gleich auf "AVCC" legen und du hast das Problem umgangen. Übrigens: Der Eingang für die Referenz ("Aref") ist recht hochohmig (Den genauen Wert hab ich jetzt nicht nachgeschlagen.Steht aber auch im Datenblatt) so das ich wenn schon dann mit Vorwiderständen arbeiten würde.Damit kannst du solchen "Unfällen" dann vorbeugen. Im Listing oben fehlt übrigens noch ein "CLS" wenn du nen LCD nutzt damit es nicht volläuft aber das haste ja sicher schon erkannt.*g* Wie gesagt würde ich bei deiner Schaltung den Aref frei lassen und per Soft auf AVCC umstellen da ja 5V als Referenz genommen wird.
Die Umschaltung zwischen AREF und interner Referenzspannung erfolgt nicht mit Fuses sondern über das Register ADMUX, Bits 6 und 7. Diese sind beim Einschalten per Default 0 und damit auf externe Referenzspannung eingestellt. Eine an AREF angeschlossene Spannung kann also nur dann schaden wenn das Programm das umstellt. Den Fehler kann ich mir ehrlich gesagt nicht ganz erklären. Im Fall von Manuel könnte ich mir höchstens noch vorstellen das die höhere VCC im Verhältnis zu AVCC (wegen dem Widerstand) die Ursache sein könnte. Laut Datenblatt darf AVCC nicht mehr als +/-0,3V von VCC abweichen. Und da AVCC einen digitalen Port versorgt können da ausreichend große Ströme fließen um einen Spannungsabfall von mehr als 0,3V zu verursachen. Wenn man eine Spule statt dem Widerstand einbaut besteht noch keine Gefahr da die einen sehr kleinen DC-Widerstand hat. Also wenn man den AD-Wandler nicht braucht einfach AVCC direkt mit VCC verbinden. Und auch wenn man nur einfache Messungen macht die keine hochgenaue benötigen reicht es in der Regel wenn man AVCC und AREF direkt mit VCC verbindet. Man sollte lediglich einen Kondensator mit 100nF in der Nähe anschließen. @ Manuel: wieviel Strom ziehen die Controller denn jetzt und werden die heiß? Gruß Markus
@Markus Wie ich sehe beschäftigst Du Dich mit meiner Anfrage. Danke. Gruß Jörg
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.