ATtiny85 Bierdeckel Programmer

...Der R8 ist jetzt auf der ISP-Seite vom Jumper...
Ja, aber das andere Ende auch auf die andere Seite von R2, da eben nicht:
...Der Pullup kommt doch normalerweise direkt zwischen VCC und dem Reset vom Controller. Also bei mir zwischen Visp (Pin 2) und dem Resetpin vom ATtiny (Pin 1)...
Pin1 des Tiny85 ist nämlich kein Reset-Pin (mehr), sondern ein normaler I/O-Pin (sonst könnte er das Target nämlich nie in den Reset schicken, und somit auch nie programmieren - klar? deswegen muß nach dem Programmieren der Firmware, und vor dem einsetzen des Controllers in die Schaltung also die Fuse programmiert werden, die bei dem Pin die Reset-Funktion deaktiviert, und ihn somit zum normalen I/O macht (wodurch sich der Controller selbst aber nicht mehr via SPI programmieren läßt, und damit auch die Fuses nicht mehr via SPI manipuliert werden können -> Einbahnstraße, aber das hatten wir eigentlich schon...
Der Pullup ist hier für das Target vorgesehen - das braucht dann also nicht zwingend einen eigenen. Ich weiß nicht, ob der Tiny85 beim verlassen des Programming-Modes einen High-Pegel auf das Signal legt, oder die Leitung nur freigibt (tristate - halte ich aber für wahrscheinlicher).
...Aber warum soll der R8 dahin, wo der C3 war, über SV1?...
Sollte damit dann klar sein...
Aber wenn man sich das jetzt so ansieht...
Wenn Du die Vcc-Versorgung von C2 (C2 senkrecht) etwas mehr herunterlegst, hat der Gnd-Pfad zum Tiny etwas mehr Substanz.
Außerdem dann den Jumper auch nach unten, und die 5V-Versorgung des ISP-Headers untenrum anbinden.
Aber das ist alles Geschmackssache
 
Hallo,
noch mal kurz zu diesem Thema. Dann werde ich Euch dazu bestimmt nicht weiter nerven.
Ich habe die Schaltung mal auf dem Steckbrett aufgebaut und getestet. Aber so funktioniert das nicht. Über die ISP Seite wird der ATtiny nicht erkannt und das USB-Kabel wird vom PC nicht erkannt. Ich habe hier 4 ATtiny85 die alle schon ein Programm drauf haben und die ich mit "mySmartUSB light" oder mit den "Arduino" nach Lust und Laune ein neues Programm verpassen kann.

Das und warum dieser Programmer eine "Einbahnstraße" ist, wurde hier ja auch schon geklärt.

Das wesentliche zu der Fuse hat Dino ja schon geschrieben, ich sortiere mal meinen Gedankengang:
-ich hatte erst nach einer Weile festgestellt, daß der Tiny in Deiner Schaltung den besagten Reset-Pin verwendet, um das Target (zum Programmieren) in den Reset zu zwingen. Für den Tiny85 ist das also ein I/O-Pin (und kein Reset-Pin mehr)
-somit kann der einmal so verwendete Tiny also nicht mehr in den Reset geschickt werden, und folglich auch nicht mehr via SPI programmiert werden (bis man die Fuse eben wieder rausnimmt (aber eben nicht via SPI)) - bleibt die HV-Programmierung - aber eben nicht "In System"
-dazu muß also nach dem programmieren der Firmware in den Tiny85 die entsprechende Fuse gesetzt werden.
-das ist aber (zumindest beim AVRStudio) automatisierbar (also wo dann das Programm gebrannt wird, und hinterher automatisch alle Fuses)
-wenn der Tiny seinen Reset-Pin gar nicht für seinen Reset benötigt, braucht er dort logischerweise gar keinen Pullup (weswegen auch keiner in der Schaltung war) - der von mir vorgeschlagene Pullup ist aber auch nicht für den Programmer, sondern für das Target mit drauf. Zusammen mit dem Kerko am Header hast Du dann nämlich bereits die Minimalbeschaltung fürs Target, kannst also einen Target-Kontroller direkt an die 6 Signale klemmen...


...
Pin1 des Tiny85 ist nämlich kein Reset-Pin (mehr), sondern ein normaler I/O-Pin (sonst könnte er das Target nämlich nie in den Reset schicken, und somit auch nie programmieren - klar? deswegen muß nach dem Programmieren der Firmware, und vor dem einsetzen des Controllers in die Schaltung also die Fuse programmiert werden, die bei dem Pin die Reset-Funktion deaktiviert, und ihn somit zum normalen I/O macht (wodurch sich der Controller selbst aber nicht mehr via SPI programmieren läßt, und damit auch die Fuses nicht mehr via SPI manipuliert werden können -> Einbahnstraße, aber das hatten wir eigentlich schon...
Der Pullup ist hier für das Target vorgesehen - das braucht dann also nicht zwingend einen eigenen. Ich weiß nicht, ob der Tiny85 beim verlassen des Programming-Modes einen High-Pegel auf das Signal legt, oder die Leitung nur freigibt (tristate - halte ich aber für wahrscheinlicher)....

Und hier noch mal kurz zum Layout und der letzte Vorschlag.

Aber wenn man sich das jetzt so ansieht...
Wenn Du die Vcc-Versorgung von C2 (C2 senkrecht) etwas mehr herunterlegst, hat der Gnd-Pfad zum Tiny etwas mehr Substanz.
Außerdem dann den Jumper auch nach unten, und die 5V-Versorgung des ISP-Headers untenrum anbinden.
Aber das ist alles Geschmackssache

Soll das heißen, daß das Layout dann soweit in Ordnung ist?

Ich habe, wie Vorgeschlagen, den C2 senkrecht verbaut und den Jumper nach unten verlegt. Ich habe auch den R8 über den ISP-Header verschoben. Oberhalb und unterhalb vom ISP-Header habe ich ein klein wenig mehr Platz gelassen, damit man diesen beim Abziehen des Steckers auch etwas festhalten kann. Auch beim ATtiny habe ich oben und unten ein klein wenig mehr Platz gelassen, damit man diesen auch austauschen kann ohne Bauteile zu verbiegen. Die stehenden Widerstände habe ich durch andere mit größerem Rastermaß ersetzt, weil ich mir durch die größeren Pads und Leiterbahnen laufend die GND-Fläche abgeschnitten habe. Alle Kerkos haben auch ein 5mm RM bekommen, da meine dieses RM haben.

Am Schaltplan habe ich nichts verändert. Hier noch mal die Änderungen:

Bierdeckel_v8Poly_brd1.png
Bierdeckel_v8Poly_brd2.png
Anhang anzeigen Bierdeckel_v8Poly.pdf

Eigentlich kann ich auch die Eagle-Dateien hier zum Download einfügen. Vielleicht möchte ja auch ein anderer Anfänger damit experimentieren. Meine "bierdeckel_01.dru" ist auch im Archiv.

Anhang anzeigen Bierdeckel_Programmer.7z
Anhang anzeigen Bierdeckel_Programmer.zip

Wenn das Layout so bleiben kann, werde ich diesen "Programmer" jedenfalls mal löten, schon aus Neugier.

Ich habe hier etwas dazu gelernt und die Tips zum anders platzieren der Bauteile habe ich sehr genossen. Hat Spaß gemacht.
Nochmals Danke an alle Beteiligten und besonderen Dank an LotadaC für seine Geduld mit mir.

Gruß Dieter
 
Naja, ich hab ja nur VORSCHLÄGE eingebracht - wie Du es letztendlich machst, ist Dein Ding.Du mußt das löten, nicht ich (mir wären das eh zuviele Löcher :p
(Den nächsten machst Du dann mit'nem SOIC8-Controller, und 1206ern bei den Rs und Cs...)

Was meintest Du jetzt mit geht nicht?
Wenn Du die Schaltung (auch ohne Firmware) an den PC steckst, sollte zumindest der Anschluß erkannt werden. Was der PC dann damit macht (installiert), ist dann von der Firmware abhängig, die (vorher) in den Tiny zu proggen wäre. Außerdem natürlich die Frage, ob die Firmware dann irgendeinen Standard-Treiber auf der PC-Seite nutzt/vorraussetzt, oder ob da dann auch einer zu installieren ist.

Achso, die Fuse muß natürlich auch passen.
Der Tiny kann danach nur noch via HV programmiert werden.

Eins noch: ich würde R8 auf 22K (oder so) erhöhen.

Na dann viel Spaß...
 
Hallo,

Naja, ich hab ja nur VORSCHLÄGE eingebracht - wie Du es letztendlich machst, ist Dein Ding.Du mußt das löten, nicht ich (mir wären das eh zuviele Löcher :p

Ja, aber mit Vorschläge und Hilfe von Experten kann man nur dazu lernen. Das sind doch nicht so viele Löcher. Da gibt es schon ein paar Projekte die mich interessieren und bedeutend mehr Löcher zu bohren sind.

(Den nächsten machst Du dann mit'nem SOIC8-Controller, und 1206ern bei den Rs und Cs...)

Wie man diese Controller löten kann habe ich mir ja schon angesehen, aber bis ich soweit bin wird noch einige Zeit vergehen.

Was meintest Du jetzt mit geht nicht?
Wenn Du die Schaltung (auch ohne Firmware) an den PC steckst, sollte zumindest der Anschluß erkannt werden. Was der PC dann damit macht (installiert), ist dann von der Firmware abhängig, die (vorher) in den Tiny zu proggen wäre. Außerdem natürlich die Frage, ob die Firmware dann irgendeinen Standard-Treiber auf der PC-Seite nutzt/vorraussetzt, oder ob da dann auch einer zu installieren ist.

Der PC will ja nicht mal einen anderen Treiber haben bzw. meldet sich nicht der Installationsassistent. Eine manuelle Installation scheiterte auch. Danach ging meine Maus nicht mehr.

Dieses Problem habe ich komischerweise nur mit "usb-Programmer" die ich in den letzten Tagen auf dem Steckbrett aufgebaut habe. Wenn ich dann das USB-Kabel mit den PC verbunden habe bekam ich nur eine kurze Warnung "USB-Kabel nicht erkannt oder falsch angeschlossen" (oder so ähnlich). Als reine Spannungsquelle fürs Steckbrett funktioniert es. Habe es auch mit andere USB-Kabel versucht, aber immer die gleiche Fehlermeldung. Da die Programmer aber auch von andere benutzt werden und somit auch funktionieren, kann es nur an mein "Zusammengestecke" liegen. Welche ich aber auch ein paar mal überprüft habe und da meine anderen "zusammengesteckten" Schaltungen funktionieren bin ich ratlos.

Achso, die Fuse muß natürlich auch passen.
Der Tiny kann danach nur noch via HV programmiert werden.

Ich bin schon dabei einen "kleinen" HV-Programmer zu suchen (kaufen oder nachbauen).

Eins noch: ich würde R8 auf 22K (oder so) erhöhen.
Na dann viel Spaß...

Habe ich gemacht. Alles weitere muß ich jetzt erstmal nach "hinten" schieben, da ich schon Ärger mit meiner Frau habe. Es sind ja einige Arbeiten liegen geblieben die wichtiger sind.

Achso, anscheind haben sich paar Leute das Archiv runtergezogen. Mal sehen, ob einer was dazu schreibt (funktioniert oder ist doch Müll).

Gruß Dieter
 
Der Thread ist zwar schon älter, aber letztlich immer noch aktuell, weshalb ich keinen neuen erstelle, sondern diesen für meine Frage nutze.
Ich finde diese Lösung sehr interessant. Daher würde ich sie gerne nachbauen. Da ich auf einer Platinenbestellung noch ein ganz klein wenig Platz habe, habe ich die Schaltung ansich übernommen, aber in SMD ausgeführt. Den Anschluss an USB habe ich bewußt mit einem "richtigen" Stecker ausgeführt, da ich mit "Leiterbahnsteckern" schon mal Probleme hatte. Die Bauteile sind nicht sonderlich optimiert angeordnet und geroutet hat der Autorouter. Anbei ist das quick and dirty Ergebnis zu sehen.

Meine Frage wäre, wo ich die Firmware für den Tiny85 finden kann? Ich bräuchte ein HEX-File, dass ich dann mit AVR8 Burn-O-Mat auf den Tiny flashen kann.
 

Anhänge

  • Bierdeckel_Programmer SMD 1.0.zip
    66,6 KB · Aufrufe: 5
Zuletzt bearbeitet:
Im Eröffnungspost hat Dieter (völlig korrekt) seine Quelle angegeben. Dort ist dann auch ein Link auf die Firmware zu finden. Ob das ganze noch aktuell ist/gepflegt wird, kann ich nicht einschätzen.
Deinen externen Link hab ich mir nicht runtergeladen, und entsprechend auch nicht angesehen - vielleicht stellst Du Dein Layout hier besser direkt (dauerhaft) rein?

Zu Deinem Brennprogramm kann ich auch nichts sagen - der Programmer selbst sollte letztendlich irgendeinen Programmer simulieren, den das Studio kennt.

Hmm...
Eigentlich sollten sich doch VUSB und VTG trennen lassen. Also den 85 aus VUSB versorgen (wegen der hohen Anforderungen an den Takt), und MOSI, /RESET uns SCK dann über 'n Transistor oder so abkoppeln (geht das, wenn an der Basis 'ne höhere Spannung als am Collektor anliegt?)
Dann wären die Signale allerdings invertiert - müßte die Firmware also mit umgehen...
 
Hmm...
Eigentlich sollten sich doch VUSB und VTG trennen lassen. Also den 85 aus VUSB versorgen (wegen der hohen Anforderungen an den Takt), und MOSI, /RESET uns SCK dann über 'n Transistor oder so abkoppeln (geht das, wenn an der Basis 'ne höhere Spannung als am Collektor anliegt?)
Dann wären die Signale allerdings invertiert - müßte die Firmware also mit umgehen...
Hmm...
HC 4050 per Vtg versorgen und fertig?
Vielleicht gibt es den ja auch noch in kleiner (4fach), mal schaun.
Der kann höhere Eingangsspannungen als VCC ab, sofern sie sich im Ramen halten (tun sie in diesem Fall)

Edit: Finde keinen 4fachen der sich lohnen würde (Pin Anzahl). Vielleicht kennt der @dino03 ja noch einen. Aber stört ja nicht großartig die ungenutzten einfach nicht zu nutzen.
 
Zuletzt bearbeitet:
MOSI, /RESET uns SCK dann über 'n Transistor oder so
Das ist dann der "oder so"...
Und es sind nur die drei. MISO kann direkt an den Programmer. Bei 'nem Target mit 0,7V Vcc vielleicht nicht mehr, aber da ist dann eh die Frage, ob der sich proggen lassen würde.

VUSB könnte man ja über'n Jumper trotzdem auf VTG legen - mit'nem Überstrom-Schutz-IC (komm grad nicht auf den Namen) dazwischen. Am besten noch 'n enstellbaren LDO/Schaltwandler oder so dazwischen.
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)