Forum: Mikrocontroller und Digitale Elektronik Problem mit ISP Dongle und atmega161


von Jan Fricke (Gast)


Lesenswert?

Hallo!
Ich bin blutiger anfänger auf dem gebiet der Microcontroller.
Wäre echt super wenn ich hilfe bekommen könnte. Ich bekomme nämlich
meinen atmega161 nicht zum laufen.
Die ganze Schaltung sitzt auf einem Breadboard da mir ein STK500
ehrlich gesagt zu teuer war. Die Stromversorgung ist ein
Steckernetzteil mit 12V. Über die im AVR-Tutorial abgebildete Schaltung
bekomme ich saubere 5V.
Den ISP Dongle habe ich an einer anderen 5V Stromquelle da die Spannung
auf dem Breadboard beim Anschließen auf 1,5V absackte.
Den VCC des AVR hab ich auf die 5V gelegt.
an PA0-PA2 hab ich 3 Low-Current LEDs mit 900ohm Vorwiderständen
angeschlossen. GND geht auf Masse. Der Quarz schwingt mit 8MHz. Das ist
einer mit 3 Pins der schon Kondensatoren mit im Gehäuse hat. 1 Pin geht
auf Masse und die anderen beiden auf xtal1 und xtal 2.
MOSI, MISO, SCK , RESET gehen auf den ISP Dongle.
Am LED Pin des ISP hab ich noch eine Low-Current LED.

Die Restlichen Pins sind unbelegt.

Nun zum PC. Drauf läuft WinXP Pro. Auf den LPT kann ich zugreifen da
ich so ein tool installiert hab das den direkten Zugriff erlaubt.
Nachdem ich  mit make eine demofile vom avr-gcc compiliert habe,
versuchte ich diese mit Ponyprog und yaap auf den avr zu spielen.
Jedoch bekam ich von yaap folgende Meldung yaap:
Init failed. Is target connected and powered on?
Und von Ponyprog:

Device missing or unknown device.

Dabei flackert die LED vom ISP kurz. (Das heißt das aus dem LPT
immerhin schon was raus geht)

Hab ich vergessen irgendetwas anzuschließen oder habe ich sonst
irgendetwas generell falsch gemacht?


Hier noch ein pic von meiner Schaltung und die Pinbelegung vom
atmega161 (weiß ja nicht ob die jeder so im Kopf hat ;))
http://web12.p15131407.pureserver.info/schaltung.jpg
http://www.avrfreaks.net/Devices/img/mega161big.gif

von Frank Linde (Gast)


Lesenswert?

Hallo Jan,

der starke Spannungsabfall beim Anschluß des ISP kann  auf einen Defekt
im Programmieradapter hindeuten (viel zu hoher Stromverbrauch). Bei
fliegender Verdrahtung können es aber auch schon mal wilde Schwingungen
sein, die einem den Spaß verderben. Hast Du den Spannungsregler und den
AVR mit 100nF-Kondensatoren geblockt?

Gruß, Frank

von Frank Linde (Gast)


Lesenswert?

...
Der Quarz muß möglichst direkt an die Pins des AVR. Die Kabel sind
reichlich lang.

Hast Du die Massen beider Schaltungen verbunden?

Gruß, Frank

von Jan Fricke (Gast)


Lesenswert?

Hallo Frank!
Danke erstmal für deine Antwort.
Mir ist gerade aufgefallen das am Spannungsregler die Diode und der
Elko fehlen. Das ist mir nicht weiter aufgefallen da die Spannung auch
so ok ist. Macht das was aus? Die beiden 100nF-Kondensatoren sind drin.
Kannst du mir das mit dem AVR blocken nochmal erläutern? Passiert das
schon durch die Kondensatoren, Elkos und die Diode um den
Spannungsregler herum?

Gruß, Jan

von Jan Fricke (Gast)


Lesenswert?

Also die Massen sind jetzt verbunden. Das hat bisher jedoch nichts
geändert. Auch die Kabelbrücken zum Quarz sind entfernt. Der Quarz
sitzt jetzt direkt am AVR. Bringt auch nichts.

Gruß, Jan

von Frank Linde (Gast)


Lesenswert?

Hallo Jan,

die Diode ist vermutlich ein Verpolungsschutz (kann ohne Schaltplan nur
raten), also nicht zwingend notwendig, aber, genau wie der Elko am
Spannungsregler, empfehlenswert.

Die 100nF haben zwei Funktionen: Die Spannung auch bei kurzen
Stromspitzen möglichst konstant zu halten ("Miniakku") und eventuell
vagabundierende Hochfrequenz gegen Masse abzuleiten (Kondensatoren
sperren Gleichstrom und leiten Wechselstrom). Zu diesem Zweck sollte
man sie so nah wie möglich an die Anschlußpins des jeweiligen Chips
legen.

Gruß, Frank

von Frank Linde (Gast)


Lesenswert?

Hat der ATmega161 nicht auch einen internen Oszillator, der ab Werk
voreingestellt ist? Falls ja, laß mal den Quarz weg.

Gruß, Frank

von Jan Fricke (Gast)


Lesenswert?

Also über einen internen Oszillator hab ich im datasheet nichts
gefunden. Werde jetzt erstmal einen neuen Dongle bestellen.
Mal sehen ob es dann funktioniert. Melde mich auf jeden Fall nochmal.

Gruß Jan

von Jan Fricke (Gast)


Lesenswert?

Hab den Fehler gefunden! Hatte nen Kurzen drin.
Jetzt läufts! LCD läuft auch schon. Allerdings im 8Bit mode. (Nicht wie
im Tutorial im 4 Bit)


Danke für die Hilfe!

Ich hab gleich noch zwei Fragen :)

Das Display das ich am AVR hab ist 4 Zeilig. Wie kann ich den Modus von
2 Zeilen auf 4 Zeilen umstellen? Das mit dem Function Set versteh ich
irgendwie nicht.

Bei der anderen Sache geht es um meine Steckdosenleiste die ich über
einen AVR steuern möchte. Bei Reichelt gibt es so viele
unterschiedliche Relais. Ist die Spulenspannung die vom AVR?
Hab bei Reichelt mal zwei heraus gesucht. Sind die geeignet für meinen
Zweck? 8A Schaltleistung würden auf jeden Fall reichen!
Das sind die Artikelbezeichnungen bei Reichelt.
FIN 43.41.7 5V
DIP 7212-D 5V


Vielen Dank schonmal! Ich wüsste sonst nicht wen bzw. wo ich sowas
fragen könnte!

MfG Jan

von Frank Linde (Gast)


Lesenswert?

Hallo Jan,

die 5V sind schon mal prima. Jetzt wäre noch wichtig zu wissen, wieviel
Strom für einen korrekten Schaltvorgang des Relais benötigt werden. Die
AVR können max. 40 mA treiben (das ist die absolute Obergrenze, je
weniger, je besser). ACHTUNG: Relais = induktive Last => Schutzdioden
nicht vergessen!

Gruß, Frank

von Frank Linde (Gast)


Lesenswert?

... und den Strom durch einen Widerstand begrenzen.

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.