Hallo zusammen, habe mich ganz frisch hier im Forum angemeldet, aber schon öfter hier rein geschaut. Nun ich fange ganz neu mit dem Thema Microcontroller an, weil mich das Thema irgendwie sehr interessiert. Ich habe mit dem Tutorial hier von der Seite angefangen und habe mir soweit erstmal alle möglichen Sachen bestellt, also von Widerständen über LED's bis zu einem Entwicklungsboard. Habe insgesamt fast 300 EUR ausgegeben oO. Da ich bei meinen PC's nur die USB-Schnittstelle zur Verfügung habe, und eine Debug-Möglichkeit (ich weiß, das kann der ATMEGA8 nicht) für die Zukunft nicht schlecht ist, habe ich mich für das AVR Dragon Board entschieden. Nun, meine "Skills" würde ich wie folgt betiteln (Noten 1-6): - Programmierung: 2- (da von Beruf Anwendungsentwickler, allerdings eher Hochsprachen) - Elektronik: 4 (hatte mal eine Lehre als Industrie-Mechatroniker angefangen) - Microcontroller: 5- (da ich ja gerade erst anfange ;) ) Meine Umgebung: - AVR Dragon - AVR Studio 5 - ATMEGA8 - Windows 7 64bit - Netzteil/Board mit +5V Ich versuche mal meinen Ablauf soweit aus dem Kopf wieder zu geben: 1. Ich habe die USB-Treiber und das AVR STudio 5 installiert. 2. Habe ich mein Steckboard soweit vorbereitet und den ATMEGA8 (den hier: http://www.reichelt.de/Atmel-ATMega-AVRs/ATMEGA-8-16-DIP/index.html?;ACTION=3;LA=444;GROUP=A363;GROUPID=2959;ARTICLE=45024;START=0;SORT=artnr;OFFSET=16;SID=13TgnRjH8AAAIAAALFwgU94bc77dcfa82cd13afa0ec5f7cb04827) draufgesetzt 3. Nun ist auf dem AVR Dragon ja ein 6-Pin ISP Anschluss. Diesen habe ich mit meinem ATMEGA8 auf dem Steckboard, wie im Anhang zu sehen, verbunden. 4. USB-Kabel rausgekramt und aha leuchtet schonmal eine LED (ich mein nur die rote!). Danach AVR Studio 5 geöffnet und Tools -> AVR Programming gestartet. Der wollte direkt ein Firmware Upgrade für das AVR Dragon durchführen - OK warum nicht. Hat auch alles geklappt. 5. So, bevor ich drauf los programmiere, wollte ich erstmal sicher sein, dass ich den ATMEGA8 überhaupt ansprechen kann, also wieder Tools -> AVR Programming. Erstes Problem: Es gibt gar keinen ATMEGA8 zur Auswahl -.-, dann habe ich spaßeshalber mal alle ausgewählt, die irgendwas mit dem 8er zu tun haben könnten. Klicke ich nun "Read Voltage" sagt er mir, dass nur 0,4 V anliegen. Klar viel zu wenig, also mit Multimeter nachgemessen und JA stimmt, sind nur 0,4 V. Alles wieder abgesteckt, den ATMEGA8 mal ausgesteckt und nochmal nachgemessen, aha ich messe ~ 4 V (ca.). Stecke ich wieder den ATMEGA8 drauf und führe wieder das Tool aus, habe ich wieder 0,4 V. Schade, dachte der Dragon würde genug Strom über USB liefern. Der ist bei mir direkt an den USB-Anschluss (also ohne Hub, oder lange Kabel). Da hängt (an diesem Controller) auch sonst nichts dran. 6. Hatte zum Glück noch ein Netzteil/Board mit bestellt, welches mir wahlweise 12 V, 5V oder 2,3 (?) V liefert. Nun habe ich die Stromverbindung (also +5V und GND) vom AVR Dragon zum ATMEGA8 unterbrochen und mein Netzteil statt dessen angeschlossen, welches durch messen 4,8 V liefert. 7. Ich starte wieder mein Tool und klicke "Read Voltage" und JA, jetzt sagt auch das Tool 4,8 V (beim AVR Dragon leuchtet übrigends auch die grüne LED). Aber egal welchen ATMEGA8 Verwandten ich auswähle, ich kann weder "Read Device ID" noch "FUSE Bits", da erhalte ich immer die gleiche Fehlermeldung (habe ich jetzt nicht im Kopf, kann ich heute Abend mal anhängen. Sinngemäß meine ich, dass das Gerät nicht bereit ist und ich sicher stellen soll, dass die Stromversorgung OK ist.). Sobald ich diese Fehlermeldung erhalte und "Read Voltage" klicke, kommt komischerweise wieder nur 0,4 V). Wenn ich den wieder neu auswähle und "Apply" klicke, liest er wieder den korrekten Volt-Wert aus. Das einzige was funtkioniert, ist den Takt zu setzen. Ich hatte den Takt mal auf 250 KHz gesetzt, hatte aber immer noch die gleichen Fehler. Ich habe zwei verschiedene ATMEGA8 getestet. Einen Fehler habe ich gemacht: Ich hatte den Schaumstoff im Betrieb unter dem AVR Dragon gelassen (hatte alles schön in den Karton gemacht und zugeschnitten). Habe auch den Widerstand des Schaumstoff gemessen, der hatte tatsächlich nicht unendlich Ohm. Deshalb nun meine Frage: Was mache ich falsch? Oder mit welcher Software könnte ich das alternativ noch testen? Fand AVR Studio natürlich schön, da ich beruflich auch mit Visual Studio arbeite. Ich hoffe jemand kann mir helfen, ich sage schon mal VIELEN DANK :)
Hi Nach: >http://www.atmel.com/dyn/resources/prod_documents/as5installer-5.0.1160-release_note.pdf wird das Programmieren des ATMega8 durch den Dragon unterstützt, muss also auch auswählbar sein. Hast du evtl. nicht die neuste Version? >Aber egal welchen ATMEGA8 Verwandten ich auswähle, ich kann weder "Read >Device ID" noch "FUSE Bits", da erhalte ich immer die gleiche >Fehlermeldung ... Da gibt es keine Verwandten. Diese Vorgehensweise ist sinnfrei. >Das einzige was funtkioniert, ist den Takt zu setzen. Ich hatte den Takt >mal auf 250 KHz gesetzt, hatte aber immer noch die gleichen Fehler. Ich >habe zwei verschiedene ATMEGA8 getestet. Der Takt muss bei einem neuen AVR < 250kHz sein. MfG Spess
1. Fehler: Du hast den ATmega8 nicht ganz korekt beschaltet. Du musst AVCC und GND auf der rechten Seiten ebenfalls mit +5V und GND verbinden. Sonst arbeitet er nicht. 2. Fehler schließe noch einen 10kOhm Widerstand von Reset gegen 5V an. Ich weiß nicht ob der AVR Dragon sauber gegen 5V zieht. 3. Fehler: Bei den langen Zuleitungen für die Versorgungsspannung kan es sein das die Spannung so stark einbricht das der Dragon abschaltet. Besser jeweils einen 100nF Kondensator zwischen AVVC-Gnd und VCC-GND anschließen. Dies alles wird dir aber nichts helfen. Denn der AVRDragon unterstützt keine ATMega8 Controller. Hier findest du eine Liste welcher programmer welchen Controller unterstützt: http://www.atmel.com/dyn/resources/prod_documents/as5installer-5.0.1160-release_note.pdf
Hallo, erstmal danke für die schnellen Antworten! @ spess53: Ich habe die Version 5.0.1163 über den Direktlink von mikrocontroller.net letzte Woche erst heruntergeladen (laut atmel.com ist das auch die aktuellste Version) Das mit den "Verwandten" hatte ich irgendwo hier im Forum gelesen, da hatte auch jemand das Problem, dass er kein ATMEGA8 auswählen konnte, einer hatte geschrieben, dass man auch den 8xxx (glaube 8015 oder ähnlich) auswählen kann, da die wohl sehr ähnlich sein sollen. @ Albert: Das hört sich sehr gut an, das werde ich auf jeden Fall morgen mal testen. Also laut diesem Link wird der ATMEGA8 aber über AVR Dragon unterstützt: http://support.atmel.no/knowledgebase/avrstudiohelp/mergedProjects/AVRDragon/AVRDragon.htm (was stimmt denn nun?!) Also ich weiß, dass der ATMEGA8 das Debugging nicht unterstützt, aber programmieren sollte man das Ding doch eigentlich trotzdem... Was ist denn "lang"? Also USB-Verbindung ist ca. 1m und vom Netzteil zum ATMEGA8 ist vielleicht 30cm, AVR Dragon zum ATMEGA8 auch ca. 30 cm. Ist das schon zu viel? Sonst könnte ich doch auch einfach einen dickeren Querschnitt nehmen oder nicht? Hätte ich das gewusst, hätte ich die paar Euro mehr ausgegeben und einen anderen Controller gekauft, dachte halt am Anfang ist die Gefahr recht groß, dass ich mal einen Controller zerschiesse, deshalb habe ich mir den günstigsten gekauft. Danke nochmal euch beiden!
also mit "lang" wird sich albert auf die 30cm vom Dragon zum Controller beziehen.. Wenn der Controller nun auf einmal schlagartig anfängt strom zu verbrauchen, kann die Spannung einbrechen (für extrem kurze zeit) - um das zu verhindern, verwendet man sog. Stützkondensatoren, typisch 100nF Kerko, welche sehr nahe an den VCC / AVCC Beinen des Controllers gegen masse verbaut werden. höherer kabelquerschnitt dürfte da kaum etwas helfen.. was den mega8 angeht, bei meinem Dragon mit neuer firmware kann ich nur ATMega8U2 einstellen, keine ahnung was das jetzt für einer ist.. nen normaler ATMega8 taucht nicht auf. mfg
Rick Krug schrieb: > Also laut diesem Link wird der ATMEGA8 aber über AVR Dragon unterstützt: > http://support.atmel.no/knowledgebase/avrstudiohel... > (was stimmt denn nun?!) Hm, das bezieht sich wahrscheinlich noch auf die Version 4 von AVR Studio. Das von mir verlinkte pdf bezieht sich auf AVRStudio 5 in verbindung mit dem AVRDragon. und dort wird der ATmega8 als "nicht unterstü+tzt" angegeben. Vl. ist dies eine eigenart von AVR Studio 5.
Hi Meine Daten: -) Windows 7 Ultimate 32bit Version -) Avr Studio 5.0.1163 -) Avr Dragon -) ATMega8-16PU im DIL-Gehäuse -) ISP-Frequenz ist bei 125kHz -) USB-Kabel mit ~1.5m Länge -) Kabellänge vom Dragon zum Breadboard ~20cm Ich habe den Avr nur mit den ISP-Stecker verbunden. Keine Reset-Schaltung oder sonstiges. Dazu noch die Versorgungsspannung = 3,3V, sollte aber auch mit mehr gehen. Mit eingeschalteter Versorgungsspannung erkennt er bei mir auch 3,2V und wenn ich den ATMega8515 auswähle kann ich die DeviceID auslesen und auch programmieren (bisher nur Blinklicht). An den Fuses hab ich nix verändert. lg Daniel
Hallo, bezüglich des Kelkos (= Keramik Kondensator?!): 100nF sind wohl 0,1 µF. Ich hatte mir einige Elkos gekauft, der kleinste den ich hier habe hat aber 1 µF (radial), werde mir den 0,1er noch bestellen. Ist Kelko besser als Elko? Ich habe das ganze nun auch mit dem AVR Studio 4 getestet, leider auch kein ATMEGA8 zur Auswahl. Ich werde mir wohl den ATMEGA16 oder ATMEGA48 bestellen. Dann habe ich auch direkt die Debug-Möglichkeit dabei. Deshalb kann ich leider erst mitte der Woche wieder testen :( Was ist eigentlich der Unterschied zwischen DIL und DIP bei der Bauform? Habe mal gegooglet, soll das selbe sein? Ich kann mich zwischen dem ATMEGA48 und dem ATMEGA16 nicht so ganz entscheiden, der 48-er hat mehr MHz, der 16er hat dafür alles andere mehr. Ich werde mir wohl den passenden Sockel auf das AVR Dragon löten. Dann kann ich da direkt meine Stiftleisten einlöten. Dazu noch eine Frage: Hatte schon lange gesucht aber nicht wirklich was gefunden. Ich hätte gerne das Gegenstück der Stiftleiste als einzelne "Kupplung", sowas hier -> http://www.elv.de/Steckbuchse,-2-polig/x.aspx/cid_74/detail_10/detail2_962 - nur eben einpolig, so wie die Kabel im PC (zum Beispiel für Power, Reset, usw.), am besten aber zum selber löten - einer eine Idee wo man die her bekommt? (am besten auch ein wenig günstiger als im gezeigten Link). Also ich möchte beim AVR Dragon vom ISP oder JTAG Anschluss eben die Kabel auf die entsprechenden Stifte stecken können, denn löten wäre ja blöd, da andere Controller wieder andere Belegungen haben. Wie würdet ihr das machen? Bezüglich der langen Zuleitungen: Ist das nur bei der Programmierung ein Problem oder überhaupt? Denn wenn ich mir jetzt vorstelle, ich würde zum Beispiel so einen Pinball Automaten bauen, da ist es doch oft, dass ich durch aus mal einen Motor steuern muss, der über einen Meter entfernt ist. Das muss doch möglich sein oder nicht? Alternative wäre natürlich ein Relais direkt in der Nähe des Controllers, und die Stromleitungen vom Relais zum Motor dann eben länger.
@ Daniel: Hmm, hast du ein Glück ;) Was benutzt du denn als Versorgunsspannung? Netzteil? Denn wenn ich eine externe Versorgungsspannung dran hänge, sagt er komischerweise bei Read Voltage "4,2" V. Sogar dann wenn ich die Verbindung zum Controller komplett kappe. Also wenn ich die USB-Versorgungsspannung nehme, bricht diese ein, sobald ich versuche etwas zu lesen (meist auf 0,4 V). Deshalb habe ich die externe dran, die USB-Versorgung abe ich aber gekappt, oder muss ich beide (USB-5V und Extern 5V) dran lassen?! Kann ich mir nicht vorstellen.
Hi Ja ich hab sowohl die ISP Spannung dran als auch die Versorgungsspannung von meinem Netzteil. Es funktioniert auf jeden Fall. Nach dem flashen wird dann direkt das Programm ausgeführt. Hier mal ein Auszug aus dem Manual: If the target is already powered by an external power source, the AVR Dragon will adapt and level convert all signals between the target and the AVR Dragon. Note: It the target board is powered by external power source, no connection should be made betwwen the VCC connector and the external board. Ich verstehe das so, dass man den VTG-Pin sehr wohl mit einer externen Stromversorgung betreiben kann (so hab ich das zumindestens heute ausprobiert und mindestens 10-15mal geflasht und die Software dann auch ca. 30min laufen lassen). Nur wenn man dann den VCC-Pin mitnimmt, so wie unten beschrieben, dann gilt das nicht mehr. Soweit ich mich erinnern kann stand im Dragon-Manual das man den VTG-Pin mit dem VCC-Pin an der Leiste links vom JTAG-Port und von dort dann auf den ISP-Stecker der zum Zielboard führt gehen soll. Das findest du in den Beispielen (hab grad nachgeschaut). Ich kanns jetzt zwar nicht nachmessen, aber für mich hört sich das an, als wäre VTG und VCC nicht miteinander verbunden und man hat dadurch 2 Möglichkeiten wie man flashen kann. Ich werds heute am Nachmittag dann mal probieren. lg & gute Nacht
Elko = Elektrolyt Kondensator Kerko = Keramik Kondensator die 100nF Abblockkondensatoren immer als Kerko-Typ nehmen und so nah wie möglich zw. VCC und GND klemmen. Im AVR-Studio 4 gibts den ATMega8 zur Auswahl(siehe Bild). Und im AVR-Studio 5 ist das nur eine Frage der Zeit selbst wenn der abgekündigt sein sollte, ansonsten probier es mal mit dem ATM88 als Auswahl.
Also folgendes: Dragon am USB-Kabel anhängen und dann die IDE starten (beide LEDs leuchten; einmal oben rot und unten grün). Erste Variante: Wenn ich die Pins von dem ISP-Header auf mein Zielschaltung führe und dort auch noch 3,3V (5V geht auch) mit einem geregelten Netzteil anlege. Dann kann ich mit dem AvrStudio den Atmega8 auslesen (wie schon oben beschrieben hab ich den ATMEGA8515 ausgewählt, aber der Mega8 lässt sich trotzdem programmieren). Es geht aber nur, wenn zusätzlich noch VTG mit angeschlossen ist. Zweite Variante: VTG nach VCC und von VCC dann zum ISP-Stecker. Dann braucht man auch keine externe Versorgung. Aber jetzt kommts. Wenn ich VTG vor dem Programmieren drinnen habe, dann blinkt die obere LED orange (wenn der USB Stecker links vom Board ist). Und man kommt beim Programmierinterface nicht weiter. Dann muss man den Stecker (VTG nach VCC) ziehen. Erst dann kommt man ins Programmierinterface rein und kann die Spannung auslesen (nachdem man den Stecker wieder reingegeben hat). Will man das Programmierinterface wieder verlassen, muss man wieder den Stecker ziehen (sieht man wieder an der orange blinkenden LED). Weil ichs noch nicht erwähnt habe: VTG ist der Pin 2 am ISP-Header (steht aber auf der Rückseite des Dragons drauf). Beim Rumprobieren ist auch noch folgender Fehler aufgetreten: Es kann sein das die Stecker nicht guten Kontakt haben und beim Versuch den Dragon anzusprechen sich die IDE dann aufhängt oder lange Zeit braucht und dann eine Fehlermeldung raushaut, wie "could not connect". Dann kanns passieren, dass der Dragon vll noch im Menu ausgewählt werden kann, aber trotzdem nichts macht bzw. selbes Problem auch bestehen bleibt wenn man die IDE öfter startet. Dann hilft nur mehr die IDE schließen, USB-Kabel ziehen, wieder anstecken und dann die IDE neu starten. Erst dann hats bei mir wieder funktioniert. Ein bischen ausführlich, aber ich hoffe es hilft dir. lg Daniel
Rick Krug schrieb: > Kelkos (= Keramik Kondensator?!) Thomas O. schrieb: > Elko = Elektrolyt Kondensator > Kerko = Keramik Kondensator Kelko = Kerko made in China?
Hallo zusammen, vielen vielen Dank an alle! Ich habe nun meinen ATMEGA8 zum laufen bekommen (bisher auch nur LED-Blinklicht). Der Hinweis von Daniel hat schlußendlich zum Ergebnis geführt, denn tatsächlich nur mit zusätzlicher Stromverbindung über den ISP funktioniert die Programmierung (denke mal, weil nur so der AVR Dragon auch mit bekommt, dass genügend Strom vorhanden ist). Zwar funktioniert das Auslesen der ID noch nicht so ganz (meckert rum, dass die ID mit der Einstellung nicht übereinstimmt - klar habe ja auch den "falschen" Controller ausgewählt), aber ich kann ERASEN, Programmieren und die Fusebits zumindest lesen, schreiben kann ich nicht sagen, da ich davon noch keine Ahnung habe. Ich kann also erstmal ein wenig rumprobieren und werde mir dann bald einen "passenderen" Controller zulegen. Ich werde mich nun mal an das Platinen ätzen ran wagen um mir ein kleines Programmer Board zu basteln (wie hier und im Tutorial beschrieben mit Kerko & Co.). @ Thomas: Also bei mir ging es definitiv nicht. Außer beispielsweise im Simulator, aber sobald ich mein Dragon auswähle ist kein ATMEGA8 mehr zu sehen - obwohl der sogar unter "Devices" hier aufgelistet ist: http://www.atmel.com/dyn/products/tools_devices.asp?category_id=163&family_id=607&subfamily_id=760&tool_id=3891 Aber was solls, hauptsache ich kann überhaupt erst einmal was damit machen :) Ich kann euch nicht genug danken!
Meine Erfahrung zu dem Thema: Ich habe ein modifiziertes myAVR-mk1 Board mit (selbstgebautem)6-pol-ISP-Anschluß, AVR Dragon, ATmega8, AVR-STudio 5. DEFINITIV wird der ATmega8 NICHT in der Liste der unterstützten Prozessoren im Programming-Tool angezeigt, sobald man AVR Dragon als Programmiertool auswählt (Bug oder Absicht???) allerdings gehts, wenn ich ATmega8515 auswähle. Das mit der Spannung (0,4 V???) kann ich nicht nachvollziehen. (Oder sagen wir mal so, ich kapiers nicht). Ich hab auf meinem Board eine externe Spannungsversorgung (ist für mich eigentlich logisch, wie soll sonst die Applikation jemals laufen, wenn man den Programmer abzieht???) und ganz Standardmäßig die Pins am ATmega (MOSI, MISO, Reset, SCK) sowiel +5V und GND mit dem Standard-6pol-Stecker verbunden.
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.