Attiny Delay Problem

Hallo zusammen,
ich habe mal wieder ein sehr seltsames Problem.
Ich schreibe mir kleine Programme für die MoBa welche ich dann über einen Attiny85 nutze.
Seit ein paar Tagen habe ich folgendes Problem:
Die Delay Zeit wird beim Attiny falsch interpretiert, und zwar wenn ich einen einfachen Blink Sketch mache mit Delay(1000) wird auf meinem ArduinoUno die LED alle Sekunde ein und wieder ausgeschaltet.
Wenn ich das nun auf den Attiny übertrage schaltet der die LED auch an und wieder aus aber alle 10 Sekunden.
Damit der Attiny im Sekundentakt schaltet muss ich beim Delay 100 eingeben.
Erst dachte ich der Attiny ist kaputt aber nachdem das ganze bei 3 Stück war ist mir das aufgefallen.
Hat jemand eine Erklärung woran das liegen kann ?

Danke und Gruß
Patrick

Fuses/Taktgenerator so gesetzt, dass es nicht mit der F_CPU Angabe übereinstimmt.
Oder umgekehrt.

Hi Danke für die Antwort,

nur Leider sagt mir das jetzt nicht viel.
Ich habe ja eigentlich nichts verändert oder anderst gemacht wie sonst auch.

PatrickD78:
Ich habe ja eigentlich nichts verändert oder anderst gemacht wie sonst auch.

Dann schreib doch mal, wie du den ATtiny85 flashst.
Hast du zuvor auch den "Bootloader" mit entsprechender Taktfrequenz geflasht ?

Ich habe ja eigentlich nichts verändert oder anderst gemacht wie sonst auch.

Da ja eine Veränderung eingetreten ist, wird es eine Veränderung gegeben haben.
Das scheint mir ein zwingender logischer Schluss zu sein.
Wo, wie, wann oder was jetzt anders ist, weiß ich leider nicht.

nur Leider sagt mir das jetzt nicht viel.

Dann ist die Wahrscheinlichkeit groß, dass es genau dort passiert ist.
Außerhalb des Blickfeldes.

Auch hier wieder:
Ich sehe deine Takteinstellungen nicht.

//--

Damit der Attiny im Sekundentakt schaltet muss ich beim Delay 100 eingeben

Ich tippe auf "delay(1000/8);". Das dürfte die Sekunde genauer treffen.

PatrickD78:
....
nur Leider sagt mir das jetzt nicht viel.
....

Und genau das ist dein Problem.
Du solltest dich vorher mit den Grundlagen befassen.

Hi

Die Taktfrequenz des ATtiny kannst Du in der IDE unter Werkzeuge einstellen.
Hätte bis jetzt selber aber nur intern 1MHz benutzt und per Arduino_as_ISP hochgeladen.
Also kA, ob Das Dein Problem löst.

MfG

Frabriksneue ATtiny85 arbeiten mit interner Taktfrequenz von 1 MHz.
Auch andere interne Taktfrequenzen lassen sich durch die Fuses einstellen. Möglich sind z.B. 8 MHz.

Vermutlich geht dein Porgramm von 8 MHz aus. Die tatsächliche Taktfrequenz ist aber nur 1 MHz.
Daraus ergäbe sich dann bei etwa delay(125) dann eine eine Blinkfrequenz 1 Sekunde und das würde deine Beobchtung erklären.

Also entweder die Fuses anders setzen (Divide clock by 8 internally: CKDIV8=1)
oder dem Compiler mitteilen, dass die Taktfrequenz nur 1 MHz ist.

Wie das geht hängt davon ab, wie du die ATtinys programmierst, z.B. welche Core* du verwendest.

Standard Fuses (interner Takt 1 MHz):
0x62 0xDF 0xFF

Fuses mit 8 MHz interner Takt:
0xE2 0xDF 0xFF

*) Ich empfehle die von DrAzzy (SpenceKonde): github.com/SpenceKonde/ATTinyCore

postmaster-ino:
.....
Also kA, ob Das Dein Problem löst.

Das bleibt das Geheimnis des TO.
Er will uns mit weiteren Informationen verschonen.

Hallo,
konnte gestern leider nicht mehr Antworten, da ich Notdienst hatte und weg musste.
Habe jetzt die Software neu installiert und das ganze noch einmal gemacht und da hat es dann funktioniert.
Irgendwo habe ich anscheinend etwas verstellt, ohne es zu merken.

Hier mal mein Ablauf :

Am Arduino Uno kleine Projekte schreiben für die Modellbahn (hier handelt es sich ausschliesslich um Programme für LED´s ein und auszuschalten für Kirmes, Autos, Andreaskreuze, Ampeln usw. also nichts hochkomplexes oder anspruchsvolles)

Wenn der Code "meiner Meinung nach" in Ordnung ist und macht was er soll dann wird der Attiny auf dem Breadboard verdrahtet, der Arduino auf Attiny85 8MHz umgestellt, der Bootloader gebrannt und das ganze hochgeladen.
So hab ich das mal vor längerem als Anleitung gefunden und bisher auch immer erfolgreich gemacht.

Trotzdem Danke

Prima, dann ist das Problem ja gelöst.

Danke für die Rückmeldung.

PatrickD78:
... dann wird der Attiny auf dem Breadboard verdrahtet, der Arduino auf Attiny85 8MHz umgestellt, der Bootloader gebrannt und das ganze hochgeladen.

Ich habe einen Nullkraftsockel auf eine Platine gelötet. Sowas gibt es auch als fertiges Shield.