PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu Grundschaltung



daniel.weber
25.02.2008, 20:33
Hallo,
ich habe mir eine kleine Grundschaltung aufgebaut für den Mega8 und dazu einen ISP. Ich hatte für die Grundschaltung leider keinen 47nF da, deswegen habe ich einen 100nF genommen.

Nun hatte ich alles nochmal überprüft und durchgemessen war soweit alles iO, wenn ich jetzt aber mit PonyProg das Device auslesen will, dann meldet er mir "Device missing or unknow device (-24)" klicke ich da auf "Ignor" dann läuft es bis 100% durch, allerdings ist auffällig, dass jede Reihe 00 00 00... usw. lautet. Ich weis nicht ob das bei einem unbenutzten Mega8 so sein muss.

Ich hatte an den Fuse Bits ein wenig rumgespielt und deswegen den Mega8 gegen einen ganz neuen ausgetauscht, allerdings hat sich nichts verändert...

weis nun echt nicht mehr weiter, kann auch mit basecom keine Fusebits auslesen, da sagt er auch unbekanntes Device (so was ähnliches).

Als letzte Fehlerquelle könnte nun nur noch der 100nF in frage kommen, den ich statt den 47nF genommen habe...

Bin für jede Art von Hilfe sehr dankbar.
Lg
Daniel

McJenso
25.02.2008, 20:46
Hallo,



eine kleine Grundschaltung

hm, diese? (https://www.roboternetz.de/wissen/index.php/Bild:Avrtutorial_grundschaltung_mitisp.gif)


dass jede Reihe 00 00 00... usw. lautet. Ich weis nicht ob das bei einem unbenutzten Mega8 so sein muss.

Nein, müsste alles FF sein.


Als letzte Fehlerquelle könnte nun nur noch der 100nF in frage kommen, den ich statt den 47nF genommen habe...

Nee, glaube ich nicht. Was für einen Programmer hast du? Nutzt du event. irgendwelche Schnittstellenkonverter z.B. Rs232 <-> USB?
Wie versorgst du die Schaltung?
Gruß
Jens

Christopher1
25.02.2008, 20:48
Hi,
was denn für eine Grundschaltung?
Die im Wiki?
Ich sehe da nirgens 47nF Kerkos..

daniel.weber
25.02.2008, 20:54
folgende Grundschaltung:
http://www.mikrocontroller.net/articles/Bild:Avr-schaltplan-1.gif

ISP:
https://www.roboternetz.de/wissen/index.php/Bild:Ispschaltplan.gif

Versorgung:
über einen 7805

McJenso
25.02.2008, 21:06
Hallo,
na da war ich mit dem Kondensator auf dem Holzweg. Probier es mal ganz ohne den 47nF. Welche Messgeräte stehen dir zur Verfügung? Ein Oszi?
Wie lang ist die Leitung des ISP?
Wenn du versuchst den Baustein auszulesen, gibt es auf den Leitungen Reset, Clock und MOSI Signaländerungen vom PC aus. MISO wird vom µC als Antwort geschaltet. Ich weiß nur nicht, ob man die Änderungen mit einem Multimeter tendenziell feststellen kann. Vielleicht geht auch eine LED mit Vorwiderstand als Indikator. Ich gehe von einem Hardwarefehler aus.
Gruß

Jens

daniel.weber
25.02.2008, 21:13
also leider bin ich noch ein absoluter Anfänger auf diesem Gebiet. Eine Änderung beim auslesen ist messbar, auf reset liegt kurzfristig ca, 1,3 V an auch auf den anderen Leitungen ändert sich die Spannung nach oben.

Allerdings weis ich nun nichts mit Clock anzufangen :(
Mir steht leider nur ein Multimeter zur verfügung.

Die ISP Leitung ist ca. 20 cm (Flachbandkabel)

Besserwessi
25.02.2008, 21:20
Funktioniert denn der ISP programmer mit anderen Schaltungen, oder ist dies der 1te Versuch ?

Wenn Ponyprog meldet das der Chip nicht erkannt wird, ist das fast immer ein Fehler. Das Ignore hilf höchstens bei ganz neuen Chips die nur noch nicht eingetragen sind und daher nicht erkannt werden.

Normalerweise sollte man erst mal nicht an den Fusebits rumspielen, bis der Rest zuverlässig läuft. Ein externer Oszillator ist für den Anfang nicht mehr nötig. Die Aktuellen AVRs haben alle einen internen RC Oszillator und laufen erst mal mit dem bei ca. 1 MHz.

daniel.weber
25.02.2008, 21:31
das ist der erste Test, hab keine anderen Schaltungen zum testen, wenn ich wenigstens wüsste was beim ISP "rauskommen" muss was für eine Spannung wann auf welcher Leitung.

Ich vermute inzwischen stark das der IC (der 74HC244) am ISP defekt ist.
Schade, nun muss ich wieder auf die neue Reichelt Bestellung warten bis ich das testen kann, ich hätte da mehr als einen von bestellen sollen :(

T.J.
26.02.2008, 08:55
Wenn er anfängt was zu lesen muss Reset auf GND gehen, das sollten aber fast 0V sein und nicht 1,3 oder sowas.
Die SCK Leitung muss ein Signal haben (zwischen 3 und 5V) und die Miso Leitung sollte mehr als 3V haben. Ich gehe mal vom Multimeter aus, mit dem Oszi würde man natürlich ein Signal erkennen und keine Spannung.

Des Quarz lass mal weg, ein neuer Mega8 schwingt eh nur nach internem bis du die Fuses änderst! Der 47nF am Reset ist nur damit der nicht schwingt, auch erstmal raus.

Als erstes testen: Hat der Reset Pin im normalen Betrieb 5V und wenn du auf Read in Ponyprog klickst ca. 0V ??? Wenn das klappt gehts weiter ;)

Besserwessi
26.02.2008, 18:53
Manchmal ist es auch ein Problem mit der prallelen Schnitsetlle. Mit Windows XP / 2000 braucht man einen extra Treiber. Zum Testen hat der Programierer vom BASCOM Compiler die Möglichkeit die Leitungen der ISP Adapters einzeln zu setzten / löschen. Dann man man per Multimeter oder per LED testen ob der PORT und 74HC244 gehen.

daniel.weber
26.02.2008, 19:01
Hallo hab die Mega8 Schaltung mal in die Tonne gekloppt und das ganze nochmal neu aufgebaut mit einem Mega32 (weil ich für den auch einen Sockel da habe- für den Mega8 finde ich keinen)

Hab mir das neue PonyProg2000 gezogen und das ganze nochmal getestet und durchgemessen, nun liest er alles richtig aus, habe dann eine Test hex in den Speicher geladen und das ganze zum test nochmal ausgelesen, geht auch ganz gut.

Reset Pin hat jetzt im normal Betrieb 5V wenn ich auf Read klicke zieht er auf 0 Volt. Das klappt also jetzt alles soweit.

Kommen wir zu dem was nicht funktioniert :/
In Basecom habe ich ein kleines Programm geschrieben und kompeliert, nun klicke ich auf "Program Chip" ich erhalte die Meldung "Selected chip and target chip do not match AT90S2313 <> ATMega32" - das wundert mich nun mal wieder sehr, es ist doch nen Mega32 drauf also was erzählt er mir da? :( Naja drück ich auf ok komme ich in die Flash ROM Anzeige, da steht allerdings wieder alles auf 000000... 0000000... auch nach auslesen. Auch wenn ich nun auf "Lock and Fuse Bits" klicke sagt er mir Chip Typ not found".

Um ehrlich zu sein verstehe ich die Welt nicht mehr, im PonyProg2000 scheint alles zu funktionieren, auch laut Multimeter scheint alles zu stimmen aber Bascom macht mucken :(

[edit]
bin auch jetzt auf eine andere isp schaltung umgestiegen:
http://s-huehn.de/elektronik/avr-prog/avr-seriell.gif

Besserwessi
26.02.2008, 20:25
Im Bascom Basic steht irgendwo gegen Anfang des Programs für welchen Chip das Programm übersetzt werden soll. Bei vielen Beispielen ist das der AT2313. Der Pragrammer testet dann ob der richtige Chip da ist. Wenn man die Warnung ignoriert sollte man sich nicht wundern das es danach nicht merh richtig geht, denn der 2313 und MEga32 werden so weit ich mich erinnere per ISP etwas anders angesprochen.

T.J.
26.02.2008, 21:21
Soweit ich weiß geht das in Bascom nur mit den angegebenen Programmern. Bei der Variante mit den Widerständen und dem Transistor am Reset muss man Ponyprog verwenden?!
Bei mir geht es jedenfalls nur damit.

daniel.weber
26.02.2008, 21:26
jap ich lass das basecom jetzt mal hintenrunter fallen, schreibe meine Programme eh lieber in C von daher kann ich auf das Basecom gut verzichten.

Habe ein Programm geschrieben, welches 2 Ausgänge auf high schaltet es mit Ponyprog in den Controler geladen und siehe da alles funktioniert prima :)

Vielen Dank für eure Antworten.
Eine Frage habe ich noch, woran kann ich nun sehen mit welchem Takt der Controler läuft, habe einen Qozi 16 Mhz an den XTAL 1 gehangen und die Fuses SKSEL0-3 gesetzt. Läuft der nun auch mit dem Takt?

McJenso
27.02.2008, 16:31
Hallo,

hier mal eine schöne Seite für die Fuse_bits Fuse Calculator (http://palmavr.sourceforge.net/cgi-bin/fc.cgi).
Zum Testen programmier dir einfach einen Timer. Dann hast du einen 'Beweis' für den Takt.
Gruß

Jens

daniel.weber
27.02.2008, 19:51
bin leider totaler anfänger auf dem Gebiet, wie muss ich die Fusebits setzen damit der mega32 mit dem 16mhz takt läuft?

Hab sämtliche Tutorials durchgelesen aber irgendwie komme ich da nicht weiter, vorallem weil ich die Fusebits mit Ponyprog setzen muss... da ja Basecom nicht so richtig funktionieren will