Forum: Mikrocontroller und Digitale Elektronik Welchen controller


von LiVe (Gast)


Lesenswert?

hallo ich würde gerne wissen womit ein einsteiger anfangen sollte was 
für einen controller und was er dafür bruacht könnt ihr mir da 
helfen...?

von Aufreger deluxe (Gast)


Lesenswert?


von Patrick (Gast)


Lesenswert?

Moin,

für den Anfang wurde gern der AT90S2313 genommen (bzw. ähnliche 
AT90S-Typen), dieser ist nun Auslaufmodell und der Nachfolger ist der 
ATtiny2313, genauso "einfach" wie sein Vorgänger.
Ich höre aber auch das der ATtiny15 gern genommen wird...

Das musst du am Ende dann jedoch selbst entscheiden, welcher für dich 
für den Anfang der leichteste ist.

Gruß
Patrick

von Aufreger deluxe (Gast)


Lesenswert?

> Ich höre aber auch das der ATtiny15 gern genommen wird...

Jo, mit 6 IO-Pins kann er ja auch wirklich viel machen...

von Ronny (Gast)


Lesenswert?

Mit 6 IO-Pins ist er ja auch sehr einfach auf Lochraster zu 
verdrahten,auch wenn man noch nicht allzuviel Erfahrung im Löten von ICs 
hat.

von Sonic (Gast)


Lesenswert?

Ich würde 'n mega8 nehmen und mit was Einfachem anfangen, das 
Testprojekt dann Schritt für Schritt erweitern. Dazu muss nicht immer 
ein neues Projekt mit neuem Controller angefangen werden. Ich benutze 
sowas auch nach Jahren Erfahrung um einzelne Funktionen und deren 
Zusammenwirken zu testen.

von Patrick (Gast)


Lesenswert?

Moin du aufreger,

Es ist schön zu hören das du anscheinend direkt mit einem Atmel mit 200 
I/O-Pins angefangen hast, andere bevorzugen da eine kleinere Variante, 
ich habe beim Start mit Atmel mit dem AT90S2313 angefangen und nie alle 
Pins voll gekriegt, wozu auch, man ist froh wenn eine LED an einem Port 
blinkt, bis 15LEDs an 15 Ports blinken braucht es schon seine Zeit, 
ausser man lässt sie gleich blinken...
Aber nun gut...

Gruß
Patrick

von icke (Gast)


Lesenswert?


von Aufreger deluxe (Gast)


Lesenswert?

> Es ist schön zu hören das du anscheinend direkt mit einem
> Atmel mit 200 I/O-Pins angefangen hast, andere bevorzugen
> da eine kleinere Variante,

Mein erster µC war ein PIC16C84, wenn man mal die Experimente mit dem 
8749 außer Acht läßt. Mein erster Atmel war übrigens ein AT90S1200-4SI, 
nettes Teil und hatte sogar schon einen internen RC-Oszillator.

> Ich habe beim Start mit Atmel mit dem AT90S2313 angefangen und
> nie alle Pins voll gekriegt, wozu auch, man ist froh wenn eine
> LED an einem Port [...]

Dann fehlt es dir eindeutig an Kreativität bzw. Ideenmangel. Ein µC kann 
sehr viel mehr als nur LEDs zum Blinken zu bringen.  Naja und nur weil 
DU froh bist, dass die LED blinkt, heißt das ja nicht, dass sich auch 
andere damit zufrieden geben wollen.

Fakt ist, mit 6 IOs kann man nicht viel machen und um ne LED zum Blicken 
zu bringen, braucht man kein µC.

Wenn man sich mit µCs beschäftigt, dann will man Taster anschließen, mit 
UARTs arbeiten, IR-Decoder bauen, Displays ansteuern, Drehgeber 
auswerten, halt alles, was Spaß macht. Sicher, du kannst dein ATtiny15 
nehmen und massenhaft Schieberegister dranhängen. Halte ich aber für den 
Einstieg nur bedingt sinnvoll.

Meine Empfehlung für den Einstieg auch ganz klar ATmega8. Wenn man die 
AVRs kennenlernen möchte, dann bietet dieser µC jede Menge zu einem 
äußerst attraktiven Preis. Selbst Webserver sind möglich, mach das mal 
mit deinem ATtiny15 :)

MfG
Aufreger

von Sonic (Gast)


Lesenswert?

@Aufreger:
freut mich dass du meiner Meinung bzgl. Mega8 bist. Allerdings kann man 
mit der von dir angesprochenen Kreativität auch aus dem Tiny15 jede 
Menge 'rausholen. Ich habe damit eine Antriebssteuerung für ein 
Hauswasserwerk gebastelt, mit Druckregelung über 
4..20mA/0..4bar-Druckmessumformer incl. Drahtbruchüberwachung, 
Gleitringdichtungs-Temperaturüberwachung, Laufzeitüberwachung, 
Saugschlauch-leer-Überwachung, Störmeldung mittels LED, 
Anlaufüberbrückung mittels Schalter und Ansteuerung des Motors mit 
Solid-State-Relais. Also der kleine Teufel kann einiges!

von Sergey (Gast)


Lesenswert?

Am besten ist zum Anfang ist ein PIC 16F84.

In weniger als 5 Minuten blinkt bereits eine LED,
in 20 Minuten zeigt ein LCD bereits "Hello World".

von Tobias (Gast)


Lesenswert?

> Am besten ist zum Anfang ist ein PIC 16F84.

Genau! Der hat so schöne Dinge wie Banking und kennt nur einen 
Interrupt-Vektor. Da macht das Programmieren erst richtig Spaß.

von Norbert (Gast)


Lesenswert?

Hi,

Und auf sie mit Gebrüll!
PICs sind scheiße ;-)
Veraltete Architektur, AVR sind die Zukunft!

Nee im Ernst, es kommt auch etwas darauf an, was man vor hat. Für 
Bastler sind AVR sicher besser, weil es einfach mehr Bastlerquellen 
gibt.
Wenn man etwas Vorkenntnisse hat, wird man mit einer Hochsprache bei den 
kleinen Typen schnell an Grenzen stossen. Da ist der Mega8 schon die 
beste Wahl.
Anfänger die sich unbedingt ASM antun wollen, können auch mit nem Tiny 
lange Freude haben ;-)

PIC haben nur noch im kommerziellen Bereich Bedeutung wo sie schon 
eingeführt sind, der Entwickler eh' schon fit ist o.ä..

Gruß,
Norbert

von Dieter Werner (Gast)


Lesenswert?

Wer sich mit Interrupts beschäftigt ist aber sicher kein Anfänger im 
Sinne des Wortes mehr.
Ich habe über eine Woche gebraucht um 2 Azubis die Verwendung des 
Interrupts in Verbindung mit einem Timer auf einem 16F84 beizubringen.

von Patrick (Gast)


Lesenswert?

@Aufreger,

wenn man deinen Text natürlich so liest, dann gebe ich dir Recht :)
Mit Pics kenne ich mich nicht aus, da kann ich relativ wenig zu sagen, 
sicher gibts da auch Anfängerchips die gut zu "verstehen" sind.
Bei mir blieb es natürlich nicht nur bei einer blinkenden LED, wie du 
schreibst, der Uart kam schnell dazu, genauso wie Taster etc.
Nun kommt es drauf an was schnell heist, Arbeiten muss ich ja trotzdem 
und die ganzen häusslichen Sachen, mir blieb relativ wenig Zeit um da 
viel probieren zu können.
An Ideenmangel haperts sicher nicht, heute können es auch nicht genug 
Ausgänge sein, ich sah vieleicht nicht weit genug in die Zukunft bzw zu 
sehr auf meine Vorhaben, später hat man größere Sachen, hast du Recht...
Die Preise sind mittlerweile tief genug (auch im Bezug auf mega8), wenn 
man mal Conr*d nicht beachtet :)
Es kommt halt wie im ersten Text von mir auf die Person an (für mich 
muss es z.B. kein Webserver sein), was dieser machen will, mir reicht 
für mein DCC-Lokdecoder auch ein tiny15 und einem Anfänger ist solch ein 
Projekt sicher nicht zu empfehlen...
Jedoch nutze ich auch einen 8515 für 7-Segment-Anzeigen etc.
Man kann klein anfangen mit "kleinen" Chips, oder klein anfangen mit 
"großen" Chips und vorausplanen...

Gruß
Patrick




von Marco (Gast)


Lesenswert?

Erstmal ist es eine Glaubensfrage denke ich. Atmel oder Microchip oder 
gar jemand ganz anderes.
AVRs und PICs sind aber deshalb zu empfehlen, weil sie weit verbreitet 
sind und es dem entsprechend viele Beispiele und Hilfsmöglichkeiten 
gibt.

Beide haben ihre Vor- und Nachteile. Ein Nachteil der PICs ist das sie 
im Vergleich zu AVRs 2-Takter sind und AVRs 4-Takter.

Wenn man nicht vorgeprägt ist und noch für beide Welten offen ist, 
könnte man seine Entscheidung an der Verfügbarkeit der 
Programmierumgebung richten.
Welche Programmiersprache kann man schon und für welchen (ARV/PIC) gibt 
es eine Software, mit der man persönlch klar kommt.
Das ist zu Anfang sicherlich nicht einfach zu sagen, wenn man damit noch 
nicht intensiv arbeiten kann.

Ich persönlich empfehle AVRs und Bascom. Und als ersten einen Mega8 oder 
Mega32.
AVR, weil sie keine Ehrenrunde drehen, was die abarbeitung der Befehle 
angeht. Somit ist man für schnellere Projekte gesichert. Sofern man die 
maximale Leistung wirklich mal ausnutzt.
PICs haben aber auch Vorteile, da will ich nicht das Gegenteil 
behaupten.
Bascom, weil ich vor über 10 Jahren mit Basic angefangen habe und der 
Umstieg leicht fiel.
Der Syntax ist für jemanden, der bis jetzt noch nicht programmiert hat 
wahrscheinlich einfacher zu vestehen als ein "viel größer als"-Zeichen 
von C. Und andere schwer nachvollziehbare Zeichen die C benötigt.
Bascom ist ein leistungsstarker Compiler, die Bascom-Hasser werden 
natürlich lächeln. Aber es bedeutet ja nicht, das eine einfache 
Programmiersprache keinen ordentlichen Code zustande bekommt!

Wer allerdings eine Programmiersprache erst erlernen muss, weil er zuvor 
damit noch nichts zu tun hatte und auch gut lernen kann, dem rate ich zu 
Assembler. Da programmiert man Hardwarenah und sieht im Programm schon, 
was später passiert und wo sich ein INT mit einer anderen Funktion evtl 
überschneiden könnte.
Da sieht man auch schon beim programmieren den Zeitbedarf für einzelne 
Funktionen. Ich muss ab und zu, wenns mal drauf ankommt in Bascom 
erstmal im Simulator nachschauen wieviel Cycles das von mir geschriebene 
später mal in Anspruch nimmt.

Und den Mega8 oder Mega32 deshalb, weil...
Mega16 und Mega32 sich eigentlich nur vom Speicher her unterscheiden. 
Dann kann man auch gleich "einen Euro" mehr ausgeben (oder 10€ mehr wenn 
man bei Conrad kauft) und hat für später genug Speicher in Reserve. 
Allerdings sind die auch relativ groß (Bauform) und ggf. etwas 
verwirrend wenn man ein Steckbrett benutzt.
Der Mega8 bietet für wenig Geld und kleiner Bauform alles, was man in 
den ersten Tagen und für die ersten Projekte und für spätere Versuche 
braucht.
Und deshalb keinen kleineren wie z.B. Tiny15 oder Tiny26, weil der 
Speicherplatz da begrenzt ist und die weniger können.
Ich bin der Meinung, das die Features, die größere AVRs haben, die man 
nicht braucht auch nicht nutzen muss (bis man sie mal braucht).
Wenn man die Features nicht programmiert, stören sie ein ja auch nicht 
und nehmen auch kein Platz weg.
Andere sind da wieder der Meinung das die vielen Funktionen für Anfänger 
verwirrend sind.
Wenn man den ICP nicht braucht, nutzt man ihn halt einfach nicht. Und im 
Datenblatt kann man den Absatz überspringen und ist genau so schlau als 
hätte man einen Tiny15 genommen.

Wenn man sich dann später eingearbeitet hat, weiss man auf was man 
achten muss wenn man ein Projekt hat.
Man sieht, wieviele Timer, wieviele externe INT usw man braucht. Und 
danach kann man seinen Zielchip auswählen.
Aber testen kann man das Programm auch erstmal auf einem Chip, der eine 
oder ein paar Nummern zu groß ist. Beim Programmieren selbst merkt man 
evtl auch mal, das man noch etwas hinzufügen könnte und schon kann der 
gewählte Typ wieder zu klein sein.

Wer das nötige Kleingeld hat, kann sich auch gleich ein großes 
Experimentierboard kaufen und einen Mega128 oder so.

von icke (Gast)


Lesenswert?

Wer eine möglichst große Auswahl innerhalb
eines 8-bit µC-Kernes haben will:

http://www.8052.com/chips.phtml

von mr.chip (Gast)


Lesenswert?

Hallo

Atmega8  16  32. Einfach handzuhaben da im DIP und braucht kaum 
Aussenbeschaltung. Programmierung erfolgt einfach über 
Eigenbau-Parallelport-Programmer. Es gibt eine gute IDE (AVRStudio) und 
einen guten C-Compiler.

Gruss

Michael

von Winfried (Gast)


Lesenswert?

Also wer das Prinzip und die Funktionsweise eines Mikrocontrollers 
kennenlernen will, braucht keine 200 IO-Pins und auch keine 
komplizierten Anwendungsbeispiele, wie z.B. "mal eben einen Webserver 
bauen".

Grundlagen lernen halte ich für viel wichtiger. Und da belastet man sich 
erstmal nicht mit Dingen, die zum Grundverständnis nicht beitragen.

Insofern finde ich z.B. Tiny12 und einfache Programme sehr sinnvoll. Bis 
man den wirklich vollständig verstanden hat, kann man durchaus ein paar 
Wochen oder Monate mit verbringen. Und jede Menge falsch machen. Hat man 
den wirklich verstanden, ist der Schritt zu allen möglichen AT-Megas und 
Tinys kein Problem mehr.

Den umgedrehten Weg - aus irgendwelchen Bibliotheken oder gefundenen 
Quellcode irgendwas kompliziertes auf einem großen Chip zum laufen zu 
bringen, ohne überhaupt irgendwelche Grundlagen zu kennen, halte ich für 
wenig sinnvoll.

von Dirk (Gast)


Lesenswert?

Hallo,

ein gutes Startpaket ist der Mega16, weil dieser Pinkompatibel zum 
Mega32 und Mega8535 ist. Er bietet durch komplette 4 * 8 Bit Ports viele 
Moeglichkeiten der Anbindung für groessere Projekte nachdem Led 
ein/ausschalten, Uart Hello World. Ein Anfaenger programmiert am Anfang 
extrem grossen Code, deshalb hab ich damals zum Start den Mega16 
gewaehlt.

Deine Programme solltest du am Anfang in Assembler programmieren um die 
Hardware des Mikrocontrollers kennenzulernen und spaeter auf eine 
Hochsprache eventuell ausweichen.

Gruß,
Dirk

von Mario (Gast)


Lesenswert?

schau dir mal von silabs die C8051F33x/4xx an , die haben 
DAC,ADC,RTC(F4xx) integriert , und für 60-80€ bekommst du nen gutes 
Protoboard,IDE, und ICE!!!  genug tutorials,Bücher gibts für die 8051-er 
auch, und nen kostenlosen opensource c-compiler ebenfalls

den F330 gibts auch als Dip20 für die Grobmotoriker ;-)


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.