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
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
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.
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).
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?
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 (;
Ü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.
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)
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?!
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.
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
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
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.
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.
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
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.