Hallo, ich bin ein wenig überfordert mit der schieren Masse an Mikrocontrollern, die heutzutage erhältlich sind. Ich möchte gerne einen uC für ein akkubetriebenen GPS-Tracker auswählen. Mein erster Gedanke war: Stromsparend --> Attiny. Doch scheinbar gibt es auch "große" Controller, die recht sparsam sind. Anforderungen wären: - mind. 1 ADC Pin, >= 8bit Auflösung - mind. 1 interruptfähiger Pin - insgesamt mind. 9 GPIO --> also vermutlich die 14Pin Typen? - möglichst stromsparend Wenn ich jetzt ein größeres Programm auf einen bspw. Attiny24 pflanzen möchte, würde ich wahrscheinlich recht schnell an die Grenzen des Flash kommen. Daher wäre ja eigentlich ein Attiny84 die Wahl, aber der kostet auch schon wieder 2,50€, wofür ich einen Atmega382p bekommen könnte... Daher meine Frage: was sind denn gängige, stromsparende Mikrocontroller? Und aus welcher Familie? Ich bin schlicht überfordert mit dem Sortiment.
[Offtopic] ATtinys und ATmegas mit PIC zu vergleichen hinkt etwas: Das sind unterschiedliche, inkomptible Controller-Familen. Die einen kommen urspründlich von Atmel, die anderen von Microchip. [/Offtopic]
Johan schrieb: > was sind denn gängige, stromsparende Mikrocontroller? Je moderner, je stromsparender. Relevant ist aber, was deine Schaltung tun muss: GPS aktiv halten, das kostet 100 x mehr Strom als der uC. Dann vielleicht ein Display oder eine GSM Verbindung. Und speichern wolltest du die Waypoints der letzten 5 Jahre auch noch ? Üblich in Trackern war SIM808, enthält schon GSM und GPS und einen 8052 uC, die man leider nir programmieren kann mit deren Development-Toolkit, daher oft ein ATmega328 extern dran. Heute gibt es vermutlich modernere mit mehr als GPS (Glonass etc) und noch stromsparender. https://eu.robotshop.com/de/products/sim808-gps-module
Johan schrieb: > Daher wäre ja eigentlich ein Attiny84 die Wahl, aber der kostet > auch schon wieder 2,50€, wofür ich einen Atmega382p bekommen könnte... In diesem Zweifelsfall würde ich eher den "Atmega382p" empfehlen mit genügend Flash und RAM. mfg
Die Frage ist etwas ungenügend ausformuliert. Erstmal, welches Packaging willst du denn haben? DIP schränkt ja die Auswahl ein und hebt auch den Preis stark an. Und was ist denn "stromsparend" für dich? Geringer Ruhestrom? Standby? Was willst du denn machen? Davon abhängig ist ja der Stromverbrauch. Was bringt dir 1µA weniger Verbrauch, wenn der ADC langsamer ist und du damit länger auf deine Ergebnisse warten musst? Oder der Chip mehr Strom verbraucht, aber schneller mit Berechnungen fertig ist? Den ATMega328P würde ich für neue Designs gar nicht nehmen, da kommst du mit einem ATTiny der 2-Serie günstiger und in allen Belangen besser weg. Den 3227 gibt es mit Märchensteuer schon für ~1,50€.
:
Bearbeitet durch User
Meine Schaltung besteht bisher (konzeptionell) aus einem ublox NEO-6M GPS-Modul und dem etwas in die Jahre gekommenen SIM800L GSM-Modul. Dazu käme noch etwas "Kleinkrempel" (Spannungsregelung [das SIM800L brauchst ja auch mal 2A Peaks], Level-shifting in den UARTS, usw.). Display, Lautsprecher & Mikro für Anrufe sind alle nicht vorgesehen. Der Gedanke dahinter ist, dass der uC je nach Konfiguration entweder auf SMS-Anfrage seinen Standort schickt, oder zeitbasiert alle x Minuten seinen Standort schickt. Daher könnte das GSM-Modul einen Großteil der Zeit im Schlafmodus (1mA Verbrauch laut Datenblatt) sein, und das GPS-Modul auch. Beim GPS Modul bin ich mir aber noch nicht sicher, ob es die ganze Zeit GPS halten soll (min. 11mA laut Datenblatt), oder ob es eben auf Anfrage erst mal seinen Standort suchen soll (min. 47mA laut Datenblatt). Das würde ich vermutlich von der Konfiguration bzw. den zu erwartenden Zeitabständen zwischen den GPS-Abfragen abhängig machen. Daher bin ich auf der Suche nach einem Mikrocontroller, der eben möglichst wenig Strom verbraucht, da meine anderen Komponenten auch schon etwas Strom ziehen. Edit: DIP wäre gut. Ich habe nicht die Möglichkeiten SMD zu löten (und es ist mir auch ein bisschen zu fummelig als dass ich es mit dem Lötkolben würde).
:
Bearbeitet durch User
Ich würde den ATmega328P (mit ider ohne B) nehmen, weil - ich den schon gut kenne - weil viele hilfbereite Menschen ihn auch gut kennen - weil ich mir dann keine Gedanken darüber machen muss, wie uch meine alte Toolchain und Programmieradapter aktualisiere Wenn du noch keine Erfahrung mit bestimmten Modellen hast, ist wohl die aktuelle Tiny Serie die bessere Wahl. Oder vielleicht ein STM32Lxx.
32bit-uC sind glaube ich etwas Overkill für meinen Zweck. Ich nehme vermutlich einfach den ATmega 328P. Ich schätze, dass ich mir mit einem ATtiny möglicherweise zu viele Einschränkungen aufbinde.
Johan schrieb: > Mein erster Gedanke war: Stromsparend --> Attiny. ATtiny und ATmega sind nur verschiedene Baugrößen des AVR. Zwischen ATtiny85 und ATmega2560 bestehen daher bezüglich Stromaufnahme keine signifikanten Unterschiede. Es sei denn, man läßt beim ATmega2560 alle 86 IO-Pins floatend, das summiert sich dann schon merklich.
Johan schrieb: > 32bit-uC sind glaube ich etwas Overkill für meinen Zweck. Sind aber billiger. Und Du lernst eine aktuelle Controllerfamilie. Und der Stromverbrauch ist bei dieser Anwendung (fast) voellig egal. Der bestimmende Stromverbrauch ist hier das GPS Modul und die Speicherkarte.
Darf ich mal einen ESP32 in den Ring werfen? Den gibt es schon als Modul mit ordentlichem GPS-Empfänger und Display. Akku mit Ladeteil wäre auch dabei. Kleines Flash-Filesystem könnte man auch einrichten oder eine externe SD-Karte. Verwende ich auch als GPS-Tracker.
Tim T. schrieb: > Egal was du machst, nimm keinen PIC. Ja klar, es gibt nur AVR in Deiner kleinen Scheinwelt! Tim T. schrieb: > Der xc8 Compiler ist Kernschrott. Ja klar, es gibt nur C in Deiner kleinen Scheinwelt! Gruss Chregu
Johan schrieb: > Meine Schaltung besteht bisher (konzeptionell) aus einem ublox NEO-6M > GPS-Modul und dem etwas in die Jahre gekommenen SIM800L GSM-Modul. Dazu > käme noch etwas "Kleinkrempel" (Spannungsregelung [das SIM800L brauchst > ja auch mal 2A Peaks], Level-shifting in den UARTS, usw.). Display, > Lautsprecher & Mikro für Anrufe sind alle nicht vorgesehen. > > Der Gedanke dahinter ist, dass der uC je nach Konfiguration entweder auf > SMS-Anfrage seinen Standort schickt, oder zeitbasiert alle x Minuten > seinen Standort schickt. Ich evaluiere für einen Kunden gerade das hier: https://www.we-online.com/de/components/products/ADRASTEA-I Da ist alles drin: LTE-M/NB-IOT, GPS, Applikationsprozessor, Peripherie. Du musst nur noch Stromversorgung, SIM und Antennen anschließen. LTE-M und NB-IOT sind extra für niedrige Datenraten und geringen Stromverbrauch optimiert. Was ich auch schon eingesetzt habe: https://www.quectel.com/product/lte-ec21-mini-pcie-series Da ist alles drin, außer dem Applikationsprozessor. Das Modul ist im Mini-PCIe Formfaktor, hat aber keine PCIe-Lanes, sondern USB, UART und I2C, und damit ist das aus einer Mikrocontroller-Plattform problemlos nutzbar. Du kannst sogar mit AT-Befehlen TCP- oder HTTP-Verbindungen aufbauen, ohne einen IP-Stack selber zu implementieren. Ich habe mit für diesen Formfaktor entschieden, weil der Sockel einfacher zu verarbeiten ist als ein Auflötmodul, und weil ich bei Nichtverfügbarkeit einfach einen anderen Typ einsetzen kann. Format und Pinout sind ja standardisiert. Früher (so vor 10-20 Jahren) hat man bei Stromspar-Anwendungen MSP430 verwendet. Inzwischen können das andere genauso gut. Den Mega328 würde ich gerade nicht nehmen. Altes Produkt, alter Halbleiterprozess, vergleichsweise schwache Ausstattung. Wenn überhaupt noch AVR, dann die neueren AVR128DA/DB/DD Serien. Die laufen nämlich auch bei 3.3V mit voller Geschwindigkeit, weil die in einem neueren Prozess gefertigt worden sind. Ansonsten STM32L/STM32U (https://www.st.com/en/microcontrollers-microprocessors/stm32-ultra-low-power-mcus.html) oder SiLabs EFM32 (https://www.silabs.com/mcu/32-bit-microcontrollers). Die sind extra für solche Anwendungen gebaut worden. fchk
Frank K. schrieb: > Den Mega328 würde ich gerade nicht nehmen. Der ist doch weit verbreitet. Wenn Du dazu Fragen hast, können Dir viele helfen. Das ist oft ein viel besserer Vorteil, als unbedingt das letze MHz rauszuquetschen. Man kann für neue Projekte gleich den ATmega328PB nehmen, da abwärtskompatibel. Die neueren AVRs haben z.B. beschränkte Timerfunktionen mit reduzierten Interruptquellen.
Ich werfe da mal den PIC16LF1825 (mit L) in den Ring, der braucht im Sleep-Mode bei 3 Volt nur etwa 40 nA bzw nur etwas über 2 µA wenn der Timer1 als RTC läuft, den Timer könnte man extern z.B. mit einem RV-3032-C7 auf 160 nA drücken.
Bei der Frage werden die Antworten weit auseinander gehen. Ich z.B. bevorzuge die Tinyx5 und wenn ich mal mehr Pins brauche, den Tiny861; meine Programme sind eh nicht besonders umfangreich. Bei den x4 und ebenso bei den 2313/4313 sind ein paar Wünsche offen geblieben und für die neueren mit dem TPI-Interface habe ich keine Umgebung.
:
Bearbeitet durch User
Johan schrieb: > , aber der kostet > auch schon wieder 2,50€ 😳😱 Ne im Ernst, wenn du keine 100.000 davon produzieren wirst, ist es egal ob er 2,50€ oder 5€ kostet. Falls schon, würdest du auch keinen AVR benutzen sondern einen 35ct Microcontroller aus China. Für 5€ (oder weniger) bekommst du einen ordentlichen STM32 mit viel Peripherie und vielen Megaherzen und kannst auch schön mit Breakpoints usw debuggen mit GDB aus VSCode heraus und deinem Code in C oder C++. Nett sind zB die STM32L011, die schon recht viel können, aber noch günstig sind und auch in kleinen Gehäusen (zB TSSOP20) erhätlich sind. Glaub neu sind jetzt sogar Varianten in SO-8
:
Bearbeitet durch User
Frank K. schrieb: > Wenn überhaupt noch AVR, dann die neueren AVR128DA/DB/DD Serien Das ist auch meine Meinung. Zumal auch noch in DIP erhältlich wie vom TO gewünscht. Johan schrieb: > Level-shifting ... wär in der obigen DB Serie auch schon drin.
Michael B. schrieb: > Üblich in Trackern war SIM808, enthält schon GSM und GPS und einen 8052 > uC Ob ein GSM-Modem eine gute Wahl ist, hängt vom Einsatzort ab. In vielen Ländern wird GSM nach mittlerweile über 30 Jahren abgeschaltet.
Peter D. schrieb: > Der ist doch weit verbreitet. Der ist abgekündigt. Den PB Typen wirds noch länger geben.
:
Bearbeitet durch User
Christian M. schrieb: > Tim T. schrieb: >> Egal was du machst, nimm keinen PIC. > > Ja klar, es gibt nur AVR in Deiner kleinen Scheinwelt! Muss dich leider enttäuschen, AVR gibts bei mir nur fürs Hobby, beruflich sind es STM32 und leider immer noch PIC. > > Tim T. schrieb: >> Der xc8 Compiler ist Kernschrott. > > Ja klar, es gibt nur C in Deiner kleinen Scheinwelt! Nein, aber für µC neben ASM eigentlich schon, aber das willst du einem Neuling doch wirklich nicht mehr antun, oder?
Hi, also AVR-8 Bit ist halt mega einfach. Simpler µC aufbau, simpler assembler, da ist ARM schon wesentlich aufwändiger allein in der Dokumentation ect. Auch hat man schnell Assembler-Rountinen optimiert, wenn man wirklich deterministisch-zeitkritisch sein muss. Klar geht das mit ARM auch, nur finde ich mit 8-Bit PIC/AVR wesentlich übersichtlicher. Stromaufnahme hängt von deinem Programmiervermögen ab, wie du Sleep verwaltest etc.. Immer schon alles so einstellen, dass wenig Strom verbraucht wird. Dazu gibts aber genügend Anleitungen von Atmel/Microchip, an was du alles denken musst. Es gibt von Microchip eine Übersichtstabelle, in der du die Specs von AVR findest (allerdings etwas lückenhaft). Und ich würde dir empfehlen die neusten Chips zu holen, egal ob Tiny, Mega oder XMega. Microchip hat seit der Übernahme von Atmel die DIEs optimiert, sodass der MEGA328P jetzt 20 MHz Clock kann, statt früher nur 16Mhz. Programmieroberfläche Atmel Studio 7 (Jetzt Microchip Studio 7). Ist kostenlos, compiler i.O. und Programmer kannst du über IDE einbinden. Ein Pickkit 4 kostet, wenn man viel macht, auch nicht mehr die Welt, wenn man bedenkt, dass man damit (fast) alles machen kann. hier findest du die aktuelle AVR Tabelle von Microchip: https://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/ProductDocuments/Brochures/AVR-Microcontrollers-Peripheral-Integration-30010135.pdf
Achso eines noch zu Punkto kosten: die Versandkosten werden jenachdem wo du bestellst viel mehr ins Gewicht fallen. Und bei mir wars bis jetzt meistens so, dass die größe des Flash/SRAM i.d.R. beim Preis die Rolle spielt, weniger die Architektur.
Wim M. schrieb: > sodass der MEGA328P jetzt 20 MHz Clock kann, statt früher nur > 16Mhz. Der ATmega328/P konnte schon immer 20MHz Quarz. Der ATmega328PB kann aber 20MHz nur noch mit externem Oszillator, da der Full Swing Crystal Oscillator Mode entfallen ist.
Peter D. schrieb: > Wim M. schrieb: >> sodass der MEGA328P jetzt 20 MHz Clock kann, statt früher nur >> 16Mhz. > > Der ATmega328/P konnte schon immer 20MHz Quarz. > Der ATmega328PB kann aber 20MHz nur noch mit externem Oszillator, da der > Full Swing Crystal Oscillator Mode entfallen ist. Der 328 gehört doch nur wirklich zum ganz alten Eisen. Beschäftige Dich mit den DA/DB. Das kann die interne Peripherie ne ganze Menge, die haben einen internen RC-Oszillator, der ausreichend genau ist, und für Bastler mit bis zu 32MHz stabil läuft. Ansonsten nimm gleich einen STM32G4xx, hast dann auch eine FPU mit an Board, und CORDIC sowie DSP-Accelerator, und geht bis 170MHz ebenfalls mit dem internen Oszillator ausreichend genau.
Johan schrieb: > möglichst stromsparend Das macht vorrangig nicht der µC, sondern die Peripherie und das Programm. Wenig Strom brauchen alle halbwegs aktuellen µC, wenn sie im Sleep sind. Da kann es dann besser sein, statt dem kleinen "Stromsparenden" einen großen schnellen µC zu nehmen, der schnell mit den Berechnungen fertig ist. > Ich möchte gerne einen uC für ein akkubetriebenen GPS-Tracker auswählen. Du wirst viel lernen.
Peter D. schrieb: > Die neueren AVRs haben z.B. beschränkte Timerfunktionen mit reduzierten > Interruptquellen. Das ist leider viel zu pauschal und damit leider falsch. Die AVRxDB, die tinyAVR2 und die bald verfügbaren AVRxEA haben alle komplette Interruptquellen. Die EA haben laut vorläufigen Manual bspw. unabhängig ihrer Größe immer 2xTCA, 4xTCB, 1xDAC, 3xUSART, 6 Event Kanäle usw. alles gleich. Wenn man einen TCD nicht benötigt ist EA ideal. Man muss keine zusätzlichen Kompromisse machen. Der EA hat z.Bsp. beim ADC noch mehr Interruptquellen als der DB. Egal was, dass geht weit über die Möglichkeiten eines 328P/PB hinaus. Das kann man beim besten Willen nicht kleinreden. Der einzigste Kritikpunkt ist beim TCB die fehlende Flexibilität der Prescaler. Mehr fällt mir nicht ein bei den Controllern.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.