Problem mit Mega32

Gast #564519
Lesenswert?

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?
Gast #564553
Lesenswert?

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.
Gast #564557
Lesenswert?

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!
Gast #564558
Lesenswert?

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.
Gast #564564
Lesenswert?

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 ;-)
Gast #564706
Lesenswert?

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
Gast #564795
Lesenswert?

@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?
Gast #564992
Lesenswert?

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?
Gast #565211
Lesenswert?

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.
Gast #565224
Lesenswert?

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
Gast #565229
Lesenswert?

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
Gast #565235
Lesenswert?

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
Gast #565237
Lesenswert?

> ö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
Gast #565248
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren