Vorab: Dieses Thema ist sicherlich Glaubenssache, und wahrscheinlich
regelrechtes Kraftfutter für Trolle, aber ich möchte einfach mal ein
paar ernstgemeinte Meinungen zum Thema hören, bevor der Thread gesperrt
wird.
Es geht hier nicht um mein eigenes Anliegen - ich benutze überwiegend
AVRs, habe aber alte PIC16-Erfahrungen und arbeite meistens unter
Windows. Alles kein Problem.
Nun gibt es aber in meinem Umfeld einen jungen Menschen (noch Schüler),
der sich für solche Themen wie Elektronik und Mikrocontroller
interessiert - hauptsächlich, um diese später im Modellbau einzusetzen.
Ich hakte dies für förderungswürdig, und würde gern auch Hilfestellung
dazu geben, aber: Dieser junge Mensch ist MAC-User (und sammelt dort
gerade erste Erfahrungen in der C-Programmierung).
Ich würde gern wissen, was sich als ein für (ältere) Schüler tauglicher
Einstieg anbietet, wenn nunmal ein Apple als Entwicklungsplattform
dienen soll. Nach meiner eigenen Erfahrung hätte ich ja erst einmal
Atmel empfohlen, aber leider ist das CrossPack doch keine "All-in-one"
Lösung wie AVR Studio es unter Windows ist.
Nun gibt es einerseits ja den hier oft versoptteten Arduino, mit einer
für Mac tauglichen Entwicklungsumgebung. Benötigt vorprogrammierten
Bootloader, ist kein naturreines C, aber immerhin für Einsteiger
nutzbar.
Die andere Möglichkeit wäre, mit MPLAB X über den Tellerrand zu blicken,
und mit PIC18 oder PIC24 einzusteigen. Ein PICKit3 sollte OSX-tauglich
sein, und das könnte man vom Preis her noch spendieren - teurere Tools
scheiden hier aus. Ich wäre an dieser Stelle durchaus bereit, meine
eigenen PIC-Kenntnisse aufzufrischen, um Hilfestellung leisten zu
können, aber ist das etwas für einen interessierten Anfänger? Und was
kommt einem überschaubaren Einstieg mehr entgegen, PIC18 oder PIC24?
Also, was sagen die hier vertretenen Fangemeinden?
- CrossPack und XCode, mit allen Nachteilen daraus, daß es sich nicht um
eine integrierte Lösung handelt?
- Arduino für Mac?
- MPLAB X und PIC18 oder PIC24?
Das Stichwort hier sollte "einsteigerfreundlich" sein, es geht nicht
unbedingt darum, was technisch am besten ist.
Meine persönliche Erfahrung besagt, dass Arduino und Mac OS X vom Start
an problemlos funktionieren.
Für Einsteiger besonders günstig: Eine IDE ohne großes Beschaffen
irgendwelcher zusätzlicher Pakete, kein Installer-Gefrickel,
Compiler-Parameter usw. - einfach nur downloaden, starten, geht ...
** einzige zusätzliche Aktion: Der USB-Treiber (FTDI) für den Arduino.
Klappt aber problemlos.
Danke, das ist ja schon mal gut zu hören. Würde dann wahrscheinlich auf
eine Steckbrett-taugliche Variante hinauslaufen, Arduino nano oder
ähnlich. Trotzdem wäre es natürlich noch interessant, falls jemand aus
dem "anderen Lager" noch eine Meinung beizutragen hat.
Nacht ganz Einsteigerfreundlich, aber geht auch:
Eclipse, GCC, und Segger J-LINK für Windows, Linux und Mac.
Um die Prozessoren mit ARM/Cortex-Mx programmieren zu können.
STM32, NXP LPC, Analog, Atmel, TI, uvm.
Es gibt viele Demo-Boards und viel Auswahl an Demo-Software und hier im
Forum auch viel Unterstützung.
z.B. STM32F4DISCOVERY ist für kleines Geld zu haben.
Siehe Artikel: STM32
Unter OS X lässt sich auch etwas Arduino-artiges namens "energia"
nutzen:
http://energia.nu/http://energia.nu/download/downloadv3.php?file=energia-0101E0011-macosx.dmg
Energia unterstützt neben MSP430 auch Stellaris LM4F120 bzw. Tiva
TM4C123G (beide ARM Cortex M4F).
Ansonsten gibt es mit Rowley Crossworks auch eine kommerzielle IDE für
AVR, MSP430, ARM und MAXQ20/30, die nativ unter OS X läuft.
Nichtkommerzielle Lizenzen davon sind mit 150 USD noch nicht als völlig
überteuert anzusehen.
Ich denke, STM32 wäre eher für mich selbst interessant, falls es mal
etwas mehr sein soll... Ein Einsteiger ohne große Vorkenntnisse wird
wahrscheinlich von der Komplexität erst einmal überwältigt sein. Aber
danke für den Tip.
Energia in Verbindung mit einem Launchpad scheint eine echte Alternative
zu sein. Müßte ich vielleicht selbst erst einmal testen, um zu sehen, ob
es wirklich so einfach ist. Sieht aber erst mal gut aus.
Danke für die konstruktiven Hinweise. Natürlich soll das nicht heißen,
daß ich die Diskussion hiermit gleich endgültig beenden möchte. Wer noch
was weiß... bitte.
M. H. schrieb:> Über die Clones kann ich dir nichts sagen, da ich ein original PICkit 3> verwende.
Ich habe mir (eigene Dummheit) einen PICKIT3-Clone zerschossen so das
dieser nicht mehr als USB-Device erkannt wurde. Mit dem alten PICKIT2
habe ich die Original MICROCHIP-Firmware (genaugenommen den
USB-Bootloader) drauf geflascht und aus MPLAB heraus die aktuelle
Firmware draufgespielt und der PICKIT3 läuft wieder. Also dürfte die
Kompatibiltät der Clones nicht so schlecht sein ;-)
Hi,
Chris B. schrieb:> Also dürfte die> Kompatibiltät der Clones nicht so schlecht sein ;-
Also sowohl der Schaltplan als auch die Firmware für den PK3 sind "frei"
verfügbar. Daher würde es mich auch wundern wenn die Chinesen sich nicht
daran Orientiert hätten. Ich kann mir höchstens noch vorstellen das
vielleicht das ein oder andere Bauteil etwas günstiger Ausgefallen
ist...
Wenn ich mich jetzt nicht verschaut habe müsste nicht nur die
kompilierte Firmware verfügbar sein, sondern sogar der Quellcode für den
PK3. Daran könnte sich dann so manch anderer HErsteller ein Beispiel
nehmen:
ww1.microchip.com/downloads/en/DeviceDoc/PICkit3%20Programmer%20Applicat
ion%20v3.10.zip
Aber BTT:
Welche Familie man bevorzugt ist natürlich -abseits von allem FanBoy
getrolle- auch Geschmackssache. Und jemand der professionell in diesem
Bereich Tätig ist hat zwar sicher auch seine Präferenzen, aber er sollte
immer wieder neu bewerten welche µC nun der geeignete ist.
Aber wir sprechen hier vom Einstieg:
Und da finde ich die PIC - nachdem ich die Anfang dieses Jahrtausends
sicher keinem Anfänger empfohlen hätte- mittlerweile wieder sehr
geeignet.
Man bekommt alles aus einer Hand, Die ganze Entwicklungsumgebung läuft
im Normalfall "Out of the Box" und die Einstiegswerkzeuge sind sehr
günstig.
(35 Euro für einen "fast" unkaputtbaren Programmer mit
Debugmöglichkeiten)
Es gibt von Microchip mittlerweile ein wirklich reichhaltiges Framework
mit sofort einsetzbaren Libs für Dinge von einfacher Ansteuerung einer
HD44780 LCd Anzeige über USB Kommunikation bis hin TCP-IP (bsp.
Webserver) oder MP3 Ausgabe...
Alles direkt auf der Microchip Seite ohne langes zusammensuchen.
Überwiegend gut dokumentiert und vor allem zueinander passend.
Dieses "alles aus einer HAnd" ohne sich lange irgendwas zusammensuchen
zu müssen ist einer der RIESEN Vorteile die ich bei den PIC sehe.
Zudem gerade für den erstkontakt mit der Elektronik interessant ist das
Microchip auch heute noch alle neuen Controller die mit 40 oder weniger
Pins auskommen auch im DIL Gehäuse auf dem Markt bringen. Ein "alter
Hase" macht sich für SMD schnell eine Platine, aber für den Anfänger ist
DIL schon ein vorteil.
Ausserdem darf man nicht vergessen darauf hinzuweisen das man mit dem
einen PK3 für ~30 Euro und dem MPLAB eine Programmierumgebung hat mit
der man vom kleinsten PIC10F200, 8bitter in absoluter Sparausführung im
SOT23/5 Gehäuse bis zum Dicken 32 Bitter mit 80Mhz (und später sogar die
jetzt noch nicht wirklich einsetzbaren PIC32MZ mit über 200MHz und
Megabyte an internem Speicher) programmieren kann.
Und als letztes I-Tüpfelchen ist noch zu nennen:
Wenn dein "Schützling" über eine Schul- (oder Hochschul) Mailadresse
verfügt kann er bis zu 9 Controller pro Monat kostenlos bekommen...
-Frei Haus-!
Beim Einstieg mit günstigen Controllern wie dem Pic18F14K22 für 1-2 Euro
vielleicht nicht so relevant, wenn er aber dann mal was mit einem dicken
Brummer wie dem PIC32MX795F512L machen möchte der für den Privatmann
locker mal über 10 Euro pro Stück kosten kann entlastet das einen
"Taschengeldbezieher" schon wirklich enorm!
Da du auch gefragt hattest: Wenn Pic, womit Anfangen?
Für den Einstieg auf jeden Fall die PIC18F Familie!
Diese hat mehr LEistung als die PIC16 und auch viele der
"Einschränkungen" welche von einigen hier als Vorwand für das PIC
Bashing genommen werden sind nicht mehr da.
Für diese gibt es Einführungsprojekte auch von Microchip selbst und
trotzdem haben die selbst für Fortgeschrittene schon enorm interessante
Möglichkeiten wie Ethernet oder USB on Board. Die ganze Dokumentation
ist hier auch noch "Zusammenhängend" -Also ein Datasheet pro PIC was für
einsteiger das Leben sicher leichter macht.
PIC24 sind technisch tolle µC - Allerdings finde ich persöhnlich das
hier die "Einstiegshilfen" am dürftigsten Aussehen. Auch wird hier schon
wie bei den 32ern mit Family Datasheets gearbeitet. Da würde ich für den
Anfang eher noch zu den 32 Bittern tendieren wenn die 18F als zu klein
erscheinen...
Allerdings; Dies ist nur meine Subjektive Meinung und es gibt sicher
auch für andere µC Familien gute Gründe. Allerdings darf man auch nicht
vergessen das die Entscheidung welche Familie man nimmt heute bei weitem
nicht mehr so kritisch ist wie früher...
Gut - man trifft eine Entscheidung mit dem Programmieradapter, aber da
für fast jede Familie ein brauchbarer für weniger als 50Euro zu bekommen
ist ist ein Umstieg viel leichter vorzunehmen als in den Zeiten wo die
Dinger 500 bis 1000 DM gekostet haben. Ausserdem schreibt man heute ja
üblicherweise in C. ASM Grundkentnisse sind hilfreich und zu Empfehlen,
aber C ist C und man muss sich nur die Peripherie beim wechsel neu
anschauen und kann nach 1-2 Tagen genauso effektiv auf einer neuen
Architektur arbeiten. Die ASM Grundlagen des neuen Typs kann man dann
bei Bedarf notfalls noch dazulernen.
Es ist sicher nicht mehr wie früher wo man nicht nur die neuen ASM
Befehle "lernen" musste wie Vokabeln - sondern auch noch eine ganze Zeit
einarbeitung brauchte bis man auf der neuen Architektur mit den neuen
Befehlen genauso effektiv arbeiten konnte.
(ASM Programme in einem neuen Dialekt lesen lernt man schnell wenn man
einmal ASM wirklich kapiert hat. Das effektive selbst Schreiben ist das
was dauert!)
Gruß
Carsten
Ich kann auch nur vom PIC-Einstieg erzählen. Ich kenne es auch, das man
sich pro Monat 3*2 PICs á 3 Stück "samplen" kann. Sollte man natürlich
nicht missbrauchen, sonst haben sie das mal gemacht. Es gibt ja Leute,
die bestellen sich so viel es geht und verkaufen sie dann bei ebay...
Naja
Ein zusätzlicher Punkt noch von mir: Sollte der "noch Schüler"
irgendwann so viel Begeisterung für Elektronik zeigen und will eine
Ausbildung zum EGS machen, dann hat er es in dem Sinne einfacher, da im
Unterricht und in den Prüfungen nur PIC-uCs genutzt werden.
Eben diese Ausbildung hab ich auch gemacht, daher hatte ich schon ein
paar Grundkenntnisse. Jetzt studiere ich Elektrotechnik und da ich
zuhause auch etwas machen will, hab ich durch einen Hinweis eine Email
an Microchip gesendet. Nach einem Formular und 2 Wochen Wartezeit, hatte
ich das PICKIT3 mit einem kleinem Demoboard mit einem PIC18F45K20 (oder
so ähnlich) in der Hand. Für 0€. Dann habe ich das Samplen mal
ausprobiert und hatte weitere 2 Wochen später ein paar PICs in der Hand.
U.a. ein PIC18F4550 in DIP-Gehäuse und USB-Modul an Board. Nach ein paar
Downloads, Einarbeitungszeit, ausgebauter USB-Buchse und dem Kauf eines
Quarzes und Steckbrett, konnte ich also mit Visual Studio und C# (0€)
eine Software für den PC schreiben und ich konnte mit MPLABX und XC8
(0€) eine Software für den PIC (0€) schreiben, den ich mit einem pickit3
(0€) geflasht habe. Ich brauchte nur einen Quarz kaufen, und weil ich
keine Lochrasterkarte nehmen wollte, ein Breadboard. Dank DIP ja kein
Problem. Das Endergebnis war eine USB-Kommunikation mit reiner Freeware
und sogut wie kostenloser Hardware. Ich zumindest finde das
bemerkenswert.
M. H. schrieb:>> Ich habe mir (eigene Dummheit) einen PICKIT3-Clone zerschossen so das...> Darf ich fragen, wie du das gemacht hast?
Hmmmm ist nicht mehr so richtig nachvollziehbar, jedenfalls hat der
PICKIT nach der Installation einer neuen MPLAB-Version ein
Softwareupdate gemacht und dabei habe ich blöderweise die USB Verbindung
getrennt. Jedenfalls wurde der PK3 nicht mehr erkannt und nicht nur auf
dem einen Rechner sondern auch auf einem Anderen). Also blieb nur mehr
die harte Tour, den Bootloader mit einem alten PICKIT2 in den PIKCIT3
geflasht und er lief wieder - zum Glück hat der PK3 einen 24Fxxxxx
Controller der sich mit einem PK2 flashen lässt :-)
Ach ja, mein Einstig in Mikrokontroller und PIC war in den 90er schnell,
kurz, frustrierend: PIC16xx/JW zur Programmentwicklung und x-faches
Löschen unter der UV-Lampe bis das Programm so lief wie geplant (ein ICE
hätte das private Budget gesprengt) - nö das war eher "uncool" (die
nachfolgende lange Pause was Controller betrifft hatte aber andere
Gründe). Bin dann aber doch wieder bei den PIC gelandet.
Sebastian schrieb:> Vorab: Dieses Thema ist sicherlich Glaubenssache, und wahrscheinlich> regelrechtes Kraftfutter für Trolle, aber ich möchte einfach mal ein> paar ernstgemeinte Meinungen zum Thema hören, bevor der Thread gesperrt> wird.
Willst du das wirklich in einem Forum Fragen wo es zwar eine Rubrik für
GCC gibt aber keine für µC C für andere Marken als Atmel?
Das Forum nennt sich Mikrocontroller, ist aber eine von und für Atmega
Fanboyz.
Der Rächer der Transistormorde schrieb:> Willst du das wirklich in einem Forum Fragen wo es zwar eine Rubrik für> GCC gibt aber keine für µC C für andere Marken als Atmel?
Aha. Wo steht das der GCC nur Atmel ist?
> Das Forum nennt sich Mikrocontroller, ist aber eine von und für Atmega> Fanboyz.
Ich sehe das hier:
Chris B. schrieb:> Ach ja, mein Einstig in Mikrokontroller und PIC war in den 90er schnell,> kurz, frustrierend: PIC16xx/JW zur Programmentwicklung und x-faches> Löschen unter der UV-Lampe bis das Programm so lief wie geplant (ein ICE> hätte das private Budget gesprengt)
Und wehe man hat versehentlich die CP Fuse beim JW gesetzt!
Die war bei vielen (allen?) JW Typen trotz Fenster NICHT Rücksetzbar.
Durch das vesehentliche setzen der CP Fuse hat man dann aus dem über 50
Mark teuren JW Pic einen OTP Typ gemacht. Danach war nichts mehr mit
Wiederbeschreiben...
Der Rächer der Transistormorde schrieb:> Willst du das wirklich in einem Forum Fragen wo es zwar eine Rubrik für> GCC gibt aber keine für µC C für andere Marken als Atmel?
OK, das Forum ist SCHON AVR Lastig, das muss man hier immer bedenken.
> Das Forum nennt sich Mikrocontroller, ist aber eine von und für Atmega> Fanboyz.
Ganz so schlimm ist es dann doch nicht. Die AVR nutzer sind in der
Überzahl und es tummeln sich tatsächlich auch so einige "typische"
Fanboys unter diesen.
Aber was die wirklich sachkundigen Teilnehmer angeht so halten sich
zumindest bei Pic vs. Atmel die Zahlen sicher die Waage.
Da kann der hohe AVR Anteil bei Fragen sogar hinderlich sein wenn dann
die fast immer vorhandenen qualitativ hochwertigen Antworten im
gerausche derjenigen Untergeht die selber vielleicht gerade mal ein paar
Wochen µC Programmierung machen, aber meinen sie wüssten bereits alles.
Diese gibt es zwar bei den anderen Familien auch, aber nicht in der
Masse.
(Natürlich kann auch ein Anfänger die "richtige" Lösung haben,
beispielsweise weil er genau dasselbe Problem hatte. Dann SOLL er auch
Antworten. Aber oft genug sieht es dann doch nach reinem raten aus oder
es werden Tipps gegeben die mit dem ursprünglichen Problem nun wirklich
GAR NICHTS zu tun haben. Und wie soll ein anderer Anfänger dann bewerten
ob die Meldung nun von einem Sachkundigen oder ratendem Dummschwätzer
kommt.)
Gruß
Carsten
Carsten Sch. schrieb:> Die AVR nutzer sind in der> Überzahl und es tummeln sich tatsächlich auch so einige "typische"> Fanboys unter diesen.
Naja, so ganz glaube ich das nicht, aber es ist schon wahr, daß die hier
vertretenen AVR-Fans sich am lautesten äußern, den meisten Traffic
verursachen, am heftigsten über den Rest der Welt herziehen und in fast
allen Dingen am uneinsichtigsten sind.
Was das dabei gepflegte technische Niveau betrifft, so ist das eher zum
Heulen: Ich glaube, Peter Dannegger hat mit seinen Routinen zum
Entprellen von Tasten eine Downloadzahl von einigen Tausend und ist
damit der quasi ungekrönte Download-König hier. Das ehrt ihn - aber
lehrt uns, daß das gewöhnliche AVR-Publikum in diesem Forum sich
technisch nicht in der Lage sieht, sowas wie die Entprellung von ein
paar Tasten aus eigener Kraft hinzubekommen - aber das hindert sie nicht
am BesserwissenWollen von allem in allen Topics!
Dem Beitrag von Carsten (dg3ycs) kann ich nur voll zustimmen, wenngleich
ich selbst nur die kleineren PIC16Fxxx und Assembler benutze und für
größere Vorhaben was anderes nehme.
Ich gehe auch heutzutage anders an das Ganze heran, formuliere zuerst
das Vorhaben und suche danach erst nach dem geeigneten µC - aber als Bub
wäre mir das fremd gewesen, da will man was experimentieren, also
sinngemäß auf dem Stullenbrett sein selbstgebautes Radio klingen lassen,
auch wenn es wie ein Drahtigel ausschaut.
Für sowas sind die PIC's geradezu ideal, weil es schon seit den frühen
90er Jahren eine große Menge an pfiffigen Ideen als Appnotes von
MicroChip gibt - und weil selbst die allerältesten Ideen sich problemlos
auch auf neueren Familien realisieren lassen. Da hat MicroChip ne
Langzeit-Kontinuität gezeigt, die man bei ganz vielen anderen
Herstellern vermißt.
W.S.
Danke nochmal an alle. Ich bin ja echt begeistert von dem umfangreichen
Feedback, vor allem Carsten Sch. hat sich ja mächtig ins Zeug gelegt.
Ich werde selbst mal in zwei oder drei Alternativen reinschnuppern,
bevor ich eine bestimmte weiterempfehle, aber die bisherigen Aussagen
haben die Auswahl sinnvoll eingeschränkt. Schönen Advent allerseits.
Carsten Sch. schrieb:
...
> Da kann der hohe AVR Anteil bei Fragen sogar hinderlich sein wenn dann> die fast immer vorhandenen qualitativ hochwertigen Antworten im> gerausche derjenigen Untergeht die selber vielleicht gerade mal ein paar> Wochen µC Programmierung machen, aber meinen sie wüssten bereits alles.> Diese gibt es zwar bei den anderen Familien auch, aber nicht in der> Masse.
Berufsbeschreibung Programmierer:
ein Programmierer muß hochgradig faul sein.
Programmierer verwenden gern externe und korrekt arbeitende
Bibliotheken.
Programmierer sind paranoid und prüfen deshalb alle Eingaben.
Berufsbeschreibung Sekretärin
Sekretär[e|innen] sind dagegen fleißig und schreiben sogar das Husten
des Diktators mit.
Berufsbeschreibung Projektleiter:
Projekleiter sind die Geizhälse, welche kontrollieren, ob das Programm
nicht auch nem Chip loft, der 2 cent billiger ist.