Hallo Besucher, der Thread wurde 14k mal aufgerufen und enthält 26 Antworten

letzter Beitrag von PeterSieg am

AVR Programmierboard Eigenbau

  • Hallo,


    ich wollte mir mal ein Programmierboard zusammenlöten, damit ich nicht immer bei jeder Schaltung des ISP mit on-board drauftun muss.
    Da ich verschiedene Controllertypen brauchen werde, will ich natürlich nicht für jeden ein eigenes bauen und habe mir daher eine Schaltung überlegt, bei der ich einfach die entsprechenden Pins miteinander verbinde.
    Strom kommt von extern (Belegung wie beim MMC2IEC-Anschluss) und der ISP ist auch nach MMC2IEC (Shadowolf) belegt, damit ich da meinen ISP-Adapter anschliessen kann.


    Kann da mal jemand mit Ahnung kurz drüberschauen und sagen, ob das so überhaupt geht?
    Habe ich da einen massiven Denkfehler oder irgendwas falsch angeschlossen?


    Der Bauplan soweit:

    Die 6er Buchsen sind etwas schräg drauf, weil die eigentlich 1.27 Rastermass haben und auf dem 2.54 Brett nur so draufpassen....


    Die dazugehörigen AVR-Pinbelegungen:

  • Warum quälst Du Dich mit den MikroMatch auf Lochraster?


    Da Du jede Menge Platz hast kannst Du doch auch einen normalen Pfosten-Stecker im 2,54 Raster benutzen.
    Der "Adapter" besteht dann nur aus einem Flachbandkabel mit unterschiedlichen Steckern.


    Und es würde Sinn machen mal nachzusehen, ob der Mega48/88/168/328
    so einfach in den Sockel für den Mega8 passen.
    Sollte das nicht der Fall sein ist es wahrscheinlich besser auf den Mega8 zu verzichten.


    Die VCC's und GND's sollten alle angeschlossen sein.

  • Zitat

    Originally posted by Shadowolf
    Warum quälst Du Dich mit den MikroMatch auf Lochraster?


    Eigentlich nur, weil ich die Anschlüsse schon da habe...


    Zitat

    Und es würde Sinn machen mal nachzusehen, ob der Mega48/88/168/328 so einfach in den Sockel für den Mega8 passen.


    Jau, das werde ich tun, muss mir noch die Datenblätter runterladen.


    Zitat

    Die VCC's und GND's sollten alle angeschlossen sein.


    D.h. alle AVCCs und die dazugehörigen GNDs auch?

  • Hallo. Wo ich den Plan so sehe, fragte ich mich, ob man nicht den ATmega8 Sockel IN den ATmega16/32 verbauen kann.. Spart Platz.. und die Leitungen sollten auch passender liegen.. und es kann ja jeweils sowieso nur 1 AVR in der Schaltung sein..


    Bin nur z.Z nicht an meinem Basteltisch, um so 2 Sockel mal 'in einander' zu probieren.. ob das überhaupt passt..


    Was mir nicht ganz klar ist, wenn das auf Lochraster aufgebaut ist.. warum oben und unten Verbindungen.. Mit isolierter Litze reicht es doch unten die Verbindungen zu ziehen..


    Man muß ja nur folgende Verbindungen zu den jeweiligen PIN's herstellen:
    VCC
    GND
    RESET
    MOSI
    MISO
    SCK


    Ich sehe einen nicht ganz unwichtigen Punkt des Designs.
    Solange man nicht auf externen Takt umstellt, kann man so AVR
    flashen.. aber wehe es wird auf externem Takt umgestellt.. dann ist Essig.. da ja kein ext. Takt vorhanden ist.. Hier könnte man evtl. noch einen Quartzosszillator an jeweils XTAL1 (glaube ich) anschließen..
    Hier ist ein Quartzosszillator sicher besser sonst müßte man an jedem Sockel jeweils Quartz+2 Kondensatoren anschließen..


    Peter

  • Zitat

    Originally posted by PeterSieg
    Hallo. Wo ich den Plan so sehe, fragte ich mich, ob man nicht den ATmega8 Sockel IN den ATmega16/32 verbauen kann.. Spart Platz.. und die Leitungen sollten auch passender liegen.. und es kann ja jeweils sowieso nur 1 AVR in der Schaltung sein..
    Bin nur z.Z nicht an meinem Basteltisch, um so 2 Sockel mal 'in einander' zu probieren.. ob das überhaupt passt..


    Wenn man die zwei mittleren Querverbinder im 40pin Sockel rausbricht, dann kann das passen.
    Die Leitungen liegen übrigens leider nicht passend, wie man oben auf dem Schaubild gut sehen kann.
    SCK, MISO und MOSI sind zwischen Mega8 und Mega32 verdreht und Reset ganz woanders.
    Ich werde mir das für die nächste Version aber mal durch den Kopf gehen lassen, ob man das vernünftig verdrahtet bekommt...


    Zitat

    Was mir nicht ganz klar ist, wenn das auf Lochraster aufgebaut ist.. warum oben und unten Verbindungen.. Mit isolierter Litze reicht es doch unten die Verbindungen zu ziehen..


    Ich wollte keine Überkreuzungen und bei der uneinheitlichen Verteilung der Anschlüsse hätten sich diese nicht vermeiden lassen.


    Und ja, externer Takt ist nicht gelöst, habe ich aber bisher nicht vor, zu verwenden.


    Erste Version ist gebaut:

  • Zitat

    Originally posted by PeterSieg
    Und zum Atmega32 ist Pin kompatibel: ATmega16 und ATmega8535.


    Ausserdem noch ATmega164/324/644 und evtl. ein paar inzwischen abgekündigte Teile.


    Was die (A)VCC/GND-Pins angeht: Frag nicht lange sondern schliesse sie an. Du produzierst da ein Einzelstück und nicht etwa Millionenstückzahlen bei denen die zusätzlichen Kosten und Zeit für wenige zusätzliche Drähte relevant wären.

  • Zitat

    Originally posted by Unseen
    Was die (A)VCC/GND-Pins angeht: Frag nicht lange sondern schliesse sie an.


    Ich tu's ja :)
    Es ärgert mich nur, dass ich dann vermutlich wieder Kreuzungen habe, aber mal schauen, ob ich da noch eine schicke Lösung finde.
    In weiser Vorraussicht habe ich die AVcc/GND Pins in den Sockeln auch dringelassen, d.h. Anschluss an sich ist kein Problem.
    Bauplan wird dann entsprechend aktualisiert..


    Aber Fehler hat bisher keiner gefunden? Prima.

  • Zitat

    Originally posted by AntaBaka
    Ich tu's ja :)


    Den Bauplan von oben habe ich entfernt.
    AVcc und zweiten GND jeweils angeschlossen.



    EDIT: Link entfernt, bis ich Kondensatoren drauf hab...

  • Zitat

    Originally posted by Shadowolf
    Doch klar, da scheint kein einziger Kondensator drauf zu sein. 8)


    Lass mich raten... die üblichen 100nf oder 1uF jeweils zwischen Vcc und GND?


    Zitat

    Warum machst Du eigentlich keine Schaltpläne?
    Lochraster-"Pläne" zu lesen finde ich ein wenig anstrengend, vorsichtig ausgedrückt. ;)


    Da geht's Dir wie mir mit Schaltplänen.
    Die kann ich nicht 'lesen', d.h. im Kopf in echte Schaltungen umsetzen.
    Ich brauche da eine Visualisierungshilfe - vermutlich, weil ich mich in meinem sonstigen Leben überhaupt nicht mit diesen Dingen beschäftige.


    Sei forh, dass ich nicht meine Notizzettel einscanne, hehe.

  • Zitat

    Original von AntaBaka
    Lass mich raten... die üblichen 100nf oder 1uF jeweils zwischen Vcc und GND?


    Oder was das Datenblatt der verschiedenen AVR-Controller sonst so empfiehlt? :)


    Zitat


    Da geht's Dir wie mir mit Schaltplänen.
    Die kann ich nicht 'lesen', d.h. im Kopf in echte Schaltungen umsetzen.
    Ich brauche da eine Visualisierungshilfe - vermutlich, weil ich mich in meinem sonstigen Leben überhaupt nicht mit diesen Dingen beschäftige.


    Nun, Schaltpläne soll man ja auch garnicht unbedingt sofort in Layouts umsetzen können, Schaltpläne mit all ihren Vereinfachungen sollen uns im wesentlichen das Leben leichter machen. :)


    Zitat


    Sei forh, dass ich nicht meine Notizzettel einscanne, hehe.


    Pah, neben dem Azubi betreue ich zur Zeit noch einen Schüler-Praktikanten... ;)

  • Zitat

    Originally posted by Shadowolf
    Oder was das Datenblatt der verschiedenen AVR-Controller sonst so empfiehlt? :)


    Ja, wenn ich das wüsste.
    Habe mal die 315 Seiten des ATMega32 Datasheets überflogen, aber nur vage Angaben zur Entkopplung bei AVcc gefunden - ohne Angabe von Werten.
    Vielleicht suche ich auch nach dem falschen begriff, aber "capacitor" hat ausser bei der externen clock und anderem Nebensächlichen nichts gebracht. In welchem Abschnitt würde ich solche Angaben denn finden?

  • Zitat

    Original von AntaBaka


    Ja, wenn ich das wüsste.


    Okay, sorry, das war vielleicht ein wenig gemein denn ich kann mich auch gerade nicht erinnern, jemals exakte Angaben dazu bei Atmel gefunden zu haben.


    Es gibt eine Application-Note, das Ding beschreibt aber mehr wie das Layout besser aussehen sollte, sagt aber nicht, wie gross die Kondensatoren sein müssen.


    Nun ja, man kann sich das auch ausrechnen.
    Die Grösse der Kondensatoren ist abhängig vom zu treibenden Strom und der Geschwindigkeit mit der Stromwechsel erfolgen.


    Wenn man sowieso keine schnellen Signale hat und keinen Strom ausgibt kann
    aber auch einfach 100nF dran hängen und gut.
    Vielleicht reichen dann auch 10nF aber was macht das schon.


    In Deinem Fall mit dem Programmier-Board ist es wahrscheinlich ziemlich egal,
    der Controller ist ja nicht mal komplett angeschlossen, soll er ja auch garnicht sein.

  • Nichts gegen Eigenbauten, aber als Entwicklungsboards gibts ja auch einige interessante fertige. Ok - das STK500 von ATMEL selbst kostet zwar ein paar Euro, aber dafür kanns unter anderem auch High Voltage Programming. Nützlich, wenn man sich mal wieder einen AVR "weggefust" hat :-)


    Geht aber auch eine ganze Ecke günstiger z.B. 810 046 von Pollin Elektronik, oder aber auch im allseits bekannten Auktionshaus tauchen regelmäßig interessante Starterboards auf.


    Viele Grüße
    hexagon

  • Zitat

    Originally posted by hexagon
    Nichts gegen Eigenbauten, aber als Entwicklungsboards gibts ja auch einige interessante fertige.


    Ja, das Pollin Board hab ich schon fast bestellt, aber kaufen ist langweilig :)


    So, Bauplan wieder entfernt, neue Version - jetzt mit 100nF Kondensatoren:


    Ist denn die Kodensatoren'kaskade' so in Ordnung? Stört sich da was?
    Oder sollte ich lieber zu jedem Kondensator Vcc und GND einzeln legen?

  • >Ist denn die Kodensatoren'kaskade' so in Ordnung? Stört sich da was?
    >Oder sollte ich lieber zu jedem Kondensator Vcc und GND einzeln legen?


    Da Du sowieso nur jeweils einen Controller in den Sockel setzen kannst ist
    das schon gut so.


    C1 alleine würde auch schon reichen.
    Wie gesagt, da fliesst ja nicht wirklich Strom auf dem Board.

  • So wollte auch mal den einfachsten AVR Programmer bauen.
    So wie auf der PonyProg Seite gezeigt. 4 Leitungen zw. DB-25 zum AVR (2 direkt, 2 über 1k Widerstände)+2 Brücken am DB25:


    DB-25 AVR
    10 ----------- 7/MISO
    7 ---##--- 6/MOSI
    6 ---##--- 8/SCK
    9 ---------- 9/RESET
    25+ ---------- 11/GND
    24


    2+12 Brücke
    3+11 Brücke


    Dieser Adapter soll auch stk200 kompatibel sein..


    Dazu habe ich dann am AVR noch +5V am PIN 10 und GND an PIN 11 von einem stabilisiertem Netzteil angelegt (+5,11V).


    Unter PonyProg auf Parallel gestellt - wie angegeben. Test ok!
    Aber Write failed!? Geht im Vergleich zum Pollin Board auch viel zu schnell.. das schreiben und verify..


    Ich habe noch KEINEN 100nf Kondensator zw. VCC+GND..?!


    Mit google habe ich gelesen.. kein Takt = keine Progammierung..?


    Im Auslieferzustand sind die ATmega32 doch auf internen Takt eingestellt...?


    Oder muß ich da noch einen externen Takt dran machen (Quartz+2x22pf)?


    Peter

  • Zitat

    Original von PeterSieg
    So wollte auch mal den einfachsten AVR Programmer bauen.
    So wie auf der PonyProg Seite gezeigt. 4 Leitungen zw. DB-25 zum AVR (2 direkt, 2 über 1k Widerstände)+2 Brücken am DB25:


    Von dieser Einfachvariante habe ich zwar auch schon ein paar Bilder gesehen, aber gebaut habe ich den selber noch nicht.
    Hauptsächlich, weil er in manchen Beiträgen als nicht besonders zuverlässig dargestellt wurde.
    Aber ein Kondensator zwischen Vcc und GND könnte schon mal weiterhelfen...