Forum: Mikrocontroller und Digitale Elektronik ISP für DAU also mich


von Lukas (Gast)


Lesenswert?

Guten Morgen zusammen!

Ich fange gerade an mich etwas mit der AVR-Programmierung zu 
beschäftigen und wollte mir in diesem Rahmen einen ISP basteln. Da es 
mir darum geht möglichst viel zu lernen und ich in absolut nicht unter 
Zeitdruck stehe will ich ihn wirklich bauen und nicht kaufen. :)
Ich wollte mir ersteinmal einen relativ einfachen ISP, wie zum Beispiel 
diesen hier
http://www.roboternetz.de/wissen/index.php/Bild:Ispplan.gif
aufbauen.
Was mich allerdings etwas daran stört ist, dass keine wirkliche 
galvanische Trennung zwischen meinem geliebten Rechner und meinem 
Versuchsaufbau besteht. (Man macht ja gerade als Amateur wie ich, öfter 
mal Fehler und da wäre es schade, wenn mir mein PC abraucht.)
Gut, das lässt sich durch Optokoppler relativ einfach beheben ... 
vorausgesetzt, dass ich auch eine Spannungsversorgung von der 
Rechnerseite habe. Dazu könnte ich einfach die Spannungsversorgung eines 
USB-Ports oder eines PS/2-Ports (wie ich es bei anderen gesehen habe) 
missbrauchen, aber dann könnte ich mir auch gleich einen USB-ISP 
nachbauen.
Hättet ihr eventuell eine andere/ bessere Idee, wie ich auf Nummersicher 
gehen kann? Wäre eine Spannungsverorgung über den Parallelport auch 
möglich? wenn ich das richtig sehe, dann sind ja noch einige Pins 
unbenutzt und der eine Optokoppler, der von der PC-Seite versorgt werden 
muss sollte ja nicht so viel Leistung benötigen.

Würde mich über Euren Rat und Eure Meinungen freuen.

Danke Lukas

von Gast (Gast)


Lesenswert?

Ich kann dir zwar bei der galvanischen Trennung jetzt nicht viel helfen, 
aber der Programmer, den du bauen willst hat bei mir (WinXP) NICHT 
funktioniert.

Auf dieser Seite:
http://s-huehn.de/elektronik/avr-prog/avr-prog.htm
gefällt mir der hier recht gut
http://s-huehn.de/elektronik/avr-prog/avr-seriell.gif
er hat auch schon sehr viel programmieren müssen und bis jetzt ohne 
Fehler

Außerdem habe ich einmal gehört, dass die serielle Schnittstelle nicht 
so leicht kaputtzukriegen ist, wie eine parallele (beim PC). Ob das 
stimmt hab ich natürlich noch nicht probiert ;-)

von Gast (Gast)


Lesenswert?

Nachtrag:
ahhh... ich habs grad gefunden:
eh auf der Seite, die ich verlinkt habe; bei dem Seriellen Adapter:

> Vorteile: Da an den meisten PCs eine freie Schnittstelle
> vorhanden ist, entfällt das lästige Umstecken. Außerdem
> ist diese Schnittstelle robuster als der Parallelport und
> verträgt auch mal einen Kurzschluss.

von Lukas (Gast)


Lesenswert?

Hallo Gast :)

vielen Dank für deinen schnellen Rat.
Ich möchte am liebsten unter Linux weiterarbeiten, da ich eigentlich 
alle meine Basteleien unter diesem Betriebssystem geplant habe und 
Windows meistens nur zum spielen nutze. Soll heissen: bin zu faul zum 
Wechseln. ;)
Nichtsdestotrotz sollte der Serial-Port ja auch unter Linux robuster 
sein als der Parallel-Port. ;)
Ich muss nur mal schauen, ob der auch mit der Programmersoftware AVRdude 
kompatibel ist, oder ob ich mich da dann doch umorientieren muss. Leider 
bleibt auch bei diesem ISP das Problem mit der galvanischen Trennung.

Lukas

von Christian U. (z0m3ie)


Lesenswert?

Also das mit der Galvanischen Trennung ist eine Schnapsidee, ich kennen 
keinen ISP der eine implementiert und hab auch noch nie davon gehört das 
jemand mit einem ISP seinen Rechner zerstört hat.

Solange du keinen Netzspannung über deine Schaltungen jagst brauchst du 
keine Galvanische Trennung beim ISP. Allerdings kann ich von den 
Bitbanging ISPs immer nur abraten. Die sind ziemlich lahm und sehr 
fehleranfällig. Ausserdem funktionieren Sie nicht mit allen Paralell 
Ports.

http://www.ullihome.de/index.php/Hauptseite#USB_AVR-ISP

von Jörn P. (jonnyp)


Lesenswert?

Die serielle RS-232 Schnittstelle ist leider am Aussterben, aber sie ist 
wohl das robusteste was ein PC zu bieten hat. Zwischen dem UART, dem 
Schnittstellenbaustein, und der Außenwelt sitzen noch die 
Pegelwandler/Treiber, die früher von den Bausteinen MC1488 und MC1489 
gebildet worden. Google mal nach diesen Bausteinen wegen der 
Spezifikationen.
IMHO verarbeitet die Schnittstelle alles von +-3 Volt bis +-15 Volt und 
ist praktisch Kurzschluss-sicher.

von Lukas (Gast)


Lesenswert?

Hallo Christian,

danke für deine Meinung. ISPs mit galvanischer Trennung über Optokoppler 
gibt es tatsächlich. Wenn ich mich nicht irre, dann wird so eine 
Schaltung mit dem Programm avrp für Linux empfohlen. Wie gut sie 
funktioniert weiss ich natürlich nicht.
Jetzt noch zwei kleine Fragen:

1. Ich fange wie gesagt gerade erst an mich mit dem Thema zu 
beschäftigen und bin noch nicht so fit mit den Fachbegriffen. Was genau 
versteht man alles unter einem bitbanging ISP?

2. Die Schnittstellen des PCs sind also robust genug und es würde 
ausreichen, wenn ich die Spannung an den Pins eventuell über Z-Dioden 
auf 5V begrenze?

Gruß Lukas

von Lukas (Gast)


Lesenswert?

Hallo Jörn,

Danke das werde ich mal machen. Serielle Schnittstellen habe ich für die 
nächste Zeit zum Glück noch ausreichend. Es Zahlt sich also doch aus, 
wenn man den ein oder anderen alten PC weiterbetreibt, bis er wirklich 
nicht mehr geht. :)

Lukas

von Lukas (Gast)


Lesenswert?

Nochmal kurz an Christian:

Habe gerade ganz vergessen, mich zu Deinem Link zu äussern. Also 
ersteinmal scheint Dein USBAVR-ISP ja wirklich klasse zu sein. Ich bin 
natürlich schon vorher bei meiner Suche auf Deine Seite gestoßen, muss 
aber zugeben, dass mich so etwas für den Anfang etwas einschüchtert. Das 
klingt für Profis wie Euch jetzt sicher dumm, aber so richtig verstehe 
ich halt nicht, wie er funktioniert. Ich muss da halt langsam vorgehen.

Gruß Lukas

von Jörn P. (jonnyp)


Lesenswert?

@Lukas
Was die "alten" PC´s angeht hast du Recht, die waren auch etwas robuster 
und wenn es wirklich mal einen erwischen sollte, dann tut es nicht so 
weh (im Portemonnaie). So DAU bist du also gar nicht.  ;-)

von Lukas (Gast)


Lesenswert?

Danke Jörn für die netten, aufmunternden Worte, aber ehrlichgesagt habe 
ich die alten rechner noch, weil ganz tief in mir irgendwo ein Schwabe 
hausen muss, der zu knauserig ist sich neue teure Rechner zu kaufen. ;)
(Falls Schwaben sich durch den letzten Satz angegriffen fühlen, einfach 
"Schwaben" durch "Schotten" ersetzen oder einfach überlesen. Böse war es 
jeden Falls nicht gemeint. :) )
Sparsamkeit schützt aber leider nicht vor dummen Fehlern. Aber sobald 
ich die  "Freigabe" von Euch habe, dass ich Christian und Dich da 
richtig verstanden habe, werde ich mich mal etwas vorwagen. ... jaja ich 
weiss was Ihr jetzt denkt: " Nicht nur knauserig, auch noch feige." ;)

Gruß Lukas

von Jörn P. (jonnyp)


Lesenswert?

Also "McLukas", wer Vorsicht mit Dummheit verwechselt ist wirklich ein 
DAU.
Ich nehme an, das ich dir jetzt mit meinem Vorschlag den Todesstoss 
versetze, aber schon mal dran gedacht, sich ein STK500 zuzulegen? Ich 
hab´s gemacht und bin sehr zufrieden. Das RS-232-Verbindungskabel zum PC 
gibt es gratis ;-) dazu. Allerdings brauchst du noch ein Netzteil für 
ein paar Euro :-(
In das STK500 kannst du praktisch alle DIL-AVR´s reinstecken und 
programmieren, oder auch deine eigenen Schaltungen. Die Software kostet 
nix ;-) (AVR-Studio).Das board hat jede Menge Stecker (Pinheads) an die 
ich alles dranhänge was ich zum Testen brauche. Dazu benutze ich von 
alten PC´s die Steckerkabel der LED´s, Taster und Lautsprecher zum 
mainboard.

von Stefan (Gast)


Lesenswert?

Oder kauf dir nen Original Atmel AVR ISP Programmer, kostet zwar 
zwischen 20 u. 30€ aber damit erstparst du dir unglaublich viel Ärger... 
:)

Und ist natürlich wie von dir gewünscht mit z.B. avrdude unter Linux 
voll kompatibel.

von Christian U. (z0m3ie)


Lesenswert?

Also ein Bitbanging ISP ist ein Programmer der alles in Software macht 
wie die Paralellport Programmer. Der Paralellport wird ausi direkt auf 
die SPI Schnittstelle des AVR gelegt und die Software macht den Rest. 
Ist sehr abhängig vom Paralellport und sehr langsam.

Du musst im ersten Atemzug meinen Programmer auch nicht verstehen, 
gerade bei der Software USB ist das wirklich zu viel verlangt.

>Oder kauf dir nen Original Atmel AVR ISP Programmer, kostet zwar
>zwischen 20 u. 30€ aber damit erstparst du dir unglaublich viel Ärger...
>:)

Also der AVRISP mkII kostet minnimum 37 Eur wenn man n bissle löten kann 
ist mein Programmer für 7 Eur aufgebaut. Ich sehe aber immer wieder das 
die Leute auch bei der einfachen Schaltung wo im USB Zweig nur 3 
Widerstände sind schon schöne Fehler einbauen. Wenn man das nicht 
gewissenhaft macht, kann man sich dort natürlich schöne Fehler 
einhandeln und schnell die Lust verlieren in solch einem Fall sind die 
40 Eur sicher gut angelegt. Aber wenn man etwas gewissenhaft arbeitet 
und die Verbindungen alle nochmal kontrolliert muss man hinterher auch 
keine Fehler suchen. Und von der Funktion funktioniert er genauso sicher 
wie der AVRISP mkII er ist sogar etwas unanfälliger weshalb ich die 
Schaltung überhaupt erst entworfen habe.

von Hannes L. (hannes)


Lesenswert?

Christian Ulrich wrote:
>
> Also der AVRISP mkII kostet minnimum 37 Eur wenn man n bissle löten kann
> ist mein Programmer für 7 Eur aufgebaut.

> ...

> Und von der Funktion funktioniert er genauso sicher
> wie der AVRISP mkII er ist sogar etwas unanfälliger weshalb ich die
> Schaltung überhaupt erst entworfen habe.

Ich finde Dein Projekt Klasse. Aber:

- Und wie sieht es eigentlich mit der Firmware aus?

- Wird Dein Programmer von AVR-Studio updatemäßig unterstützt?

- Oder ist der Benutzer bei jedem neuen AVR-Typ darauf angewiesen,
  dass Du die Firmware erweiterst und veröffentlichst?

- Falls Letzteres der Fall ist, bist Du sicher, dass Du dazu in ein paar
  Jahren noch Zeit und Lust hast?

Das sind so die Gedanken, die mir kommen, wenn ich drüber nachdenke, 
solche Projekte nachzubauen. Meist verzichte ich dann darauf...

...

von Bratensosse (Gast)


Lesenswert?

Also ich habe den ISP von christian nachgebaut (vielen dank nochmal für 
deine nächtliche unterstützung) und ich bin begeistert....
habe dieses semester den AVR für meine projetarbeit damit geflasht... 
funxt wunderbar. das einzigte was das problem war ein widerstand der 
irgendwie zu hoch dimensioniert war. dieser diente als schutzelement, 
habe ihn überbrückt und es lief.

aber im großen und ganzen nen geiles kleines kompaktes teil.

des avr studio überprüft wohl nur auf die versionsnummer, die kannste 
über das hyperterm einstellen, und schon haste keine lässtige warnung 
mehr...

also, wie gesagt, ich finde des kleine teil geil:-)


grüße

von Christian U. (z0m3ie)


Lesenswert?

>- Wird Dein Programmer von AVR-Studio updatemäßig unterstützt?

Nein, das ist da die Firmware von mir kommt, auch nicht möglich.

>- Oder ist der Benutzer bei jedem neuen AVR-Typ darauf angewiesen,
>  dass Du die Firmware erweiterst und veröffentlichst?

Nein, der Programmer bekommt vom AVR Studio die SPI Befehle die der 
Programmer an den Controller zu senden hat über das STK500v2 Protokoll 
mit übergeben womit der Programmer immer alle Controller unterstützt die 
auch vom AVR Studio unterstützt werden.

>- Falls Letzteres der Fall ist, bist Du sicher, dass Du dazu in ein paar
>  Jahren noch Zeit und Lust hast?

Es ist nicht nötig die Firmware zu ändern da wie oben geschrieben das 
STK500v2 Protokoll voll unterstützt wird und das ganze damit sicher ist.
Weiterhin ist es Open Source was zusätzliche Sicherheit bietet, die dir 
nichtmal Atmel bieten kann. Was ist z.b. wenn Atmel alte Controller 
nicht mehr unterstützt....
Das macht aber nur beim AVR910 Protokoll etwas aus da dort die 
Unterstützung direkt aus der Firmware kommt...

>Das sind so die Gedanken, die mir kommen, wenn ich drüber nachdenke,
>solche Projekte nachzubauen. Meist verzichte ich dann darauf...

Ich bin niemand der sich vorher keine Gedanken über soetwas macht :)

von Hannes L. (hannes)


Lesenswert?

Prima!

...

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.