Forum: Mikrocontroller und Digitale Elektronik ATtiny funktioniert auf STK500 aber nicht auf Steckbrett


von Philipp S. (philiboi)


Lesenswert?

Guten Abend,

ich verzweifle hier gerade mit einem ATtiny85.
Ich habe diesen mit meinem STK500 programmiert, aber sobald ich ihn in 
ein Breadboard stecke und die entsprechende Peripherie anschließe 
passiert nichts.
Ich habe dann mal die Peripherie direkt an das STK500 angeschlossen und 
siehe da es arbeitet alles wunderbar.

Mein erster Verdacht war die Stromversorgung. Also wieder alles auf ein 
Breadboard gesteckt und dieses über die Versorgungspins des STK500 
versorgt. Aber es hat sich wieder nichts getan.

Übersehe ich was? Woran könnte es sonst noch liegen?

Ich bin über jeden Tipp dankbar.

von Rene H. (Gast)


Lesenswert?

Philipp S. schrieb:
> Übersehe ich was?

Ganz bestimmt sogar. Aber mit diesen Angaben kannst Du nicht wirklich 
eine Antwort erwarten. Gib Dir mal etwas Mühe. Was könnte alles wichtig 
sein, damit man Dir helfen kann?

Ausser Du bist ein Troll, was beim ersten Beitrag an einem Donnerstag 
ziemlich Nahe liegt.

Grüsse,
R.

von Alexander S. (alesi)


Lesenswert?

Philipp S. schrieb:
> Ich bin über jeden Tipp dankbar.

Soll er mit internem oder externem Oszillator/Quarz laufen?
Vielleicht wird er auf dem STK500 mit externem Takt versorgt
und auf dem Steckbrett nicht.
Das ist nur eine von vielen Möglichkeiten, es kann auch ganz
woanders daran liegen.
Dazu müsstest Du den Aufbau genauer beschreiben.

von Philipp S. (philiboi)


Lesenswert?

Alexander S. schrieb:
> Soll er mit internem oder externem Oszillator/Quarz laufen?
> Vielleicht wird er auf dem STK500 mit externem Takt versorgt
> und auf dem Steckbrett nicht.

Den Quarz hatte ich auch schon in Verdacht. Aber der ATtiny soll mit 
internem Takt laufen.

Die Fuses sehen wie folgt aus:
lfuse 0xe2 -> INTRCOSC_8MHz_6CK_14CK_64MS
hfuse 0xdd
efuse 0xff

Zum Programmieren eines ATtiny85 muss man ja zusätzlich den RST und 
XTAL1 an die entsprechenden Pins anschließen. Diese habe ich nach dem 
bespielen wieder getrennt.

Grob zum Aufbau:
An dem I2C Bus des ATtiny hängen eine RTC (DS1307), ein Temperatursensor 
(LM75) und ein Controller für eine 8x8 LED Matrix (HT16K33).

Die Verkabelung der Peripherie habe ich jetzt schon gefühlte 37x 
kontrolliert und diese funktioniert ja auch so lange es direkt am STK500 
angeschloßen ist.

Jetzt nehme ich den ATtiny aus dem STK500 und stecke ihn in ein 
Breadboard. Pin4 = GND
Pin5 (PB0) = SDA
Pin7 (PB2) = SCL
Pin8 = VCC (5V)
Zwischen VCC und GND kommt noch ein 100nF und mehr ist es ja nicht.

Gruß Philipp

von Michael U. (amiga)


Lesenswert?

Hallo,

PullUp-Widerstände am I2C sind dran?

Gruß aus Berlin
Michael

von Philipp S. (philiboi)


Lesenswert?

Michael U. schrieb:
> PullUp-Widerstände am I2C sind dran?

Sind intern geschalten. Und dann würde es ja wahrscheinlich auf nicht 
auf dem STK500 funktionieren...

von Rene H. (Gast)


Lesenswert?

Mach mal ein Foto vom Aufbau.

von Philipp S. (philiboi)


Lesenswert?

Rene H. schrieb:
> Mach mal ein Foto vom Aufbau.

Mach ich sofort wenn ich heute Abend zu Hause bin.

von Dieter F. (Gast)


Lesenswert?

Philipp S. schrieb:
> Breadboard. Pin4 = GND
> Pin5 (PB0) = SDA
> Pin7 (PB2) = SCL
> Pin8 = VCC (5V)
> Zwischen VCC und GND kommt noch ein 100nF und mehr ist es ja nicht.

Ein Pullup am Reset wäre sinnvoll - das verhindert ungewollte Reset's 
:-)
Zusätzlich ein Kondensator schadet auch nicht.

http://www.atmel.com/images/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf

Das mache ich auch (auf dem Steckbrett) eher selten, aber um den 
möglichen Fehler auszuschließen würde ich es auf jeden Fall tun.

von Karl M. (Gast)


Lesenswert?

Das ist unsinnig,
entweder mit externen Oszillator, Quarz oder internem RC Oszillator.

Du schreibst aber "ich verwende den RC Oszillator mit 1MHz, also 1/8 
Teiler".

Philipp S. schrieb:
> Zum Programmieren eines ATtiny85 muss man ja zusätzlich den RST und
> XTAL1 an die entsprechenden Pins anschließen. Diese habe ich nach dem
> bespielen wieder getrennt.

von Philipp S. (philiboi)


Lesenswert?

Dieter F. schrieb:
> Ein Pullup am Reset wäre sinnvoll - das verhindert ungewollte Reset's
> :-)
> Zusätzlich ein Kondensator schadet auch nicht.

Ok vielen Dank für den Tipp.
Probier ich nachher auch gleich mit aus. :)

von Philipp S. (philiboi)


Lesenswert?

Karl M. schrieb:
> Du schreibst aber "ich verwende den RC Oszillator mit 1MHz, also 1/8
> Teiler".

Ja mit dem internen RC-Oszillator soll er grundsätzlich laufen.
So sind ja auch die Fuses eingestellt.

Aber um einen ATtiny85 mit dem STK500 programmieren zu können muss ein 
externer Takt angeschlossen werden.
nach dem programmieren habe ich ja den externen Takt wieder abgesteckt 
und er läuft im STK500.

von Christian K. (the_kirsch)


Lesenswert?

Philipp S. schrieb:
> Aber um einen ATtiny85 mit dem STK500 programmieren zu können muss ein
> externer Takt angeschlossen werden.

Das wäre mir neu, die AVRs kann man auch programmieren wenn sie mit dem 
internen Takt laufen.

Philipp S. schrieb:
> nach dem programmieren habe ich ja den externen Takt wieder abgesteckt
> und er läuft im STK500.
Was meinst du damit den Ext-Clock-Jumperbrücke auf dem STK500?



Solange du die Fuse im AVR nicht auf Ext-Clock eingestellt hast, 
ignoriert er diese auch am Clock Eingang.


Nach den Fuse die du oben gepostet hast, ist die Clock auf 8 MHz über 
den internen RC eingestellt.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Philipp S. schrieb:
>> PullUp-Widerstände am I2C sind dran?
>
> Sind intern geschalten.

Die sind normalerweise zu hochohmig für I²C.

von Philipp S. (philiboi)


Lesenswert?

Christian K. schrieb:
> Philipp S. schrieb:
>> Aber um einen ATtiny85 mit dem STK500 programmieren zu können muss ein
>> externer Takt angeschlossen werden.
>
> Das wäre mir neu, die AVRs kann man auch programmieren wenn sie mit dem
> internen Takt laufen.
>
> Philipp S. schrieb:
>> nach dem programmieren habe ich ja den externen Takt wieder abgesteckt
>> und er läuft im STK500.
> Was meinst du damit den Ext-Clock-Jumperbrücke auf dem STK500?

Das STK500 erkennt den ATtiny nicht ohne diese 2 extra 
Steckverbindungen.
Diese Seiten haben mir dann weiter geholfen:
Beitrag "ATTiny45 mit STK500"
http://www.swcelectronics.com/documents/avr_stk500_settings.pdf

So wurde der ATtiny85 richtig erkannt und das bespielen hat 
funktioniert.

von Philipp S. (philiboi)


Lesenswert?

Jörg W. schrieb:
> Philipp S. schrieb:
>>> PullUp-Widerstände am I2C sind dran?
>>
>> Sind intern geschalten.
>
> Die sind normalerweise zu hochohmig für I²C.

Aber dann würde der I2C Bus ja auch nicht funktionieren solange der 
ATtiny im STK500 steckt.

von Karl H. (kbuchegg)


Lesenswert?

Philipp S. schrieb:
> Jörg W. schrieb:
>> Philipp S. schrieb:
>>>> PullUp-Widerstände am I2C sind dran?
>>>
>>> Sind intern geschalten.
>>
>> Die sind normalerweise zu hochohmig für I²C.
>
> Aber dann würde der I2C Bus ja auch nicht funktionieren solange der
> ATtiny im STK500 steckt.

Auf dem STK ist aber eine Zusatzhardware drinnen, die zwischen Portpin 
und dem Steckanschluss steckt.

Ich würde an deiner Stelle erst mal feststellen, ob der Tiny im 
Steckbrett überhaupt läuft. Denn bis jetzt ist das ja ein Stochern im 
Nebel, ob der µC prinzipiell schon mal nicht läuft oder ob es 
'lediglich' mit I2C ein Problem gibt.

Programm schreiben welches im Sekundentakt einen Portpin von 0 auf 1 und 
umgekehrt umschaltet. Brennen. Auf dem STK Voltmeter zur Kontrolle an 
den Pin halten, das muss toggeln. Ab aufs Steckbrett und Voltmeter an 
den Pin gehalten. Dann weiss man schon mal mehr, in welchem Dunstkreis 
man überhaupt nach einem Problem suchen muss.

: Bearbeitet durch User
von Philipp S. (philiboi)


Lesenswert?

Sorry für die späte Antwort, aber ich bin erst heute wieder zu meiner 
Bastelei gekommen...

Ich habe ein Blink-Programm auf den ATtiny gespielt und es hat 
wunderschön geblinkt.

Also einfach nochmal das alte Programm drauf, zusätzliche Pull-Ups an 
die zwei Leitungen und siehe da es funktioniert auch außerhalb des 
STK500.

Vielen, vielen Dank!!!

Ein frohes Fest und schöne Feiertage euch allen.

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.