Forum: Mikrocontroller und Digitale Elektronik PIC Microcontroller


von Micha (Gast)


Lesenswert?

Hallo,

Ich habe ein Projekt zur bearbeitung bekommen, in dem ich mittels 
Microcontroller einen Transitor ansteuern (ausgang wird so Programmiert, 
dass er beim erreichen eines Temperaturwertes schaltet). Der 
Temperaturwert wird über ein PT100 in dem µC eingebracht. Diese 
Temperatur soll dann mittels LCD anzeige angezeigt werden.
So, nun haben wir in unserer Ausbildung nicht gerade viel über µC 
gelernt, weshalb ich euch jetzt um hilfe bitte. Wir haben hier nur PIC 
µC von Mikrochip, bin daher also etwas eingeschränkt.

Welchen µC könnt ihr mir für diese Aufgaben empfehlen?


Mit Freundlichen Grüßen

von Jens P. (picler)


Lesenswert?

Micha schrieb:

> Wir haben hier nur PIC
> µC von Mikrochip, bin daher also etwas eingeschränkt.

Wieso bist du mit den PICs etwas eingeschränkt? Das sind vollwertige µC 
und Microchip hat für so ziemlich jeden Anwendungsfall was passendes im 
Programm. Die Beschränkung findet also meistens im Kopf statt, 
vielleicht weil der Kumpel der Meinung ist, die AVRs sind besser. Doch 
das ist eher eine Glaubensfrage. Natürlich brauchst du einen PIC, 
welcher analoge Eingänge besitzt, damit wird dir der 16F84 nichts 
nützen...

> Welchen µC könnt ihr mir für diese Aufgaben empfehlen?

z.B. 16F876

Hier noch etwas Literatur: www.sprut.de

Viel Erfolg

von ehrnsperger (Gast)


Lesenswert?

Ich arbeite ausschließlich mit dem PIC16F876. Allerdings hat dieser 
28-Pins und wird für deine Anwendungen zu "sperrig" sein. Aber wenn du 
dir ein paar bestellst und weiter mit den PICs arbeitest ist er genau 
richtig.

Was für ein Display hast du? HD44780?

Ich empfehle dir eine LUT in der du die weiterverarbeitung der vom 
Analog-Eingang kommenden Werte (Stufen) festsetzt. Diese schickst du 
dann gleich an dein LC-Display. Ich denke fast dass du nur 8-Bit 
Auflösung brauchst da du wohl kaum milligrad anzeigen willst, oder?

(http://de.wikipedia.org/wiki/Lookup-Tabelle)

Das schwierigste an deiner Schaltung wird das LCD sein der rest ist 
relativ einfach.

von Micha (Gast)


Lesenswert?

Danke schonmal für die schnellen antworten =)

In der Ausbildung hatten wir nur Atmega, im Betrieb nur PIC (deshalb 
"beschränkt"...aber Mikrochip hat ja genug auswahl.)

Die Temperatur soll im Format XXX.X°C dargestellt werden. Wobei die 
erste stelle nur eine "1" ist (Temperaturbereich bis max 180°C).

von ehrnsperger (Gast)


Lesenswert?

Ich will dich ja wirklich nicht vom Weg abbringen. Aber da gibt es 3.1/2 
stellige 7-Segment Displays. Hab sogar mal was gelesen dass es solche 
mit nem Analog-Eingang gibt.

Aber egal. Mit was wirst du deinen PIC prgrammieren?

-Assembler?

von Micha (Gast)


Lesenswert?

hab ich auch schon daran gedacht, aber die abteilung meint lcd mus es 
sein...naja.
Programmieren werde ich mit C

von ehrnsperger (Gast)


Lesenswert?

Ab hier muss ich leider aufhören. Meine Kenntnisse in C sind sehr 
schlecht.

Was nimmst du für ein Display?
http://www.pollin.de/shop/shop.php

Leider brauchst du für dieses eine neg. Vorspannung (Kontrast)
Hab sie in meinem Fall vom MAX232 abgegriffen (;

von ehrnsperger (Gast)


Lesenswert?

www.pollin.de und in Suchleiste dann "LCD-Modul YL162-90" eingeben.

von Micha (Gast)


Lesenswert?


von gast (Gast)


Lesenswert?

Über die Datenleitung kommen die Daten, vom µC zum LCD.
Schau mal im Compiler, ob er dafür eine fertige
Routine drin hat. Dann wird mit Hilfe eines Strings
die Daten übertragen.

von Master S. (snowman)


Lesenswert?

welche programmierumgebung benützt du: wenn CCS (oder was CSS?) dann 
kauf dir einen PIC16 wenn du die gratis-umgebung von Microchip (MPLAB) 
installieren darfst, dann tu das und brauche die PIC18 (letztere sind 
viel einfacher in der handhabung als die PIC16!!!! und zum beginnen 
sowieso: lass die finger von den 16er, die 18er sind super zum anfangen)

also was wichtig für uns zu wissen wäre:
- welchen programmierer habt ihr (ICD2?)
- welche programmierumgebung habt ihr bereits?
- was kommt sonst noch an den PIC (LCD, temp-sensor, taster..?)

edit: guck dir mal www.sprut.de an bezüglich hardware (LCD, PIC etc)

von gast (Gast)


Lesenswert?

Nimm einen 16F88. Der tut es für dein Vorhaben.

von Master S. (snowman)


Lesenswert?

ich frage mich, warum hier immer die 16er empfohlen werden!? sind das 
AVR-ler, die neulingen den einstieg vermiesen möchten um dann sagen zu 
können: siehste, mit AVRs wäre es viel einfacher gegangen? oder sind es 
leute, die mit den 16er gross geworden sind und nicht umdenken möchten 
und möglichst viele noch hinter sich verscharen wollen? ..der einstieg 
in die 16er ist viel mühsahmer als der einstieg in die 18er, zumal 
letztere nicht teurer sind (oder nicht wesentlich). klar, ein 16er tut 
es hier auch -zweifelsohne- aber im ersten moment geht es um möglichst 
schnell den  einstieg in die uC-materie zu schaffen und erste erfolge zu 
erziehlen - und da finde ich, sollte man nicht noch jemandem zusätzliche 
altlasten wie das mühsahme banking mitaufbürden. ..ich weiss ja echt 
nicht! oder gebt ihr euren kinder als erste festnahrung auch erstmal 
rinde?!

von gast (Gast)


Lesenswert?

Er will in C programmieren. Da ist es egal welchen er
nimmt. Da hat er mit dem Banking nichts zu tun. Ein 18er
wäre hier völlig übertrieben. Da er weis was er programmieren
will, nimmt man einen µC, welcher nicht 1000 andere Funktionen
drin hat.

von Master S. (snowman)


Lesenswert?

> Er will in C programmieren. Da ist es egal welchen
> er nimmt.
warten wir die ersten probleme ab - glaub mir, ich weiss, was ich 
geschrieben habe ;-)

von zachso (Gast)


Lesenswert?

also ich arbeite auch mit PIC und bin selbst auch noch anfänger und kann 
nur sagen: nimm nen 18er, es ist dabei fast egal welchen, mein 
standardcontroller sind inzwischen 2550 und 4550, die sind echt gut, 
aber kannst eigentlich den nehmen den du willst.
so warum 18er und keinen 16er? das ist ganz schnell beantwortet: wir 
wollen ja erstens mit der zeit gehn und dann was lernen was uns was 
bringt und nicht die ingenieurstechnisch beste Leistung erbringen, also 
ganz klar nen 18er, der hat nen C-compiler von microchip und du kannst 
mit PIC18 auch mal was größeres bauen später ohne die  hälfte neu 
lernenn zu müssen.
es ist richtig dass die PIC16 auch reichen, aber es reicht auch nen 
smart um zum einkaufen zu fahren und das machen auch nicht alle leute

von gast (Gast)


Lesenswert?

Ich weis auch wo von ich schreibe. Muß aber auch zu geben
das mir die 18er am liebsten sind. Aber für das kleine
Vorhaben, tun es die 16er, allemale.

von ehrnsperger (Gast)


Lesenswert?

Ich als 16er programmierer würde natürlich einen 16er nehmen, allerdings 
bin ich auch noch nicht lange dabei und habe noch keinen 18er 
programmiert - wenns leichter geht wieso nicht.
wenn du mit C programmierst machts eh keinen unterschied.

gl & hf

von (prx) A. K. (prx)


Lesenswert?

ehrnsperger schrieb:

> wenn du mit C programmierst machts eh keinen unterschied.

Ausser dass man es bei 16ern und 18ern ausserhalb Lehr- oder 
Kommerzumgebung wahrscheinlich mit zwei ziemlich verschiedenen C 
Compilern zu tun hat, was die Sache nicht wirklich vereinfacht.

von Master S. (snowman)


Lesenswert?

genau! den spruch, dass wenn C verwendet wird es eh nicht darauf 
ankommt, stimmt leider nicht. CSS und Co. ist so spezifisch, da musst du 
immer nachschlagen, wie die das aus dem datenblatt implementiert haben - 
auch z.t. von hinten durch den rücken ins auge (z.b. dass bei jedem port 
beschreiben der port zuerst noch auf ausgang gesetzt wird - und dann 
fragt man sich, warum das so lange dauert).
darum sage ich ganz klar: wenn PICs mit C programmiert werden sollen, 
dann über den C18- oder die höheren über den C30-compiler vom hersteller 
Microchip, zumal die gratis sind. ein weiterer vorteil ist der: man 
sieht im DB ein register, das man ändern möchte, merkt sich dessen name 
und eine zeile code und voilà fertig. auch die vielen sourcebeispielen 
und gute dokumentation der libraries etc.

CSS und Co. haben nur bei den PIC16 ihre berechtigung, aber auch nur 
weil Microchip keinen freien compiler dafür anbietet.

von ehrnsperger (Gast)


Lesenswert?

oh sorry wusste ich nicht.. (-;

von Peter D. (peda)


Lesenswert?

gast schrieb:
> Er will in C programmieren. Da ist es egal welchen er
> nimmt. Da hat er mit dem Banking nichts zu tun.

Rein formal stimmt das.

Aber bezüglich Laufzeit und Codegröße wird der Unterschied dramatisch 
sein.

Ob Du nur eine Instruktion brauchst, um auf eine Feldvariable 
zuzugreifen oder nen ganzen Wust an Code, um immer noch extra die Bank 
zu setzen bzw. einen Banküberlauf zu behandeln.

Noch krasser wird es, wenn man auf einem Feld rechnet oder kopiert und 
man mehrere Pointer benötigt.


Peter

von gast (Gast)


Lesenswert?

Ist mir schon klar das in ASM der Code am optimiertesten
ist, und am schnellsten ist. Aber Hallo, für das was er vorhat,
wird das in C-programmiert und gut ist. Warum soll er sich da
Gedanken machen wie schnell der Code ausgeführt wird oder
die größe oder Laufzeit. Auch wenn er den ganzen Speicher
braucht, um sein Programm zu schreiben, es kommt darauf an, das
das Programm das macht, was es soll. Es ist ein Hobby. Nachher wenn
man mehr erfahrung hat, kommt das von selber, wie man am besten
die Programme schreibt. Zeitkritische Abläufe gehen eh nur in ASM.

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.