Forum: Mikrocontroller und Digitale Elektronik Auswhal des richtigen µC's- Bitte um Hilfe


von Nn N. (jaytharevo)


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

von spess53 (Gast)


Lesenswert?

Hi

Und was ist jetzt genau die Frage?

MfG Spess

von Silvan K. (silvan) Benutzerseite


Lesenswert?

Julian Schild schrieb:
> Gewählt hatte ich den ATMEGA8, welcher wie sich
> herausstellte als "alt" entpuppte.

Der ist vielleicht alt, aber er ist definitiv nicht aus der Mode!!!

von Nn N. (jaytharevo)


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.

von Peter R. (pnu)


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?

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

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.

von Mike (Gast)


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.

von Maik M. (myco)


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.

von bix (Gast)


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.

von Peter D. (peda)


Lesenswert?

Julian Schild schrieb:
> ATtiny20

hab ich im Handel noch nicht gesehen.

> ATtiny13A

nur wenn es auf den Cent ankommt

> ATtiny25/45/85

goldrichtig für deine Aufgabe.


Peter

von Nn N. (jaytharevo)


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?

von Maik M. (myco)


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

von Anton (Gast)


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.

von Peter D. (peda)


Lesenswert?

Julian Schild schrieb:
> Letzte Frage: Gibt es von der Serie (ATtiny25/45/85) vielleicht eine
> neuere Versioen, hinsichlich energiesparsamer?

Wieviel Strom Du verbrauchst, hängt hautpsächlich von Deiner Software ab 
und von den anderen Verbrauchern.

Es ist daher völlig unsinnig, um wenige nA zu feilschen.


Peter

von Nn N. (jaytharevo)


Lesenswert?

Danke für eure Antworten. Spricht wohl alles für den ATtiny25 :).


MfG Julian

von Daniel B. (dannyboy1994)


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.

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.