Hallo, kann mir jemand einen Controller für meine Anwendung empfehlen? Die Frage ist, was der günstigste Controller ist, der die Anforderungen noch erfüllt. Ich bin da etwas überfordert bei der Vielzahl von Typen und Herstellern... MUSS-Anforderungen: - 5 x 8-Bit A/D Channel - 6 X Digital Out - 1 x 8-Bit Timer - Umin <= 2,5V - Umax >= 4,5V - Sleep Modus - Selbstständiges Aufwachen aus dem Sleep Modus KANN-Anforderungen (Wunsch, aber keine Pflicht) - weitere, hochauflösendere Timer - hochauflösendere A/D Channels - keine QFN Bauform - Keine DIP Bauform - PIC oder AVR - Weitere I/O Pins Übrige Eigenschaften wie Speichergröße oder Taktfrequenz haben keine besonderen Anforderungen. Zuerst habe ich den PIC16F527 rausgesucht. Wenn ich es richtig sehe, hat der aber keine Möglichkeit, selbstständig aus dem Sleep Modus aufzuwachen, außer über den Watchdog. Dann wird aber gleich ein Reset erzeugt. Das würde bedeuten, dass ich einige Daten im HEF speichern muss und jedes mal beim Reset alles neu initialisieren muss. Das erscheint schon recht aufwendig. Außerdem gibt es einen Reset Timer (DRT), der nominal auf 18ms gestellt ist. Das wäre mir deutlich zu lang zum aufwachen. Zwar kann man den Timer wohl auch deaktivieren, aber dann wäre der interne Oszillator wohl noch nicht eingeschwungen und ich vermute mal, dass dann auch der ADC noch nicht zuverlässig arbeiten würde? Dann habe ich mir den PIC16F1503 angesehen. Der würde das Wake-up Problem lösen, jedoch nur wenn ich einen externen Oszillator anschließe. Das ist ja auch nicht gerade ideal. Was meint ihr? bekommt man das mit dem PC16F527 hingefrickelt? Oder doch lieber den PIC16F1503 mit Quarz? Oder gibt es einen noch passenderen Controller? Oder wie sieht es mit standard Controllern aus, die mehr Funktionen haben, aber wegen riesen Stückzahlen trotzdem günstig sind?
Jörg schrieb: > kann mir jemand einen Controller für meine Anwendung empfehlen? ... > - PIC oder AVR ... > Zuerst habe ich den PIC16F527 rausgesucht. Wenn ich es richtig sehe, hat ... > Dann habe ich mir den PIC16F1503 angesehen. (keiner paßt so recht) Dann schau dir halt auch mal ein paar AVRs an. Da würden die meisten passen.
Jörg schrieb: > - keine QFN Bauform > - Keine DIP Bauform Also nur TQFP? Dann wäre z.B. der ATMega328 was für dich. Im TQFP Gehäuse hat er 8 ADC Eingänge.
:
Bearbeitet durch User
Ich hätte jetzt auch den ATmega328 empfohlen. > hochauflösendere A/D Channels Kann man relativ einfach über einen seriellen ADC ergänzen, zum Beispiel den MCP3208. Der ist kinderleicht zu programmieren.
Mega328 hat ja schon 10-bit ADC, das ist schon mehr als gefordert: Jörg schrieb: > - 5 x 8-Bit A/D Channel Den MC kann man über eine Menge Events aufwecken. LevelChange, PinChange, Analog Komparator, Watchdog usw.
Wie lange soll der denn im Sleep Modus bleiben ? Und durch was soll der aufgewacht werden ?
Danke für die Tipps, es geht ja eindeutig in Richtung AVR. Der ATmega328 wäre scheinbar geeignet mit seinem Power-Save Mode, in dem Timer2 aktiv bleibt. Aber er ist schon fast überdimensioniert. Ich brauche ja eigentlich nur einen 14-Piner. Matthias S. schrieb: > Also nur TQFP? Ja, oder irgendwas wie SO oder TSSOP. Ist aber nicht so wichtig. Stefan schrieb: > Wie lange soll der denn im Sleep Modus > bleiben ? Und durch was soll der aufgewacht werden ? Der Controller soll alle 200ms aufwachen und ein paar Messungen machen. Es gibt keinen Einfluss von außen, der den Controller aufwecken könnte. Das ist ja eigentlich die Forderung, die von den billigst-Controllern nur eingeschränkt erfüllt wird.
Es gibt 14-Pin Attinys. Es wundert mich, dass diese noch nicht gennant worden sind. Attiny84 bzw. die neueren Attiny841.
Hi Jörg, würden evtl. ein stm8 passen? Z.b. STM8S003F3P6. mfg Torsten
> Wenn ich es richtig sehe, hat > der aber keine Möglichkeit, selbstständig aus dem Sleep Modus > aufzuwachen, außer über den Watchdog. Dann wird aber gleich ein Reset > erzeugt. Bei meinen PIC steht:
1 | When a WDT time-out occurs while the device is in |
2 | Sleep, no Reset is generated. Instead, the device |
3 | wakes up and resumes operation. |
Würde mich auch wundern, wenn es anders wäre. Ansonsten scheint es bei den PICs eher einen Treffer zu geben. Einfach darauf achten, dass LFINTOSC auf den Timer geht und dieser damit asynchron arbeitet. Steht ja alles schön separat in den Datenblättern. Ansonsten, wenn du auch mit 256ms zurechtkommst, wächst der Lösungsraum phenomenal. Das dürften die meisten uC mit ihren Watchdog hinbekommen.
avr schrieb: > Es gibt 14-Pin Attinys. Es wundert mich, dass diese noch nicht gennant > worden sind. Aus dem Grund, weil bei dieser Belegung Jörg schrieb: > - 5 x 8-Bit A/D Channel > - 6 X Digital Out Genau noch ein einziger Portpin frei wäre, und damit das hier: > - Weitere I/O Pins nicht mehr drin ist. Wenn das nicht stört, geht ohne weiteres auch ein Tiny 24/44/84.
avr schrieb: > Attiny84 bzw. die neueren Attiny841. Stimmt, die würden auch passen. Matthias S. schrieb: > Wenn das nicht stört, geht ohne weiteres auch ein > Tiny 24/44/84. Ja, mehr Pins wären schön, sollen aber nicht das Ausschlusskriterium sein. Torsten R. schrieb: > würden evtl. ein stm8 passen? Z.b. STM8S003F3P6. Auf den ersten Blick eigentlich bisher der beste Kandidat. Er hat 2 16 Bit Timer, einen 8 Bit Timer und ganz wichtig einen separaten Wake Up Timer. Außerdem einen 10 Bit ADC und auch noch ein paar Pins übrig. Und preislich liegt er noch unter den billigsten PICs, die ich rausgesucht hatte. Und die hätten dann eindeutig weniger Funktionen. Zwar habe ich keine Erfahrungen mit STMs, aber das ist ja doch auch irgendwie alles das Gleiche. Hat irgendwer Bedenken zum STM8S003F3P6? neuer PIC Freund schrieb im Beitrag #4584435: > Bei meinen PIC steht:When a WDT time-out occurs while the device is in > Sleep, no Reset is generated. Instead, the device > wakes up and resumes operation. > Würde mich auch wundern, wenn es anders wäre. Ansonsten scheint es bei > den PICs eher einen Treffer zu geben. Einfach darauf achten, dass > LFINTOSC auf den Timer geht und dieser damit asynchron arbeitet. Steht > ja alles schön separat in den Datenblättern. > > Ansonsten, wenn du auch mit 256ms zurechtkommst, wächst der Lösungsraum > phenomenal. Das dürften die meisten uC mit ihren Watchdog hinbekommen. Habe es mir beim PIC16F527 nochmal genau angesehen und diesen Satz gefunden:
1 | They are not affected by a WDT |
2 | Reset during Sleep or MCLR Reset during Sleep, since |
3 | these Resets are viewed as resumption of normal operation. |
Das klingt ja schon so, also würde der WTD Reset im Sleep keinen wirklichen Reset verursachen. Und den WDT kann man ja einstellen. Nominal braucht er wohl 18ms aber mit Vorteiler könnte ich ihn z.B. auch auf 144ms einstellen. Das wäre wohl ok. Aber ich muss sagen, dass mich der STM mit seinen besseren Funktionen bei geringerem Preis schon noch mehr überzeugt. WehOhWeh schrieb: > PIC24FV32KA304 > > Kann 5V und ist TQFP44. Kann viele sleep-Modi. Müsste passen, aber den finde ich jetzt etwas überdimensioniert.
Bernd schrieb: > Der Controller soll alle 200ms aufwachen und ein paar Messungen machen. Wenns nicht genau sein muß, kann man den Watchdoginterrupt zum Aufwachen nehmen. Ansonsten einen ATmega mit 32kHz Uhrenquarz.
Peter D. schrieb: > Wenns nicht genau sein muß, kann man den Watchdoginterrupt zum Aufwachen > nehmen. Ansonsten einen ATmega mit 32kHz Uhrenquarz. Ne, muss nicht so genau sein. Ich hätte wohl besser 100-200ms schreiben sollen. Das war für mich eine wichtige Erkenntnis, dass der WDT Reset bei PIC im Sleep nur zum Aufwachen führt. Aber wie gesagt, erscheint mir der STM8 noch interessanter, oder nicht?
Jörg schrieb: > Aber wie gesagt, erscheint mir der STM8 > noch interessanter Inwiefern? Bist Du in den schon gut eingearbeitet, hast ne gut funktionierende Programmierumgebung/Compiler und kennst Dich prima darin aus, kannst ihn gut beschaffen. Hier im Forum scheint er selten zu sein, ich kenne ihn auch nicht. Mit nem neuen 8Bitter werde ich auch nicht mehr anfangen.
Peter D. schrieb: > Jörg schrieb: >> Aber wie gesagt, erscheint mir der STM8 >> noch interessanter > > Inwiefern? Also wenn ich die für mich relevanten Daten vergleiche, schneidet er einfach super ab: PC16F527 (Billigster PIC, der meine Anforderungen erfüllt) - 1x 8 Bit Timer - 8 Bit ADC - Eingeschränkte Wake-up Funktionalität durch WDT - Kosten bei Farnell: 0,905€ STM8S003F3P6 - 1x 8 Bit Timer, 2x 16 Bit Timer - 10 Bit ADC - Uneingeschränkte Wake-up Funktionalität durch extra Timer - Kosten bei Farnell: 0,649€ Der erscheint mir auf den ersten Blick einfach technisch und preislich überlegen. Nur die geringere Verbreitung hier im Forum und meine fehlende Erfahrung damit sind ein Nachteil. Aber schadet ja nicht, sich auch mal in die STM8 Familie einzuarbeiten. Und mit dem STM8S-Discovery habe ich für unter 20€ incl. Versand gleich ein Eval-Board und Programmer.
Jörg schrieb: > Und mit dem STM8S-Discovery > habe ich für unter 20€ incl. Versand gleich ein Eval-Board und > Programmer. Tja, und wenn du einen AVR nimmst, sparst du eben diese 20 Euronen und hast trotzdem die gleiche Funktionalität und die auch noch viel schneller verfügbar, weil du die ganze Einarbeitung incl. Aufbau und Test der Toolchain sparst. Oder anders ausgedrückt: Umsteigen tut man genau nur dann, wenn es keine Lösung mit der bereits beherrschten Technologie gibt oder diese Lösung zumindest überproportional viel Aufwand erfordert (was hier sicher nicht der Fall ist). Aber mach' ruhig, wie du denkst...
Jörg schrieb: > Hat irgendwer Bedenken zum STM8S003F3P6? Er erfüllt deine Specs nicht. Jörg schrieb: > Umin <= 2,5V Der STM8 will mindestens 2.95V sehen.
Axel S. schrieb: > Der STM8 will mindestens 2.95V sehen. Ja, das habe ich auch gerade gesehen :( Evtl. kann ich aber auch noch auf 3V rauf. Außerdem habe ich gerade gesehen, dass die Stromaufnahme beim STM im Sleep Mode mit 10-20µA vergleichsweise hoch ist. Und zudem finde ich das Datenblatt auf den ersten Eindruck etwas schwieriger. Da steht beispielsweise in einer Fußnote
1 | Configured by the AHALT bit in the FLASH_CR1 register. |
Aber die Suche nach diesem Bit oder dem Register führt zu keinen hilfreichen Treffern. Das lässt mich nun doch wieder etwas zögern. c-hater schrieb: > Tja, und wenn du einen AVR nimmst, sparst du eben diese 20 Euronen und > hast trotzdem die gleiche Funktionalität und die auch noch viel > schneller verfügbar, weil du die ganze Einarbeitung incl. Aufbau und > Test der Toolchain sparst. Ist schon richtig. Aber AVR und PIC ist scheinbar pro Stück für vergleichbare Funktionalität ein gutes Stück Teurer. Langfristig gedacht lohnen sich da die Einmalkosten und der Aufwand möglicherweise. Das muss man zumindest mal hinterfragen.
Jörg schrieb: > Ist schon richtig. Aber AVR und PIC ist scheinbar pro Stück für > vergleichbare Funktionalität ein gutes Stück Teurer. Ja, das stimmt schon. Aber du musst schon recht viele (>>1000) verbauen, um auch nur die Kosten für das Eval-Board zu kompensieren, ganz zu schweigen von den Kosten für die Einarbeitung und die Errichtung einer Toolchain für eine entsprechend grosse Serienproduktion... Und du hast immer noch das Problem der Spannungsfestigkeit und des Energiebedarfs. Beides produziert wieder zusätzlichen Hardwareaufwand, die du kostenmäßig gegenrechnen musst, was sehr schnell dazu führt, dass die Sache sehr, sehr unattraktiv wird...
Bernd schrieb: > Matthias S. schrieb: >> Also nur TQFP? > Ja, oder irgendwas wie SO oder TSSOP. Ist aber nicht so wichtig. Wenn TQFP ok ist schau auch mal bei Ti die MSP430 Familie könnte auch noch interessant sein für dich. http://www.ti.com/lsds/ti/microcontrollers_16-bit_32-bit/msp/products.page#
:
Bearbeitet durch User
Jörg schrieb: > Aber AVR und PIC ist scheinbar pro Stück für > vergleichbare Funktionalität ein gutes Stück Teurer. Übertreib mal nicht so. Der ATtiny88-AU ist bei Farnell für 0,6813€ zu haben. Und ab 100 Stück für 0,4881€ (STM8S003F3P6: 0,506€).
Tester T. schrieb: > Wenn TQFP ok ist schau auch mal bei Ti die MSP430 Familie könnte auch > noch interessant sein für dich. Sehe ich mir auch noch an, danke! Peter D. schrieb: > Jörg schrieb: >> Aber AVR und PIC ist scheinbar pro Stück für >> vergleichbare Funktionalität ein gutes Stück Teurer. > > Übertreib mal nicht so. > Der ATtiny88-AU ist bei Farnell für 0,6813€ zu haben. > Und ab 100 Stück für 0,4881€ (STM8S003F3P6: 0,506€). Tatsache! Bisher war ja nur die Rede vom ATtiny24/44/84/841. In dem Fall muss ich ja alles zurücknehmen. Und gleich mal ein paar ATtiny88-AU bestellen ;)
Jörg schrieb: > Außerdem habe ich gerade gesehen, dass die Stromaufnahme beim STM im > Sleep Mode mit 10-20µA vergleichsweise hoch ist. Das kommt drauf an, in welchen Sleep Mode du den schickst. Aber ja, der STM8S ist kein ausgesprochener Stromsparer. Dafür gibt es extra die STM8L Familie. > Und zudem finde ich das > Datenblatt auf den ersten Eindruck etwas schwieriger. Da steht > beispielsweise in einer FußnoteConfigured by the AHALT bit in the > FLASH_CR1 register. Aber die Suche nach diesem Bit oder dem Register > führt zu keinen hilfreichen Treffern. Das ist das gleiche Prinzip wie bei dem ARM Cortex-M. Du mußt das "Family Reference Manual" lesen und das Datenblatt zum verwendeten Controller. Das Reference Manual beschreibt alle verfügbare Peripherie und das Datenblatt geht dann nur noch auf die Besonderheiten des jeweiligen Familienmitglieds ein. PS: aber das wurde dir ja schon gesagt. Die Einarbeitung in eine neue µC Familie gibt es nicht umsonst.
:
Bearbeitet durch User
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.