Forum: Mikrocontroller und Digitale Elektronik Attiny45 läuft nicht (mehr), Fehlersuche erfolglos


von cath (Gast)


Angehängte Dateien:

Lesenswert?

Hallo alle,

ich arbeite mit einem Attiny45, den ich via Arduino ansteuern möchte. 
Hat schonmal funktioniert, aber seit ich versucht habe, einen Servo 
dranzuhängen, klappt es nicht mal mehr, eine LED blinken zu lassen. Ich 
hab schon drei Tinys des gleichen Modells versucht, die Kabel 
ausgetauscht, die LED ausgetauscht, Arduino deinstalliert und neu 
heruntergeladen... die einzige Fehlermeldung, die ich bekomme, ist 
"avrdude:please define PAGEL and BS2 signals in the configuration file 
for part ATtiny45", von der ich aber in sämtlichen Forenbeiträgen und 
Tutorials nur lese, dass man sie ignorieren kann, weil eigentlich 
trotzdem alles funktionieren sollte.

Die Verkabelung, die ich zum Programmieren nutze, hab ich mal angehängt. 
Ich benutze das Blink-Example der Arduino-Software, bei dem ich nur int 
led geändert habe:
1
/*
2
  Blink
3
  Turns on an LED on for one second, then off for one second, repeatedly.
4
 
5
  This example code is in the public domain.
6
 */
7
 
8
// Pin 13 has an LED connected on most Arduino boards.
9
// give it a name:
10
int led = 11;
11
12
// the setup routine runs once when you press reset:
13
void setup() {                
14
  // initialize the digital pin as an output.
15
  pinMode(led, OUTPUT);     
16
}
17
18
// the loop routine runs over and over again forever:
19
void loop() {
20
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
21
  delay(1000);               // wait for a second
22
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
23
  delay(1000);               // wait for a second
24
}

Hat jemand eine Ahnung, was das Problem sein oder was ich noch probieren 
könnte? Mir gehen die Ideen aus.. LG

von cath (Gast)


Lesenswert?

PS: Während ich den Sketch auf den Attiny lade, blinkt die LED... sie 
hört dann nur auf, wenn der Upload abgeschlossen ist. Falls das jmd 
einen Hinweis gibt.

von LED (Gast)


Lesenswert?

die LED steckt an GND und RST ... auf beide Anschlüsse wirkt dein 
Programm eher nicht

von LED (Gast)


Lesenswert?

LED schrieb im Beitrag #3549912:
> die LED steckt an GND und RST ... auf beide Anschlüsse wirkt dein
> Programm eher nicht

ich nehm alles zurück....das ist ja ein Elko ...

Wo ist die LED?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

cath schrieb:
> Während ich den Sketch auf den Attiny lade, blinkt die LED...
Welche LED denn?

cath schrieb:
> // Pin 13 has an LED connected on most Arduino boards.
> // give it a name:
> int led = 11; --- soso, dreizehn hat was mit elf zu tun...
>
>   digitalWrite(led, HIGH);
Was tut die Funktion digitalWrite() mit dem Übergabeparameter '11'?

von cath (Gast)


Lesenswert?

Lothar Miller schrieb:
> Was tut die Funktion digitalWrite() mit dem Übergabeparameter '11'?

Sie steuert den entsprechenden Pin an, also Pin 11 des Attiny.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Lothar Miller schrieb:
> Was tut die Funktion digitalWrite() mit dem Übergabeparameter '11'?

Wenn ich das Arduino Zeugs recht verstehe, soll damit Port B 
angesprochen werden:
0..7 Port A
8..15 Port B usw.
Das wäre hier also Port B 3. Aber auf dem Arduino Board steckt doch 
schon (wenn die Abbildung als Duemilanove stimmt) der Mega328. Das gibt 
im besten Falle einen Konflikt zwischen Input und Output des einen und 
anderen MC, im schlimmeren Fall sinds Output und Output. Oder benutzt du 
den Arduino als ISP Programmierer? Dann steck ihn nach dem Programmieren 
ab und bau LED und Vorwiderstand mit auf das Steckbrett.

von cath (Gast)


Lesenswert?

LED schrieb im Beitrag #3549915:
> Wo ist die LED?

Ach, damn, ein Bild dazu hab ich vergessen. Kommt gleich.

von cath (Gast)


Angehängte Dateien:

Lesenswert?

Ja, benutz den Arduino als ISP.
Habs mal versucht damit, alle bis auf die stromversorgenden Verbindungen 
zu kappen, s. Bild. Funktioniert aber leider immer noch nicht.

von cath (Gast)


Lesenswert?

Eigentlich dachte ich, ich hätte das schon diverse Male versucht, aber 
wohl noch nicht in der Kombination.. Nachdem ich den Bootloader nochmal 
neuinstalliert und den betroffenen Pin mit 0 statt mit 11 angesprochen 
hab, gings dann. Sollte irgendjemand mal ein ähnliches Problem haben..
Danke für die Lösungsvorschläge.

von Blende22 (Gast)


Lesenswert?

Auf dem letzten Bild ist doch die LED verkehrt rum drin. Da geht ja die 
Anode an Masse.

von Markus (Gast)


Lesenswert?

Und wie lautet der Code auf dem ATtiny45 ?
also
1
digitalWrite(11, HIGH);
wird kaum funktionieren,
Die "komischen" Arduino Pin Bezeichungen müssen umgemapt werden auf den 
Attiny.
Probiere mal
1
digitalWrite(0, HIGH);
http://playground.boxtec.ch/doku.php/arduino/attiny

Oder probiere mal
1
DDRB  = B00111111;   //alle auf Ausgang
2
PORTB = B00111111;  //alle Ein

von DerSeher (Gast)


Lesenswert?


von Clorella Vulgaris (Gast)


Lesenswert?

Der Seher nölte:
>Klasse, besser doppelt als einfach!

Hast Du irgendeinen Grund zur Kritik?

von planlos (Gast)


Lesenswert?

Hi,

heißt das , das ein Attiny 13 / 45 /85 das Programm vom Arduino Uno

ATMEGA328) praktisch "stand- alone" ausführen kann und der Arduino nur 
zum

Übertragen da ist ?

Ich finde zwar die IDE nicht so toll.

Wäre aber  gut, da das Ding kleiner und billiger  ist...

Oder habe ich was falsch verstanden ?

Gruß & Danke

Theo

von Markus (Gast)


Lesenswert?

planlos schrieb:
> heißt das , das ein Attiny 13 / 45 /85 das Programm vom Arduino Uno
>
> ATMEGA328) praktisch "stand- alone" ausführen kann und der Arduino nur
> zum
>
> Übertragen da ist ?

Ein Attiny kann mit der Arduino IDE programmiert werden. Es stehen 
jedoch nicht alle Funktionen zur Verfügung. Das Programm muss also auf 
die Gegebenheiten des Attiny angepasst werden. Und der Platz ist 
natürlich auch eingeschränkt.
Siehe z.B. http://playground.boxtec.ch/doku.php/arduino/attiny

Ein verbreitetest Beispiel ist auch der Digispark, welcher einen 
Bootloader verwendet und direkt am USB programmiert werden kann.
Es gibt diverse Seiten dazu:
http://digistump.com/products/1
http://www.cboden.de/mikro-controller/digispark/erste-schritte

Der Arduino kann auch als als Programmer verwendet werden für einen 
Attiny welches keinen Bootloader hat.
Es wird aber einfacher mit einem richtigen Progammer.

von planlos (Gast)


Lesenswert?

..Danke fuer die Erklaerung!
Viele Gruesse
Theo

von Moritz A. (moritz_a)


Lesenswert?

Markus schrieb:
> Der Arduino kann auch als als Programmer verwendet werden für einen
> Attiny welches keinen Bootloader hat.
> Es wird aber einfacher mit einem richtigen Progammer.

Die Verkabelung wird vielleicht einfacher, aber ein Arduino kann genauso 
ISP-Programmer spielen wie jeder usbasp auch.

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.