Hallo Leute, in den letzten Tage habe ich mich zum Thema MCU belesen und entschieden einige Tests mit die pfiffigen Geräten durchzuführen, d. h. ich bin blutiger Anfänger in der Thematik. Ich gehe davon aus, dass sich insbesondere im Hobbybereich der Wechsel zu anderen MCU-Herstellern schwierig gestalltet. Deswegen würde ich mich gerne - vorab - über eure Erfahrungsschätze erkundigen, welche Vor- und Nachteile ihr zu den unterschiedlichen Herstellern weitergeben könnt. Mir ist klar, dass der Anwendungsbereich eine große Rolle bei der Entscheidung des MCU-Typs darstellt. Dennoch würde ich diesen Thread gerne so allgemein wie möglich halten. Kriterien die mir auf anhieb einfallen, sind: - Softwareverfügbarkeit (incl. Kosten), - Programmierungsaufwand, - Speziellisierung der Hersteller auf besimmte Funktionen der MCU, - MCU-Kosten (Einzelteil, Kleinserie, Großserie) und - Sonstiges Wäre Nett von euch, wenn ihr jeweils dazuschreibt, ob eure Erfahrungen aus der Prototypenentwicklung (Hobby oder Kommerz), Kleinserien- oder Großserienfertigung stammen. mfg Moelf
Die Fragestellung ist hoffnungslos und weitgehend sinnfrei. Genausogut könnte man fragen, welches Auto jemand für das geeigneste hält, oder welche Hausbauvariante.
schließe mich dem Vorredner an. Stell lieber eine konkrete Frage bzw. such davor im Forum ob nicht die Frage schon beantwortet ist (oder ein Teil davon)! PS: es gibt Hersteller, die auch verschiedene µC/µP anbieten. D.h. man muss gar nicht den Hersteller wechseln, um vieles neu zu programmieren müssen.
Erich schrieb: > Die Fragestellung ist hoffnungslos und weitgehend sinnfrei. So ist es. Beschreibe lieber mal, was Du so mit dem uC anstellen möchtest und was ungefähr für Geräte Du entwickeln möchtest. Anhand von dem lässt sich dann sicher schon was sagen. Aber anhand des Herstellers kannst Du sowas nicht mehr ausmachen. Als Beispiel seien Renesas und Texas Instruments genannt. Beide Firmen haben sowohl vom Kleinstmikrocontroller bis hoch zum Multicore Mikroprozessor und DSP so ziemlich alles im Angebot.
Meine Vorredner haben schon recht. Konkret kann man das nicht beantworten. Ich nutze als Hobbybastler die PIC-Familie. Dass ich bei "Microchip" hängengeblieben bin war reiner Zufall (hab auber auch nichts anderes ausprobiert). Grund dafür war eigentlich die Seite von sprut (www.sprut.de). Die uC sind leicht zu bekommen (Reichelt/Conrad), Atmel sind dort u. a. auch erhältlich. Kostenlose Software zur Programmierung gibt's im Netz. Interessiert mich jetzt auch wie ihr anderen zur Marke gekommen seit. Stefan
auf der Arbeit haben wie 80C166 aber das Ding ist so gut wie ausgestorben. Beruflich sieht eher immer anders als Privat, meistens nimmt die Entscheidung ein Senior Entwickler ab. Privat finde ich die PIC 16f84 und 16F877 gut für den Einstieg. Aber auch Atmega 8, 16 und 32 sind sehr gut. Es gibt eher fragen, die man beantworten muss wie : - welche Schnittstelle bietet mir den MCu an? - wieviel I/Os - sind die MCUs schnell von Lieferanten zu bekommen? Aber an für sich die Prinzipien sind im Allgemein gleich. Was man aber schon im Netz merkt, die Scene des AVRs ist in Deutschland sehr groß. Die AVRs sind aber so gut wie unbekannt in USA und andere englisch sprachige Länder. Dort ist der PIC sehr beliebt, obwohl die Scene des PICs auch in Germany groß genug ist. Also fang an, das habe ich auch mittlerweile gelernt ;-) und den Rest kommt von allein..
> Die Fragestellung ist hoffnungslos und weitgehend sinnfrei. > Genausogut könnte man fragen, welches Auto jemand für das geeigneste > hält, oder welche Hausbauvariante. Wie Erich schon sagte, ist das "Geschmackssache".... Du kannst dir den Artikel hier im Forum durchlesen: http://www.mikrocontroller.net/articles/Entscheidung_Mikrocontroller Wie du sicher schon bemerkt hast, ist dieses Forum sehr AVR lastig, aber es wird dir auch bei allen anderen Controllerfamilien geholfen. Für alle Controller gibts eigene Foren. Falls du dich für PIC entscheiden solltest, kann ich dir für denn Anfang alles erklären. Mfg Kroko
Vielen Dank für die Antworten (besonders Stefan H., Maximilian u. Stefan R.), das hilft erstmal weiter. So wie das Aussieht ist es wohl für meine Zwecke egal welchen MCU-Typ ich mir aussuche. Bei meiner bisherigen Recherche ging es bisher hauptsächlich um die PIC-Reihe. Das Argument der MCU-Scenen ist Gold wert (nochmal Danke an Stefan R. für den Link u. an Maximilian), war mir bisher nicht aufgefallen. Bleibt also die Entscheidung AVR oder PIC. @ Johnny B. u. a. Erstes Projekt wird sein: LED's über USB anzusteuern. Wenn das dann mal geklappt hat wird sich zeigen was als nächstes kommt. Schaltungsaufbau, Funktionsweise der MCU ... sind erstmal kein Ding. Wo ich bei mir die Probleme sehe ist die Programmierung. (Bin aber gewillt mich da einzuarbeiten.) Meine bisherigen Erfahrungen beschränken sich auf Delphi und - vor Ewigkeiten - Basic. Gibt es evtl. Unterschiede im Programmierungsaufwand? mfg Moelf
Auf die Dokumentation sollte man auch achten, hier unterscheiden sich die Hersteller teilweise gewaltig. In meiner Technikerausbildung habe ich mit einem 80C535 angefangen, hier kam die Dokumentation halt vom Lehrer ;) Durch die Zeitschrift c't bin ich irgendwann zu einem ATmega 80535 gekommen, und hängen geblieben. Die Dokumentation von Atmel ist einfach nur super, alles was man braucht in einem Dokument und eine ganze Menge Applikationnotes. Auf der Arbeit wird mit der 8051-Familie von Philips/NXP gearbeitet, dort ist die Dokumentation eine mittlere Katastrophe. Wie schaut es denn bei PIC und anderen Controllerfamilien aus?
Nicht nur die Doku ist wichtig, auch das Errata. Was nützen einem die schönsten Funktionen wenn die im Errata nur als buggy und unbrauchbar dargestellt werden. Bei den PIC's arbeiten die Microchipler ständig an den Pheriperiemodulen weiter. Wenn man von einem PIC auf einen anderen gehen möchte (wegen mehr Speicher oder Pins) dann muss man diese Doku nochmal genau durchlesen ob die Pheripeire in der Variante nicht doch eine Änderung erhalten hat. Ich bin da auch mal drauf reingefallen, das war ein PIC24. Welcher Controller Dir gefällt, musst Du selbst herausfinden, anhand der Verfügbarkeit, Doku und den Programmern (kosten immer Geld) und der verfügbaren Software und wie einem die gefällt (Freeware bis Kommerziell alles vorhanden). Was darf der Einstieg denn kosten? (Was mir gefällt schreib ich jetzt nicht, sonst bekomme ich eh wieder eine auf die Mütze)
Ich habe mit den PICs begonnen und verwende auch diese hauptsächlich. Ich verwende MPLAB von Microchip als IDE und den CCS Compiler, dieser hat sehr viele Funktionen eingebaut, viele Treiber und Beispielprogramme. Da ist mir der Einstieg recht leicht gefallen. CCS Compiler: www.ccsinfo.com Nur als Tipp. Mfg Kroko
Markus Müller schrieb: > Bei den PIC's arbeiten die Microchipler ständig an den Pheriperiemodulen > weiter. Wenn man von einem PIC auf einen anderen gehen möchte (wegen > mehr Speicher oder Pins) dann muss man diese Doku nochmal genau > durchlesen ob die Pheripeire in der Variante nicht doch eine Änderung > erhalten hat. > Ich bin da auch mal drauf reingefallen, das war ein PIC24. Dafür kommt man dort an die entsprechenden Dokumente problemlos ran, ich bekomme darüber sogar monatlich eine Email mit den neuesten Änderungen. Und es ist bei weitem nicht so, dass aus purer Unternehmungslust einfach Schnittstellen geändert werden. Es wird solange nachgebessert, bis es passt - fertig. Sorry, aber es nervt mich, wenn hier immer so getan wird als gäbe es sowas bei anderen Herstellern nicht. Ich hatte z.B. Ende 2008/Anfang 2009 ganz erhebliche Sorgen mit einigen STM32-Derivaten - da hätte ich mir Transparenz a la Microchip wirklich gewünscht.
Ach ja, zum Thread: Ich habe PIC16, PIC18, PIC24 und dsPIC33, MegaAVRs und STM32 benutzt und würde es wieder tun, trotz einigen Problemchen. Macht euch doch nicht vor dass der Erfolg eines Projektes nur von den Fehlern eines ICs abhängig wäre. Es gibt soviel zu beachten, da gehen Workarounds für den Mikrocontroller glatt im Grundrauschen unter.
Von Microchip gibt es auch einen 24/7 Support, der Antwortet innerhalb von 2 Tagen auf Probleme. Unser Distributor legt sich auch immer ins Zeug, wenn etwas mit einem PIC nicht geht. Ich wollte PIC nicht schlecht machen, es ist nur ein Hinweis. Wenn man das nicht weiß (so wie ich damals) dann sucht man mal einige Stunden und es war nur ein pobliger PWM Ausgang eines Timers! Ein STM32 ist für einen Neueinsteiger sowiso nicht zu empfehlen, solange er keine speziellen Features braucht, die erst ab dieser Chip-Reihe verfügbar sind (Ethernet, mehr Speicher, viel mehr Timer usw.). Und wenn man seine Funktionen in C programmiert und strickt Trennt nach - Initialisierung (HW-Abhänging) - IO-Ausgabe (HW-Abhängig) - Funktionen Dann barucht mann nur wenige Zeilen im Code anpassen und schon läuft das ganze auf dem neuen Prozessor. Moelf soll doch mal scheiben was er gerne machen möchte.
Früher gings leider nicht. War die letzten Tage unterwegs, da gabs nichts mit Internet. @ Markus Müller: Hab's oben schonmal erwähnt. Als Einstiegsprojekt möche ich LEDs über den USB-Anschluss ansteuern. Primär geht es mir darum, Mechanik mit dem Rechner anzusteuern bzw. Programmieren zu können. Ich habe auch schon überlegt, ob ich mir einfach ein Lego-Mindstorm-Set zulege. Aber die Möglichkeiten sind mir dabei zu begrenzt. Also bin ich auf MCUs gekommen und alles was ich bisher dazu in Erfahrung gebracht hat für MCUs gesprochen. mfg Moelf
Moelf schrieb: > Als Einstiegsprojekt möche ich LEDs über > den USB-Anschluss ansteuern. USB ist schonmal kein Anfängerprojekt. Ich habs bisher immer vermieden, da durchzusteigen. Und man sieht sehr oft, daß es anderen genauso geht. Ich hab z.B. kürzlich ne professionelle SPS verwendet mit USB. Aber man mußte einen Treiber installieren und in der PC-Software einen COM-Port zur Verbindung auswählen. In der SPS war also nur ein RS232-USB Umsetzer integriert. Ein USB-RS232 Umsetzer kostet ja nur etwa 4€ (Reichelt). Peter
Moelf schrieb: > Als Einstiegsprojekt möche ich LEDs über > den USB-Anschluss ansteuern. Wenn es nur zwei LEDs (= paar) sind, dann reicht ein USB-RS232 Umsetzer. Der hat die Ausgänge RTS und DTR, die kann man per Software vom PC aus einzeln steuern. Ansonsten liefern in der Regel sämtliche Hersteller zu Chips mit USB Möglichkeit auch einen Demo-Code mit dazu. Als Neuling wird man den nicht verstehen, es sind ca. 2000 Codezeilen. Dann muss man noch einen Gerätetreiber für den Chip installieren, den man sich auch irgend wo her zusammensaugen muss (libusb). USB alleine ist ein sehr mächtiges Projekt, selbst erfahrene USB-Neueinsteiger brauchen 1 Monat. Zu Anfang würde ich eher zu einer Kommunikation über serielle Schnittstelle raten, die ist im Microcontroller einfach zu realisieren.
Moelf schrieb: > Schaltungsaufbau, Funktionsweise der MCU ... sind erstmal kein Ding. Wo > ich bei mir die Probleme sehe ist die Programmierung. (Bin aber gewillt > mich da einzuarbeiten.) Meine bisherigen Erfahrungen beschränken sich > auf Delphi und - vor Ewigkeiten - Basic. Gibt es evtl. Unterschiede im > Programmierungsaufwand? Du solltest Dich in C einarbeiten. Wenn Du Delphi kennst, hast Du schon gute Voraussetzungen, dann musst Du Dich nur in der Syntax etwas umgewöhnen: begin/end -> {} := -> = (Zuweisung) = -> == (Vergleich) <> -> != (ungleich) Zu den kleinen PIC-Architekturen (bis PIC18) würde ich nicht greifen. Hier hast Du nämlich unter anderem eine architekturbedingte maximale RAM-Größe von 4k minus 128 Bytes. Beim AVR geht der lineare Adressraum bis 64k, mit Bankswitching (d.h. dem Umschalten der oberen Adressleitungen) kannst Du auch ein 512k SRAM problemlos ansteuern. Wenn Du Dich mal mit Grafikdisplays beschäftigst, wirst Du Dich darüber freuen (Ablegen von Bildschirminhalten etc). PIC24, dsPIC und TI MSP430 sind ganz angenehme 16 Bit Architekturen. Wenn Du erst einmal C richtig kannst und das Prinzip verstehst, ist der Umstieg auf eine andere Architektur nicht mehr das Problem. fchk
Wie schon von anderen angedeutet, kann man keine generelle Gut-Schlecht-Aussage bezüglich verschiedener Hersteller und Controller-Familien abgeben. Ich persönlich habe mich bei meinem Einstieg u.a. daran orientiert, welche Typen in den Projekten verwendet wurden, welche ich gern nachbauen und weiterentwickeln wollte, natürlich mit Blick auf Beschaffbarkeit der Chips und der Entwicklungsumgebung. Moelf schrieb: > ... > Erstes Projekt wird sein: LED's über USB anzusteuern. Wenn das dann mal > geklappt hat wird sich zeigen was als nächstes kommt. Dafür könnte das hier eine Vorlage sein: http://www.sprut.de/electronic/pic/projekte/usb4all/usb4all.htm Das könntest du erst mal aufbauen, und wenn es läuft umprogrammieren. Und auch wenn da ein PIC18 verwendet wird, von dessen Verwendung Frank K. abrät, so schlecht sind die Teile nicht, und vor allem auch in C programmierbar. > Schaltungsaufbau, Funktionsweise der MCU ... sind erstmal kein Ding. Wo > ich bei mir die Probleme sehe ist die Programmierung. (Bin aber gewillt > mich da einzuarbeiten.) Meine bisherigen Erfahrungen beschränken sich > auf Delphi und - vor Ewigkeiten - Basic. Gibt es evtl. Unterschiede im > Programmierungsaufwand? Du solltest schon C lernen, was mit Vorkenntnissen in Programmierung nicht so schwer sein sollte. Und den Assembler-Code des jeweiligen µC zu verstehen, ist auch ganz nützlich. Michael
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.