Forum: Mikrocontroller und Digitale Elektronik Problem mit Mega32


von Ich (Gast)


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?

von yalu (Gast)


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.

von Ich (Gast)


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!

von yalu (Gast)


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.

von Ich (Gast)


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 ;-)

von Geppetto (Gast)


Lesenswert?

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

von Ich (Gast)


Lesenswert?

stimmt, sieht recht einfach aus!
hast du einen link / beschreibung zu dem ding?

von Ludwig W. (lordludwig)


Lesenswert?

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

von Geppetto (Gast)


Lesenswert?

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

von Ich (Gast)


Lesenswert?

Thx!

Aber ich bräuchte eine Beschreibung zu der Schaltung (Jespers Original), 
um sie zu verstehen ;-)

von frank (Gast)


Lesenswert?

http://bascom-forum.de/index.php/topic,37.msg83.html#new

link zum usb programmer gruss frank

von Ich (Gast)


Lesenswert?

http://www.myplace.nu/avr/yaap/

da steht nicht, dass es auch mit dem Mega32 geht.... Meint ihr, es 
klappt trotzdem?

von frank (Gast)


Lesenswert?

der programmer geht für alle avr
http://bascom-forum.de/index.php/topic,10.0.html

von Michael U. (Gast)


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

von frank (Gast)


Lesenswert?

fertiger STK200 Dongle 12 euronen nur beste erfahrungen gemacht damit

von Ich (Gast)


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?

von jonny (Gast)


Lesenswert?

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

von Paul (Gast)


Lesenswert?

Der Paralellport muß natürlich auch im BIOS aktiviert werden! Sonst geht 
gar nichts.

von Ich (Gast)


Lesenswert?

ja, der parallelport ist aktiviert, aber welchen modus muss ich im bios 
einstellen?

bauteile für den seriellen port hab ich leider nicht...

von Ich (Gast)


Lesenswert?

was ist mit der schaltung hier?
http://s-huehn.de/elektronik/avr-prog/avr-parallel.gif

hat die schonmal jemand getestet?

von Ich (Gast)


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?

von Ich (Gast)


Lesenswert?

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?

von Otto (Gast)


Lesenswert?

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

von Ich (Gast)


Lesenswert?

wie verify?

hab jetzt nur mal ein programm drauf gemacht, das einen text ausgibt... 
muss mich ja noch einarbeiten

von yalu (Gast)


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.

von Ich (Gast)


Lesenswert?

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 ;-)

von Otto (Gast)


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

von Otto (Gast)


Lesenswert?


von Ich (Gast)


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

von Otto (Gast)


Lesenswert?


von Ich (Gast)


Lesenswert?

danke!

noch ne frage:

wie muss ich das jetzt anschließen, wenn ich z.B. ne LED an PB0 hab? 
dass die leuchten kann

von Otto (Gast)


Lesenswert?

beachte aber bitte, dass "Basic nicht gleich Basic" ist.

Gruß Otto

von Ich (Gast)


Lesenswert?

öh
was meinst du damit? :-)

von Otto (Gast)


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

von Otto (Gast)


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

von Ich (Gast)


Lesenswert?

Und beim Mega32 hats noch 3 Anschlüsse (AREF, GND, AVCC)
was muss da hin?

von Otto (Gast)


Lesenswert?

kommt drauf an - aber mit:

AREF  100 nF an Masse
GND   an Masse und
AVCC  an Vcc (+5V)
sollte es funktionieren

Otto

von Ich (Gast)


Lesenswert?

ist das dann die stromversorgung für die einzelnen pins, oder für was 
braucht man das?

von Otto (Gast)


Lesenswert?

kurz gesagt: für die Analog Eingänge


von Ich (Gast)


Lesenswert?

Also brauch ich die, wenn ich nur 3 Ausgänge habe, die in regelmäßigen 
Abständen von High auf Low wechseln? (und umgekehrt)

von Otto (Gast)


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

von Ich (Gast)


Lesenswert?

ok...

ich hab hier mal ne zeichnung gemacht:

[img]http://img511.imageshack.us/img511/7325/stimmtdasrj5.jpg[/img]

hab ich das so richtig verstanden?

von Ich (Gast)


Lesenswert?


von Otto (Gast)


Lesenswert?

ja

von Ich (Gast)


Lesenswert?

gut, danke!

dann löte ich mal...

von Ich (Gast)


Lesenswert?

kann man mit BASIC eigentlich auch irgendwie funktionen definjieren? 
(wie z.B. in PHP)

von Otto (Gast)


Lesenswert?

normalerweise nein - nur Unterprogramme,
die dann mit "gosub" aufgerufen und mit
"return" beendet werden.

Bascom selber kenne ich allerdings nicht.

Otto

von Ich (Gast)


Lesenswert?

ähh
ich hab das jetzt hingelötet und jetzt wird der prozessor nichtmehr 
erkannt

von Ich (Gast)


Lesenswert?

er geht doch!

wie kann ich jetzt erreichen, dass mit der prozessor einen für einen 
Binärzähler erträglichen Takt ausgibt?

von Ich (Gast)


Lesenswert?

ähh
thema hat sich erledigt

hab jetzt wohl ne 5 oder so bekommen

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
Noch kein Account? Hier anmelden.