Forum: Mikrocontroller und Digitale Elektronik PonyProg zerstört ATMEGA32


von Burns B. (fox1707)


Lesenswert?

Hallo,

Ich habe eine Schaltung mit ATMEGA32 und einem LCD auf einem Steckbrett 
gesteckt. Da ich alle anderen Ports benötige habe ich das LCD auf den 
PortB gesteckt. Der ATMEGA32 wird per ISP (ParallelPort) programmiert.
Seitdem sich das LCD am PORTB befindet, endet nur jeder 5te 
Schreibversuch erfolgreich.

Schon 2 mal ist nach einem gescheiteten Schreibversuch ist der 
Mikrocontroller mausetot.
Gibts da einen Trick, wenn man am PortB etwas dranhängen hat und 
programmieren mochte (ausgenommen DIP-Schalter)???

von Alex22 (Gast)


Lesenswert?

Poste mal den Schaltplan (als png!) vielleicht kann man dir dann besser 
helfen...

Grüße,
Alex

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Serienwiderstände in den SCK, MISO und MOSI Leitungen

siehe Figure 4-2 in
AVR042: AVR Hardware Design Considerations
http://www.atmel.com/dyn/resources/prod_documents/doc2521.pdf

und

Figure 3 in
AVR: In-System Programming
http://www.atmel.com/dyn/resources/prod_documents/DOC0943.PDF

von holger (Gast)


Lesenswert?

Du musst dafür sorgen das der Enable oder der R/W Pin nicht
high gehen oder floaten. Also z.B. Pulldown an einen von den
beiden Pins. Widerstände in die Datenleitungen legen
könnte auch helfen.

von Burns B. (fox1707)


Lesenswert?

Schaltplan gibts noch keinen.

Belegung (4 Bit Mode):
LCD_RS       PB0
LCD_RW       PB1
LCD_E        PB2
LCD_DATA     PB4
LCD_DATA     PB5         MOSI
LCD_DATA     PB6         MISO
LCD_DATA     PB7         SCK

Besteht die Gefahr des Controllersterbens immer, wenn beim flashen ein 
Fehler auftritt???

Ein Bootloader würde das Problem beseitigen, aber ich finde keinen fürn 
ATMEGA32.
Hat jemand einen Bootloader (+hex) dafür, der mit Megaload funkt???

von Bensch (Gast)


Lesenswert?

Ja is klar, die LCD Daten spucken in die SPI-Signale.
Abhilfe wie oben schon von Holger und Stefan beschrieben, aber 
Serienwiderstände in die LCD Datenleitungen.

Der Controller ist nicht verstorben, evtl. aber verfused.

von Peter D. (peda)


Lesenswert?

Burns B. wrote:
> Ich habe eine Schaltung mit ATMEGA32 und einem LCD auf einem Steckbrett
> gesteckt. Da ich alle anderen Ports benötige habe ich das LCD auf den
> PortB gesteckt. Der ATMEGA32 wird per ISP (ParallelPort) programmiert.
> Seitdem sich das LCD am PORTB befindet, endet nur jeder 5te
> Schreibversuch erfolgreich.

Ein Wunder, daß es überhaupt mal funktioniert.
Beim Reset sind alle Pins hochohmig und damit floaten auch die Pins des 
LCD lustig in der Gegend rum.
Sobald E und RW dabei auf high kommen, ist das LCD aktiv und dessen 
Ausgänge kämpfen dann mit Deinem Programmer.
Sowas ist garnicht gut für das LCD.

Du must mindestens E mit nem Pulldown beschalten !!!


Peter

von Burns B. (fox1707)


Lesenswert?

Besten Dank an alle Helfer.

Funktioniert mit ein paar Widerständen gleich viel besser.

von Burns B. (fox1707)


Lesenswert?

Hmmm Noch ne Frage!!!

Es ist die Vermutung gestellt worden, dass meine 2 "defekten" Controller 
warscheinlich gar nich defekt sind.
Werde es probieren statt dem Quarz eine Quarzoszillator einzusetzen. 
Falls das auch nicht hilft, was könnte ich noch probieren.
(ausgenommen 2 neue kaufen)

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Du kannst einen AVR unabhängig von den Fuses immer im highvoltage-mode 
programmieren. Dazu kannst du z.B. ein STK-500 oder ein Galep oder 
ähnliches verwenden.

Grüße,

Peter

von holger (Gast)


Lesenswert?

>Du kannst einen AVR unabhängig von den Fuses immer im highvoltage-mode
>programmieren.

Ein ATMega32 hat keinen HighVoltage Modus.

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Ja, die Spannung ist nicht höher als sonst, das weiß ich auch. Ich 
bezeichne das nur umgangssprachlich so, wenn es sich um eine parallele 
Programmierung handelt - und die hat er und da sind die Fuses egal.

Peter

von Johannes M. (johnny-m)


Lesenswert?

holger wrote:
> Ein ATMega32 hat keinen HighVoltage Modus.
Unsinn. Alle aktuellen AVRs haben einen High-Voltage-Programmiermodus! 
Das "High Voltage" bezieht sich auf die Spannung, die dazu am Reset 
angelegt wird. Und die ist high im Vergleich zur normalen 
Betriebsspannung.

von holger (Gast)


Lesenswert?

>> Ein ATMega32 hat keinen HighVoltage Modus.
>Unsinn. Alle aktuellen AVRs haben einen High-Voltage-Programmiermodus!

Ja, hat er. Ich geh jetzt in die Ecke und schäm mich :(

von Hannes Lux (Gast)


Lesenswert?

> Ja, hat er. Ich geh jetzt in die Ecke und schäm mich :(

Das ist nicht nötig. Jeder hat das Recht, sich mal zu irren. Und einen 
Irrtum kann man zugeben, ohne sich gleich in die Ecke stellen zu müssen.

Eigentlich warte ich in diesem Thread noch auf das JTAG-Problem... ;-)

...

von Kardinal Fehler (Gast)


Lesenswert?

Ich nicht; Port C ist nicht belegt.
Kardinal Fehler

von Hannes Lux (Gast)


Lesenswert?

Der Tag wird kommen...

...

von Johannes M. (johnny-m)


Lesenswert?

Hannes Lux wrote:
> Der Tag wird kommen...
>
> ...
Mal nicht den Teufel an die Wand ;-}

von Burns B. (fox1707)


Lesenswert?

Hmmm  JTAG   :-)

Ne ich werde mir mal das mit dem high voltage Programmiermodus 
anschauen.

STK 500 hab ich zwar nicht aber wenn ich noch ein paar ATMEGAS verfuse 
dann ist ein STK500 schon billiger als neue Controller. ;-)

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.