Forum: Mikrocontroller und Digitale Elektronik Lebensdauer Atmega Attiny13 Dauerbetrieb


von dewaldo (Gast)


Lesenswert?

Hallo an alle Bastler :-)

Ich habe über die Suchfunktion direkt leider nichts finden können und 
vielleicht ist die Frage auch unnötig, aber dennoch ist sie für mich 
wichtig, dass ich mal ein Gefühl dafür bekomme.

Und zwar möchte ich einen Attiny13 in einer Heizungs-Regelung einsetzen. 
Dort schaltet er so ca. 10 Mal am Tag über Transistor und Relais eine 
Förderpumpe ein / aus, macht A/D Wandlungen zum Messen und taktet an 
einem 2. Ausgang eine LED als Bereitschaftssignal. Das System arbeitet 
mit 5 Volt hinter einem 7805 Spannungsregler.

Meine Frage nun ist folgende. Der Attiny wird im Dauerbetrieb laufen 
ohne Sleep Modi, also ständig sein Programm abarbeiten. Wie sieht es bei 
solch einer Anwendung eigentlich mit der Lebensdauer eines Attiny13 bzw. 
generell Atmega uC aus ?

Die Regelung soll natürlich nicht nach 1 Jahr den Geist aufgeben. Ich 
habe schon so einiges mit Atmegas gebastelt, aber nie mit Ziel als 
Dauereinsatz.
Muss ich mir da Gedanken machen oder sollte ein uC da keine Probleme mit 
haben ? Das Ziel wären mal gute 5 Jahre Minimum...

Vielen Dank im voraus...

Gruß, dewaldo

von Uboot- S. (uboot-stocki)


Lesenswert?

Moin,

habe 3x ATMega32 seit ca. 3Jahren problemlos im Dauereinsatz.

Wer bietet mehr ?

Marc

von Christian B. (casandro)


Lesenswert?

Mit wie viel Strom steuerst Du denn die LED an? Wenn das nicht zu viel 
ist, sollte so ein Microcontroller inzwischen mehrere Jahrzehnte halten. 
Früher war das EPROM ein Problem, aber Flash soll länger halten.

Hoffentlich hast Du im Netzteil keine Elkos verwendet. Die sterben 
leider prinzipbedingt wie die Fliegen.

von Nix_k (Gast)


Lesenswert?

>Dort schaltet er so ca. 10 Mal am Tag über Transistor und Relais eine
>Förderpumpe ein / aus,...

Bei den Relaiskontakten würde ich eher Probleme erwarten, als beim 
ATTtny der innerhalb seiner Specs. betrieben wird.?

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


Lesenswert?

dewaldo schrieb:
> Das Ziel wären mal gute 5 Jahre Minimum...
5 Jahre sind ein wenig wenig...
Wenn du mit allen Strömen und Spannungen innerhalb des spezifizierten 
Bereichs bist, dann läuft der noch wesentlich länger. Es gibt 
Reliability Reports, wo genau solche Langzeitversuche beschreiben sind. 
Und da sind 5 Jahre ganz am Anfang der Zeitskala zu finden...

Christian Berger schrieb:
> Hoffentlich hast Du im Netzteil keine Elkos verwendet. Die sterben
> leider prinzipbedingt wie die Fliegen.
Diese sehr pauschale Aussage ist schlicht falsch. Wenn du 105°C Elkos 
bei 40°C betreibst, dann halten die eine gefühlte Ewigkeit...
Man muss nur wissen, was man macht.
> Hoffentlich hast Du im Netzteil keine Elkos verwendet.
Was machst du ins Netzteil? Tantals? Kerkos?
> Die sterben leider prinzipbedingt wie die Fliegen.
Nach welchem Prinzip sterben die?

Nix_k schrieb:
> Bei den Relaiskontakten würde ich eher Probleme erwarten,
Wenn das nicht gerade die billigen China-Relais sind, dann hast du da 
z.B. 500000 Schaltzyklen unter Last. Das wären dann selbst bei 50 
Schaltzyklen pro Tag immerhin 10000 Tage entsprechend ca. 30 Jahren...

von dewaldo (Gast)


Lesenswert?

Das hört sich doch schon nicht schlecht an. Vielen Dank für die 
Antworten bisher.

Insgesamt sind es 3 LEDs und 1 Transistor über Vorwiderstand, die 
angesteuert werden müssen + Eigenverbrauch des Attiny.
Die LEDs werden alle mit reduzierter Helligkeit betrieben, also etwa 
doppelt so hoher Vorwiderstand als für 20 mA erforderlich wären, d.h. 
die werden nachher max. 10 mA, eher weniger ziehen.

Deshalb wird die Gesamtleistung, die der Attiny verarbeiten muss, im 
Maximum bei ca. 0,2 Watt inkl. Eigenverbraucht liegen, sollte also 
wärmetechnisch keine Probleme machen, oder ?

Im Netzteil sind natürlich Elkos drin zur Filterung und Stabilisierung, 
lässt sich halt auch schlecht vermeiden. Was diese Bauteile betrifft, 
habe ich aber auch ein Gefühl für wie die sich mit der Zeit verhalten, 
nur uC im Dauereinsatz habe ich bisher eben kaum Erfahrungen mit. Ich 
habe eine Terrariums-Beleuchtung relaisiert, die auch im Dauereinsatz 
läuft. Diese läuft aber erst seit etwa 6 Monaten und wenn da der Atmega 
streikt, kann ich ihn problemlos auswechseln, aber bei der 
Heizungsregelung bin ich nicht vor Ort und da wollte ich ein bischen 
Sicherheit haben.

von Bernhard R. (barnyhh)


Lesenswert?

Bei Betrieb mit Netztransformator dürfte der Transformator die 
Hauptwärmequelle im Gerät sein - wesentlich mehr als 0,2 Watt.

Zur Entlastung des Netzteil-Elkos trägt möglicherweise ein Widerstand 
zwischen Gleichrichter und Elko bei; andererseits dürfte ein halbwegs 
angemessener - also nicht heftig überdimensionierter - Netztrafo auch 
einen ausreichenden Innenwiderstand besitzen, um die Stromspitzen für 
den Elko zu reduzieren.

Bernhard

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Lothar Miller schrieb:

> Christian Berger schrieb:
>> Hoffentlich hast Du im Netzteil keine Elkos verwendet. Die sterben
>> leider prinzipbedingt wie die Fliegen.
> Diese sehr pauschale Aussage ist schlicht falsch. Wenn du 105°C Elkos
> bei 40°C betreibst, dann halten die eine gefühlte Ewigkeit...

So isses.
Teilweise entwickeln wir Schaltungen, die bei +80°C noch einwandfrei 
laufen müssen. Selbst da greift man zu Elkos - selbstverständlich aber 
zu guten Markenelkos mit geringem ESR und echten 105°C (draufgedruckt 
wird heutzutage ja alles Mögliche ...) und verdoppelt/verdreifacht die 
berechnete Kapazität (sofern möglich).
Da gibt es auch nach 7-8 Jahren noch keinerlei Probleme.
Testweise hatten wir mal so ein altes Schätzchen hier, weil 
Kondenswasser eingedrungen war und der Kunde auf Nummer Sicher gehen 
wollte:
die Kapazität der Siebelkos war nur um 20% gesunken.

Übrigens haben Schaltungen in solchen doch recht extremen Bereichen 
reichlich Selbstkontrolle eingebaut. So misst die oben angesprochene 
Schaltung z.B. ständig den Ripple ihrer eigenen Spannungsversorgung und 
ab gewisser Höhe gibt es eine Warnung "Elkos tauschen".
War bisher aber nie nötig :-)

> Man muss nur wissen, was man macht.

Das sowieso :-)

> Nix_k schrieb:
>> Bei den Relaiskontakten würde ich eher Probleme erwarten,
> Wenn das nicht gerade die billigen China-Relais sind, dann hast du da
> z.B. 500000 Schaltzyklen unter Last. Das wären dann selbst bei 50
> Schaltzyklen pro Tag immerhin 10000 Tage entsprechend ca. 30 Jahren...

Ja. Ein vernünftiges Finder etc., dann sollte das kein problem 
darstellen.

An den OP: Gute Bauteile verwenden - auch wenn die mehr kosten. Dann 
hast Du durchaus Jahrzehnte Freude an Deiner Schaltung :-)

Chris D.

von dewaldo (Gast)


Lesenswert?

Ich fürchte wir schweifen ein wenig vom Ursprungsthema ab ;-)
Schaltungsentwurf mit "guten" Bauteilen ist denke ich einfach nur 
gesunder Menschenverstand. Ist auch ein Hauptproblem der heutigen Zeit, 
dass es kaum noch richtig gute Produkte gibt, weil überall Cents 
eingespart werden an den Bauteilen, um die Konkurrenz zu unterbieten. 
Die Leittragenden sind am Ende die Verbraucher, weil die Geräte dann 
noch genau so lange halten, bis die Garantie abgelaufen ist, aber echt 
keinen Tag länger :-(

Wie gesagt, die Peripherie an Elektronik, sprich Netzteil, Elkos usw., 
das existiert soweit und da hatte ich noch nie Probleme in der 
Vergangenheit. Die Frage war wirklich auf die allgemeine Lebensdauer 
eines Atmel bei Dauereinsatz, natürlich die elektrischen, mechanischen 
Spezifikationen einhaltend, bezogen, weil mir da ein bischen das Gefühl 
für gefehlt hat.

Jedenfalls danke ich euch für die vielen Antworten in so kurzer Zeit und 
weiß jetzt, dass der uC wohl das letzte Glied in der Kette sein wird, 
welches den Geist aufgibt ;-)

Nochmals vielen Dank,

dewaldo

von Peter D. (peda)


Lesenswert?

Christian Berger schrieb:
> Hoffentlich hast Du im Netzteil keine Elkos verwendet. Die sterben
> leider prinzipbedingt wie die Fliegen.

Die Elkos halten ewig, der AVR braucht ja nur wenige mA Spitzenstrom.

Es ist ein großer Unterschied zu nem Pentium, der mehrere 10A saugt und 
auch ordentlich heiß wird.


Peter

von Micha H. (mlh) Benutzerseite


Lesenswert?

Ich finde es immer wieder erstaunlich, daß Daten/Fakten, welche (wenn 
überhaupt) nur der Hersteller exakt wissen kann, in Foren abgefragt 
werden. Weniger erstaunlich ist die Tatsache, daß daraufhin wild 
losspekuliert wird und die tollsten Tips vergeben werden. Die 
eigentliche Frage bleibt - wie immer in solchen Fällen - unbeantwortet.

Aber vielleicht ist in diesem Fall der OP wie so oft nur daran 
interessiert sein Gewissen zu beruhigen und ein wenig zu plaudern.
Anderenfalls würde ich vorschlagen, den Hersteller zu kontaktieren.

von dewaldo (Gast)


Lesenswert?

@Micha H:
Den Ton fand ich jetzt persönlich ein wenig zu negativ. Natürlich geht 
es mir darum mein Gewissen zu beruhigen, indem ich mich auf die 
Erfahrung anderer stütze. Ich finde das auch absolut legitim und für den 
privaten Anwendungsbereich mehr als in Ordnung, solange es wirklich 
nicht zu heillosen Diskussionen führt, aber das habe ich ja schon 
angedeutet, dass wir ein wenig abgeschweift sind.

Plaudern möchte ich nicht ! Dafür gibt es andere Mittel und Wege :-)

Würde es mir jetzt um professionellen Einsatz, sprich eine 
Serienproduktion für Endkunden o.ä. gehen, dann würde ich sicherlich 
nicht in einem Forum nach solchen Aussagen um Rat fragen, sondern mich 
an den Hersteller wenden und Fakten einholen, weil das auch das Einzige 
ist, worauf man sich später einmal berufen kann, wenn es Streitfragen, 
Schadensersatzansprüche usw. gibt. Da gebe ich dir Recht.

Aber wie gesagt, das finde ich sind 2 getrennte Welten und ein Forum ist 
eine Interessengemeinschaft, wo gerne diskutiert und Erfahrungen 
getauscht werden können und das ist auch sehr gut so und daran ist 
nichts Negatives, solange man als Urheber eines Threads eben weiß was 
man mit den gewonnen Informationen anstellt, das ist klar. Aussagen wie 
"Elkos sterben prinzipbedingt" ist logisch, dass ich dann nicht direkt 
geschockt bin und denke "Ohh, und jetzt ? Kann ich nie mehr ein Netzteil 
bauen ? ..."

Aber man lernt auf diese Weise auch voneinander und ich behaupte einfach 
mal, die Mehrheit in Foren weiß, wovon sie redet und massiv falsche 
Aussagen werden schnell von anderen Wissenden widerlegt. Man muss sich 
ja an Diskussionen nicht beteiligen, wenn man nicht will, oder ?

von MaWin (Gast)


Lesenswert?

> Wie sieht es bei solch einer Anwendung eigentlich mit der
> Lebensdauer eines Attiny13

Ewig.

Wenn die Schaltung richtig designt ist,
geht wohl zuerst das Relais kaputt,
dann die Elkos (im Netzteil).

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

MaWin schrieb:
>> Wie sieht es bei solch einer Anwendung eigentlich mit der
>> Lebensdauer eines Attiny13
>
> Ewig.
>
> Wenn die Schaltung richtig designt ist,
> geht wohl zuerst das Relais kaputt,
> dann die Elkos (im Netzteil).

Jo, da mach Dir mal keine Gedanken. Das einzige Problem bei den MCUs is 
dasse nach sehr langer Zeit mal bissel an Gedaechtnisverlust leiden 
koennen, d.h. dass der Flash-Programmspeicher instabil wird. So lange Du 
aber keine Extrembedingungen hast (hohe Temperaturen, Feuchte, ...) und 
die Schaltung anstaendig aufgebaut hast wird Dir das ne kleine Ewigkeit 
halten, wenn Du das Relais nur ca. 10 mal am Tag schaltest haelt es auch 
lang, wird aber wahrscheinlich als erstes dann irgendwann verschleissen.

Zwecks Flash: Schau mal ins Datenblatt unter "data retention" fuer mehr 
Infos.

gruss,
Michael

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


Lesenswert?

Micha H. schrieb:
> Ich finde es immer wieder erstaunlich, daß Daten/Fakten, welche (wenn
> überhaupt) nur der Hersteller exakt wissen kann
Zur Beruhigung: er weiß es auch nicht.... :-o
Es werden lediglich statistische Hochrechnungen anhand mehr oder weniger 
gut funktionierender Modelle in den bereits angesprochenen 
Reliability-Datenblättern veröffentlicht.

von Michael X. (Firma: vyuxc) (der-michl)


Lesenswert?

Der Tiny macht dann Probleme wenn sein Flash Alzheimer bekommt. Man 
sollte nach "Data Retention" in den Datenblättern suchen

von Micha H. (mlh) Benutzerseite


Lesenswert?

Lothar Miller schrieb:
> Zur Beruhigung: er weiß es auch nicht.... :-o

Mich mußt Du nicht beruhigen, mir ist klar daß sowas nur mit 
Wahrscheinlichkeiten ausgedrückt werden kann, wenn und falls es dafür 
überhaupt statistische Daten beim Hersteller gibt. Allerdings hat in 
diesem Thread bisher noch niemand das Thema MTBF angesprochen. Warum 
wohl...

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


Lesenswert?

Micha H. schrieb:
> Allerdings hat in diesem Thread bisher noch niemand das Thema MTBF
> angesprochen.
Weil ein statistischer Wert wie die MTBF für ein einzelnes Gerät in 
der Praxis nicht weiterhilft...

Was bringt es dewaldo, wenn er die Wahrscheinlichkeit ausrechnen kann, 
mit der sein System ausfallen wird? Er wollte offenbar eine pragmatische 
Aussage zu einer anscheinend einfachen Frage: wie lange funtkioniert 
meine Heizungssteuerung? Oder noch einfacher: ist der uC der 
Schwachpunkt?

Zusammenfassend kann man wohl sagen: das Gerät kann jederzeit 
kaputtgehen. So richtig vom Ausfall überrascht wäre ich aber in den 
ersten 10 Jahren... ;-)

von dewaldo (Gast)


Lesenswert?

Na mich beruhigt es jedenfalls dass wie "Micha H" es andeutet, keine 
MTBF Hinweise bisher gab, heißt ja, es gibt wohl zu wenig Ausfälle nach 
einer bestimmten Zeit, als dass es repräsentativ wäre um eine MTBF 
Angabe machen zu können. Wunderbar ! :-)

Ich wollte wie gesagt einfach mit meiner Frage klären, dass ein uC auch 
für solche Dauereinsätze konzipiert ist, wenn man keine Sleep Modi 
verwendet und eben nicht nach 10000 Stunden erfahrungsgemäß den Dienst 
quittiert.

Sollte die Regelung dann doch nach 2 Wochen ausfallen, werde ich 
umgehend die Ursachen hier schildern, aber wollen wir ja mal nicht 
hoffen ;-)

von Anja (Gast)


Lesenswert?

Uboot- Stocki schrieb:
> Wer bietet mehr ?

Ich habe hier einen 8085 seit 1985 im Dauereinsatz (erste DCF77-Uhr).
In der Zwischenzeit sind 3 oder 4 Elkos gestorben sowie 2 Trafos (die 
waren wohl etwas unterdimensioniert). Der Prozessor läuft noch 
einwandfrei.

Eine weitere DCF77-Uhr mit AT90S8515 läuft seit 2004 ohne Ausfälle. (Da 
sitzten aber die Elkos auch nicht mehr direkt neben dem 
Brückengleichrichter).
ATMegas oder ATTinys waren zu dem Zeitpunkt noch nicht so verbreitet.
Die Lebensdauer hängt übrigens sehr stark von der Chip-Temperatur 
während dem Betrieb ab falls sehr hohe Temperaturen erreicht werden.

Gruß Anja

von Peter D. (peda)


Lesenswert?

Ich denke mal, die Hauptausfallquelle werden Softwarefehler sein.
Daher sind die 3 Hauptmethoden für Zuverlässigkeit:
1. sorgfältig programmieren
2. sorgfältig programmieren
3. sorgfältig programmieren

Daneben sollte man den MC nicht außerhalb seiner Spezifikationen 
betreiben.
Z.B. sollten IO-Pins keine Spannung >VCC (die Spannung am VCC-Pin) 
sehen, z.B. vor dem Einschalten.

Den Watchdog und Brownoutreset sollte man auch benutzen.

Gegen ungewollte Flashänderung macht man zu Anfang nen CRC-Test über den 
Flash und geht bei Fehler in ne Endlosschleife, die nur den Watchdog 
triggert.


Peter

von dewaldo (Gast)


Lesenswert?

Das Thema sorgfältige Programmierun ist sehr wichtig, da stimme ich zu. 
Mir ist es bei anderen Projekten auch schon passiert, dass ich Zustände 
erreicht habe, die ich beim vorherigen Planen des Ablaufdiagramms so 
nicht bedacht habe, die aber in der Praxis dann plötzlich unvorhersehbar 
eingetreten sind.

Bei dem Mini-Projekt, was der Attiny da übernehmen muss, mache ich mir 
aber deswegen keine Sorgen, da wird es keine Software-Fallen, 
Endlosschleifen usw. geben. Naja, sagen wir mal zu 99 % :-)

Anmerkung: Wie man eine CRC Prüfung "programmieren" kann, weiß ich 
leider nicht, hab ich vorher noch nie in irgendeiner Form angewendet, 
außer halt von der Programmierschnittstelle selbst beim Flashen, um die 
Programmierung zu verifizieren, aber im laufenden Betrieb eine 
Eigenprüfung, wusste ich garnicht, dass sowas machbar ist ?

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


Lesenswert?

dewaldo schrieb:
> Wie man eine CRC Prüfung "programmieren" kann, weiß ich leider nicht
Du summierst einfach mal alle Bytes im Flash (Programmspeicher) auf 
(oder verxoderst sie miteinander). Dieser Wert sollte stets gleich sein. 
Falls nicht, ist (mindestens) ein Byte korrupt...

von Gustl (Gast)


Lesenswert?

Lt. Atmel liegt die Data Retetion Time (@25°C) bei mind. 15-20Jahren. 
D.h. solange sollte das Programm im Flashspeicher erhalten bleiben. Bei 
Betrieb an der maximalen Betriebstemperatur (85°C) verringert sich 
dieser Wert auf geschätzte 10-12Jahren.

Solange kein anderer elektronischer Defekt am Bauteil vorliegt bzw. er 
von außen zerstört wird, kann generell mit einem Dauereinsatz von weit 
über 10Jahren gerechnet werden. Unabhängig davon ob es sich um ein Tiny 
für 0.50€ handelt oder um ein 10€ teures XMega Exemplar.

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Naja du kannst "einfach" auf herkömmliche weise eine Prüfsumme über den 
gesammten (genutzten) Flash bilden, die du dann z.b. händisch oder wie 
auch immer ins EEPROM oder in den Flash programmierst, der controller 
macht jeden start das gleiche und vergleicht die werte.

CRC Algorithmen gibts im internet genug incl. Codebeispielen.

von dewaldo (Gast)


Lesenswert?

Die Codebeispiele zur CRC Prüfung werde ich mir bei Gelegenheit mal 
anschauen, das interessiert mich selbst. Wahrscheinlich wird das zwar 
für das kleine Projekt jetzt nicht interessant sein, aber später für 
komplexere Aufgaben mit Sicherheit. Danke für die Hinweise

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


Lesenswert?

Hauke Radtki schrieb:
> Naja du kannst "einfach" auf herkömmliche weise eine Prüfsumme über den
> gesammten (genutzten) Flash bilden, die du dann z.b. händisch oder wie
> auch immer ins EEPROM oder in den Flash programmierst, der controller
> macht jeden start das gleiche und vergleicht die werte.
Man könnte ja auch einfach ganz pragmatisch ins letzte Byte des Flashs 
die Zahl schreiben, die für eine Summe von 0 fehlt. Dann muß man keine 
Prüfsumme irgendwo zusätzlich speichern sondern einfach alle Bytes im 
Flash aufsummieren und zum Schluss muß 0 rauskommen... :-o

> der controller macht jeden start das gleiche und vergleicht die werte.
Im Idealfall startet der Controller für die Heizungsregelung nur 1 
mal...  ;-)
Also würde ich eine sporadische (jede Stunde) oder gleich eine dauernde 
Prüfung einbauen.


> Die Codebeispiele zur CRC Prüfung...
Du brauchst nicht wirklich eine CRC. Eine ganz ordinäre Prüfsumme reicht 
dir aus.

von Hauke R. (lafkaschar) Benutzerseite


Lesenswert?

Da der Controller bei der Heizungssteuerung doch eh nix zu tun hat lass 
ihn doch die CRC rechnen :) Dann langweilt er sich nicht so, alternativ 
kann man ihn auch gegen sich selbst Schach spielen lassen :)

Und eine CRC ist noch mal ein klein wenig sicherer, klar, so selten wie 
da ein Fehler auftritt wird er sehr wahrscheinlich auch von einer 
Prüfsumme korrekt als solcher erkannt, aber wenn man die Zeit übrig hat 
:P

Und ja das mit dem am start ist natürlich etwas doof :) das reicht 
nicht, aber trotzdem würde ich es dort auch tun, da wenn der Controller 
sich wegen irgend einem Flash Fehler verrent und deswegen entweder in 
einer Endlosschleife vom Watchdog gefressen wird oder sich sonstwie 
resettet, könnte es sein, dass es garnicht erst zu einem neuen Check 
kommt und der Controller eben nur noch verrückt spielt.

von Jens G. (jensig)


Lesenswert?

Früher vor 25 Jahren habe ich mal gelernt, daß ein Transistor mehrere 10 
oder 100 Mio. Schaltspiele mitmacht, bis er hinüber ist. Also mach Dir 
keine Hoffnung - die Transistoren im Oszillator deines Atmel sind als 
erstes in wenigen Sekunden pfutsch ;-)

Nee - mal im ernst: So ein µC wird eigentlich thermisch kaum belastet, 
wenn die Ausgänge nicht zu viel Strom liefern müssen. So gesehen ist der 
µC eines der letzten Teile, welches auf der Platine tschüß sagen wird - 
sagen wir mal in 50 Jahren oder so (es sei denn, Flash-Alzheimer schlägt 
vorher zu, was man aber durch neu flashen wieder korrigieren kann)

von dewaldo (Gast)


Lesenswert?

Hi Leute,
melde mich nochmal kurz zu meinem kleinen Projekt mit einer Timing 
Frage.
Ich muss eine Pumpe 5 Minuten nachlaufen lassen bei Erreichen einer 
Temperatur.

Es klappt schon alles, das Teil läuft auch schon, ich habe auch nur eine 
allgemeine Frage zum Timing beim Atiny13. Ich nutze AVR-Studio zum 
Programmieren und hatte dort als CPU Frequenz 1,0 MHz eingetragen 
(interner Osci).

Nun nutze ich Schleifen mit _delay_ms und wenn ich nun die 5 Minuten 
zählen möchte, sind es in Wirklichkeit etwa 7 Minuten.
Ich habe durch Messen und Testen nun im AVR Projekt eine CPU Frequenz 
von 1,21 MHz eingestellt. Nun passen die Zeiten von _delay_ms.

Ist das normal, dass der Atiny13 so eine ungenaue innere Frequenz hat 
bzw. gibt es überhaupt eine festgelegte Frequenz oder ist diese 
spannungsabhängig ?

von spess53 (Gast)


Lesenswert?

Hi

>Ich nutze AVR-Studio zum Programmieren und hatte dort als CPU Frequenz 1,0
>MHz eingetragen(interner Osci).

Wo?

Der ATTiny13 hat aber nur 9,6 und 4,8MHz als interne Taktfrequenz. Auch 
mit dem Clock Prescaler lassen sich keine 1MHz erreichen.

MfG Spess

von me (Gast)


Lesenswert?

Schau ins Datenblatt.
Der interne RC-Oszillator kann kalibiriert werden (der tiny13 hat 
übrigens 2 Oszillatoren mit 9,6/4,8MHz und 128kHz).  Je nach Temperatur 
und Betriebsspannung kannst du eine gewisse Genauigkeit erreichen. Mit 
einem Quarz kann er nicht mithalten.

Delay-Makros werden außerdem durch Interrupts verlängert... für 
Zeitmessung gibt es andere Möglichkeiten.

Übrigens kommt der tiny13 mit 9,6MHz und CLKPR 8. d.h. 1,2MHz sitmmen 
also genau...

statt messen und testen würde ich dir mehr lesen empfehlen: 
http://www.atmel.com/dyn/resources/prod_documents/doc2535.pdf

von dewaldo (Gast)


Lesenswert?

Vielen Dank für die Infos.

Ich bin normalerweise auch nicht der "Test" Mensch sondern plane anhand 
von Datenblättern. Es musste aber einfach nur wirklich schnell gehen 
dieses Mal, weil das Teil morgen früh schon eingebaut werden muss und 
deswegen hab ich's über "Probieren" halt schnell eingegrenzt und bin 
froh, dass die interne Clock mit 9,6 MHz mit Prescaler 8 = 1,2 MHz 
Systemtakt läuft, weil das passt ja auch zu meinen eingesetellen 1,21 
MHz und jetzt weiß ich auch warum :-)

Hab mir übrigens jetzt auch kurz das Datenblatt Seite 25 + 26 angeschaut 
und ja, gebe ich euch Recht, wer lesen kann ist klar im Vorteil...

Aber dennoch vielen Dank für die Hilfe... ;-)

von dewaldo (Gast)


Lesenswert?

me schrieb:
> Delay-Makros werden außerdem durch Interrupts verlängert... für
> Zeitmessung gibt es andere Möglichkeiten.

Noch kurz dazu: Ich weiß, normalerweise mache ich Zeitmessungen auch 
über den Timer Overflow Interrupt. Aber das Mini Programm im Tiny13 hat 
auch selbst keine sonstigen Interrupt Routinen, durch welche _delay_ms 
"verlängert" werden könnten, deswegen habe ich das alles auf diese 
"Quick and dirty" Methode gemacht, weil es für den geforderten Zweck 
absolut ausreicht.
Es müssen halt 5 Minuten gemessen werden, das kann ruhig mal 4:55 oder 
5:05 sein, nur halt 7 Minuten war ein bischen krass :-)

von Peter D. (peda)


Lesenswert?

dewaldo schrieb:
> Ich habe durch Messen und Testen nun im AVR Projekt eine CPU Frequenz
> von 1,21 MHz eingestellt. Nun passen die Zeiten von _delay_ms.

Na das ist doch sehr schön.
Deine Messung ist richtig und das Datenblatt auch.


Peter

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.