Forum: Mikrocontroller und Digitale Elektronik Noch ein ISP Dongle


von Thorsten Schmidt (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

für alle die Probleme mit der ISP Programmierung der AVR MC haben(so
wie ich) hab ich mir einen eigenen Dongle gebastelt. Er beruht im
Grunde genommen auf dem SI-Prog. von Claudio Lanconelli
http://www.lancos.com/siprogsch.html.
Funtionierte bei mir aber nur sporadisch, genau wie der Dongle mit dem
74hc244 für den Parallel-Port(STK 200 komp.)Gab wohl irgenwelche Timing
oder Pegelprobleme.
Als Programmiersoftware Funtioniert Ponyprog von obiger
Homepage(Freeware).Unter WinXP Bitte die 2000 Version(2.05 a)
verwenden.

Im Menü ²Setup² Serial einstellen.Im Pulldownmenü Si-Prog I/O
auswählen.
Dann den richtigen Com Port auswählen (Com1, Com2..)
Dann noch Häckchen bei Invert SCKL, D-IN, D-OUT.(Resetleitung nicht
invertieren). Wegen der Inversen Logik der Com. Schnittselle.
Auf Probe klicken, müsste jetzt erkannt werden.
Als letztes noch im Setup Menü auf kalibration klicken.
Der Programmer ist nun einsatzbereit.
Ob andere Software auch Funtioniert habe ich noch nicht getestet.

Der 470 Ohm Widerstand und die Led sind optional, sollen nur anzeigen
ob der Programmiervorgang läuft,bzw die Resetleitung Low-Pegel hat.

Ist nur eine zusätzliche Alternative für alle bei denen die
Programmierung absolut nich klappen will.
Wer noch Fragen hat oder die Schaltpläne und Layouts braucht (leider
nur im Protel Format) bitte hier im Forum schreiben nicht per E-Mail.

von Hannes Lux (Gast)


Lesenswert?

Hallo...

Schade eigentlich...

...dass ich das erst jetzt zu Lesen bekomme...

Ich hatte anfangs auch riesige Probleme, den ersten 1200er zu
programmieren. Ein Freund brachte etliche Varianten von
Programmieradapter und Software aus dem WWW an (ich hatte da noch
keinen WWW-Zugang), nix funktionierte bei mir.

Dann baute ich nach den Informationen des Datenblatts ein auf
Bustreiber basierendes Programmierinterface und schrieb mir in QB
(M$-QBASIC) ein ISP-Programm dazu. So richtig funktionierte das aber
erst, als ich auch die Stromzufuhr zum AVR per PC steuerte. Inzwischen
sind etliche AVR-Typen in die Software aufgenommen, aber noch lange
nicht alle. Das Programmieren geht zwar recht langsam, aber alles
vorher probierte ging garnicht...

Vielleicht packt mich ja mal die Wut und ich baue mir noch dein
Adapter... ;-))

Bit- & Bytebruch... - ...HanneS...

von Thorsten Schmidt (Gast)


Lesenswert?

Kleiner Nachtrag Sorry hab ich grad erst gesehen.
Als Schutzdiode D1 bitte nur Low Power Schottky Diode nehmen z.B. Bat46
oder ähnliche.Funktioniert wahrscheinlich auch mit normalen Dioden
1n4148 hab' ich aber noch nicht getestet.
Als Transistor kann jeder NPN NF Kleinsignaltransistor genommen
werden.

P.S

@ Admin kann man seine Beiträge nicht nachträglich editieren?

von Hannes Lux (Gast)


Lesenswert?

Hallo Thorsten...

Danke für den Hinweis...

Wird aber heute und morgen nix werden, noch bin ich mit meiner Lösung
zufrieden...

Aber es ist gut zu wissen, dass es nicht nur bei mir Probleme gab, ich
zweifelte nämlich schon arg an mir selbst. ;-)

Bit- & Bytebruch... - ...HanneS...

von Thorsten Schmidt (Gast)


Lesenswert?

@ Hannes hab ich auch nicht erwartet das  du dich heute Nacht noch
hinsetzt und das Ding nachbaust(-; .
Ich bin auch noch ein ziemlicher Newbie und war auch schon am
verzeifeln.Mitlerweile hab ich mir schon den 3. Avr gekauft weil ich
dachte ich hätte die anderen alle geschrottet.Na ja jetzt hab ich
wenigsten Reserve.


Wenns dich aber doch juckt kannst Du ja mal eine Rückmeldung geben ob
es bei Dir auch funktioniert.

Nochmal ein paar gutgemeinten Hinweise für alle Anfänger.
Bitte wirklich alle Verbindungen mit nem Multimeter nachmessen ob auch
Durchgang besteht und auf Kurzschlüsse prüfen.
Also MISO vom Programmer auf MISO am Board
MOSI auf MOSI usw. .......

Der Sub D Stecker auf dem Programmer ist ein "Männchen(Male).Da hab
ich mich auch mal verhauen.
Als Verbindungskabel PC-Programmer nur ein 1:1 Kabel verwenden kein
Nullmodemkabel.
Also viel Erfolg

 mfG

      Toto

von Hannes Lux (Gast)


Lesenswert?

Hallo Toto...

Also vorhin habe ich bei R. wieder einige AVRs bestellt, 10 Tiny12, 5
Tiny15, 5 4433, je 1 Mega8515 und Mega8535. Mit 1 oder 2 gebe ich mich
da nicht ab, die Megas brauche ich zum Testen bzw. Erweitern meiner
Brennersoftware. Durch das Page-weite Brennen braucht ja fast jeder
seinen eigenen Brennalgorithmus (nagut, nur eigene Schleifenwerte).

Einige 1200er und 2313er und einige andere habe ich noch liegen.

"Zerknallt" habe ich bisher nur einen Tiny15, ein Fehler in der
Peripherie legte 20 Volt auf einen als Eingang geschalteten Pin. Dieser
Pin ist hinüber, der Tiny funktioniert aber noch. Das Problem ist nur,
dass das Programm noch fehlerhaft ist und der zerstörte Pin als SCL zum
Programmupdate gebraucht wird. Nun isser taub und wird verschrottet...
;-((

Ich benutze die Dinger nicht wie einen PC oder Gameboy, sondern ich
nutze sie, um mir aufwendige elektronische Schaltungen (mit all ihren
Nachteilen) zu ersparen.

Das heißt: Schaltung entwickeln, Platine eageln, Platine fräsen,
IC-Fassung Beine breit biegen und nach SMD-Manier auf die Oberfläche
der Platine löten, alle anderen (Normal-!!!) Bauelemente auch von oben
drauf (Profis bezeichnen das als "Häkeln"), Programm entwickeln und
brennen, AVR auf die Fassung und fertig.

Dauert zwar alles etwas länger, aber das Prinzip stimmt in etwa. Wenn
eine Schaltung fertig ist (z.B. PWM-Fahrtregler für Modellbahn,
Dieselgeräusch für Gartenbahn, Fernschalter für Modellbau, Codeschloss
usw.), kommt sie an ihren vorgesehenen Einsatzort und wird benutzt.

Der in ihr enthaltene AVR wird nur dann noch mal neu programmiert, wenn
sich die Einsatzbedingungen ändern und daher ein Programmupdate nötig
wird.

Ich schreibe also keine "Programme für meinen AVR", sondern für einen
klar definierten Einsatzzweck. Und dabei benutze ich nicht den
bestmöglichen AVR-Typ, den ich bekommen kann, sondern den billigsten,
der für diesen Zweck geeignet ist.

Wenn es gelingt, nur 3 oder mehr CMOS- oder TTL-Schaltkreise durch
einen AVR einzusparen, dann ist das schon eine gewaltige Einsparung an
Platine, Platz und Lötarbeit. Und dazu gibt es den Vorteil der
Flexiblität, das Programm kann man updaten, per Platine falsch
verdrahtete Logikschaltkreise oftmals nicht...

Nun aber zurück zum Thema ISP-Adapter (auch (aber nicht von mir) Dongle
genannt)...

Für 1200/2313 und für 8-polige Tinys (alles DIL, ich nutze keine SMDs,
das mögen meine groben Finger und diabetesgeschädigten Augen nicht)
habe ich mir ISP-Adapter gebaut, die ich von oben auf den gesockelten
oder aufgelöteten Chip aufsetzen kann. Damit erspare ich mir einen
speziellen ISP-Anschluss auf der Platine. Beim 8535 bzw. Mega32 (und
einigen anderen) liegen die 6 zur ISP benötigten Pins alle
nebeneinander (warum nur beim 8515 nicht??), da setze ich eine 6er
Buchsenleiste ("Präzisions-Fassung von der Stange") auf die Platine,
für die ein ISP-Adapter mit 6 dünnen Pins (Stapelleiste) existiert. Für
den 4433/Mega8 folgt demnächst auch noch etwas, wird wohl wieder ein
von oben aufsteckbarer Adapter sein.

Übrigens benutze ich nicht den 10-poligen ISP-Anschluss sondern den
6-poligen nach ATMEL. Beim 10-poligen hatte ich mich vera..lbert, im
AVR-Buch von ELEKTOR wurde eine andere 10-polige Anschlussfolge
benutzt, so blickte ich am Ende garnicht mehr durch. Nun koche ich eben
mein eigenes Süppchen und betrachte nur noch die Datenblätter als
verbindlich...

So, genug geschreibselt,
Bit- & Bytebruch... - ...HanneS...
(...nur echt mit Pünktchen...)

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.