Forum: Mikrocontroller und Digitale Elektronik Unterschied Attinys 20 202 85


von Michael L. (cybertracker)


Lesenswert?

Hallo,
nun muss ich mich doch an euch wenden.
Ich bin aktuell an einer Akku Wetterstation mal wieder dran.
Dabei sollen die Daten gerade Wind und regen von einem Attiny wegen des 
Stromverbrauchs gesammelt werden.
Diese werden dann von einem ESP32 per I2C abgeholt und Versendet.

Programmiert wird in C auf PlatformIO
Nun zu den Fragen.
Ich teste aktuell alles auf dem Attiny85.
Da ich diesen auf Breakboards bekommen habe.
Später wird das auf einer eigenen Platine alles laufen.

Nun würde ich das ganze aber lieber auf einem MCU bauen der weniger 
verbraucht.
Ein Kollege hat dazu einen Attiny202 genommen. Leider hab ich da nicht 
mehr Infos.

Nun ist aber auch noch so da sich aus Restposten Attinys20 geschenkt 
bekommen habe die ebenfalls eventuell dazu nutzbar wären.
Sind zu schade zum rumliegen lassen.

Das die verschiedenen Modelle unterschiedlich geflasht werden müssen 
UPDI SPI usw ist mir voll und ganz bewusst.

Funktioniert es das ich es auf einen anderen flashe wenn ich die Pins, 
den Speicher und Ram einhalte?
Danke

von Peter D. (peda)


Lesenswert?

Michael L. schrieb:
> Nun würde ich das ganze aber lieber auf einem MCU bauen der weniger
> verbraucht.

Der Verbrauch hängt nur minimal vom µC-Typ ab. Er hängt haupsächlich 
davon ab, wie gut Du die Stromsparfunktionen in der Software 
implementiert hast, d.h. möglichst oft und tief schlafen lassen. Z.B. 
bei einen Kontakt kann man den µC mit einem Pin-Change Interrupt 
aufwecken. Einen ADC mit dem Watchdogtimer und möglichst selten 
auslesen. Die Temperatur messen dürfte alle 10min ausreichen.
Außerdem möglichst kleine VCC, möglichst kleiner CPU-Takt.

Hängt der ATtiny mit dem ESP an der gleichen Batterie, ists mit dem 
Stromsparen eh Essig, der ESP wird den Löwenanteil verschlingen.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Michael L. schrieb:
> Attiny85 ... Attiny202 ... Attinys20 ...
> Funktioniert es das[s] ich es auf einen anderen flashe wenn
> ich die Pins, den Speicher und Ram einhalte?

Du meinst ein Binary, das für eines der Devices generiert wurde, auf 
einem anderen verwenden?

Funktioniert ziemlich sicher nicht: Andere SFR-Adressen, andere Vectors, 
andere Instruktionen oder komplett anderer Core beim ATtiny20.

: Bearbeitet durch User
von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Michael L. schrieb:

> Nun würde ich das ganze aber lieber auf einem MCU bauen der weniger
> verbraucht.

Bezüglich des Energieverbrauchs (bzw. der Möglichkeiten, diesen in die 
richtige Richtung zu beeinflussen) unterscheiden sich die drei 
Kandidaten nicht großartig.

Ansonsten aber schon. Der 85 ist zwar sonst ziemlich schick, aber gerade 
bezüglich deiner Anwendung ist er weniger gut geeignet als die beiden 
anderen, da er keine Hardwareunterstützung für I2C bietet.

> Funktioniert es das ich es auf einen anderen flashe wenn ich die Pins,
> den Speicher und Ram einhalte?

Ganz sicher nicht, nein. Das Programm für den Tiny85 ist zu keinem der 
beiden anderen binärkompatibel.

Auf Quelltextebene kann man alles irgendwie anpassen. Aber wenn man 
stumpfsinnig bloß Pins anders belegt, wird auch nix Gutes rauskommen. 
Z.B. wird die bei den beiden anderen verfügbare I2C Hardware allein 
davon natürlich noch nicht genutzt.

von Michael L. (cybertracker)


Lesenswert?

Peter D. schrieb:
> Hängt der ATtiny mit dem ESP an der gleichen Batterie, ists mit dem
> Stromsparen eh Essig, der ESP wird den Löwenanteil verschlingen.

Deswegen mehrere MCUs. Die Attiny welche Wind und Regen zählen und der 
ESp der nur alle 10-30 Minuten die Daten sendet

Johann L. schrieb:
> Du meinst ein Binary, das für eines der Devices generiert wurde, auf
> einem anderen verwenden?

Nein, ich meine das ich es in C Programmiere und dann natürlich für den 
Entsprechenden MCU neu Kompiliere.

Ob S. schrieb:
> Ansonsten aber schon. Der 85 ist zwar sonst ziemlich schick, aber gerade
> bezüglich deiner Anwendung ist er weniger gut geeignet als die beiden
> anderen, da er keine Hardwareunterstützung für I2C bietet.

Danke.
Dann werde ich wohl doch einer der anderen werden.

PAPA Google sagte dazu:
Übersicht mit KI
Der ATtiny85 und der ATtiny202 sind beides stromsparende 
Mikrocontroller, aber der ATtiny202 ist in der Regel stromsparender als 
der ATtiny85. Der ATtiny202 wurde speziell für Anwendungen entwickelt, 
bei denen ein geringer Stromverbrauch entscheidend ist. Er bietet 
modernere Stromsparfunktionen und eine verbesserte Architektur im 
Vergleich zum ATtiny85, was zu niedrigeren Stromverbrauchswerten führt.
Unterschiede und Details:

    ATtiny85:
    Ein beliebter 8-Bit-Mikrocontroller der AVR-Familie, bekannt für 
seine geringe Größe und seinen niedrigen Stromverbrauch, insbesondere im 
Schlafmodus.
    ATtiny202:
    Ein neuerer Mikrocontroller, der speziell für Low-Power-Anwendungen 
entwickelt wurde. Er bietet verbesserte stromsparende Modi und eine 
effizientere Architektur als der ATtiny85, was zu niedrigeren 
Stromverbrauchswerten führt.
    Stromsparfunktionen:
    Beide Controller bieten verschiedene Schlafmodi, um den 
Stromverbrauch zu minimieren, wenn der Controller nicht aktiv arbeitet. 
Der ATtiny202 verfügt über fortschrittlichere Stromsparfunktionen und 
kann noch effizienter im Leerlauf oder bei niedriger Taktfrequenz 
betrieben werden.
    Anwendungsbereiche:
    Der ATtiny85 wird oft in Projekten wie tragbaren Geräten, 
Sensornetzwerken und kleinen Robotern eingesetzt, während der ATtiny202 
aufgrund seines geringeren Stromverbrauchs für noch anspruchsvollere 
batteriebetriebene Anwendungen geeignet ist.

Konkrete Stromverbrauchswerte:
Es ist schwierig, genaue Stromverbrauchswerte ohne spezifische Messungen 
anzugeben, da diese stark von der Betriebsart, der Taktfrequenz und den 
angeschlossenen Peripheriegeräten abhängen. Es ist jedoch üblich, dass 
der ATtiny202 im Leerlauf oder im Schlafmodus deutlich weniger Strom 
verbraucht als der ATtiny85.
Zusammenfassend lässt sich sagen:
Der ATtiny202 ist eine bessere Wahl für Anwendungen, bei denen ein sehr 
geringer Stromverbrauch von entscheidender Bedeutung ist. Er bietet 
fortschrittlichere Stromsparfunktionen und ist energieeffizienter als 
der ATtiny85, der zwar auch als stromsparend gilt, aber nicht die 
gleiche Effizienz bietet wie der ATtiny202.

von H. H. (hhinz)


Lesenswert?

Michael L. schrieb:
> Übersicht mit KI

Gelaber.

von Falk B. (falk)


Lesenswert?

Michael L. schrieb:
> Danke.
> Dann werde ich wohl doch einer der anderen werden.
>
> PAPA Google sagte dazu:
> Übersicht mit KI
> Der ATtiny85 und der ATtiny202 sind beides stromsparende
> Mikrocontroller, aber der ATtiny202 ist in der Regel stromsparender als
> der ATtiny85. Der ATtiny202 wurde speziell für Anwendungen entwickelt,
> bei denen ein geringer Stromverbrauch entscheidend ist.

Jaja, Chat GPT-Geplapper.

Auch einen "alten ATtiny85" kriegt man im Ruhezustand unter 1uA. Das 
reicht für deine Anwendung locker.

Siehe Sleep Mode.

> angeschlossenen Peripheriegeräten abhängen. Es ist jedoch üblich, dass
> der ATtiny202 im Leerlauf oder im Schlafmodus deutlich weniger Strom
> verbraucht als der ATtiny85.

Jaja, viel reden und nichts sagen. Der ideale Redenschreiber für die 
Politik.

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Michael L. schrieb:

> PAPA Google sagte dazu:
> Übersicht mit KI
[...]

Nahezu substanzloser Bullshit-Bingo.

von Peter D. (peda)


Lesenswert?

Michael L. schrieb:
> Übersicht mit KI

...
- fortschrittlichere Stromsparfunktionen
- noch anspruchsvollere batteriebetriebene Anwendungen
- im Schlafmodus deutlich weniger Strom verbraucht
...
Absolut hervorzügliches Politikersprech. Viele Sätze geredet, aber 
nichts gesagt. Alles nur Luftblasen ohne konkreten Inhalt.

Was soll z.B. "deutlich weniger" in Zahlen bedeuten?
5..20% sind auf keinen Fall "deutlich", das entspricht noch nicht mal 
den Exemplarstreuungen von Batterien verschiedener Hersteller.

Michael L. schrieb:
> Deswegen mehrere MCUs. Die Attiny welche Wind und Regen zählen und der
> ESp der nur alle 10-30 Minuten die Daten sendet

Theoretisch möglich, aber sehr umständlich. Der ESP müßte dazu in 
Deep-Sleep geschickt werden und dann über die RTC aufgeweckt werden. 
Dann macht er ein Reset und lädt erstmal sein Programm aus dem Flash 
wieder in den RAM. Der RAM-Inhalt wurde ja durch das Deep-Sleep 
zerstört.
Und die ATtiny müssen sich über die 10-30min alle Daten merken, bis der 
ESP sie abholen kann. Der ATtiny85 hat immerhin 512 Byte SRAM, aber auch 
da wird man wohl die Daten komprimieren müssen.

: Bearbeitet durch User
von Gregor J. (Firma: Jasinski) (gregor_jasinski)


Lesenswert?

Michael L. schrieb:
> Übersicht mit KI (...)

Ja ja, die große Vogelbefragung darf natürlich nicht fehlen – in dem vor 
ein paar Tagen erstellen Thread mit STM32H7 war das gleiche... statt 
selbst Datenblätter zu öffnen und zu lesen, wird erstmal der große, 
tolle Papagei gefragt – die entsprechende Sülze oder Moppelkotze spuckt 
er schon aus. Manche trauen sich mittlerweile nicht mehr aus dem Haus 
oder aufs Klo... ohne vorher mit der besagten Applikation im Smartfon 
geplaudert zu haben.

Mit einem ATMEGA328P kann man bis 0,1µA runter mit dem Stromverbrauch 
kommen, vorausgesetzt, man benötigt nichts im Hintergrund und ist in der 
Lage, den Modus codetechnisch zu betreten – viele Adepten schaffen es 
einfach nicht, weil sie eben die Datenblätter nicht lesen können/wollen 
oder sich Codeteile von irgendwelchen „Superhelden” und „SuperGurus” 
besorgen, statt selbst mal darüber nachzudenken und zu probieren, wie es 
geschrieben werden müsste. Muss z.B. der Watchdog im Hintergrund laufen, 
erhöht sich entsprechend die Stromaufnahme – wieviel das jeweils ist, 
steht auch in den Datenblättern. Der Stromverbrauch hängt auch von der 
Temperatur ab – wie bei allen Halbleitern übrigens. Gute Werte (unter 
0,5µA) dürften mit einem ATTINY85 bei 25°C und dadrunter mit der 
absoluten Stille auch machbar sein, wo nur der Pinchange-Interrupt das 
Aufwecken überwacht – wenn das Aufwecken automatisch erfolgen soll und 
deswegen etwas mitlaufen muss, wird es – wie bei dem 328P schon erwähnt 
wurde – entsprechend deutlich mehr. Das einzig Sinnvolle ist: 
Datenblätter studieren und real etwas in diese Richtung machen, statt 
mit dem Vogel oder im Forum in einer Endlosschleife zu plaudern! Also 
einen provisorischen Prototypaufbau machen und versuchen zu messen, ob 
man mit dem Design und Code dahinkommt, wo man ungefähr sein möchte. Die 
Messung wird für einen Adepten unterm Strich auch nicht so einfach sein, 
da 0,1µA im Betrieb zu messen auch etwas Einfallsreichtum und 
Hirnaktivität erfordern wird. Und zum Schluss noch das: wir reden hier 
von 0,1µA und nicht von 0,1mA – das ist dann nochmal 1000x weniger und 
das erwähne ich nur, weil auch das im sogenannten Netz oft verwechselt 
wird.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Statt vieler ATtiny würde ich besser einen ATmega1284 nehmen. Der hat 
16kB SRAM, um die Daten zu puffern. Und das Auslesen mehrerer Sensoren 
dürfte dessen CPU bei weitem nicht auslasten.

von Falk B. (falk)


Lesenswert?

Peter D. schrieb:
> Statt vieler ATtiny würde ich besser einen ATmega1284 nehmen. Der hat
> 16kB SRAM, um die Daten zu puffern. Und das Auslesen mehrerer Sensoren
> dürfte dessen CPU bei weitem nicht auslasten.

Stimmt, aber so ne popelige Wetterstation braucht nicht mal ansatzweise 
16kB RAM. SOOO VIELE Daten fallen da nicht an. Selbst eine Meldung von 1 
mal/Tag läßt sich mit weniger als 16kB speichern. Denn die Daten braucht 
man sicherlich NICHT mit Minuten- oder Sekundenauflösung. Eher 
stündlich. Vermutlich reicht ein ATmega88 mit externem Funkmodul.

von Joachim B. (jar)


Lesenswert?

H. H. schrieb:
> Gelaber
Falk B. schrieb:
> Jaja, Chat GPT-Geplapper
Gregor J. schrieb:
> Ja ja, die große Vogelbefragung

ihr habt ja sooo Recht, es macht kaum noch Spaß hier zu lesen, solche 
Sinnlosbeiträge fluten mittlerweile das Forum im Tagestakt.

von Frank K. (fchk)


Lesenswert?

Peter D. schrieb:
> Statt vieler ATtiny würde ich besser einen ATmega1284 nehmen.

Ich nicht. Nordic hat sehr stromsparende Funkchips, wo man auf dem 
Applikationsprozessor auch noch eigenen Code ablaufen lassen kann.

Mal so als Beispiel:
https://www.u-blox.com/en/product/nora-b2-series

Das Datenblatt sagt:
"Power consumption:
Active TX @ 0dBm: 4.8 mA
Standby: 0.8 uA
Sleep: 600 nA
"

Das ist die deutlich sinnvollere Lösung.

fchk

von Falk B. (falk)


Lesenswert?

Frank K. schrieb:
> Ich nicht. Nordic hat sehr stromsparende Funkchips, wo man auf dem
> Applikationsprozessor auch noch eigenen Code ablaufen lassen kann.

Damit sich der Cortex M33 noch mehr langweilt ;-)
Ich mein, ist ja schön und gut, daß es solche Dinger incl. der 
Frameworks und allem Drum und dran gibt, aber der Overkill wird damit 
auch nicht weniger. Aber wenn's scheeeeee macht. ;-)

von Frank K. (fchk)


Lesenswert?

Na ja, stromsparender als der ESP32 ist er schon. Und auch der langweilt 
sich.

fchk

von Gerald B. (gerald_b)


Lesenswert?

Der Stromverbruch von den Tinys ist eher akademisch, wenn du den 
falschen Spannungsregler davorsetzt. Es gibt "verdiente Veteranen", die 
brauchen selber 10 mA und andere, die Faktor 1000 weniger brauchen.

von Michael L. (cybertracker)


Lesenswert?

Frank K. schrieb:

> Mal so als Beispiel:
> https://www.u-blox.com/en/product/nora-b2-series
>
> Das Datenblatt sagt:
> "Power consumption:
> Active TX @ 0dBm: 4.8 mA
> Standby: 0.8 uA
> Sleep: 600 nA
> "
>
> Das ist die deutlich sinnvollere Lösung.
>
> fchk

Aktuell der Attiny eben Wind und Regen mitzählen. Eventuell auch gleich 
die Menge ausrechnen.

Klar zum Senden würde auch ein Atmega128 gehen.
Damit ich wenig mit dem HF Gedöns experimentieren muss kommt ein Heltec 
Wireless Shell zum Senden zum Einsatz.
Dieses macht aber noch mehr. Holt die Daten der anderen I2C Sensoren ab 
und Aktualisiert ein E-Paper bevor es die Daten alle 10 Minuten per WLAN 
MQTT sendet.

JA ich hab die Datenblätter gelesen.
Zum Attiny20 hab ich allerdings wenig zur Programmierung gefunden.
Der Attiny202 war eben eine Empfehlung
Und der Attiny85 hab ich aktuell zum Testen am laufen. Da es den direkt 
auf USB Platine gab.

Daher eben etwas Expertenrat holen.
Da wie andere auch sagen Googel oft Müll lawert.

: Bearbeitet durch User
von Frank O. (frank_o)


Lesenswert?

Falk B. schrieb:
> Vermutlich reicht ein ATmega88 mit externem Funkmodul.


Oder man nimmt gleich Xsense, kann da noch seine Rauchmelder, 
Wassermelder und CO Melder mit integrieren und fein alles auf dem 
Mobiltelefon zusätzlich sehen.
Hat auch gleich schöne Gehäuse dabei.
https://de.x-sense.com/products/sth0a-wlan-hygrometer-thermometer?variant=46438777651429&utm_source=google&utm_medium=cpc&campaign_name=19643683623&gad_source=1&gad_campaignid=19651152878&gbraid=0AAAAACfgebbqyaTC_z2dEpgqz_ChKLndK&gclid=Cj0KCQjwqebEBhD9ARIsAFZMbfyRUGp3-eWe9ZV_BI7myItw1VkRBhBVgLR_GDjevhchofCBeZGlPAMaAvWPEALw_wcB
Gibt noch einiges mehr, als auf dieser Seite.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Michael L. schrieb:
> Johann L. schrieb:
>> Du meinst ein Binary, das für eines der Devices generiert wurde, auf
>> einem anderen verwenden?
>
> Nein, ich meine das ich es in C Programmiere und dann natürlich für den
> Entsprechenden MCU neu Kompiliere.

Das geht natürlich immer:
1
#if defined(__AVR_ATtiny85__)
2
...
3
#elif defined(__AVR_ATtiny202__)
4
...
5
#elif defined(__AVR_ATtiny20__)
6
...
7
#else
8
#error
9
#endif

von Michael L. (cybertracker)


Lesenswert?

Johann L. schrieb:
> Michael L. schrieb:
>> Johann L. schrieb:
>>> Du meinst ein Binary, das für eines der Devices generiert wurde, auf
>>> einem anderen verwenden?
>>
>> Nein, ich meine das ich es in C Programmiere und dann natürlich für den
>> Entsprechenden MCU neu Kompiliere.
>
> Das geht natürlich immer:
>
1
> #if defined(__AVR_ATtiny85__)
2
> ...
3
> #elif defined(__AVR_ATtiny202__)
4
> ...
5
> #elif defined(__AVR_ATtiny20__)
6
> ...
7
> #else
8
> #error
9
> #endif

Danke. Genau das hatte ich ja mit den Pin Belegungen, Definitionen usw 
vor.
Da die ja nicht immer Ideentisch sind.

von Michael L. (cybertracker)


Lesenswert?

Gerald B. schrieb:
> Der Stromverbruch von den Tinys ist eher akademisch, wenn du den
> falschen Spannungsregler davorsetzt. Es gibt "verdiente Veteranen", die
> brauchen selber 10 mA und andere, die Faktor 1000 weniger brauchen.

Danke.

Ja das spielt eine riesen Rolle.
Das keiner Dumm stirbt.
Das wird ein TPS629210. Gespeist von BleigelAkku

von Uwe D. (monkye)


Lesenswert?

Peter D. schrieb:
> Statt vieler ATtiny würde ich besser einen ATmega1284 nehmen. Der hat
> 16kB SRAM, um die Daten zu puffern. Und das Auslesen mehrerer Sensoren
> dürfte dessen CPU bei weitem nicht auslasten.

Kanonen auf Spatzen. Ja, wer unbedingt jedes Mal das Rad neu erfinden 
will - Bitteschön.

Ein ATTiny85 reicht locker für mehrere Sensoren, inkl. Display und 
einfachen Sendemodul. ESPxxxx hört sich immer nach WLAN an, frisst Strom 
und ist für Batteriebetrieb meist nicht die beste Wahl.
Wer unbedingt Pufferbetrieb für die Daten braucht, der kann noch einen 
FRAM reinfriemeln - parallel zu den Sensoren auf I2C Basis.

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.