Forum: Mikrocontroller und Digitale Elektronik Problem mit selbstgbautem Mega8-ISP-Programmer


von Bastian F. (bastian_f)


Lesenswert?

Hallo zusammen,
ich habe diese Frage schon in einem anderen Board gestellt, aber leider 
noch keine Antwort erhalten und hier scheint mir insgesammt auch mehr 
los zu sein.
Deswegen nochmal hier. Also:

Hallo Zusammen!

Da ich die Möglichkeiten des Ping Pong Spiels so interessant fand, habe 
ich mir dies zugelegt und wollte mir natürlich auch den Adapter selber 
zusammenlöten.
Die Anleitung ist von dieser Seite:
http://www.elo-web.de/elo/mikrocontroller-und-programmierung/ping-pong/mega8-isp-programmer
Also alles beim Conrad um die Ecke eingekauft und versucht nachzubauen.
Wenn ich den "Programmer" und Kabel an dem Board habe, es einschalte 
(sprich Batterien anklemme) und dann in der Software Ispmega8 einen 
anderen Port als Com1 auswähle, gehen die LEDs aus. Schalte ich wieder 
auf Com1, gehen sie an. Also eine Verbindung scheint zu bestehen, jedoch 
kann ich nichts auf den Chip schreiben.
Das Programm endet mit "Fehler".
Mein Kabel ist 2m lang, falls das etwas zu bedeuten hat.
Ich hoffe jemand kann auf den Bildern erkennen, ob ich etwas falsch 
verdratet habe, oder ob es an unsauberen Kontakten liegt.
Für Hilfe wäre ich sehr dankbar!
Grüße,
Basti

Hier die Bilder:
http://img156.imageshack.us/img156/2281/bild0075u.jpg
http://img403.imageshack.us/img403/2756/bild0076e.jpg
http://img3.imageshack.us/img3/4088/bild0077o.jpg
http://img228.imageshack.us/img228/954/bild0079.jpg
http://img156.imageshack.us/img156/3158/bild0080.jpg
http://img440.imageshack.us/img440/7792/bild0083x.jpg

von Mike J. (linuxmint_user)


Lesenswert?

Bastian F. schrieb:
> Mein Kabel ist 2m lang, falls das etwas zu bedeuten hat.
Dein COM-Port kabel kann so lang sein, aber beim ISP Kabel sind 20cm 
schon recht viel.

Versuch es mal direkt anzuschließen.
Wird dein ATmega8 mit Spannung versorgt? (3V bis 5V)

von Bastian F. (bastian_f)


Lesenswert?

Direkt anschliezen wird schwer, da ich am Programmer einen D-Sub Stecker 
benutzt habe...
Der ATmega8 wird mit 4.5V versorgt.

von ET (Gast)


Lesenswert?

Ich back mir jetzt ne Pizza... Und dazu werd ich natürlich erst ein Ofen 
bauen!

Man ich verstehs manchmal echt net warum man sich net einfach nen drecks 
ISP kauft und genau 0 Minuten Probleme damit hat!

von hp-freund (Gast)


Lesenswert?

@Basti,
wie ich das sehe stimmt die Verdrahtung des Adapters.
Welche Art von seriellem Kabel verwendest Du? Nullmodem oder 1:1?
Am besten Du mißt das mal durch...

...
hp-freund

von bitte löschen (Gast)


Lesenswert?

ET schrieb:
> Ich back mir jetzt ne Pizza... Und dazu werd ich natürlich erst ein Ofen
> bauen!

Unter Umständen. Wenn Pizzabacken mein Hobby ist, und ich gerade im 
Pizzaofen-Forum eine Bauanleitung für einen tollen Ofen gefunden habe, 
dann baue ich halt einen Ofen. (Wenn ich etwas gieße, baue ich jedesmal 
einen Ofen, weil der Platz sonst als Schmiedefeuer dient.)
Lehrlinge bei, ich meine, VW haben sich als erstes Werkstück einen 
Schraubstock gefertigt. (Ich weiß nicht, ob das heute noch so ist.)
Schmiede machen sich ihr ganzes Werkzeug auch selbst.

Es ist immer die Frage, ob ich Pizza essen oder Pizza backen will, und 
was mir gerade mehr Freude bereitet.

von usuru (Gast)


Lesenswert?

Ist die sereille Schnittstelle auf dem Motherboard oder über einen 
USB-Adapter? Letzteres funktioniert wegen Timing-Problemen 99,9% nicht.

von Bastian F. (bastian_f)


Lesenswert?

hp-freund schrieb:
> wie ich das sehe stimmt die Verdrahtung des Adapters.
> Welche Art von seriellem Kabel verwendest Du? Nullmodem oder 1:1?
> Am besten Du mißt das mal durch...
Ich benutze ein Verlängerungskabel, sollte also 1:1 sein.

usuru schrieb:
> Ist die sereille Schnittstelle auf dem Motherboard oder über einen
> USB-Adapter? Letzteres funktioniert wegen Timing-Problemen 99,9% nicht.
Ist auf dem MB.

@Philipp Klostermann: Danke!

Ich messe trotzdm mal das Kabel durch und zur Not baue ich das Ganze 
nochmal neu.
In dem ELO Artikel wird ja eine Buchse verwendet, ich jedoch habe einen 
Stecker verwendet. Die Schaltung dürfte ja trotzdem gleich sein, oder?
Bin grade etwas verwirrt...

EDIT: Ok, habe den Stecker falsch verbaut....
Fange also nochmal neu an und berichte dann.

von Mike J. (linuxmint_user)


Lesenswert?

Bastian F. schrieb:
> EDIT: Ok, habe den Stecker falsch verbaut....
> Fange also nochmal neu an und berichte dann.

Die Spannungen auf der RS232 Schnittstelle (-12V +12V) sind sehr 
schädlich für die Eingänge des Controllers, deshalb verstehe ich nicht 
weshalb vor MISO kein Widerstand vorgesehen ist.

Du solltest MISO nicht so belegen wie im Schaltplan, wenn CTS auf LOW 
gezogen wird (12V) zwerstörst du dir die Schutzdiode deines AVR!

Über die interne Schutzdiode darf nur einen Strom von höchstens 0.1mA 
fließen.
12V-(4.5+0.6)=6.9V
R=7.5/0.0001=69kOhm (100kOhm sind okay)

Wenn CTS auf high (-12V) gesetzt wurde:
-12V + 0.6V = 11.4V
R=11.4/0.0001=114kOhm (147k oder 200k sind okay)

=> die 100k sind zu niedrig dimensioniert

von hp-freund (Gast)


Lesenswert?

Ich muß zugeben das mir die Experimente mit RS232 direkt zu ISP von 
Anfang an zu gefährlich waren. Deshalb habe ich mir schon vor Jahren 
diesen Adapter:
http://www.robotgames.net/atmel/Cables.htm
mit 74HC125 gebaut.
Ist auch noch nie was böses passiert :)

von Martin (Gast)


Lesenswert?

Wenn es stimmt, dass die Schaltung auch im Lernpaket Mikrocontroller 
verwendet wird, dann sollte es doch funktionieren. Hinzu kommt, dass der 
Autor Kainka nicht gerade als Warmduscher bekannt ist. Das Paket haben 
recht viele Leute und die müssten ja massenhaft über geschossene 
Controller berichten. Die Frage ist: warum funktioniert die Schaltung 
trotz ihrer putzigen Einfachheit? Wenn ich etwas Zeit habe werde ich sie 
im Laufe der Woche wielleicht einmal testen.

von hp-freund (Gast)


Lesenswert?

@Martin,
das Paket hat den Vorteil das die passenden Stecker und das RS232 Kabel 
schon dabei sind ;)

von Martin (Gast)


Lesenswert?

@hp-freund

Das stimmt: mein Beitrag bezog sich auf die Einlassungen von Mike. 
Insbesondere die direkte Verbindung von CTS/RxD zum Controller.

Aber wo ich gerade so am Tippen bin - CTS & RxD sind doch Eingänge und 
das sollte doch kein Problem sein.

von Bastian F. (bastian_f)


Angehängte Dateien:

Lesenswert?

So, habe alles nochmal neu gemacht (mit Buchse), funktioniert aber immer 
noch nicht.
Ich bin wohl zu doof für sowas...
Braun = 5
Grün/Weiß = 4
Gelb/Weiß = 3
Braun/Grün = 2
Rot/Blau = 8
Pink/Grau = 7

von Mike J. (linuxmint_user)


Lesenswert?

Martin schrieb:
> CTS & RxD sind doch Eingänge

Ach ja, das stimmt ... ist also okay.

Der PC braucht auch keinen Low-Pegel von unter -3V um ein High Signal zu 
erkennen, nur deshalb funktioniert die Lösung.

Das mit den 100k Ohm ist aber schon recht kritisch, im Normalfall würde 
ich dort nicht 0.1mA fließen lassen (weil das die Absolute Maximum 
Ratings sind) sondern eher 0.05mA.

Komisch dass der Autor sich nicht an das Datenblatt und die Richtlinien 
hält.

@ Bastian F
Besitzt dein PC auch einen Parallelport?
Wenn ja, dann schau dir den Link von  hp-freund  an, das war auch mein 
erster Programmer und der funktioniert unter Linux und Windows wirklich 
gut.

von Martin (Gast)


Lesenswert?

... Das mit den 100k Ohm ist aber schon recht kritisch, im Normalfall 
würde
ich dort nicht 0.1mA fließen lassen (weil das die Absolute Maximum 
Ratings sind) sondern eher 0.05mA. ...

Woher stammen die 100 µA? Im Datenblatt des ATMega8 konnte ich sie nicht 
finden.

von Bastian F. (bastian_f)


Lesenswert?

Mike J. schrieb:
> Martin schrieb:
> @ Bastian F
> Besitzt dein PC auch einen Parallelport?
> Wenn ja, dann schau dir den Link von  hp-freund  an, das war auch mein
> erster Programmer und der funktioniert unter Linux und Windows wirklich
> gut.

Ja, hat er. Aber wenn ich noch nichtmal in der Lage bin sowas einfaches 
wie oben zu basteln, wird das andere mit Sicherheit erst Recht nichts.

von usuru (Gast)


Lesenswert?

Ich habe auch noch so eine STK200-kompatible Platine für den 
Printer-Port rumliegen, da gibt es keine Probleme mit negativen 
Spannungen. Läuft aber auch nur an Ports, die auf dem Motherboard sind. 
USB-Adapter oder PCI-Karten gehen nicht (ISA-Karten schon, aber die gibt 
es ja kaum noch).
1
*** STK200-kompatibles Kabel
2
3
 LPT        ISP_6   ISP_10
4
5
 6 = SCK    3        7        weiss
6
 7 = MOSI   4        1        gruen
7
8
 9 = RST    5        5        schwarz
9
10 = MISO   1        9        rot
10
11
18-24 GND   6        4,6,8,10

von usuru (Gast)


Lesenswert?

Ich vergass: MOSI, MISO und SCK haben einen 220-Ohm-Widerstand drin. RST 
nicht.

von Mike J. (linuxmint_user)


Lesenswert?

Bastian F. schrieb:
> wird das andere mit Sicherheit erst Recht nichts

Für die andere Lösung brauchst du minimal nur zwei Widerstände!
Beitrag "Re: Beleuchtung für Modellflugzeug"

Wenn du einen D-SUB-Stecker besitz und zwei 1k Widerstände kann es schon 
losgehen.

@ Martin
Das steht nicht im Datenblatt, aber in einer AppNote von Atmel.
Der Link zur AppNote wurde auch mal hier im Forum gepostet.
Such mal nach AVR, Schutzdiode und Strom.

Hier wird von 1mA gesprochen, was aber falsch ist.
http://www.roboternetz.de/phpBB2/viewtopic.php?t=52631

von Martin (Gast)


Lesenswert?

Der maximale Strom beträgt laut Atmel (siehe unten) 1 mA: die Schaltung 
(siehe oben) ist mit rund 100 µA im grünen Bereich.

http://atmel.com/dyn/resources/prod_documents/doc2508.pdf

The series input resistor is a 1 MΩ resistor. It is not recommended that 
the clamping diodes are conducting more than maximum 1 mA and 1 MΩ will 
then allow a maximum voltage of approximately 1,000V.

von Bastian F. (bastian_f)


Angehängte Dateien:

Lesenswert?

Ich habe es doch noch hinbekommen.
Beim zweiten Versuch habe ich die Besetzung der Steckerbuchse verplant, 
so dass es ohne einen schicken "Adapter" gar nicht möglich war, den 
Stecker an der Platine korrekt "zu treffen".
Sprich, ich habe spiegelverkehrt gebaut...
Hier mein super spezial Adapter mit dem das ganze jetzt funktioniert.

von Mike J. (linuxmint_user)


Lesenswert?

Martin schrieb:
> doc2508.pdf
Genau diese AppNote hab ich gemeint.

> the clamping diodes are conducting more than maximum 1 mA
Sorry für den falschen Wert ... ich hät mir die PDF abspeichern sollen.

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.