Forum: Mikrocontroller und Digitale Elektronik ATMEGA32 wird vom BASCOM nicht erkannt


von Frank N. (antony)


Lesenswert?

Hallo,

habe den ISP an Atmega32 angschlossen und in BASCOM STK200 eingestellt 
trotzdem wid es nicht annerkannt was mache ich falsch?

gruß
Antony

von John S. (linux_80)


Lesenswert?

Antony Krause wrote:
> trotzdem wid es nicht annerkannt was mache ich falsch?

zu sagen welcher ISP-Adapter das genau ist.

Wenn der per LPT angeschlossen ist, ist der richtige LPT eingestellt, 
bzw. dessen Adresse ?

von Herr_Mann (Gast)


Lesenswert?

genau, man muss den programmer richtig einstellen.

ansonsten hardwaretechnisch:
-liegt Vcc an?
-schwingt der quarz (falls extern/ richtig gefused)?
-anschlüsse richtig?

von Frank N. (antony)


Lesenswert?

Hallo
also, habe der Programmer von der Seite

http://www.heise.de/ct/Redaktion/cm/klangcomputer/index1.htm

und das ist soweit ich weiß als STK200.
An LPT habe ich dann die 378 - Adresse eingestellt.

und habe die Grundschaltung von hier
http://www.roboternetz.de/wissen/index.php/Atmel_Controller_Mega16_und_Mega32
zum Programmieren aufgebaut (nur das linke Teil)

habe eben gesehen das der ATNEGA32 an PIN 11 und 31 GND hat muss ich 
alle beide anschließen oder reicht nur, wenn ich nur den PIN 11 
anschließe?

Antony

von John S. (linux_80)


Lesenswert?

Es sollten immer alle Gnd und Vcc verkabelt werden, wer weiss wo sich 
der Strom sonst einen Weg im inneren sucht, und eine ungewollte funktion 
verursacht.
Genauso sollte man AVcc auch immer mit Vcc verbinden.

Ansonsten sollte diese Kombination schon funktionieren.

Du könntest zum Test ansonsten mal Alternativprodukte nutzen wie zB 
PonyProg.

von Herr_Mann (Gast)


Lesenswert?

Mit was für einem Kabel verbindest du denn den Druckerport und den 
Programmer?

Und kommen wirklich Signale am LPT raus?

von Frank N. (antony)


Lesenswert?

Hallo,

also jetzt habe ich alle VCC und GND's verbunden und trotzdem erhalte 
ich die Meldung im Anhang.

@Mann
Der Programmer ist direkt am LPT Port angeschlossen also die Platine 
sitzt im Gehäuse und über einen 10-polig. Flachbandkaber an den Atmel.
Die Schaltung habe ich von hier 
http://www.heise.de/ct/Redaktion/cm/klangcomputer/index1.htm
eins zu eins nach gebaut.

Gegauft von Segor Elektronics als Bausatz..


Antony

von Frank N. (antony)


Angehängte Dateien:

Lesenswert?

sorry Anhang vergessen...

von Frank N. (antony)


Lesenswert?

Hallo,

@Mann
noch was, wie kann ich den überprüfen ob vom LPT Signale kommen?

von Herr_Mann (Gast)


Lesenswert?

Die Fehlermeldung habe ich immer, wenn ich vergessen, den Stecker vom 
Board-Netzteil einzustecken...

Hm, ich hätte auf die Schnelle den LPT mit einem entsprechenden 
Quickbasic-Prog und einem Multimeter überprüft, schätze aber, dass es da 
auch richtige Programme gibt.

Prinzipiell müsstest Du auch manuell bei Bascom den Controller eingeben 
können und dann proggen können, dabei Multimeter an die Leitungen halten 
gegen Masse (eventuell lieber erst mal ohne Controller), schätze, so 
kann man schon mal einen groben Überblick gewinnen. Wenn sich gar nichts 
tut, liegts höchstwahrscheinlich am LPT.

von Frank N. (antony)


Lesenswert?

Also, habe Netzteil angeschlossen und zeigt gerade 5V und 0,01A zwar 
weis ich nicht ob der Strom so richtig ist.

Der LPT Port müsste funktionieren, denn da hatte ich mal mein LCD 
gesteuert.

Antony

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Antony Krause wrote:

> noch was, wie kann ich den überprüfen ob vom LPT Signale kommen?

Hast du ein Multimeter (Spannungsmessgerät). Damit kannst du die 
Spannung zwischen dem RESET-Pin (+, rot) am Atmega32 und dem GND Pin (-, 
schwarz) am Atmega32 messen.

Ohne ISP Adapter sollten da +5 V messbar sein. Mit ISP-Adapter am 
Arbeiten sollte die RESET-Leitung auf LOW gezogen werden, d.h. gemessene 
Spannung sehr viel kleiner 5V (0,8V oder weniger).

Du kannst auch die SCK, MISO und MOSI Leitungen so beobachten. Die 
Anzeige im Multimeter sollte "zappeln", wenn programmiert wird.

Das Zappeln kannst du auch mit einer einfachen LED und Vorwiderstand 
spionieren. Um so wenig Strom wie möglich zu ziehen: 2KOhm und mehr als 
Vorwiderstand, näheres im Artikel LED. Zimmer eventuell etwas 
dunkler machen, um das schwache Leuchten zu sehen.

> Also, habe Netzteil angeschlossen und zeigt gerade 5V und 0,01A zwar
> weiss ich nicht ob der Strom so richtig ist.

10 mA bei so einer einfachen Schaltung ist IMHO OK. Jedenfalls hast du 
keinen Kurzschluss und irgendwas verbraucht Strom (wenn dein Netzgerät 
die 10 mA richtig anzeigt, zeigt es 0,00A ohne angeschlossene 
Schaltung?).

von Frank N. (antony)


Lesenswert?

Hallo
1
Damit kannst du die
2
Spannung zwischen dem RESET-Pin (+, rot) am Atmega32 und dem GND Pin (-,
3
schwarz) am Atmega32 messen.
4
5
Ohne ISP Adapter sollten da +5 V messbar sein.

also ist in grünen Bereich. Ich kann da die 5V messen.

Und trotzdem habe ich die Meldung bei BASCOM.

antony

von John S. (linux_80)


Lesenswert?

Welches Windows hast Du,
und wurde dieser IO-Treiber installiert beim Bascom installieren ?
Diesen kann man in der Systemsteuerung finden (IOPortSys o.ä.).

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Du hast nur die halbe Arbeit gemacht. Also nicht sicher im grünen 
Bereich!

Die andere Hälfte Messarbeit ist das:
> Mit ISP-Adapter am Arbeiten (d.h. Programmierversuch) sollte die
> RESET-Leitung auf LOW gezogen werden, d.h. gemessene Spannung
> sehr viel kleiner 5V (0,8V oder weniger).

von Frank N. (antony)


Lesenswert?

Ich habe Windows XP
wo genau finde ich diesen Treiber in Systemsteuerung ?

gruß
Antony

von Frank N. (antony)


Lesenswert?

Stefan das problem ist ja, das ich mein Atmega nicht erkennen kann, 
geschweige dennoch damit zu arbeiten :-)

gruß
Antony

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ich dachte, du wolltest das wissen:
> noch was, wie kann ich den überprüfen ob vom LPT Signale kommen?

Wenn von LPT Signale kommen und der ISP-Adapter arbeitet, muss 
mindestens der RESET von HIGH nach LOW gehen, d.h. der AVR wechselt vom 
Betriebsmodus in den Programmiermodus. Erst dann wird die Signatur 
ausgelesen.

Wenn der Programmiermodus erreicht wird und trotzdem nicht programmiert 
werden kann bzw. die Signatur nicht passt, muss man weitersehen.

von Frank N. (antony)


Angehängte Dateien:

Lesenswert?

Hallo,

>Wenn von LPT Signale kommen und der ISP-Adapter arbeitet, muss
>mindestens der RESET von HIGH nach LOW gehen, d.h. der AVR wechselt vom
>Betriebsmodus in den Programmiermodus. Erst dann wird die Signatur
>ausgelesen.

also, dies ist nicht bei mir der Fall, denn egal was ich mache liegen 
dort immer 5V an.

Im Anhang habe ich ein Bild hochgeladen, wo ich nicht weis, was ich hier 
machen soll. Dieses Fenster öffnet sich trotzdem, auch wenn ich die 
erste Meldung bekomme (Anhang1 ganz oben).

Wenn ich den ISP stecke, dann läuft der Progressbar nicht beim write 
buffer to flash rom.

Aber wenn ich den ISP abmache, dann läuft der Progressbar...voll komisch 
oder :-)



Antony

von Frank N. (antony)


Lesenswert?

Hallo,

GLÜCKWUNSCH :-)

das Problem lag bei meiner LPT Einstellung statt EPP hatte ich die Bi- 
Direktional


gruß

Antony

von Frank N. (antony)


Lesenswert?

es geht wieder nicht einmal hat es für ne kurze zeit funktioniert :-)
und das mit dem ioport.sys habe ich gar nicht


antony

von John S. (linux_80)


Lesenswert?

Wegen dem IoPortSys: Ist wie alle anderen Programme unter "Software" 
oder wie das bei XP zZt. heisst.
Zum nachinstallieren sollte da evtl. eine setupio.exe irgendwo im 
Bascom-Verzeichnis sein.
Wenns aber schon mal funktioniert hat, sollte es wohl nicht an dem 
liegen, aber schauen kannst Du ja mal.

von Frank N. (antony)


Lesenswert?

Hallo Tiny80,

also noch im Verzeichnis noch sonst wo habe ich den Setupio.exe 
gefunden.
Kannst du mir den schciken wenn du das hast und wenn es nicht zu groß 
ist oder weiß du wo ich den runterladen kann?


gruß
Antony

von Frank N. (antony)


Lesenswert?

Hallo,

@Stefan
>Wenn von LPT Signale kommen und der ISP-Adapter arbeitet, muss
>mindestens der RESET von HIGH nach LOW gehen, d.h. der AVR wechselt vom
>Betriebsmodus in den Programmiermodus. Erst dann wird die Signatur
>ausgelesen.

>Wenn der Programmiermodus erreicht wird und trotzdem nicht programmiert
>werden kann bzw. die Signatur nicht passt, muss man weitersehen.

Also, beim Programmier versuch, wird der Reset nach LOW gezogen aber 
trotzdem wird der ATMEGA nicht beschrieben.

Gruß
Antony

von Stefan B. (stefan) Benutzerseite


Lesenswert?

In dem 2. Bild oben 
(http://www.mikrocontroller.net/attachment/44175/atmega.PNG) ist als 
Chip der AT90S1200 zu sehen.

Kann es sein, dass BASCOM dadurch meint, es müsse/soll einen AT90S1200 
programmieren, findet aber einen antwortenden ATMEGA32 und schmeisst 
deswegen eine Fehlermeldung, dass die gerade gelesene Signatur nicht zur 
eingestellten, zu beschreibenden Signatur passt?

Wenn ja, müsste es helfen, den Chip auf ATMEGA32 zu stellen und dann 
erst zu programmieren.

von John S. (linux_80)


Lesenswert?

Der AT90S1200 ist der erste in der Liste, der kommt deshalb zum 
vorschein, weil kein Kontakt mit dem AVR hergestellt werden konnte, was 
bei Antony der Fall ist.

Wegen dem IO-Treiber, Bascom nochmal neu installieren, und darauf 
achten, ob irgendwann dieser installiert wird, der hat normal 'ne eigene 
Installroutine, die man mit "weiter" durchclicken muss.

Ob der bei Dir jetzt drauf ist wissen wir noch nicht, hast Du schon 
geschaut (Sytemsteuerung->Software) ?

Hast Du schon alle Leitungen nachgeprüft, ob sich da nix falsches 
verbunden hat, also alles was Du selber gebaut hast ?
Ist das ein neuer AVR gewesen, oder braucht/hat der einen Quarz extern ?

Hast Du's schon mit Ponyprog versucht ?

von Frank N. (antony)


Lesenswert?

Hallo,

@Tiny
also, in Systemsteuerung und in Systemweit ist es nicht zu finden, 
selbst eine Neuinstallation hat auch nichts gebracht. Die gemeinte 
Installationsroutine kamm auch nicht ins Spiel.

Die Leitungen habe ich gemessen und das mit dem Reset wird auch bei 
Programierversuch auf LOW gezogen.


Antony

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ich habe jetzt die Demoversion von BASCOM installiert.

Unter Program => Send to Chip => Manual Program wird der Programmer 
aufgerufen.

Welcher Programmer das an welchem Anschluss ist, wird in Options => 
Programmer eingestellt. Dort ist bei deinem (dem c't) Programmer STK200 
einzustellen. Ich denke anhand der Bilder oben, das stimmt.

Und die LPT-Address und ein sog. Port-Delay können dort eingestellt 
werden. Die LPT-Address solltest du mit dem Gerätemanager ermitteln 
können. Bei dem Port-Delay ist 0 der unterste Wert für einen 
schnarchlangsamen PC. Hier sind bei einem schnelleren PC höhere Werte 
einzutragen. Ich würde mal mit 10, 20, 40, 80, 160 durchtesten, ob sich 
die Situation ändert.

Sicher ist sicher, deshalb noch eine Frage zum ISP Programmer und nur 
relevant, wenn du keine fertige Platine gekauft hast: In dem c't 
Schaltplan ist Vcc und GND für den 74LS244 nicht eingezeichnet. Die hast 
du aber schon mit dem IC verbunden oder?

von Frank N. (antony)


Lesenswert?

Hallo,

@stefan
>Ich würde mal mit 10, 20, 40, 80, 160 durchtesten, ob sich
>die Situation ändert.

das hat auch nichts gebracht :-)

>Sicher ist sicher, deshalb noch eine Frage zum ISP Programmer und nur
>relevant, wenn du keine fertige Platine gekauft hast: In dem c't
>Schaltplan ist Vcc und GND für den 74LS244 nicht eingezeichnet. Die hast
>du aber schon mit dem IC verbunden oder?

Die Pltine war schon ein fertig teil also, ein Bausatz habe dann nur die 
Bauteile gelötet.


antony

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.