Hallo,
ich habe einen Mega 32 folgendermaßen angeschlossen:
[img]http://rowalt.de/mc/avr/twinavrh.png[/img]
Den Quarz und die anliegenden Kondensatoren habe ich weggelassen, weil
TwinAVR den Prozessor nicht erkannt haben.
Es war so, dass ich in dem Programm auf Config geklickt habe und dann
folgendes BIld erschien:
[img]http://img518.imageshack.us/img518/532/avr2tv5.jpg[/img]
Ziehe ich dann, solange das FEnster noch offen ist, den Stecker vom PC,
erscheint auf einmal folgendes Bild:
[img]http://img525.imageshack.us/img525/2308/avr1jt2.jpg[/img]
Genau das gleiche Problem tritt auch mit Quarz und ohne Quarz auf!
BASCOM erkennt den Prozessor auch nicht.
Wisst ihr, woran das liegen kann?
An ziemlich vielem ...
PC (Parallelport) defekt, AVR defekt, Schaltung falsch aufgebaut,
Bauteile auf der Schaltung defekt, Kabel falsch belegt, Kabel
gebrochen, Kabel zu lang, Stromversorgung nicht eingeschaltet,
Stromversorgung defekt, Software falsch eingestellt, Software falsch
bedient usw.
Wenn du ein Oszi hast, würde ich mal nachschauen, ob auf der SCK-,
MOSI- und MISO-Leitung - wenigstens kurzzeitig - Signale anliegen, ob
die halbwegs digital aussehen und ob sie an den entsprechenden Pins
des AVR ankommen. Der PC müsste auch bei nicht angeschlossenem AVR
kurzzeitig etas auf SCK und MOSI ausspucken, sonst hast du ein
Software-, Einstellungs- oder Parallelportproblem.
Wenn der PC etwas sendet, der AVR aber nichts von sich gibt, liegt der
Fehler auf AVR-Seite. Versorgungsspannung am AVR und Resetsignal
prüfen. Letzteres sollte vom PC für die Dauer der Kommunikation auf
low gezogen werden.
Wenn du kein Oszi hast, kannst du auch einen Piezolautsprecher an die
Leitungen anschließen. Du solltest mindestens ein kurzes Knacken
hören, wenn der PC di Kommunikation initiiert. Bei längerer
Kommunikation (aber dann sind wahrscheinlich auch die Probleme schon
gelöst) hörst du ein Geräusch ähnlich dem eines Modems.
Ist dein AVR neu oder möglicherweise schon defekt oder zerfust?
Vielleicht hast du noch einen zweiten zum Testen.
Hallo,
ich habe nur einen AVR und der ist v..t. 1 Monat alt. Die Schaltung des
Programmieradapters habe ich schon 3 mal neu gelötet, daran kanns also
nicht liegen.
Was meinst du mit Kabel zu lang? wie lang dürfen die sein?
Dass das Kabel gebrochen ist, kann nicht sein, da ich schon mit dem
Durchgangsprüfer alle Leitungen geprüft habe.
Einen Oszilator habe ich leider nicht zur verfügung, auch keine
Piezolautsprecher.
Dass der Paralellport defekt ist, glaube ich auch nicht, da ich an
meiner Schaltung 4,5V vom Paralellport erhalte.
> Der PC müsste auch bei nicht angeschlossenem AVR> kurzzeitig etas auf SCK und MOSI ausspucken, sonst hast du ein> Software-, Einstellungs- oder Parallelportproblem.
Wie lange und wie viel müsste der auf SCK und MOSI ausgeben? Und kann es
sein, dass im BIOS was falsch eingestellt ist? (bezügl. Parallelport)
Was ich auch (hofffentlich) ausschließen kann, ist ein Defekter
Prozessor, da er ja manchmal die RIchtigen Daten erkennt und mir
anzeigen kann.
Auch an Fusebits habe ich nichts verändert, also kann man das auch
ausschließen.
Ich hoffe, ich habe das Problem ausreichend beschrieben und ihr könnt
was damit anfangen.
Über Antworten würde ich mich freuen!
Nachtrag: Sollten die Fusebits, wie sie dritten Bild dargestellt sind,
tatsächlich vom AVR gelesen worden sein (immerhin ist wohl ein
ATmega32 erkannt worden, oder hast du den MCU-Typ vorher irgendwo
eingegeben?), dann sind die Fuses gegenüber der Werkseinstellung
völlig verändert. Insbesondere die CKSEL-Bits sind auf externen
Oszillator eingestellt, d. h. du must einen externen Takt anschließen
(keinen Quarz, sondern einen kompletten Oszillator), sonst läuft der
AVR gar nicht erst an. Aber nee, dann hätten die Bits ja gar nicht
gelesen werden können. Also kommen sie wohl doch nicht vom AVR. Oder
er hat durch das Rumstöpseln ein Störsignal auf den Takteingang
bekommen, das ihn kurzzeitig zum Leben erweckt hat.
Ziemlich schwierig halt, die richtigen Schlüsse zu ziehen, wenn man
nicht davor sitzt.
Ohje.... soll ich mal versuchen, die FUsebits zu verändern? Oder mach
ich da eher mehr kaputt?
Und wie wären denn die Werkeinstellungen?
Erstmal danke für deine Hilfe, hier kriegt man noch freundliche
Antworten, ganz im Gegensatz zu gewissen anderen Foren ;-)
hallo,
hast es auch mal mit einem anderen PROGGI probiert????
ich selber benutze YAAP. funzt super.
der Dongle dafür ist in 2min gebaut!!!
siehe hier: http://www.myplace.nu/avr/yaap/if_jesper.gif
gruss und viel glück
Der Jespers Original funktioniert auch mit PonyProg! Ich bin yaap sehr
abgeneigt, seit dem es mir durch einen Programmfehler 2 uC's zerschossen
hat >.<
http://www.lancos.com/ppwin95.html
hallo,
bei mir hat YAAP bisher immer gut gefunzt, noch keinen murks gehabt.
ok ;-) einmal hats mir au 2 ATRMEGA8 zerschossen, aber was solls.
sonst nie probs.
@ich: willste eine beschreibung von dem PROGGI????
http://www.myplace.nu/avr/yaap
gruss
Hallo,
wer kommt eigentlich immernoch auf die "geniale" Idee, einem Einsteiger
zu empfehlen, eine AVR-Schaltung zum programmieren aus dem Parallelport
eines Rechners zu speisen?
So hat man speziell mit neueren Rechner ja alle Unbekannten beisammen,
um für Mißerfolge zu sorgen...
Passiver Adapter, der sowieso schon empfindlich auf ungünstige
Parallelports reagiert, weil die Flanken und Pegel im Eimer sind,
womöglich noch lange Kabel (für solche Schaltungen können 20cm schon zu
lang sein). Da Einsteiger meist auch keine sinnvollen Meßmöglichkeiten
haben und ihnen logischerweise die Vorkenntnisse meist fehlen, um
notfalls selbst die Anzeige eines Multimeters an Reset/SCK/MOSI/MISO
interpretieren zu können, hat man wohl alles ungünstige beisammen.
Meine Empfehlung: für stabile 5V sorgen, stabilisiertes 5V-Netzteil oder
einfaches 9V...12V-Netzteil und ein 7805 dahinter.
Wenigstens ein aktiver ISP, STK200 Dongle-Nachbau mit 74HC(T)244 drauf.
Dongle direkt am Parallelport, Kabel von dort als 10pol. Flachbandkabel
mit Pin 1,3,5,7 an beiden Seiten an GND.
Dann Spannung vom Netzteil ran, kontrollieren, ob am HC244 vom ISP auch
die 5V ankommen (hinter der Diode sind es noch ca. 4,4V).
Dann ISP an den PC ran, Pony calibrieren, Test machen, muß ok sein,
Einstellung des Treibers normalerweise AVR ISP I/O an LPT1.
Das testet nur den Zugriff auf den Parallelport und ob die Brücke im
Dongle da ist. Wenn das nicht klappt -> Problem mit dem Portzugriff,
speziell unter WinXP und neuen Rechnern?
Vorsichtshalber den Kram mal an einen älteren Rechner stecken, Win98 und
Win2000 sind da unproblematischer.
Wenn es soweit klappt, AVR ran, Typ einstellen (nicht auf die
automatische Erkennung von Pony vertrauen, wenn man nicht weiß, ob
überhaupt was geht!) Fusebits LESEN. Es darf keinerlei Fehlermeldung
geben und die gelesenen Fuses müssen mit dem Datenblatt übereinstimmen,
wenn der AVR neu ist!
Dann Flash LESEN. Muß alles FF sein, wenn der AVR neu ist.
Wenn bis hier alles klappt, irgendeine kurze .hex-Datei in den Flash
schreiben. Einfach aus irgendeinem Beispiel nehmen, egal, für welchen
AVR es war und was es mal machen sollte, es soll ja nicht wirklich
laufen.
Das muß ohne Fehler gehen, Verify muß ohne Fehler gehen, Zurücklesen muß
gehen, Löschen und nochmal programmieren muß gehen usw.
Dann kann man so halbwegs sicher sein, daß man mit dem Kram sinnvoll
anfangen kann und nicht mit allen Unbekannten gleichzeitig kämpft...
PS: Die Teile für diese Übung incl. HC244 und einem AVR kosten sicher
unter 10 Euro, den Kram hat vermutlich selbst ein völlig Ungeübter an
einem Wochenende überstanden und man hat ein Stück halbwegs stabils
Werkzeug danach.
Konkret fragen, wenn es irgendwo klemmt, kann man hier immer, auf
Ausweichmöglichkeiten sollte man am Anfang immer eingerichtet sein,
speziell anderer PC, anderes Betriebssystem sind zum "mal schnell
testen" günstig.
Auch ein besserer (teurerer) ISP kann fällig werden, wenn es so nicht zu
Ziel führt. PonyProg ist auch nicht Pflicht, avrdude und was es noch so
gibt, geht sicher auch. Ich habe Ponyprog genommen, weil ich es elbst
nutze und gut kenne und weil es bisher auf allen Rechnern in 5 Minuten
eingerichtet war und (das sehe ich hier mal als Vorteil an) keine
Zusatzinstallationen von I/O-Treibern oder Kommandozeilensachen
benötigt.
Gruß aus Berlin
Michael
@Mihchael
vielen Dank für deine Ausführliche Beschreibung!
Allerdings ist das ein Schulprojekt, welches morgen laufen sollte.
Deshalb kann ich keinen Spannungswandler mehr bekommen!
Das Kabel von meinem Adapter ist60cm lang, könnte das das Problem sein?
Und hast du einen Schaltplan zu dem oben beschriebenen Adapter?
Kannst dir auch mal diese Seite angucken.
http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
fallst du die Bauteile für die serielle Version hast, kann ich dir nur
raten ihn zu bauen. Ich benutze ihn auch an mehreren PCs und mit
mehreren AVRs.
jonny
also ich hab jetzt den adapter vom anfang nochmal getestet, allerdings
mit nur 30cm kabel und ohne ext. Quarz.
Jetzt sieht es so aus, dass nach längerem warten etwas angezeigt wird.
(so ca. 5 Min)
Ist es normal, dass das so lange dauert?
nach kürzen dse kabels auf 30cm ging es dann doch irgendwie mit dem
ersten adapter.
ich habe jetzt ein Programm draufgespielt. wie kann ich sehen, ob es
richtig gespeichert wurde?
Hallo Ich,
>ich habe jetzt ein Programm draufgespielt.>wie kann ich sehen, ob es>richtig gespeichert wurde?
verify und macht es das, was es soll ?
Otto
Dein Programmiertool sollte Funktionen zum Schreiben (die hast du
offensichtlich schon benutzt), Lesen und Überprüfen (Verify) des
Flashinhalts haben. Letztere liest den Flashinhalt aus dem µC aus und
vergleicht die Daten mit einer Datei auf dem PC (typischerweise
diejenige mit der der µC geflasht wurde). Stimmen die Inhalte überein,
kann man ziemlich sicher sein, dass die Daten richtig geflasht wurden.
Diese Prüfung kann unabhängig davon, was dein µC-Programm tut und ob
es schon korrekt arbeitet, angewandt werden.
komisch, hat mein programm nicht
naja, ich muss jetzt mal BASIC lernen!
wo gibts ein gutes tutorial? (auf AVRs bezogen)
sollte das morgen einigermaßen beherrschen, also am besten eins auf
deutsch ;-)
Hallo Ich,
> komisch, hat mein programm nicht
hat jedes - wahrscheinlich wird dies bereits
automatisch nach dem Programmieren
> naja, ich muss jetzt mal BASIC lernen!> wo gibts ein gutes tutorial? (auf AVRs bezogen)> sollte das morgen einigermaßen beherrschen,> also am besten eins auf deutsch ;-)
fänst Du nicht etwas spät damit an ?
Bis morgen lernst Du evtl. die Befehle auf
keinen Fall aber das Programmieren.
Aber suche mal nach "BASCOM" und sieh die
Jörg Wolframs Basic-Computer an.
Gruß Otto
Ich weiß, wollte eigentlich auch früher anfangen!
NUr ist das Problem, dass es ja bis vor kurzem überhaupt nicht ging!
morgen muss mein Programm halt fertig sein... Habe ja auch erfahrung in
anderen Sprachen, also ist das kein so großes Problem
kommt darauf an, wie hell die leuchten soll.
ohne Transistor und mit einer normalen LED
(keine "low power") Widerstand 470 Ohm an
Anode der LED und Kathode an Masse.
Bei einer "low-power" können es auch 1-2k
sein.
Gruß Otto
> öh was meinst du damit? :-)
das Basic auf der genannten Seite von
Jörg Wolfram ist nicht "Bascom".
Da gibt es kleine aber feine Unterschiede.
Ich fand nur, daß die Beispiele einen
schnellen Einblick geben.
Otto
Nach Datenblatt sollen die auch beschaltet werden,
wenn ADC nicht verwendet wird - und falls Du ihn
später doch brauchsr, wird es Dir dann keine
Probleme bereiten - also beschalte sie jetzt....
Otto
normalerweise nein - nur Unterprogramme,
die dann mit "gosub" aufgerufen und mit
"return" beendet werden.
Bascom selber kenne ich allerdings nicht.
Otto