Küne
29.12.2009, 23:25 (editiert von Küne am 30.12.2009 um 00:02) |
ISP mit ATmega8 (Elektronik) |
Guten Abend!
Ich habe versucht ein ISP-Board für einen ATmega8 aufzubauen. Leider hat es nicht funktioniert. Ich benutze das Programm "PonyProg" und wollte damit wenigstens die Fusebits auslesen, aber nicht einmal soweit bin ich gekommen.
Die Schaltung anbei habe ich einfach "abgekupfert". Wie sie grundsätzlich funktioniert weiss ich, jedoch kenne ich das genaue Datenformat welches die parallele Schnittstelle hergibt nicht genau.
Ich habe die Platine selbst hergestellt, sie mehrfach geprüft und mehrfach nachgelötet, damit wenigstens diese Fehlerquelle herausfällt. Es schein alles zu stimmen, also liegt der Fehler wohl in der Schaltung.
Das der Eigenbau des Boards der falsche Einstieg ist habe ich nun auch gemerkt.
Ich bitte um Hilfe!
Hab grade gesehen, dass im Schaltplan 4k7 Vorwiderstände eingezeichnet sind, es wurden aber 470 Ohm verbaut! PC0 und GND sind nicht verbunden, das scheint nur durch die Umwandlung in die .jpg Datei so.
 |
m
30.12.2009, 01:15 (editiert von m am 30.12.2009 um 01:17)
@ Küne
|
ISP mit ATmega8 |
» Guten Abend!
»
» Ich habe versucht ein ISP-Board für einen ATmega8 aufzubauen. Leider hat
» es nicht funktioniert. Ich benutze das Programm "PonyProg" und wollte
» damit wenigstens die Fusebits auslesen, aber nicht einmal soweit bin ich
» gekommen.
Oh je. Da sind gleich mehrere Probleme.
» Die Schaltung anbei habe ich einfach "abgekupfert".
Da ist schon das erste Problem. Das ist ein Verdrahtungsplan, und der ist genügend verwirrend und zwar nicht nur für Anfänger. Ein Schaltplan wäre besser.
Im Verdrahtungsplan ist die Stromversorgung für den HC244 für einen Verdrahtungsplan etwas merkwürdig eingezeichnet. Sollte beim Nachbau die Stromversorgung für IC1 vergessen worden sein, so wird dieses natürlich nicht funktionieren.
Im Plan hängt die außerdem die Resetleitung im eingezeichneten Zustand des Tasters in der Luft. Das ist ein Fehler. Da mir die Aufgabe des Schalters nicht ganz klar ist, kann ich nur vermuten, dass er die Programmierbarkeit abschalten soll. Dann müsste der Anschluss 1 des Schalters über 10KΩ and 5V. Außerdem ist im eingezeichneten Zustand der µC nicht programmierbar, weil dafür das Programmiergerät die Kontrolle über die Resetleitung haben muss.
Im Plan ist auf keine Takterzeugung für den µC vorgesehen. Das ist ok, weil der ATmega8 ab Werk auf interne Takterzeugung eingestellt ist. Sobald durch Programmierung der Fuses ein anderer Taktgenerator eingestellt wird, funktioniert der µC in der Schaltung nicht.
» Ich habe die Platine selbst hergestellt, sie mehrfach geprüft und mehrfach
» nachgelötet, damit wenigstens diese Fehlerquelle herausfällt.
In Abhängigkeit von den Lötkünsten kann dadurch auch ein zweiter Fehler in den Aufbau geraten. Sinnvoll ist es, die Verbindungen einzeln auf Durchgang und gegen Kurzschluss zu testen. Dabei ist es hilfreich, wenn die ICs gesockelt sind und man sie zum Testen ausbauen kann. (Auslöten ist dagegen nicht gut, s.o.). Danach kann man Spannung an die Schaltung geben und messen, ob die gewünschten Ruhepegel auftreten. Dann erst die ICs wieder einsetzen.
» Hab grade gesehen, dass im Schaltplan 4k7 Vorwiderstände eingezeichnet
» sind, es wurden aber 470 Ohm verbaut!
4,7KΩ ist eh etwas viel, außer es werden Low-Current LEDs eingesetzt. Die 470Ω Widerstände sollten nicht an den geschilderten Symptomen schuld sein.
HTH,
m
PS: Ich empfehle das Studium der Datenblätter der beteiligten ICs. |
Küne
30.12.2009, 12:33
@ m
|
ISP mit ATmega8 |
» Sollte beim Nachbau die
» Stromversorgung für IC1 vergessen worden sein, so wird dieses natürlich
» nicht funktionieren.
IC1 bekommt Betriebspannung. Die ICs sind gesockelt und nachgemessen habe ich auch. Jedoch habe ich einen Haarriss in der Platine entdeckt an der VCC Leitung. Ich denke das dieser der Auslöser war, vorrausgesetzt die Schaltung funktioniert.
» Im Plan hängt die außerdem die Resetleitung im eingezeichneten Zustand des
» Tasters in der Luft. Das ist ein Fehler. Da mir die Aufgabe des Schalters
» nicht ganz klar ist, kann ich nur vermuten, dass er die Programmierbarkeit
» abschalten soll. Dann müsste der Anschluss 1 des Schalters über 10KΩ
» and 5V. Außerdem ist im eingezeichneten Zustand der µC nicht
» programmierbar, weil dafür das Programmiergerät die Kontrolle über die
» Resetleitung haben muss.
Okay. Zum Programmieren muss das Programm die Kontrolle über die Resetleitung haben, dass hat es auch, solbald der Schalter geschlossen ist. Ich benutze kein Programmiergerät, sonder dies soll ja ein Eigenbau ISP-Board sein. Ich möchte über das genannte Programm mitels der parallelen Schnitstelle eine Programmierung des µCs realisieren.
Wenn der Controller aber nun arbeiten soll, muss die Resetleitung also über 5k auf VCC gezogen werden?
» Im Plan ist auf keine Takterzeugung für den µC vorgesehen. Das ist ok,
» weil der ATmega8 ab Werk auf interne Takterzeugung eingestellt ist. Sobald
» durch Programmierung der Fuses ein anderer Taktgenerator eingestellt wird,
» funktioniert der µC in der Schaltung nicht.
Okay. Die Fuses sind noch nicht verändert worden, weil ich wie gesagt noch keinen Zugriff darauf habe.
» 4,7KΩ ist eh etwas viel, außer es werden Low-Current LEDs eingesetzt.
Deswegen die 470 .
» Die 470Ω Widerstände sollten nicht an den geschilderten Symptomen
» schuld sein.
» PS: Ich empfehle das Studium der Datenblätter der beteiligten ICs.
Habe ich, jedoch ist mein technisches Englisch nicht besonders gut, aber ich arbeite daran.
Vielen Danke schoneinmal für die Hilfe!!! |
hws

59425 Unna, 30.12.2009, 21:11
@ Küne
|
ISP mit ATmega8 |
Es gibt Konfigurationen, die laufen einfach nicht. Einfachschaltungen, die den Parallel- oder Seriellport "missbrauchen", vorzugsweise an einem Laptop.
Es kann aber auch ein Fehler im Aufbau sein. Hab ich da nicht was gelesen:
» ... mehrfach geprüft und mehrfach nachgelötet, damit wenigstens diese Fehlerquelle herausfällt.
Naja, EIN Fehler war doch noch drin (Haarriss) und ob nicht noch einer, keine Ahnung.
Die 5V kommt vom USB und die Steuerung vom LPT?
» Das der Eigenbau des Boards der falsche Einstieg ist habe ich nun auch gemerkt
Deshalb propagiere ich ja auch, entweder nen fetigen Prommer und Anwenderschaltung fertig zu kaufen. Oder sich anfangs die zumindest funktionierend auszuleihen, um diese Fehlerquellen auszuschließen. (erfordert aber reale und keine virtuellen Netz-Kollegen)
Dann kann's nur noch am fehlerhaften Programm oder an grundsätzlich nicht funktionierender Zusammenstellung liegen.
Wer erstmal funktionierende Hardware hat und ein Programm, was die LED blinken lässt, der kann nach und nach auf eigen gebauten Prommer und eigene Anwendungsplatine umsteigen. Wenn was nicht mehr geht, dann liegts an der zuletzt neu benutzten Sache.
Wäre vielleicht immer noch ne Möglichkeit.
Wobei ich eigentlich ein "vernünftiges" Entwicklungssystem vorschlagen würde, z.B. das STK500. Da noch mit seriellem Anschluss und inzwischen Verfügbarkeit des AVR-Dragon, müsste der gebraucht zu kriegen sein. Oder den AVR-Dragon neu kaufen?
Für spezielle Atmel-, AVRStudio-, WinAvr- (kostenloser C-Compiler) Fragen würde ich auf AVRFreaks nachfragen.
http://www.avrfreaks.net/
» ... vorrausgesetzt die Schaltung funktioniert.
Und? tut sie es jetzt?
» Ich benutze kein Programmiergerät, sonder dies soll ja ein Eigenbau
» ISP-Board sein.
Das IST das Programmiergerät !
» Wenn der Controller aber nun arbeiten soll, muss die Resetleitung also
» über 5k auf VCC gezogen werden?
Am besten eine Power on Reset Schaltung. Im einfachsten Fall ein RC Glied, im edelsten Fall ein spezielles IC.
» Okay. Die Fuses sind noch nicht verändert worden, weil ich wie gesagt noch
» keinen Zugriff darauf habe.
Sie trotzdem eine externe Takterzeugung vor. Quarz an 2 Pinchen. Für serielle Ausgabe oder genaues Timing braucht man das. Und auch, wenn man die Fuses mal falsch geschossen hat.
» ... jedoch ist mein technisches Englisch nicht besonders gut
Ojeh .. ohne kommt man heute in der Technik nicht mehr sehr weit.
hws |
Gast
31.12.2009, 09:53
@ Küne
|
ISP mit ATmega8 |
» Guten Abend!
»
» Ich habe versucht ein ISP-Board für einen ATmega8 aufzubauen. Leider hat
» es nicht funktioniert. Ich benutze das Programm "PonyProg" und wollte
» damit wenigstens die Fusebits auslesen, aber nicht einmal soweit bin ich
» gekommen.
»
» Die Schaltung anbei habe ich einfach "abgekupfert". Wie sie grundsätzlich
» funktioniert weiss ich, jedoch kenne ich das genaue Datenformat welches
» die parallele Schnittstelle hergibt nicht genau.
»
» Ich habe die Platine selbst hergestellt, sie mehrfach geprüft und mehrfach
» nachgelötet, damit wenigstens diese Fehlerquelle herausfällt. Es schein
» alles zu stimmen, also liegt der Fehler wohl in der Schaltung.
»
» Das der Eigenbau des Boards der falsche Einstieg ist habe ich nun auch
» gemerkt.
»
» Ich bitte um Hilfe!
»
» Hab grade gesehen, dass im Schaltplan 4k7 Vorwiderstände eingezeichnet
» sind, es wurden aber 470 Ohm verbaut! PC0 und GND sind nicht verbunden,
» das scheint nur durch die Umwandlung in die .jpg Datei so.
»
» 
Hallo Küne,
siehe die Schaltung unten. Diese hat einige Modifikationen welche nach diversen Recherchen in einschlägigen Foren zu diesem Simpelprogrammer eingeflossen sind. Ich würde dir auch dringend anraten die Standardisierte 8 bzw 10 polige ISP Schmittstelle auszuführen, da diese in fast allen Programmieradaptern verwendet wird. Getestet habe ich diese Schaltung mit diverser Hardware vom 266MHz Uraltlaptop bis zu aktuellen PC Hardware Varianten. Als Programmiersoftware habe ich AVR Studio und Bascom AVR getestet.
Ich möchte dir trotzdem ans Herz legen, so wie HWS schon geschrieben hat einen handelsüblichen Programmer zu kaufen(sind ja nicht mehr so teuer), wenn du einerseits nicht das nötige Instumentarium an Messgeräten bzw. das nötige Know how, noch nicht ganz vorhanden ist.
 |
Küne
31.12.2009, 16:36
@ Gast
|
ISP mit ATmega8 |
Ja, es ist dann wohl doch das beste erstmal ein fertiges Produkt zu kaufen. Trotzdem danke für die Unterstützung!
LG und einen guten Rutsch
Küne |