Forum: Mikrocontroller und Digitale Elektronik PIC 18F452 - Wie beginnen, was kaufen?


von Stephan Hainer (Gast)


Lesenswert?

Hallo,

ich möchte in die Welt der Mikrocontroller einsteigen und habe mir das 
Buch "Physical Computing" von Tom Igoe gekauft. Dort wird unter anderem 
ein PIC 18F452 beschrieben und es gibt entsprechend Beispielcodes dafür. 
Nun wollte ich mir die notwendige Hardware zum Herumbateln mit diesem 
Controller besorgen und bin beim googeln irgendwie noch ratloser wie 
vorher geworden.

Ich suche ein passendes und günstiges (ich bin noch Schüler) 
Programmiergerät dazu. Kann man diesen Controller wie die AVRs "in 
System" programmieren und funktioniert das nur wenn man den Chip 
umsteckt? Ich habe viele Programmer gesehen die eine Art "Zero-Force" 
Aufnahme für den Chip haben - geht das bei den PICs nicht anders? Andere 
Demoboards von Microchip können keine 40-pin Controller beschreiben - 
Boards die das können kosten direkt mehrere Hundert Euro.

Kann mir jemand vielleicht einen Tipp geben was ich für den Einstieg 
alles brauche und welchen günstigen Programmer man für diesen Chip am 
besten nimmt? Nach Möglichkeit keine Selbstbauten, so weit bin ich 
leider noch nicht :(

Gruß, Stephan

von (prx) A. K. (prx)


Lesenswert?


von gast01 (Gast)


Lesenswert?


von Wolfgang M. (womai)


Lesenswert?

> Ich suche ein passendes und günstiges (ich bin noch Schüler)
> Programmiergerät dazu.

Ich verwende die Development-Boards von Mikroelektronika:

http://www.mikroe.com/en/tools/

EasyPIC 5 oder EasyPIC6 ist das richtig fuer Dich.

Diese Boards haben allgemein einen sehr guten Ruf und sind ausserst 
preiswert. Die zugehoerigen Compiler (Basic, C, Pascal) kommen mit 
Beispielen fuer u.a. PIC18F4520 (PIC18F452 ist veraltet und wurde durch 
then 18F4520 ersetzt). Fuer alle Compiler gibt es Gratisversionen, die 
bloss in der Codegroesse beschraenkt sind, aber fuer viele praktische 
Anwendungen und vor allem zum Lernen voellig ausreichend. Mit den 
Beispielprogrammen ware ich seinerzeit innerhalb von Minuten am Laufen.

> Kann man diesen Controller wie die AVRs "in
> System" programmieren und funktioniert das nur wenn man den Chip
> umsteckt?

Ja, geht ganz aehnlich.

> Ich habe viele Programmer gesehen die eine Art "Zero-Force"
> Aufnahme für den Chip haben - geht das bei den PICs nicht anders?

Das nennt sich abgekuerzt "ZIF-Socket" (zero-insertion-force socket), so 
einen 40-pin-Sockel kannst Du einfach in den normalen DIP-Sockel am 
Development-Board einstecken; so mache ich es selber auch.

Ich hoffe, das hilft Dir bei der Suche. Fuer weitere Fragen stehe ich 
gernen zur Verfuegung.

Wolfgang

von gast01 (Gast)


Lesenswert?

Das ist richtig mit den Boards, habe selber so ein Board.
Nur die sind nicht gerade billig. Ich glaub das sprengt
seinen Geldrahmen. Als Einsteiger sind die sehr gut, man bekommt auch
die verschiedene Programmiersprachen als Demo dort runtergezogen.

von Stephan Hainer (Gast)


Lesenswert?

Hallo Wolfgang,

danke für deine Sehr hilfreiche Antwort. Also die EasyPic5 (6) Boards 
sehen sehr gut aus, dank für den Tipp. Am Anfang wollte ich aber etwas 
minimaler beginnen, nur mit dem Buch, einer Hand voll Bauteile und dem 
PIC. Ich habe bei Tigal den PICFlash2 ICD (http://www.tigal.com/901) mit 
zugehörigem Adapter (http://www.tigal.com/1099) gefunden. Reichen die 
beiden Teile um ähnlich wie im AVR-Tutorial hier auf der Seite z.B. ein 
kleines Programm zu schreiben, dass eine LED blinken lässt, dann auf den 
Pic zu übertragen und auf einem Steckbrett laufen zu lassen?

Der Programmer müsste doch ICSP erlauben (wie beim AVR ISP) und der 
Adapter würde dann wie so ein ZIF-Adapter funkieren (nur halt mit den 
typischen IC-Sockeln?)

Danke und Gruß,

Stephan

von Andreas Häusler (Gast)


Lesenswert?

Der Pic 18F452 ist schon relativ alt.
Würde Dir einen neueren Typ empfehlen1(18Fxxxx).

Gute Microchip Seite:
http://www.fernando-heitor.de/

C-Compiler gibts übrigens gratis bei Microchip. (Schaltet nach 60 Tagen 
nur die Code- optimierung aus, sonst keine Beschränkungen)

Für den Einstieg:
http://www.microchipdirect.com/ProductSearch.aspx?Keywords=DV164131

Mit diesen beiden Kit wirst Du glücklich:
http://www.microchipdirect.com/ProductSearch.aspx?Keywords=DV164036

http://www.lynx-dev.com/index.php?page=shop.product_details&category_id=1648&flypage=flypage.tpl&product_id=61848&option=com_virtuemart&Itemid=2&lang=de

Pickit3 > Lowcost Programmer/Debugger
IDC3 > Programmer/Debugger

Vorsicht, die Stecker der beiden Tools sind nicht identisch.
Zum Pickit3 gibts ein Adapterkabel für die ICD3 Schnittstelle.

Mit den beiden oben genannten Tools kannst Du praktisch jeden Pic in der 
Schaltung programmieren.

Viel Erfolg...

von Andreas Häusler (Gast)


Lesenswert?

Tja, da war ich wohl ein wenig zu langsam... sorry...

von Wolfgang M. (womai)


Lesenswert?

Naja, er hat nicht gesagt, was sein Budget ist. Preiswert sind die 
MikroE Boards auf jeden Fall. Ich entwickle selber Schaltungen fuer 
Kleinserien und habe keine Ahnung, wie die um den Preis so viel 
raufpacken koennen - koennte ich nicht mal, wenn ich alles selber mache.

Die zweite Sache ist die - man kann's natuerlich billiger kriegen wenn 
man irgendein No-Name-Board ueber Ebay auftreibt oder sich selber was 
baut. Aber gerade fuer einen Anfaenger wuerd ich sagen - nimm was, was 
sicher, schnell und einfach funktioniert (und ausserdem spaeter bei 
Bedarf erweiterbar ist - kaum ein Billigst-Board erlaubt z.B. den 
einfachen Anschluss eines Graphik-Displays oder ist sehr flexibel bei 
der Zuweisung von RS-232 oder Potentiometern and den PIC), auch wenn's 
ein paar Euro mehr kostet. Nichts ist schlimmer, als am Ende aufzugeben, 
weil man's einfach nicht zum Laufen bringt.

Ich wuerde meine eigene Zeit auch zumindest ein bisschen einrechnen - 
einige Stunden gefrustet mit Fehlersuche verbracht ist auch was wert. 
Wie gesagt, als ich anfing, hat es von Board Auspacken bis zum 
LED-Blinken und ADC-einlesen-und-Wert-am-LCD anzeigen gerade mal ein 
paar Minuten gedauert, und das war mein erstes Mal mit "richtigen" 
Mikrocontrollern (voher nur Picaxe) - das tut schon was fuer die weitere 
Motivation und nimmt viel von der Anfaengerscheu!

von Wolfgang M. (womai)


Lesenswert?

Stephan Hainer schrieb:
> Hallo Wolfgang,
>
> danke für deine Sehr hilfreiche Antwort. Also die EasyPic5 (6) Boards
> sehen sehr gut aus, dank für den Tipp. Am Anfang wollte ich aber etwas
> minimaler beginnen, nur mit dem Buch, einer Hand voll Bauteile und dem
> PIC. Ich habe bei Tigal den PICFlash2 ICD (http://www.tigal.com/901) mit
> zugehörigem Adapter (http://www.tigal.com/1099) gefunden. Reichen die
> beiden Teile um ähnlich wie im AVR-Tutorial hier auf der Seite z.B. ein
> kleines Programm zu schreiben, dass eine LED blinken lässt, dann auf den
> Pic zu übertragen und auf einem Steckbrett laufen zu lassen?

Ja, das wuerde genauso funktionieren, ich habe den Programmer und das 
kleine Programmierboard selber. Der Programmer erlaubt ICP (genaue 
Verdrahtung ist in der Dokumentation beschrieben). Ob Du Dir da 
allerdings viel Geld sparst im Vergleich zum EasyPIC5 ist die Frage 
(haengt natuerlich davon ab, was Du an Bauteilen schon besitzt). Meine 
Praeferenz waere nach wie vor das EasyPIC - da bist Du viel schneller 
und sicherer am Laufen. Immer lustiger, mit was Funktionierendem 
anzufangen, auf ein Breadboard uebertragen kannst Du die Schaltung immer 
noch spaeter. So machen's auch die Profis - erst mal die Schaltung aus 
Evaluation-Boards etc. zusammenstueckeln (mit moeglichst wenig 
Eigenentwicklung), zum Laufen bringen, Software dafuer entwickeln, 
debuggen, optimieren. Dann(!) das ganze selber (kompakter, billiger, 
optimiert, etc.) nachbauen.

von Stephan Hainer (Gast)


Lesenswert?

Hallo,

also das Budget habe ich nicht genannt - sorry. Liegt so ungefähr bei 80 
EUR. Das EasyPic5 gefällt mir schon sehr gut, ist auch bei Amazon 
gelistet. Jedoch leider zu teuer im Moment. Werde ich aber auf jeden 
Fall für eine spätere Anschaffung einplanen. Euren Argumenten dafür 
stimme ich natürlich voll zu...

Das EVBeasyPIC 
(http://www.lynx-dev.com/index.php?page=shop.product_details&category_id=1648&flypage=flypage.tpl&product_id=61848&option=com_virtuemart&Itemid=2&lang=de) 
hat einen Speicherkartenslot und ein 4MB Speichermodul was ich sehr 
interessant finde. Außerdem noch ein paar andere Spielereien die das 
EasyPic auch hat. Aber beim EVBeasyPIC ist kein Programmer dabei (oder 
doch?)

Mit dem PICKIT 3 
(http://de.farnell.com/microchip/dv164131/debug-kit-express-pickit-3/dp/1686530) 
habe ich zwar keine Peripherie dabei - dafür kann ich aber jeden PIC 
Chip ICSP Programmieren, oder? Außerdem ist hier die MPLAB-Software zum 
Programmieren dabei. Und das würde ja reichen um mich qausi durch mein 
Buch zu basteln. Die Kleinteile wie LEDs, Schalter etc. habe ich schon.

von Wolfgang M. (womai)


Lesenswert?

Mit dem Mikroelektronika EasyPIC kannst Du auch ICP machen - der 
Programmer ist am Board integriert, die Signale kommen aber einfach auf 
spezifische PIC-Pins, die kannst Du auf den Headerm rechts im Bild 
einfach abgreifen und z.B. zu Deinem Breadboard leiten. 
Programmiersoftware fuer die MikroE-Boards gibt's gratis zum Runterladen 
(MPLAB funktioniert nicht mit diesen Board, zumindest soweit ich es 
weiss - man braucht wirklich die MikroE-Software).

Nur damit kein falscher Eindruck aufkommt - ich bit NICHT finanziell an 
MikroE beteiligt! :-) Ist eben bloss die Plattform, auf der ich selber 
seit einiger Zeit recht erfolgreich entwickle, deswegen kann ich 
darueber auch mehr Auskunft geben als z.B. ueber Mplab etc.

von Roland F. (r_fischer)


Lesenswert?

Hallo Stephan,

den PICKIT 3 kann ich dir Empfehlen, habe den auch hier.
Er bietet halt auch noch einen Hardware Debugger (!), nicht ganz so
Umfangreich wie der ICD3 aber sehr gut für den Preis.

Du kannst den auch direkt bei Microchip Direct bekommen.
Dort Kostet er 32,11 € plus MWSt. und 5,90 € Versand.
hier mal der Link:
http://www.microchipdirect.com/ProductSearch.aspx?keywords=PG164130

MPLAB kannst du auch frei von www.Microchip.com herunterladen.
Dabei ist auch der C Compiler.

Kleiner Tip, bestelle direkt ein paar SAMPLES deines gewünschten
Microcontrollers mit ;-). Die Kosten dich dann nichts.

Viel Erfolg mit dem Einstieg und schön das du einen PIC nimmst.

Roland

von Stephan_ (Gast)


Lesenswert?

Schau Dir nochmal die Brenner bei 
http://www.sprut.de/electronic/pic/brenner/ an, der brenner8 ist 
universell für Fassung und ICSP. Den gibt es auch in einer SMD-Variante 
von Lars (brenner8p9, steht auf der sprut-seite) für die 3.3V- und 
5V-Typen gleichzeitig, das ist dann sozusagen die eierlegende 
Wollmilchsau.

Das ist bei sprut alles genau beschrieben.

Dort findest Du auch eine SEHR ausführliche Einführung in die 
PIC-Programmierung mit vielen Beispielen.

von Stephan Hainer (Gast)


Lesenswert?

Die Brenner bei sprut.de lassen sich scheinbar nirgends fertig 
bestellen. Da ich nicht die Möglichkeit habe Platinen selbst zu ätzen 
fällt diese Möglichkeit also weg.

Ich werde mir also wohl den PickIT3 zulegen. Was ich jetzt noch bräuchte 
ist eine Entwicklungsumgebung mit der ich den PIC in BASIC programmieren 
kann und die mit dem PickIT3 zusammen arbeiten kann. Pic BasicPro fällt 
weg da zu teuer ($ 289) und die Testversion nur mit 31 Codezeilen 
funktioniert.

Kennt jemand eine günstigere/kostenlose Alternative?

von Stephan S. (uxdx)


Lesenswert?

Stephan Hainer schrieb:
> Die Brenner bei sprut.de lassen sich scheinbar nirgends fertig
> bestellen. Da ich nicht die Möglichkeit habe Platinen selbst zu ätzen
> fällt diese Möglichkeit also weg.

Den brenner8p9smd kannst Du bei Lars fertig kaufen oder auch nur die 
Platine (email von Lars steht auf der Brenner8-Seite von sprut). Ich 
habe das Teil (selber gelötet) und bin sehr zufrieden.

von Stefan (Gast)


Lesenswert?

Hallo
Weis nicht genau ob das Programm damit arbeitet.

http://www.mikroe.com/en/compilers/mikrobasic/pro/pic/

Musste mal nach schauen. Die Demo ist auf 2k begrenzt, aber
das reicht für den Anfang allemal.

von Wolfgang M. (womai)


Lesenswert?

Mikrobasic produziert normale HEX-Files, die kann man mit jedem 
beliebigen Brenner auf den PIC brennen. 2K code ist viel mehr, als man 
glauben sollten, viele meiner ernsthaften(!) Projekte brauchen weniger 
als das. Schlimmstenfalls kriegt man spaeter die Vollversion um (ich 
glaube) $129, das sind nicht mal 100 Euro. Die Unterstuetzung fuer 
Mikroelektronika in dern Webforum ist ziemlich gut. Als zahlender Kunde 
kann man auch direkt anfragen - die haben mir schon zweimal meinen Code 
innerhalb von 24 Stunden debugged und zum Laufen gebracht.

Wolfgang

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.