Forum: Mikrocontroller und Digitale Elektronik Warum ausgerechnet "PIC"?


von Matthias (Gast)


Lesenswert?

Hallo,

ich wollte mal fragen, was denn eigentlich das besondere an PIC
Controllern ist, im Vergleich zu beispielsweise der Familie der 8051
Controller. Ständig lese ich im Forum über PIC aber es gibt ja nichtmal
einen vernünftigen (freien) C-Compiler. Was können die was die anderen
nicht können?

MfG
Matthias

von till (Gast)


Lesenswert?

es gibt mehr als einen freien C compiler dafür, auch wenn man den
eigentlich nicht braucht, die teile sind weltweit verbreitet und zu
bekommen, billig, entwicklungswerkzeuge können sehr einfach selbst
gebaut werden. esgibt eine sehr breite produktpalette mit weitem
leistungspectrum und sehr viele beispielprojekte und informationen dazu
im netz. ausserdem sind sie zuverlässig und robust, und man bekommt fast
alle im gut handhabbaren DIP.

von Matthias (Gast)


Lesenswert?

Warum meinst Du dass man einen C-Compiler für PIC nicht braucht? Sind
die so einfach zu programmieren?

von Du nervst (Gast)


Lesenswert?

Deine SHIFT Taste(n) sind defekt !

von Du nervst (Gast)


Lesenswert?

sorry -
war @TILL

von Peter D. (peda)


Lesenswert?

"Ständig lese ich im Forum über PIC"

Welches Forum meinst Du denn, hier wird doch haupsächlich über AVR und
8051 geredet.

So richtig aktive Foren über PIC habe ich noch nirgends gesehen, nur
welche über AVR:

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=index

und über 8051:

http://www.8052.com/forum/
http://forums.semiconductors.philips.com/forums/viewforum.php?f=1
http://www.keil.com/discuss/threadlist.asp


Oder meinst Du das hier:

http://hcmf.com/pic.shtml


Peter

von Tom (Gast)


Lesenswert?

Klar gibts kostenlose C-Compiler für PIC's; informier Dich erstmal!

von Matthias (Gast)


Lesenswert?

Hi

aber AFAIK keinen einzigen der unbegrenzt große Binaries erzeugen kann
und dessen Sourcecode auch zugänglich ist. Und genau das ist IMHO das
Argument für den AVR in der 8-Bit Klasse.

Matthias

von Steffen (Gast)


Lesenswert?

@Peter

"So richtig aktive Foren über PIC habe ich noch nirgends gesehen, nur
welche über AVR:"

Dann will ich deinen begrenzten Horizont mal etwas erweitern.

aktive Foren findest Du z.B. hier:

http://www.fernando-heitor.de/picforum/
http://forum.microchip.com/

@Tom

Welchen Compiler meinst Du? Beschränkte Demoversionen mal weggelassen?

@Mathias (Fragesteller)

Was besonderes gibt es nicht an den PICs. Ist im Prinzip nur ein
anderer MC mit Vor- und Nachteilen. Ein paar Vorteile hat Tom ja schon
aufgezählt. Etliche (größtenteils falsche) Vorurteile findest Du hier
im Forum zur Genüge.

von OldBug (Gast)


Lesenswert?

Na gut, dann halt mal anders: es gibt keinen freien C-Compiler, der aus
dem Beta-Stadium heraus ist.

Und das Zeug, was es von Microchip gibt, ist meiner Ansicht nach nicht
das Geld wert, was es kostet.

Das ist nur meine Meinung und soll hier nicht zum Glaubenskrieg
ausarten!

von Steffen (Gast)


Lesenswert?

@OldBug

Glaubenskriege bringen eh nichts. Soll doch jeder für sich entscheiden,
mit was er arbeiten will. Jedes System hat vor und Nachteile. Die
Eierlegende Wollmilchsau gibt es nicht.

Mit den Microchip-Preisen hast Du aber absolut Recht, was die
Entwicklungstools anbetrifft. Von ein paar Ausnahmen (z.B. das PIC10xx
Starter-Kit) abgesehen sind die Tools völlig überteuert. Allerdings
gibt es genügend Nachbauprojekte, so dass man auch ohne größere
Investitionen mit den PICs arbeiten kann.

von Manfred Glahe (Gast)


Lesenswert?

Hallo Matthias,

"ich wollte mal fragen, was denn eigentlich das besondere an PIC
Controllern ist..."

Das Besondere am z.B. PIC16F84 ist Z.B., daß er in einer
Schaltnetzteilapplikation, in einer Wechselrichterschaltung oder in
einer Wechselstromgeneratorsteuerung usw. problemlos funktioniert.
Gleich gute Störsicherheit war mir bisher nur vom 68HC11 bekannt. Ich
muß allerdings zugeben, daß ich die Störfälle von anderen Herstellern
nur vom Hörensagen kenne. Ich selbst benutze nur PIC's und die HC11-
Typen.

MfG Manfred Glahe

von funnysmartie (Gast)


Lesenswert?

Hallo Matthias,

"ich wollte mal fragen, was denn eigentlich das besondere an PIC
Controllern ist..."


Kann sein dass auch ich in letzter Zeit hier einiges gefragt und
angesprochen habe, weil ich als Ausbilder nun durch die Neuordnung der
Elektroberufe und dem Baustein PIC16F84A mit der gesamten Thematik neu
konfrontiert werde. Leider, also wirklich leider, wird von seitens der
IHK für die Abschlussprüfung Teil 1 zum Elektroniker für Geräte und
Systeme dieser Baustein als "Kernbaustein" eingesetzt. Dies war nicht
nur bei der jetzigen Prüfung, die nun zum ersten Mal nach der Neuordnung
stattgefunden hat, sondern wird auch in allen nachfolgenden Prüfungen
wieder als "Kernbaustein" eine Rolle spielen. So ist der bisherige
Kenntnisstand, was allerdings nicht heißt dass eine Änderungen in
wenigen Jahren wieder vollzogen wird.

Selber weiß ich auch von Berufsschullehrern und von anderen
Ausbildungsbetrieben, dass ein AVR-µC bevorzugt wäre, aber da scheinen
vorerst die Weichen anders gestellt zu sein und alle müssen sich in
irgendeiner Form mit dieser Thematik auseinander setzen.

Wenn Du ein Thema zu diesem PIC in diesem Forum von mir angesprochen
vorfindest, dann hat es nun leider diesen Grund, der denke ich nun auch
nachvollziehbar ist.

Viele Grüße,
funnysmartie

von OldBug (Gast)


Lesenswert?

Hier braucht sich doch niemand für seine Fragen, egal auf welches
(Elektronik-Basiertes) Thema, zu Entschuldigen...

von Tom (Gast)


Lesenswert?

http://www.cc5x.de/

Programmierkurs in C, und Link zu einem kostenlosen Compiler. Einzige
Einschränkung: Man muss seine Programme in mehrere Module aufsplitten
und die Binaries danach zusammenlinken.

Es gibt auch kostenlose Pascal und BASIC - Compiler. Welche Sprache man
verwendet ist bei einem Controller eh völlig wurscht. Da man nur
einfache Operationen durchführen kann, ist eine so mächtige Sprache wie
C gar nicht nötig.

Den Hauptvorteil der PICs hat Manfred schon genannt: Sie sind robust.
Sowohl was Störeinstreuungen als auch sonstigen "Missbrauch" angeht.
Im Internet kursieren Erzählungen dass man die "C"-PIC's (mit
kleinem Glasfenster zum Löschen durch UV-Licht) per Kurzschluss für
kurze Zeit zur Rotgluht bringen kann, und sie danach immer noch
funktionieren... obs stimmt hab ich selbst noch nicht ausprobiert. Aber
mir ist trotz gröbster Fehler noch nie ein PIC hops gegangen.

von Andreas (Gast)


Lesenswert?

Immer wieder diese Diskussion. Warum ist der eine besser/schlechter als
der andere. Ist ein Ford besser als ein Opel, ist ACER besser als DELL,
ist eine Tanne besser als eine Eiche? Die Entscheidung, welchen MC man
verwendet, sollte man aus meiner Sicht nur in zwei Fällen treffen:

1) Der Einsteiger, der sich erstmals mit MC's beschäftigt.
Hier kommen allerdings weitere Punkte hinzu, wie: Will ich mich in die
Programmierung mittels Maschinensprache (Assembler) einarbeiten? Wenn
nicht: Gibt es einen (freien) Compiler in der von mir bevorzugten
(Programmier-)Sprache? Gibt es eine (freie) Entwicklungsumgebung? Die
freie(!) IDE vom Microchip (MPLAB) ist übrigens herrvorragend!

2) Eine Aufgabe kann mit "meinem" MC nicht ökonomisch gelöst werden.

Es gibt (Gott sei Dank) nunmal viele verschiedene Hersteller, die eine
fast unüberschaubare Anzahl von MC-Typen produzieren. Da sollte
eigentlich für jeden ein Lieblings-MC zu finden sein.

Und sollte es mal keinen freien Compiler für "meinen" MC geben: Wir
können doch alle programmieren...

MfG
Andreas Jäger

von Steffen (Gast)


Lesenswert?

Die freie Version ist trotzdem nicht mit der Vollversion vergleichbar.
Siehe --> http://www.bknd.com/cc5x/downl-prof.shtml

Gut, für Hobbyanwender mag das evtl. OK sein.

Leg mal 12V an einen Eingang an, der wird dann nicht mehr
funktionieren. Mann muss sich zwar anstrengen aber unkaputbar ist kein
PIC.

von peter dannegger (Gast)


Lesenswert?

"Warum ausgerechnet "PIC"?"


Ja, solche Fragen müssen natürlich wieder provozieren.

Aber alles nötige und unnötige wurde ja hier im Forum schon mehrmals
gesagt, man muß nur danach suchen.


Ich kann nur sagen, ich setze seit etwa 15 Jahren 8051 ein und hatte
noch nie irgendwelche Störprobleme damit.
Und seit neuerem ist auch der ATMega8 im Einsatz, ohne Probleme.
Ich vermisse also den PIC in keinster Weise und wüßte jetzt auch keine
Anwendung, wo er Vorteile hätte.


Bezüglich C-Programmierung, ich bin inzwischen auch ein Fan davon. Es
nimmt einem wirklich ne Menge Kleinkram (Speicherverwaltung,
Parameterübergabe, Rechnen) ab und man kann damit auch größere Projekte
übersichtlich gestalten.

Für den 8051 nehme ich den professionellen Keil und für den ATMega8 den
freien WINAVR und bin sehr zufrieden mit beiden.


Peter

von Arno (Gast)


Lesenswert?

War selber jahrelang begeisterter AVR Fan.Bastle im Moment an einer
Servosteuerung für DC Motoren und bin auf den PIC 18F2331 gestossen...
also ich bin erstaunt!Dieser PIC bringt ALLES was man für eine solche
Anwendung braucht,angefangen von den Encoder- Eingängen bir hin zur PWM
Erzeugung mit einstellaberem Dead Time...,davon kann der AVR nur
träumen!
Ich finde die Modellpolitik von Atmel in letzter Zeit eher
langweilig,es werden hauptsächlich quantitative Neuerungen
gebracht,aber wenig qualitative.
Und.. IMHO,die Datenblätter von PIC sind professioneller und
übersichtlicher als die von Atmel.
Grüsse Arno

von Tom (Gast)


Lesenswert?

Keine Ahnung wie das bei AVR's ist, aber die PIC's gibts mit jeder
erdenklichen Zusatzhardware, etwa Typen für Motorsteuerungen,
LCD-Ansteuerung, high/low-speed USB, CAN, Ethernet, UHF
Sender/Empfänger usw.

von Dominik S. Herwald (Gast)


Lesenswert?

ups... versehentlich zu früh abgesendet ;)

Naja jedenfalls wäre an kostenlosen Compilern noch der C18 von
Microchip zu erwähnen.

Der ist AFAIK komplett unbeschränkt - BIS AUF die sache mit der
Codeoptimierung, die nach 60 Tagen abgeschaltet wird. Aber das macht
nix, der Code wird dadurch nur ein klein wenig größer.
(Und Deinstall/Reinstall hilft einem nochmals 60 Tage zu bekommen.)

Den wollte ich in den nächsten Wochen sowieso mal ein wenig Testen...

von MSE (Gast)


Lesenswert?

@Dominik

Ein Compiler ohne Optimierung? (Ich meine in dem Fall, dass man nicht
alle 60 Tage reinstallieren möchte...)

Beim WinAVR brauche ich die Optimierung dringend! Dabei geht es weniger
um die Code-Größe als mehr die Geschwindigkeit.

Kommt aber immer auf die Ansprüche an, die man hat.


Gruß, Michael

von Jens (Gast)


Lesenswert?

> Kommt aber immer auf die Ansprüche an, die man hat.

Bzw. auf die Programmierfähigkeiten.

von Matthias (Gast)


Lesenswert?

Hi

also die Codegröße steigt beim GCC ohne Optimierer schon ordentlich.
Bei dem gerade offenen Projekt z.B. von 17k (-Os) auf 26k(-O0).

Matthias

von Der Elektrische Reiter (Gast)


Lesenswert?

Was den Einsatz von C angeht, kann ich peter dannegger voll Recht geben.
 Trotzdem nutze ich C bei den 8bit Controllern als
Super-Macro-Assembler, denn ohne Betriebsystem hängt man halt sehr an
der Hardware.

Für kleine Aufgaben (weniger als 16kByte ausführbares Programm) ist
Assembler sehr brauchbar, erfordert jedoch mehr Disziplin als eine
Hochsprache. Leider ist der Microchip-Assembler besonders
gewöhnungsbedürftig. (Na Ja... Jeder Assembler ist wohl irgendwie
krank) Aber hier hilft die Entwicklungsumgebung von Microhip (MPLAB).
Es ist ein prima Simulator bereits eingebaut.

Früher (vor der DSL-Zeit) war es besonders schön, das Microchip
Application-Notes als Handubch (das berühmte Embedded Control Handbook)
kostenfrei versendet hat. Vieleicht gibt's das auch heute noch. Es ist
immer schön was in der Hand zu halten.

Noch was: Für PIC gibt's PARSIC (www.parsic.de) eine graphische
Programmiersprache. Vergleichbar mit dem FUP für SPS.

Es gibt sicher noch mehr Argumente für PIC (oder '51 oder oder oder).

von PIC-User (Gast)


Lesenswert?

Ich arbeite seit einiger Zeit ausschliesslich mit PICs
und muss sagen die Dinger sind für viele Anwendungen einfach perfekt.
Auf Grund der grossen Typenvielfalt findet man eigentlich immer einen
PIC der zu minimalen Kosten die im Projekt erforderlichen Aufgaben
erfüllt.

Zu det Entwickler Tools:

Was braucht man denn wirklich?
für den Start reicht ein Stück Lochrasterplatine (oder ein
"Steckbrett")
MPLAB gibt es bei MicroChip zum kostenlosen Download.
Damit kann man dann auch gleich loslegen.
Ein Programmiergerät ist nicht zwingend erforderlich, da alle
"neueren" PIC Typen ICSP unterstützen.
Entsprechende Software findet man als Free- oder ShareWare reichlich im
Netz.

Sehr preiswerte Proto-Boards und andere nützliche Dinge (übrigens nicht
nur für PIC) findet man bei http://www.olimex.com/dev/

Wer den jenigen der sich nicht in PIC Assembler einarbeiten möchte:
Es gibt zahlreiche Compiler als freie Demo-Versionen.
Oft ist in diesen Demo Versionen nur die grösse des Codes limitiert,
(1-2k)

Zu den PIC-Typen:

Der (immer noch) sehr populäre 16F84(A) ist meiner Meinung nach nicht
unbedingt das richtige.
Typen wie 16F628 oder 16F88 etc. bieten mehr Features und sind
preislich günstiger und benötigen nicht einmal eine externe
Taktquelle.

Fazit:

Mit einer Hardware-Investition von ca. 20,- EUR und einer kostenlosen
Demo-Version eines Compilers (z-B. PICbasic Pro)kann man sofort
loslegen ohne tagelang Datenblätter und Manuals wälzen zu müssen.

OK,
einige von Euch mögen jetzt wieder sagen "BASIC ist unter unserem
Niveau", aber schneller und preiswerter als mit PICbasic kommt ein
"Anfänger" nicht zum Ziel.

Es gibt zu diesem Thema ein recht gutes Forum:
http://www.picbasic.co.uk/forum/

Gruss

von Steffen (Gast)


Lesenswert?

Ich lese und Staune. ;-)

So wie es aussieht scheint die Popularität der PICs hier im Forum in
der letzten Zeit doch ziehmlich zugenommen zu haben.

Steffen

PS: Ist nur ne Feststellung, ohne jegliche Wertung.

von Tom (Gast)


Lesenswert?

Als Programmiergerät kann ich das K149 empfehlen:
http://www.kitsrus.com/

Ist ein Bausatz, nicht ganz billig, aber dafür hat man einen schönen
Brenner der viele Typen unterstützt und auch mit USB funzt. Der
COM-Port macht unter WinXP evtl. Probleme, und viele Notebooks haben
gar keinen seriellen Port mehr; deswegen ist USB ne feine Sache. Die
Firmware läuft ebenfalls auf einem PIC, deswegen kann man sich
problemlos updaten. ISP kann es auch.

von PIC-User (Gast)


Lesenswert?

Empfehlenswert (weil 100% PICSTART+ kompatibel) ist auch:

http://www.olimex.com/dev/pic-mcp-usb.html

79,95 USD für einen komplett aufgebauten Programmer incl. 40pin
ZIF-Sockel sind ein fairer Preis.

von Sven (Gast)


Lesenswert?

Wie sieht es denn mit der Mehrfach-Programmierbarkait und ISP der PICs
aus? Ich gebe zu, ich würde das nicht missen wollen, und viele der
angebotenen Typen scheinen nur einmal programmierbar zu sein.

Sven

von Thorsten (Gast)


Lesenswert?

Da ihr jetzt mir Programmern anfangt, ich benutze den hier:
http://www.stolz.de.be/
Lässt sich einfach und billig aufbauen, Firmware gibts kostenlos von
Microchip, man hat einen In Circuit Debugger und das Teil funktioniert
problemlos mit einem FT232-Modul, USB ist somit auch kein Problem. Nur
muß man halt den verwendeten PIC einmal mit nem Bootloader flashen.
Aber sonst astrein das Teil.

von PIC-User (Gast)


Lesenswert?

Sven,

sämtliche "F-typen" sind Flash und garantiert bis zu 100.000 x
programmierbar.

von Tom (Gast)


Lesenswert?

Die Flashtypen sind allerdings teurer. Wenn die Schaltung einmal perfekt
läuft, brennt man einen OTP; dann wird ein Flash-PIC wieder fürs Basteln
frei :)

von PIC-User (Gast)


Lesenswert?

Tom,

die Flash Typen sind nicht wirklich teurer als OTP, und ich würde
insbesondere bei SMD immer Flash-Typen verwenden um die Möglichkeit
eines späteren "FirmWare" upgrades zu haben.

Warum soll ich für einen 12C508 (512k) 1,20 EUR zahlen
wenn ich einen 12F629 (1024k)zum gleichen Preis kriegen kann?

von Michael (Gast)


Lesenswert?

Hallo,

ich hab lange hin und her überlegt ob ich mich auf die PIC oder Atmel
Schiene begeben soll ("gekommen" bin ich von Ubicom SX-Chips).

1)Bei mir hat der PIC gewonnen (18F..) weil: Gehäuse:PLCC also
Sockelbar und die Sockel im 100mil Raster sehr einfach zu handlen.

2)Beim AVR hat mir überhaupt nicht zugesagt, daß manche Rechenop. nur
mit bestimmten Registern funktionieren ...

Michael

von PIC-User (Gast)


Lesenswert?

Michael,

mir ging es ähnlich.

Schön bei den PICs ist halt (wie vorher schon erwähnt) dass es eine
riesige Palette an Chips gibt die bei gleichem Pic-Count auch
pinkompatibel sind. D.h. wenn ich irgendwann im Verlaufe eines
Projektes mehr CodeSpace od. RAM benötige nehme ich einfach den nächst
grösseren Chip.

Wenn man einen "ordentlichen" Compiler verwendet werden die
vorhandenen Sourcen einfach für den neuen Typen compiliert und fertig
ist die Laube.

von Sven (Gast)


Lesenswert?

Und wie sieht es mit der Geschwindigkeit aus? Die PICs laufen bei
gleichem Quarz mit ein 1/4 Prozessortakt gegenüber dem AVR. Viele
AVR-Befehle sind 1-Zyklus-Befehle. Kann man da noch vernünftig mit
Software Encoder überwachen, PID-Regler, PWM machen? Können PICs
1-Zykus-Multiplikation?

Ich hatte mal einige Datenblätter in der Mache, weil ich ein
PIC-Programm auf AVR übertragen musste, übersichtlich fand ich das gar
nicht, und eine grauenhafte Architektur - kommt aber wohl nur daher,
dass ich halt AVR gewohnt bin. ;-) Komisch, wie sehr die Gewöhnung an
einen Typ abhängig macht.

Sven

von Steffen (Gast)


Lesenswert?

@Sven

Die maximale Geschwindigkeit hängt vom PIC-Typ ab.

PIC16XXX - max. 5MIPS
PIX18XXX - max. 10MIPS
dsPIC - max. 30MIPS (16-Bit MC´s mit integrierter DSP-Unit)

Bis auf Sprungbefehle werden ebenfalls alle Befehle in einem
Maschinenzyklus abgearbeitet. Einige Typen haben einen
Hardware-Multiplyer.

Für PWM etc. sind Periferiemodule zuständig. Softwareencoder, PID etc.
sind natürlich ebenfalls möglich. In Punkto Geschwindigkeit liegen die
AVRs mit 16(oder 24?)MIPS zwar vorn aber das wird durch teilweise
ausgeklügelte interne Hardware wie z.B. Motorsteuerungs-PWM Module mit
Vollbrückenansteuerung, bis zu 4 Phasen etc. teilweise wieder gut
gemacht. Viele Sachen, die einige PICs rein in Hardware erledigen
müssen beim AVR per Software gemacht werden. Als Beispiel nur mal die
Abschaltung des aktuellen Duty-Cycle bei Überstrom. Kommt eben immer
auf die Applikation an.

von Steffen (Gast)


Lesenswert?

"In Punkto Geschwindigkeit liegen die AVRs mit 16(oder 24?)MIPS zwar
vorn"

Damit meinte ich bis zur PIC18XXX Serie.

von Dominik S. Herwald (Gast)


Lesenswert?

@MSE

Tja wollte zwar gestern schon antworten aber der Server war ja down.

Die Optimierung vom C18 wird natürlich nicht komplett abgeschaltet -
der schaltet da nur die Optimierung auf die PIC18 Serie ab - also das
mit dem "Erweiterten Befehlssatz". Viel ändert sich dadurch am Code
aber so wie ich das gelesen habe nicht.

@Sven:
Ich hab mit nem PIC16F876 @ 20MHz einen Dual PID Motorcontroller mit
360CPR Quadrature Encodern und I2C Ansteuerung realisiert. Läuft
wunderbar :)

Aber nen Harware Multiplier gibts erst beim PIC18...

MfG,
Dominik S. Herwald

http://www.dsh-elektronik.de/

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.