Auswhal des richtigen µC's- Bitte um Hilfe

OP #1793442
Lesenswert?

Hallo!

Auch wenn ich gerade ein "größeres" Projekt -es war nicht wirklich groß- 
erfolgreich abgeschlossen habe dürste ich nach mehr :D. Finde es einfach 
unglaublich interessant diese kleinen Controller zu programmieren :D.

Ich zähle mich aber eher noch zu den Anfängern, Neulingen.
Da ich bei meinem letzten Projekt doch auf einige Dinge drauf gekommen 
bin weiß ich jetzt wie ich besser machen kann. Anfangen will ich mit der 
Auswahl des richtigen µC's. Beim letzten habe ich nicht wirklich aktiv 
darauf geachtet welchen Controller ich auswähle, zum Glück hat er dann 
aber gereicht. Gewählt hatte ich den ATMEGA8, welcher wie sich 
herausstellte als "alt" entpuppte. Kurz gesagt, ich will einfach den 
richtigen Controller auswählen.


Das Projekt sieht so aus:
Der uP hat 3 Eingänge (2 analoge (E1 und E2) und einen digitalen E3) und 
2 digitale Ausgänge (A1 – A2). Quarz Oszillator ist nicht nötig. 
Spannungsversorgung: 5 V.

Die Programmschritte:

L1  Autoreset: bei erreichen der Versorgungsspannung, ob dabei die 
Ausgänge vorübergehend H-Pegel annehmen ist egal.

L2  E1 wird beobachtet, wenn U > 3 V, so wird an Ausgang A1 für 0.2 
Sekunden H – Pegel geschalten. Gleichzeitig wird eine Uhr U1 gestartet 
und der Eingang E1 bis zum Schritt L6 nicht mehr abgefragt.
  LICHT EIN  Relais bistabil: EIN

L3  Nun wird die Ablaufzeit Ts von U1 festgelegt. Dazu wird U an E2 
abgefragt.
    0 – 1 V:  15 Minuten
    1 – 4 V:  15 – 50 Minuten
    4 – 5 V:  unendlich

L4  Nun wird die Ganglichtverriegelung abgefragt:
    E3 = L ?
    JA: Ts = unendlich
    NEIN: no operation

L5  U1 > Ts?
    JA : A2 für 0.2 Sekunden H (Abschaltbefehl).

L6  E1 beobachten:
                 U < 2.5 V?
                 JA: GO TO    L2

Also, es geht hervor, dass ich an Hardware mind. einen Timer und einen 
ADU benötige. Der ADU sollte 10- Bit haben. Ein 16- Bit Timer ist nicht 
zwingend vorhanden, sollte aber ohne auch funktionieren.
Aus Platzgründen ist es wichtig, dass der Controller möglichst effizient 
genutzt wird. Also nicht, dass ich am Ende X Pins unbenutzt bleiben.

Ein weiteres Anliegen von mir wäre es, dass es ein AVR Controller ist, 
da ich auf diesem Bereich schon ein wenig "eingearbeitet" bin.

Das es nicht so ausschaut als würde ich mich nur berieseln lassen hab 
ich mich natürlich auch umgesehen. In meine engere Auswahl kommen:

ATtiny20
ATtiny13A
ATtiny25/45/85

Was meint ihr nun?

MfG Julian

ps. hoffe es schert sich wer meinen Roman zu lesen^^
OP #1793463
Lesenswert?

@ Silvan:
Haha, das hab ich auch nicht gemeint ;). Für mein Projekt hätte im 
Nachhinein der ATMEGA88PA besser gepasst.

@spess53:

>Kurz gesagt, ich will einfach den richtigen Controller auswählen.

Mein Frage ist ob einer der Controller für mein Projekt in Ordnung geht, 
oder ob es, wie beim ATMEGA8, vllt bessere/neuere Versionen gibt.
Vielleicht gibt es ja wen der einen viiiiel besser passenden Controller 
kennt.
#1793487
Lesenswert?

Zunächst: Es gibt keinen per se "richtigen" Kontroller, nur einen, der 
für den gerade vorgesehenen Zweck am besten geeignet ist. Dazu muss man 
ihn eben aus Tabellen passend heraussuchen. Ein Hinweis: Dafür habe die 
Atmel-Leute wunderschöne Tabellen erstellt, in denen die features jedes 
Kontrollers aufgeführt sind.

Eine anderen Kontroller zu nehmen, der nur in einer einzigen 
Gehäuseversion zu haben ist, nicht gebrauchte Funktionen hat oder kaum 
zu bekommen ist, nur zu nehmen weil er "neu" ist, ist doch Unsinn.

Bleib also ruhig erst einmal beim atmega8, der kann das oben aufgeführte 
Pflichtenheft sicher erfüllen.

Meiner Ansicht ist gerade bei den "atmels" der leichte Übergang zu 
größeren Versionen ein Hauptvorteil. Wenn der atmega8 nicht mehr reicht, 
gibts beim Übergang keine Probleme.

Wer sagt Dir, ob der "neue" überhaupt vom Markt angenommen wird, und 
dann still und leise aus dem Programm verschwindet?
Gast #1793657
Lesenswert?

> STM32

Das wäre ein Beispiel für einen unpassenden Controller (völlig 
überdimensioniert).

Die vom OP ausgewählen AVRs sollten für die Aufgabenstellung alle 
geeignet sein. Eventuell solltest du noch sagen, ob du den Controller in 
C oder eher Assembler programmieren möchtest (ATtiny13A hat nicht 
sonderlich viel Speicher). Ansonsten würde ich nach dem Preis gehen.
#1793670
Lesenswert?

Hallo,
die Anforderungen für dein Projekt sind Hardwaresseitig nicht sonderlich 
hoch. Daher kann man fast jeden AVR nehmen, der 2 A/D hat und zusätzlich 
3 freie Pins.
Wie der andere Mike erwähnt hat, wäre ein ATtiny wohl die effizienteste 
Lösung (Leistung/Größe). Die Programmgröße und der SRAM ist denke ich 
mal da kein Problem, so lange man nicht mit Strings/Floats oder größeren 
Arrays/Werttabellen arbeitet. Desweiteren gibt es ja mittlerweile auch 
Tinys mit großen Flash.

Ich würde dafür die ATtinyX5 Serie empfehlen. Das X gibt an wie groß der 
Flash ist (in kB): also ATtiny25/45/85.
Gast #1793711
Lesenswert?

Julian Schild schrieb:
> Was meint ihr nun?

Ich meine, dass man sich sinnvollerweise einige AVRs in 
unterschiedlichen Größen bestellen sollte (8 Pinner, Tiny 2313, Mega 8 
Typen (88, 168 oder 328), sowie einige 40 Pinner).
Dann hat man immer etwas passendes im Haus und bei Preisen von 1 - 2 
Euro ist dies günstiger, als jeweils Porto und Mindestmengen beim 
Distributor für einzelne Chips zu zahlen.
OP #1793972
Lesenswert?

Peter R. schrieb:
> Bleib also ruhig erst einmal beim atmega8, der kann das oben aufgeführte
> Pflichtenheft sicher erfüllen.

Von dem war doch nie die Rede oO?! Ich nehm ihn nicht weil der das 
"Effizienskriterium" nicht erfüllt. Brauch vielleicht 20% seiner I/O 
Lines.

Markus Müller schrieb:
> Lese doch mal in diesem Artikel: STM32
> Der hat sehr interessante Pheriperie drin und viel Reserve, auch wenn es
> mal ein richtig großes Projekt wird.

Der ist ja ganz schön weit von dem entfernt was ich eigentlich suche^^. 
Viel zu viel Hardware und die kleinste Version hat immer noch 36 I/O- 
Lines, das sind ziemlich genau 30 zu viel. Außerdem kann der nur bis 
Spannungen von 3,6V betrieben werden, komisch. Mir stehen 5V zur 
Verfügung.


Mike schrieb:
> Eventuell solltest du noch sagen, ob du den Controller in
> C oder eher Assembler programmieren möchtest.

Wird in C programmiert.

Maik M. schrieb:
> Ich würde dafür die ATtinyX5 Serie empfehlen. Das X gibt an wie groß der
> Flash ist (in kB): also ATtiny25/45/85.

Super Tipp, danke!

Peter Dannegger schrieb:
>> Julian Schild schrieb:
>> ATtiny20
> hab ich im Handel noch nicht gesehen.

Ich auch noch nicht, wird aber bei amtel.com gelistet.


>> ATtiny13A
> nur wenn es auf den Cent ankommt

Tut es nicht.

>> ATtiny25/45/85
>goldrichtig für deine Aufgabe.

Das ist mal ein Wort, danke. Werde einen dieser Controller nehmen.

Letzte Frage: Gibt es von der Serie (ATtiny25/45/85) vielleicht eine 
neuere Versioen, hinsichlich energiesparsamer?
#1793987
Lesenswert?

Jain, es gibt aber die ATtiny25V/45V/85V mit denen kann man Energie 
sparen, aber auch nur dann wenn man sie mit sehr geringer Spannung 
betreibt (also zB. mit 2V).

Es gibt aber auch PicoPower Versionen von den Tinys, allerdings gibt es 
nur einen mit 8Pins, das ist der ATtiny13A und der ist sehr klein vom 
EEPROM,SRAM und Flash her. Die PicoPower Versionen von den Tinys 
erkennst du übrigens am "A" am Ende des Namens
Gast #1793992
Lesenswert?

Ein Kriterium vermisse ich in der bisherigen Diskussion:
"Verfügbarkeit".
Ich suche mir erst mal aus einer ATMEGA/ATTiny-Reihe diejenige heraus
die die HW-Anforderungen am Besten erfüllt (in Deinem Fall vermutlich
Tinyxxx) Bis das Programm steht nehme ich erst mal "eine Nummer größer
als nötig". Sobald das Programm steht wird der kleinst mögliche 
genommen.

In der Serie wird dann ggf. nach Verfügbarkeit entschieden, ob nicht 
doch
der größere verwendet wird. Wenn man einige Wochen weniger warten muß,
kann das Marktvorteile bedeuten.
#1795776
Lesenswert?

es gibt keine ALTEN Prozessoren. Warum denckst du verwenden so viele 
Leute(eingeschlossen mir) diesn µC für alle ihre Projekte(manchmal aber 
auch tiny2313)? Er ist mit seiner Hardware Top ausgestattet. Ich finde 
an ihm keinen PUnkt der gegen ihn spricht. Des weiteren, auch wenn ich 
einen roboter oder ähnliches mit 3-4 sensoren nem LCD 2 PWM´s baue, 
reichen 8kb Flash locker aus. Wei gesagt alte µC´s gibts nicht, 
zumindest nicht von Atmels Mega serie. Diese Controller haben ein gutes 
Preis/Leistungsverhältniss. Das soll jetzt keine Predikt werden. Also 
verwende am besten den MEga8 weiter. Und meiner Meinung nach: Wenn ein 
prozessor überdimensioneirt ist(was der mega8 hier in deinem projekt 
dencke ich mal ein wenig ist), macht das im grunde nichts aus. Natürlich 
ist es nciht Ratsam für ein kleines Tiny13 projekt einen mega 128 zu 
verwenden. Das währe reiner Wahnsinn. Doch als ERSTER vertreter der MEGA 
reihe ist der MEga8 für alles eine gute Wahl.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren