Forum: Mikrocontroller und Digitale Elektronik passender Controller gesucht.


von Jörg (Gast)


Lesenswert?

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?

von Ralf G. (ralg)


Lesenswert?


von Axel S. (a-za-z0-9)


Lesenswert?

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.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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
von Stefan F. (Gast)


Lesenswert?

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.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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.

von Stefan (Gast)


Lesenswert?

Wie lange soll der denn im Sleep Modus
bleiben ? Und durch was soll der aufgewacht werden ?

von Bernd (Gast)


Lesenswert?

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.

von avr (Gast)


Lesenswert?

Es gibt 14-Pin Attinys. Es wundert mich, dass diese noch nicht gennant 
worden sind.

Attiny84 bzw. die neueren Attiny841.

von Torsten R. (Firma: Torrox.de) (torstenrobitzki)


Lesenswert?

Hi Jörg,
würden evtl. ein stm8 passen? Z.b. STM8S003F3P6.

mfg Torsten

von neuer PIC Freund (Gast)


Lesenswert?

> 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.

von WehOhWeh (Gast)


Lesenswert?

PIC24FV32KA304

Kann 5V und ist TQFP44. Kann viele sleep-Modi.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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.

von Jörg (Gast)


Lesenswert?

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.

von Peter D. (peda)


Lesenswert?

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.

von Jörg (Gast)


Lesenswert?

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?

von Peter D. (peda)


Lesenswert?

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.

von Seine Gelbe Pestilenz (Gast)


Lesenswert?

PIC 16F684 in SO14 (da es ja kein DIP sein soll).

Passt ganz genau.

von Peter D. (peda)


Lesenswert?

Seine Gelbe Pestilenz schrieb:
> PIC 16F684

Der ist ja pinkompatibel zum ATtiny84.

von Jörg (Gast)


Lesenswert?

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.

von c-hater (Gast)


Lesenswert?

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...

von Axel S. (a-za-z0-9)


Lesenswert?

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.

von Jörg (Gast)


Lesenswert?

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.

von c-hater (Gast)


Lesenswert?

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...

von Tester T. (darkstar999)


Lesenswert?

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
von Peter D. (peda)


Lesenswert?

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€).

von Jörg (Gast)


Lesenswert?

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 ;)

von Axel S. (a-za-z0-9)


Lesenswert?

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
Noch kein Account? Hier anmelden.