Forum: Mikrocontroller und Digitale Elektronik ATiny85 mit Arduino Programmieren.


von J. S. (Gast)


Lesenswert?

Ich versuche seit ein paar Tagen verzweifelt, irgendwie einen AtTiny85 
mit einem Arduino Micro zu programmieren.
Ich habe mich an dieser Anleitung langehangelt:
http://highlowtech.org/?p=1695
http://highlowtech.org/?p=1706
Das Beispielprogramm ArduinoISP auf den Arduino zu bringen kann ich ja 
noch,
aber wenn ich dann den AtTiny verkabele, bei Werkzeuge AtTiny85 
einstelle
und das Test-Blinkprogramm laden möchte blinkt auf dem Arduino kurz eine 
Orangene LED ganz schnell und dann erscheint die Meldung:
1
Der Sketch verwendet 784 Bytes (9%) des Programmspeicherplatzes. Das Maximum sind 8.192 Bytes.
2
Globale Variablen verwenden 9 Bytes des dynamischen Speichers.
3
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x3f
4
avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x3f
5
avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x3f
6
avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x3f
7
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x3f
8
avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x3f
9
avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x3f
10
avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x3f
11
avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x3f
12
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x3f

Habt ihr eine Ahnung was da los ist?

von Moritz B. (moritz00)


Lesenswert?

Hast du als Programmer ArduinoISP ausgewählt?

wenn ja, such mal nach anderen Attiny für arduino anleitungen im 
Internet und versuch es mal mit einer anderen board libary
Gruß moritz

: Bearbeitet durch User
von J. S. (Gast)


Lesenswert?

Nein, Ich hatte immer Arduino as ISP ausgewählt, wenn ich ArduinoISP 
auswähle kommt die Meldung
1
 
2
Der Sketch verwendet 784 Bytes (9%) des Programmspeicherplatzes. Das Maximum sind 8.192 Bytes.
3
Globale Variablen verwenden 9 Bytes des dynamischen Speichers.
4
avrdude: Error: Could not find USBtiny device (0x2341/0x49)

Hat das was geholfen?

von Ulrich F. (Gast)


Lesenswert?

> Nein, Ich hatte immer Arduino as ISP ausgewählt,
In dieser Kombination Richtig!


> und versuch es mal mit einer anderen board libary
Diese Tiny Erweiterung funktioniert bei mir perfekt.
Nutze allerdings einen USBasp und keinen "Arduino als ISP".

Hast du auch den dicken Elko auf den Arduino gesteckt?
Auch könnte der Tiny einen Stützkonensator vertragen.

von J. S. (Gast)


Lesenswert?

ÄÄÄH...
Ich bin kein Profi...
Wo müsste dieser Stützkondensator am Tiny hin?
Und nein, den Kondensator habe ich bis jetzt immer weggelassen weil ich 
keinen 10uf dahabe, nur 22uf; geht das auch?

von Ulrich F. (Gast)


Lesenswert?

> Wo müsste dieser Stützkondensator am Tiny hin?
Zwischen Vcc und GND, also da wo man immer die Stützkondensatoren hin 
macht.
Möglichst nah am Tiny

Jakob S. schrieb:
> Und nein, den Kondensator habe ich bis jetzt immer weggelassen weil ich
> keinen 10uf dahabe, nur 22uf; geht das auch?
1. Ohne Kondensator schickst du den UNO durch den Reset und er kann 
nicht als ISP arbeiten
2. 22µF sind kein Problem. Auch 100 oder 1000 nicht.
(wieso sagst du, dass du dich an die Anleitung hältst, tust es aber 
nicht?)

von KASA (Gast)


Lesenswert?

Naja... Ich hatte gelesen dass man den Kondensator bei neueren Arduinos 
nicht braucht (der Arduino Micro ist ja relativ neu...)
Dann werde ich es mal mit Kondensator versuchen!

von J. S. (Gast)


Lesenswert?

Soooo...
Ich habe es jetzt einmal mit Kondensator probiert...
Es funktioniert immer noch nicht.
Noch irgendwelche Ideen?

von bianchifan (Gast)


Lesenswert?

1. Highlowtech ist schon mal gut.
2. Arduino AS ISP muss genau so sein.

Stützkondi für den Tiny ist unnötig, andernfalls könnte man niemals mit 
diesen wackeligen Programmierklammern arbeiten.

Was evtl. nötog sein kann ist der Rest-Kondansator, möglicherweise auch 
noch ein 10k Pullup.

Den ISP-Sketch habe ich nur einmal interessehalbe ans Laufen gebracht 
und mir ebenfalls einen abgebrochen, erinnern kann ich mich nicht mehr.
Welchen Arduino? Mikro? Hab ich momentan nicht auf dem Schirm, ist der 
nicht veraltet?
Ich hatte seinerzeit einen pro mikro.
Ich nutze ausschließlich USBASPs ;)

Eine weitere Möglichkeit ist vor Upload-Beginn den Reset-Taster zu 
drücken und zu halten, bis der Upload startet.

von J. S. (Gast)


Lesenswert?

Ich habe den hier:
https://www.arduino.cc/en/Main/ArduinoBoardMicro
Ich habe es jetzt aufgegeben...
Ich glaube ich besorg mir einfach einen USBASP...
Das funktioniert hoffentlich einfacher/besser.
Falls aber doch noch jemand weiß warum es bei mir nicht geht...

von Ulrich F. (Gast)


Lesenswert?

bianchifan schrieb:
> Eine weitere Möglichkeit ist vor Upload-Beginn den Reset-Taster zu
> drücken und zu halten, bis der Upload startet.

Der Attiny85 hat von hause aus keinen Resettaster
Und auch keinen Bootloader, wo das evtl. Sinn machen könnte.
Da biste auf einem falschen Dampfer.

Jakob S. schrieb:
> Ich glaube ich besorg mir einfach einen USBASP...
Der tuts bei mir.
Allerdings nur mit der alten Software und gesetztem Slow Jumper.
Habe noch einen mit frischer Fischel Software, der spricht nicht mit dem 
Tiny.

von Ulrich F. (Gast)


Lesenswert?

Jakob S. schrieb:
> mit einem Arduino Micro zu programmieren.

Hast du denn wirklich die SPI Pins richtig mit dem Tiny verbunden?'
Soweit mir bekannt sind die auf anderen Pins, als beim UNO.

von KASA (Gast)


Lesenswert?

Wirklich? Ein neuer Lichtblick! Hast du eine Anleitung für den Arduino 
Leonardo/Micro?

von Ulrich F. (Gast)


Lesenswert?

KASA schrieb:
> Wirklich? Ein neuer Lichtblick! Hast du eine Anleitung für den Arduino
> Leonardo/Micro?
Der Schaltplan gibt gern Auskunft!

Hier: https://www.arduino.cc/en/Main/ArduinoBoardMicro
Und ein beherzter Klick auf "Schematics" bringt dich weiter

von KASA (Gast)


Lesenswert?


von J. S. (Gast)


Lesenswert?

Ääääh nächste Frage...
was soll ich jetzt als Reset verbinden?
der Reset-Pin am Arduino ist ja nicht als ISP-Reset, sondern um den 
Arduino zu resetten, oder?

von Ulrich F. (Gast)


Lesenswert?

Wenn du in den Arduino ISP Quelltext schaust, dann sieht man da:
#define RESET     SS
Alles klar?

von Johannes S. (8n1) (Gast)


Lesenswert?

Schau dir doch nochmal den zweiten Link den du im ersten Beitrag 
gepostet hast an.
Demnach muss der Reset Pin vom ATtiny mit dem Arduino Pin 10 verbunden 
werden.
Klappt es so nicht?

von Ulrich F. (Gast)


Lesenswert?

Johannes S. (8n1) schrieb:
> Demnach muss der Reset Pin vom ATtiny mit dem Arduino Pin 10 verbunden
> werden.

Das ist falsch!
Uno != Micro

von J. S. (Gast)


Lesenswert?

Danke schonmal!
Ich mach jetzt für heute schluss, habs noch nicht ausprobiert,
Ich schreib dann morgen ob es funktioniert hat.
Also, gute Nacht euch allen, und schonmal vielen Dank dass ihr mir 
geholfen habt, bis Morgen...

von bianchifan (Gast)


Lesenswert?

Ulrich F. schrieb:
> Der Attiny85 hat von hause aus keinen Resettaster
> Und auch keinen Bootloader, wo das evtl. Sinn machen könnte.
> Da biste auf einem falschen Dampfer.

Mit dem Dampfer liegst Du daneben, der ATTiny85 ist ein Krabbeltier mit 
8 Beinchen, Reset-taster gibt es nur auf Arduinos..
Bootloader? Was spricht dagegen, einen drauf zu packen...?

Jakob S. schrieb:
> Ich habe den hier:
> https://www.arduino.cc/en/Main/ArduinoBoardMicro

Das ist wohl ein micro, der pro micro ist kleiner und hat keinen 
Resettaster..
https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/troubleshooting-and-faq

Jakob S. schrieb:
> Ich glaube ich besorg mir einfach einen USBASP...
> Das funktioniert hoffentlich einfacher/besser.
USBASPs vom Chinamann haben oft eine (veraltete?) Spezial-FW drauf zum 
Flashen von S51-Controllern, da hagelt es mit aktuellem AVRDUDE 
Syncfehler, d.h. man in jedem Fall eine weitere 
ISP-Programmiermöglichkeit, um dem ASP eine aktuelle FW zu verpassen ;)
Dein WEg mit dem mikro ist also absolut nicht verkehrt!
Für ISP benötigst Du sechs Pinne/leitungen:
VCC, GND, RESET, MISO, MOSI, CLK
Das Beispiel von HighLowTech zeigt die Strippen mit einem Uno!
Bei einer anderen Arduino-Variante liegen die Signale an anderen 
Stellen!
Nur die Ports vom 328P sollten dieselben sein, solange Du den Sketch 
nicht ummodellierst.

Ulrich F. schrieb:
> Habe noch einen mit frischer Fischel Software, der spricht nicht mit dem
> Tiny.
Auch meine frischestens ASPs - SW-only ohne Ack-Jumper - spechen mit den 
Tinys, man sollte ggfls. auch den ISP-Speed anpassen ;)

von Ulrich F. (Gast)


Lesenswert?

bianchifan schrieb:
> Ulrich F. schrieb:
>> Der Attiny85 hat von hause aus keinen Resettaster
>> Und auch keinen Bootloader, wo das evtl. Sinn machen könnte.
>> Da biste auf einem falschen Dampfer.
>
> Mit dem Dampfer liegst Du daneben, der ATTiny85 ist ein Krabbeltier mit
> 8 Beinchen, Reset-taster gibt es nur auf Arduinos..
> Bootloader? Was spricht dagegen, einen drauf zu packen...?

Ich liege daneben... gut...
Und du drückst Reset.... (da wo kein Taster ist)

Was hast du hier nur mit dem Resettaster?


Und was gegen den Bootloader spricht?
1. Er frisst Platz
2. Er muss erstmal drauf, und soweit sind wir hier noch nicht.

von Johannes S. (8n1) (Gast)


Lesenswert?

Hab das gerade mal selber getestet.
Das Problem ist dass SS für die RX LED verwendet wird und deshalb im 
Sketch umbelegt werden muss.

Wenn man also SCK, MISO und MOSI mit den jeweiligen Pins auf dme Arduino 
verbindet und zusätzlich noch statt SS irgend einen freien Pin(ich hab 
auch 10 genommen) angiebt klappt das programmieren.
Habs gerade mit einem Pro Micro getestet. Ein zusätzliche 
Beschaltung(Kondensator, Pullup) war nicht nötig.

Hier(1) schreibt zwar einer dass beim Micro SCK, MISO und MOSI zwingend 
direkt am ISP Header abgeriffen werden müssen, ich glaube aber dass er 
einfach nur ohne lang zu überlegen hier(2) abgeschrieben hat. Denn beim 
Micro sind die ISP Pins laut Schaltplan auch auf die normale Stiftleiste 
herausgeführt.

Ob Micro oder Pro Micro müsste egal sein. In der Arduino IDE gibts ja 
auch keine extra Einstellungsmöglichkeit diesbezüglich, da steht nur der 
Micro zur Auswhal.
Der zuätzliche ISP Header ist soweit ich gesehen hab neben dem Reset 
Taster auch der größte Unterschied zwischen Micro und Pro Micro.

(1)http://phaq.phunsites.net/2013/09/12/use-arduino-micro-as-isp-with-atmega-on-a-breadboard/
(2)https://petervanhoyweghen.wordpress.com/2012/09/16/arduinoisp-on-the-leonardo/

von bianchifan (Gast)


Lesenswert?

Heute nachmittag rein zufällig auf Github entdeckt, ein Programm, 
welches neben ISP auch die HV-Protokolle beherrscht und den ISP-Takt 
offenbar selbstständig anpassen kann: ScratchMonkey
https://microtherion.github.io/ScratchMonkey/index.html
https://github.com/microtherion/ScratchMonkey/releases/tag/ScratchMonkey-1.0

Wie der Zufall so will, ist dort auch die mikro Verdrahtung 
dokumentiert.
https://microtherion.github.io/ScratchMonkey/ISP.html
------

Und noch ein themengleicher Wurm aus dem Arduinoforum:
http://forum.arduino.cc/index.php?topic=156863.0

von J. S. (Gast)


Lesenswert?

Ich bin am verzweifeln...
Das Problem ist u.a, dass ichnur überlange verhedderte kabel da habe,
im die male-Header vom Ardu mit dem AtTiny zu verbinden...
Jetzt versuche ich, das ganze auf einem Breadboard zu richten.
Ist das bei euch auch so das der Arduino aus dem Board "rausfedert"?

Langsam wirds mir zu blöd!

von SPIDER (Gast)


Lesenswert?

Hallo, hatte vor kurzem das gleiche Problem. Nach viiiiiiiiielen Stunden 
hatte ich aber eine Lösung gefunden und gleich eine 
Schritt-für-Schritt-Anleitung geschrieben. Wenn noch Bedarf besteht 
schicke mir ne Mail, ich schicke dir die Anleitung zu.

von KASA (Gast)


Lesenswert?

Wie ist denn deine Mail-Adresse?

von Bernd K. (prof7bit)


Lesenswert?

Also hier sind mal zwei Dinge für die Checkliste über die ich damals 
gestolpert bin:

* Richtige Baudrate wählen
* Arduino-Reset unterbinden der sonst beim Öffnen der Seriellen erfolgt

Letzteres wurde gelöst mit dem Hochklemmen (100 Ohm) der Reset-Leitung 
des Arduino (NICHT der des Programmierlings!)

Die Fehlermeldung aus Post 1 besagt nämlich daß er bereits daran 
scheitert überhaupt erstmal mit dem auf dem Arduino laufenden 
ISP-"Sketch" Kontakt aufzunehmen, vom eigentlichen Programmiervorgang 
oder der Suche nach dem Programmierling ist zu diesem frühen Zeitpunkt 
noch gar nicht die Rede.

Beide oben erwähnten Punkte erzeugen genau so ein Fehlerbild.

: Bearbeitet durch User
von Ulrich F. (Gast)


Lesenswert?

Bernd K. schrieb:
> Letzteres wurde gelöst mit dem Hochklemmen (100 Ohm) der Reset-Leitung
> des Arduino (NICHT der des Programmierlings!)

Das von Arduino vorgesehen Mittel ist ein Elko zwischen Reset und GND.
Die Doku zu ArduinoISP gibt gerne Auskunft: 
https://www.arduino.cc/en/Tutorial/ArduinoISP

Ein Kerko am Tiny stabilisiert die Angelegenheit auch noch. Gerade bei 
längeren Kabeln sehr wichtig.

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.