www.mikrocontroller.net

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


Autor: Bastian F. (bastian_f)
Datum:

Bewertung
0 lesenswert
nicht 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-prog...
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

Autor: Mike J. (linuxmint_user)
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Bastian F. (bastian_f)
Datum:

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

Autor: ET (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: bitte löschen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: usuru (Gast)
Datum:

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

Autor: Bastian F. (bastian_f)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Mike J. (linuxmint_user)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :)

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: hp-freund (Gast)
Datum:

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

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bastian F. (bastian_f)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Mike J. (linuxmint_user)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bastian F. (bastian_f)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: usuru (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).
*** STK200-kompatibles Kabel

 LPT        ISP_6   ISP_10

 6 = SCK    3        7        weiss
 7 = MOSI   4        1        gruen

 9 = RST    5        5        schwarz
10 = MISO   1        9        rot

18-24 GND   6        4,6,8,10

Autor: usuru (Gast)
Datum:

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

Autor: Mike J. (linuxmint_user)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bastian F. (bastian_f)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Mike J. (linuxmint_user)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.