Hallo,
also ich bin E-Technik Student, kann C/C++, Assembler und hab die
Vorlesung Mikrocontroller schon hinter mir (mit einem MC68000).Besitze
ein Steckboard und diverse Bauteile.
So nun habe ich das Problem, dass ich ein passendes Board suche worauf
ich Atmel Chips (nicht SMD,möglichst ohne das ich eine umfangreichen
Aufbau wie für den MC68000 brauche.) programmieren und das programmierte
mit ein paar Tastern/LED's/LCD Display (muss nicht unbedingt) testen
kann um diese dann anschließend auf dem Steckboard zu benutzen.
Allerdings muss es über USB angeschlossen und optimalerweise auch
darüber versorgt werden (versorgt muss nicht unbedingt,ein
TV-Schaltnetzteil müsste doch auch gehen?). Wollte mir erst von Pollin
das Board und das Addon Board als Bausatz bestellen allerdings scheint
dieses ja nicht mit einem USB->Seriell Konverter zu funktionieren. Habe
nun das STK500 im Uni Shop entdeckt aber dieses ist ja wieder nicht mit
USB (Vom Preis ist es ja fast wie das Dragon daher gibt es eine
Möglichkeit es USB kompatibel zu machen bzw. Adapter?).Wenn ich es nicht
falsch Verstanden habe kann man mithilfe von Bootloadern dann USB
nutzen, aber ich müsste auf jeden Atmel Chip einen Bootloader erst
draufspielen den ich jemals verwenden will? Dann habe ich das Dragon
Board entdeckt Vorteile: USB Programmierung und Versorgung, soweit ich
es verstanden habe kann ich alle 8 und 32 Bit Mikrocontroller von Atmel
benutzen (bei denen muss man auch keine eigenen Quarze oder sonst
irgendwas bei bauen? Also nur den Chip und die Schaltung die jeweils von
den Ein/Ausgängen gesteuert werden? Wollte den AtMega 644 zum Anfang
benutzen weil der ja relativ groß ist und somit keine einschränkungen
zum ausprobieren entstehen oder?.Nachteil: Kabel fehlen, keine
Taster/LED's/LCD zum testen bevor es auf das Steckboard kommt, IC Sockel
müsste ich noch anlöten.
Gibt es alternativen oder ist das beste was ich machen kann das Dragon
Board kaufen und dann dort nur Programmieren und dann jedesmal umstecken
bzw. direkt auf dem Steckboard Programmieren/Debuggen und mir selber
LED's und Taster drum rum bauen?
Achja möchte in C/C++ Programmieren.
Noy schrieb:> Habe> nun das STK500 im Uni Shop entdeckt aber dieses ist ja wieder nicht mit> USB (Vom Preis ist es ja fast wie das Dragon daher gibt es eine> Möglichkeit es USB kompatibel zu machen bzw. Adapter?)
Das STK500 funktioniert problemlos mit USB-RS232-Adaptern. Der Dragon
kann auch als Debugger arbeiten, das STK nicht. Dafür hat das STK etwas
Hardware schon Onboard (LED, Taster, RS232-Pegelwandler, Takterzeugung).
Der Dragon ist teilweise recht empfindlich.
Weitere Alternative wäre ein AVRISP mkII. Ist billiger als der Dragon
(hat aber keinen Debugger), hat USB und ist ziemlich robust.
Hm, also kann ich mit dem STK500 meine Programme nicht Schritt für
Schritt durchgehen und ich muss mich noch um die Stromversorgung
kümmern. Beim Dragon muss ich das alles nicht, dafür kann ich durch das
Programm "steppen".
Taktgeber? brauch ich das? Die Atmel Chips haben doch selber nen Takt
oder müssen die mit nem Quarz ven bekommen? Achja und das mit den Pegeln
brauch ich nur wenn ich vom Microcontroller was über RS323 übertragen
will woanders hin oder? Für einfache von wegen der Taster wird gedrückt
die LED leuchtet wobei dann später halt irgendwelche Sensoren/Aktoren
das machen brauch ich sowas nicht oder?
Noy schrieb:> Achja möchte in C/C++ Programmieren.
Achja, unter welchem Betriebssystem?
Für Windows am besten WinAVR (http://winavr.sourceforge.net)
PS: die 32bit AVRs lassen sich NICHT mittels STK500 oder ISP mkII
brennen!
Dafür brauch man mindestens den Dragon.
PPS: Noch vergessen. Das STK500 ist zwar ein klasse Teil, aber leider
auch ein Auslaufmodell. Falls es das noch irgenwo gibt sind das
Restbestände, produziert wird es jedenfalls nicht mehr.
Noy schrieb:> Hm, also kann ich mit dem STK500 meine Programme nicht Schritt für> Schritt durchgehen und ich muss mich noch um die Stromversorgung> kümmern. Beim Dragon muss ich das alles nicht, dafür kann ich durch das> Programm "steppen".
In eingeschränkter Form geht das mit "dem STK500 auch".
Der springende Punkt: Du lässt das Programm nicht auf dem µC selber
laufen sondern im AVR-Studio im Simulator. Geht nicht für alles,
zugegeben, und der Simulator hat auch so manchen Fehler, aber im
Allgemeinen kommt man damit ganz gut zurecht. Was natürlich nicht geht,
da ja der µC nur simuliert wird: die eigene angebaute Hardware dann auch
real während eines Debugger Laufes ansprechen.
> Taktgeber? brauch ich das? Die Atmel Chips haben doch selber nen Takt> oder müssen die mit nem Quarz ven bekommen?
Die haben einen Rc-Oszillator eingebaut.
Aber du wirst schnell dahinter kommen, dass Quarz besser ist.
> Achja und das mit den Pegeln> brauch ich nur wenn ich vom Microcontroller was über RS323 übertragen> will woanders hin oder?
Das wirst du, das wirst du.
> Für einfache von wegen der Taster wird gedrückt> die LED leuchtet wobei dann später halt irgendwelche Sensoren/Aktoren> das machen brauch ich sowas nicht oder?
Dem Buchstaben nach nicht. Aber wenn du Debuggen willst, und zwar auf
der realen Hardware, dann ist es schon praktisch, wenn dir dein Programm
dabei helfen kann, indem es Statusmeldungen oder Variablenwerte irgendwo
ausgeben kann. Und zwar nicht (nur) in Form von LED
leuchtet/leuchtet_nicht, sondern ein Zahlenwert wäre schon ganz nett.
Die AVRs haben als Standard-Programmierschnittstelle ISP. Dadrüber kann
man nur programmieren, aber im Gegensatz zum ICSP der PICs nicht
debuggen. Debuggen geht nur per JTAG oder debugWire (das ist aber ein
Krampf), und auch nur bei den AVRs, die eines von beiden haben. Bei den
XMegas kommt noch PDI hinzu, das kann auch beides.
Für JTAG und dW brauchst Du entweder ein JTAG ISP MKii (robust, aber
teuer) oder ein Dragon (billig und recht empfindlich gegen
Fehlbedienung, da sterben ganz gerne mal Treiberbausteine - das Teil hat
einige Designfehler).
Die AVRs haben einen internen Oszillator, der aber nicht sonderlich
genau ist. Ein externer Quarzoszillator kostet nicht viel, und es ist
empfehlenswert, einen solchen vorrätig zu haben. AVRs und PICs haben
sogenannte Fuses, die unter anderem die Takterzeugung steuern. Bei den
PICs kannst Du Dich nicht aussperren, egal wie doof Du Dich anstellst,
bei den AVRs kannst Du es leicht. ISP braucht einen gültigen Takt, und
wenn der Chip auf "Quarz" oder "ext.Oszillator" steht, muss eben ein
solcher angeschlossen sein, damit Du das wieder zurückstellen kannst.
Und komme nicht auf die dumme Idee, den Resetpin als Portpin
umzustellen. Aus der Nummer kommst Du nämlich nur wieder mit einem
Programmer, der den HI-Voltage Modus kann, wieder raus.
fchk
Noy schrieb:> Hm, also kann ich mit dem STK500 meine Programme nicht Schritt für> Schritt durchgehen
Direkt im Chip nicht, nur im Simulator.
> und ich muss mich noch um die Stromversorgung> kümmern.
Fürs STK ja, dafür reicht aber ein 0815 Steckernetzteil und Du kannst
kleinere Schaltungen aus dem STK mit versorgen.
> Beim Dragon muss ich das alles nicht, dafür kann ich durch das> Programm "steppen".Noy schrieb:> Taktgeber? brauch ich das? Die Atmel Chips haben doch selber nen Takt> oder müssen die mit nem Quarz ven bekommen? Achja und das mit den Pegeln> brauch ich nur wenn ich vom Microcontroller was über RS323 übertragen> will woanders hin oder?
Falls Du die RS232-Schnitstelle der AVRs nutzen willst (z.B. um
Kommandos vom PC zu empfangen oder Messwerte zurückzuliefern) brauchst
Du entweder Pegelwandler oder TTL-USB-Serial-Adapter (oder Pegelwandler
+ normale USB-Serial-Adapter). Desweiteren solltest Du dann auch einen
Baudratenquartz verwenden, da die internen Oszillatoren nicht sonderlich
genau sind. Nützlich ist so eine Kommunikation auch beim Testen der
Software, um sich z.B. Zwischenwerte, Statusmeldungen, Traces, etc.
ausgeben zu lassen, das spart meist den Debugger.
Also spricht insgesamt mehr für das Dragon. Gibts ne Anleitung zum
selberbauen des Rs323 Pegeldingens?
Würde dann bei Pollin diverse Sortimente mit LED/Taster und so bestellen
und dann alles auf dem Steckboard und dem Dragon machen.
Achja bei Pollin ist der Größte MC der ATmega 644 geht der mit dem
Dragon und vor allem ist das was passendes für den Anfang? Halt paar
Timer und halt schön viele Ausgänge alle 32Bit sind für was größeres als
kleine Schaltungen oder?
Und welche IC-Sockel bzw Stecker sind sinnvoll direkt mitzubestellen?
Bräuchte ja für den ATmega 644 nen 40poligen Nullkraft sockel den gibt
anscheined leider nicht. Bzw welche Sockel passen auf den Dragon oder
sollte ich am besten direkt alles nur über ein kabel an das Steckboard
übergeben ohne Sockel auf den Dragon zu löten?
Frank K. schrieb:> Für JTAG und dW brauchst Du entweder ein JTAG ISP MKii (robust, aber> teuer)
Äh, fast. Das Teil heißt JTAGICE mkII. Nicht zu verwechseln mit dem
ISP mkII, das ist ein reiner ISP Programmer.
Öhm wollte Atmel nehmen da ich bei Pollin nichts zu PIC finde.Und da ich
meistens dort bestelle fällt PIC eigentlcih schon weg. Oder gibt es
irgendwo ordentliche fertig Boards für PIC?
Kann der 644 JTAG? Oder nur ISP?
Noy schrieb:> oder> sollte ich am besten direkt alles nur über ein kabel an das Steckboard> übergeben ohne Sockel auf den Dragon zu löten?
Bau dir am besten ein Kabel:
Auf der Dragon-Seite einen crimpbaren 6/10-Pol-Pfostenstecker, auf der
anderen Seite einfach Pins von Pin-Leisten dranlöten mit
Schrumpfschlauch und dazwischen ein 6/10-poliges Flachbandkabel. So hab
ich es gemacht. Allerdings sind die gelöteten Kontakte recht anfällig
für Wackelkontakte.
Gruß Oliver
Noy schrieb:> und halt schön viele Ausgänge alle 32Bit
??
Der hat 4 Ports a 8 Bit.
Noy schrieb:> Bräuchte ja für den ATmega 644 nen 40poligen Nullkraft sockel den gibt> anscheined leider nicht.
Bei Reichelt für 16,35 Artikel 'TEX 40' ...
Gruß
Jobst
Noy schrieb:> Öhm wollte Atmel nehmen da ich bei Pollin nichts zu PIC finde.Und da ich> meistens dort bestelle fällt PIC eigentlcih schon weg. Oder gibt es> irgendwo ordentliche fertig Boards für PIC?
Entweder bei Microchip direkt oder Reichelt oder ... Gibt viele Quellen.
außerdem gibts nicht DIE PICs, sondern 8 bitter, 16 bitter und 32 bitter
(MIPS Kern). Alle Reihen kannst du mit dem 60€ Pickit3 programmieren und
debuggen. Kannst Dir mal das Datenblatt zum dsPic 30f4012 ziehen, das
ist ein 16 bitter, doppelt so schnell wie ein Avr, DIL40, und kostet bei
Reichelt irgendwas um die 5€.
>> Kann der 644 JTAG? Oder nur ISP?
beides. Bei JTAG verlierst Du vier Portpins.
Ps. Ich würde mir das Experimentierboard sparen und die ersten Versuche
auf einem Steckbrett oder Lochraster machen. Strom, Takt,
Abblockkondensatoren und das Teil sollte loslaufen.
Fchk
Ich glaube mein Problem ist in der MC Vorlesung bzw im Labor hatten wir
die fertige Hardware und wir mussten nur noch Programme schrieben von
wegen LCD ansteuern oder Schrittmotor und so. Natürlich haben wir auch
die komponenten besprochen und RISC Timer Interrupts und so aber keine
Hardware. Daher hätte ich am liebsten eine all in one Lösung wo cih nur
das Dingen draufstecken muss. Programmieren und später in meine
Schaltung und dann hoffen das es Läuft. Debuggt wurde halt direkt beim
Laufenden MC mit LED/Taster Platine und Register Hex Zahlen.
Ich werd mir wohl erstmal das ganze Hardwareseitige Zeug durchlesen
bevor ich irgendwas bestellen kann.
Hab nun gerade bei Reichelt diese Boards von PIC.. entdeckt die schienen
ausgereifter zu sein wenn ich es mal so sagen darf. Alle mit USB und so
aber irgendwie verstehe cih nciht die ganzen Unterschiede der Packungen.
Gibt es irgednwo auch ein Studentenprogramm für PIC?
Die Arduinos hab ich mir schon angesehen.Allerdings sind diese ja fest
auf den Platinen verbaut ich möchte ja gerade mehr in Richtung selber
Schaltungen bauen mit MC's drin und so und suche dafür einen guten
Einstieg.
Beispielsweise mache ich gerade einen CAE Kurs mit PSpice. Da geht es
allerdings eher um Verstärker entwickeln und so. Und ich möchte
sozusagen dahinter anknüpfen und dann mehr Richtung MC Anwendungen
gehen.
Noy schrieb:> Daher hätte ich am liebsten eine all in one Lösung wo cih nur> das Dingen draufstecken muss. Programmieren und später in meine> Schaltung und dann hoffen das es Läuft.
Ok, hab das scheinbar etwas falsch interpretiert.
Nur wozu willst Du dann eigentlich irgendeine AllInOne-Lösung zum
drauf-/umstecken? Sieh in Deiner Schaltung einfach einen Standard ISP-
u/o JTAG-Anschluß vor und programmier/debug den AVR direkt in Deiner
Schaltung.
Noy schrieb:> Oder das Pickit3> Scheint mir insgesamt am besten zu sein kann debuggen und ist weniger> anfällig als das Dragon und kann alle PIC's Programmieren.
... zumindest alle aktuellen. Die alten Typen von vor 20 Jahren, die
noch EPROM statt Flash hatten (16C und 17C), kann es nicht, aber die
wirst Du nicht vermissen. Die waren nämlich ohnehin nur einmal
programmierbar oder UV-löschbar. Aus dieser Zeit stammen auch die ganzen
"Brenner" zB von sprut.de.
Plus: Du brauchst zum Programmieren und Debuggen nur zwei Portpins plus
/MCLR (Reset). Das ist auch ganz angenehm.
fchk
Habe nun ein wenig mich über die Unterschiede informiert und dabei bin
ich überall darauf gestoßen das die Pic schlechter in C zu Programieren
wären. Stimmt das heutzutage immernoch? Alles was ich gefunden habe
waren Threads von 2007 und so. Und gibt es für die Pics auch ein
Studentenprogramm wo man was günstiger bekommt wie von AVR? Habe das
Pickit 3 Express Debug für ca 60€ inklusive Versand aus GB in Ebay
gefunden.
Hi,
Noy schrieb:> Habe nun ein wenig mich über die Unterschiede informiert und dabei bin> ich überall darauf gestoßen das die Pic schlechter in C zu Programieren> wären. Stimmt das heutzutage immernoch? Alles was ich gefunden habe> waren Threads von 2007 und so. Und gibt es für die Pics auch ein> Studentenprogramm wo man was günstiger bekommt wie von AVR? Habe das> Pickit 3 Express Debug für ca 60€ inklusive Versand aus GB in Ebay> gefunden.
Das mit dem "schlechter in C" stimmt heute absolut nicht mehr.
Es kommt halt darauf an "welche" Pic Familie man nimmt. Wie schon oben
geschrieben gibt es nicht DEN Pic sonderns insgesamt 4,5 Pic Familien
Es ist ein vorurteil das sich noch heute hält und von den AVR Jüngern
immer noch hochgehalten wird. Getreu "trau keiner Statistik die du nicht
selbst gefälscht hast" wird dann immer gern der neueste AVR mit den
Möglichkeiten des seit gut 10 Jahre ausdrücklich als veraltet
gekennzeichneten "PIC16F84(A)" verglichen.
Fakt ist das die Pic16F Familie tatsächlich nicht Ideal für C ist. Das
16er Design ist recht alt, hat in den Grundzügen schon einige Jahrzehnte
auf dem Buckel. Für einfache Wünsche aber immer noch aktuell.
Die 16er PICs sind halt zu einer Zeit wo ASM upTODate war für ASM
entwickelt worden.
Wobei die aktuellen C Compiler da schon eine Menge wettmachen.
Wenn man aber beabsichtigt in erster Linie in C zu arbeiten dann sind
die Pic18F das Objekt der Wahl. Das ist eine wesentlich neuere
Entwicklung, unwesentlich jünger als die AVR. Für einen "fairen"
Vergleich müsste man also diese mit den AVR 1-1 vergleichen.
Die 18F sind speziell für die Verwendung von C Compilern optimiert. Da
kann von "nicht C" keinerlei REde mehr sein. Das war aber acuh schon
lange vor 2007 so. Die PIC18F würde ich auch als "Hauptfamilie" zum
Einstieg empfehlen. Diese bieten zum selben PReis (für dne Endkunden
gibt es kaum unterschiede im Preis, Großmenge schon) deutlich mehr
Leistung und peripherie. Es gibt einen freien Compiler ohne
Codeeinschränkung (nur mit etwas schlechteter Optimierung nach 60Tagen)
und massig Libs sowie Demobeispiele zentral von Microchip selbst die du
ohne Einschränkung frei verwenden kannst. Egal ob Privat oder
Kommerziell.
Bei Atmel-AVR gibt es wesentlich weniger von Atmel selbst. das meiste
stammt von anderen Hobbyisten und man ist immer dabei sich vieles von
den unterschiedlichsten Stellen zusammenzusuchen. Mit dem nebeneffekt
das man auf einmal verschiedenste Programmierstiele innerhalb eines
Projektes hat.
Dann gibt es noch die 16Bit Pic die DS Pics(16bit mit auszügen von
DSP_HArdware) sowie die 32Bit PICs. Diese sind natürlich wie alle
Leistungsfähigen Controller voll auf C ausgelegt. Die Compiler hier sind
GCC abkömmlinge. Für den ersten Einstieg würde ich aber bei 8 Bit
reinschnuppern, dann mich steigern.
Vorteil bei MC ist das du mit einem einfachen Programmiergerät (PicKit3)
ALLES was an Pics die letzten 10 Jahre auf den MArkt gekommen ist
programmieren kannst. Viele davon auch debuggen. Und das Debuggen zur
Laufzeit kostet dich bloß 2 I/O Pins. Zudem ist das Ding recht robust.
Ein "Massensterben" von Treibern oder Spannungsreglern wie beim Dragon
oder Brüchigen Flexkabeln zur Kontaktierung wie beim JTAG ICE II ist
nicht vorhanden.
Zum Studentenprogramm:
Einen" Studentenshop" hat Microchip nicht. Wenn, dann kannst du über die
HS Produkte günstiger beziehen. Alternativ, wenn es das bei deiner HS
nicht gibt -und wenn es auch stimmt das du sparen muss- kann man nur
empfehlen bei MC direkt anzurufen und das "Probelm" schildenr und fragen
ob ein vergünstigter Bezug möglich ist.
Geht es dir nur um den Programmer kannst du auch einen PicKit NAchbau
aus China kaufen. Kostet incl. Versand um die 20Euro und ist wohl voll
Kompatibel (MC hat sowohl Schaltplan als auch Software im Netz)
Auf jeden Fall kannst du als Student aber kostenlos an MC Schulungen
teilnehmen. In München und bei Düsseldorf gitb es ja öfter welche. Musst
halt vorher Kontakt aufnehmen und dann wirst du -sofern Plätze frei-
eingeladen.
Ach ja: An welcher HS bist du eigendlich. DAs was du über das
MicrocontrollerPraktikum schilderst klingt so wie bei uns (MS). Wobei
das sicher an vielen Schulen ähnlich ist.
Aber zum Abschluss:
Wissen solltest du auf jeden Fall, das die Controller von den
Möglichkeiten relativ gleich sind. Egal ob AVR oder PIC. Grundsätzlich
können die das gleiche.
ICh persöhnlich finde halt MC Pics aufgrund des drumherum besser, die
"SoftSkills" sozusagen.
Also das man einen "günstigen" Programmer für alles hat, also alle Pics
und incl. Debug. Man kann sich nicht Aussperren und die IDE gibt es
identisch für Linux und Windows. Es läuft alles aus der IDE heraus.
Selbst Drittsoftware kann man einbinden.
Was auch nicht zu vergessen ist: PIC gibt es sehr viel mehr auch im DIP
gehäuse. Selbst einigermaßen Leistungsfähige typen mit USB oder CAN.
Versuche mal einen AVR mit USB in DIP zu bekommen... Bzw. versuche mal
einen USB AVR überhaupt zu bekommen. ICh kenne da momentan nur CSD als
Firma die auch Bastler beliefert. PIC mit USB hat fast jeder Versender
im Angebot.
Allerdings befinden wir uns hier in einem eher AVR lastigen Forum. Das
muss man wissen um die Antworten einordnen zu können. PIC ist aber
wieder im Vormarsch ;-)
P.S. 60 Euro für das Debug Express Kit?
ICh meine bei Reichelt kostet es auch 54 Euro, kann aber auch gestiegen
sein. Aber ganz ehrlich: Das Demo Board brauchst du nicht wirklich.
Die kompletten Unterlagen dazu hat MC auf seiner Seite. Sowohl die
"Lesson Files" für erste Übungen wie auch den Schaltplan des DemoBoards.
Der Controller der darauf ist kostet bei Reichelt als 40Pin DIP 2,30
Euro.
Besorge dir den und bau das Board auf einer Lochrasterplatine anahnd des
Schaltplanes auf. Dürfte komplett unter 10Euro liegen. Dann weist du
auch gleich wie die HW aufgebaut ist. Jetzt nur noch den Programmer
einzeln kaufen und gut ist.
Abe regal ob PIC oder AVR: tu dir den GEfallen -und selbst wenn es
verführerrisch ist- lass die Finger von allen Programmiergeräten und
Selbstbauten welche eine eigene Software brauchen und nicht direkt aus
der IDE des HErstellers heraus angesprochen werden. Für die paar Eureoi
erspraniss lohnt der Auswand niemals.
Gruß
Carsten
EDIT: HAbe gerade gesehen das die 54 Euro bei REichelt für das Debug
Express Kit stand letzten JAhres sind. Mittlerweile kostet es fast 70!!!
Euro.
Die zeihen die PReise ja ganz schön an...
So werde wohl den Programmer holen ohne Platine. Meine Frage wäre nun
noch ich bestelle demnächst bei Pollin halt Steckboard und noch diverse
Bauteile. Und würde da direkt für Später ein LCD mitbestellen für
späteres ansteuern mit nem PIC18F welches von den ganzen da Angebotenen
brauch ich denn eins mit Controller schon oder ohne? Und was bzw
überhaupt für Quarze braucht man denn so? Oder einfach 100 Quarze im
Quarzsortiment bestellen?
Achja und noch wichtig ist :
Ich will mein Steckboard über ein Schaltnetzteil CONRAC 6030-6510-0000
betreiben das +12V/ 8,5A;
+12V/0,7A; +5V Standby/0,02A und +5V/2A bringt. Würde den PIC18F dann
über die 5V/2A betreiben weiß aber leider nicht ob die Stabilisiert ist
und ob der PIC das dann mitmacht die PIC18F kann bis 5,5V vertragen.
Muss da noch eine Strombegrenzung oder so rein?
Noy schrieb:> Welchen der 18F ist denn zu empfehlen für den Anfang? Das sind ja> hunderte verschiedene.> Ein paar Timer und schon genügend Platz wäre ganz praktisch.
Die 18FxxJxx laufen nur noch mit 3.3V. Für Dich ist wohl einer der alten
Typen ohne K oder J in der Bezeichnung am Besten - die sind alle
garantiert 5V-geeignet.
Oder Du nimmst einen dsPIC30F4011 oder so. Das ist ein 16 Bitter -
vielleicht die angenehmere Architektur. Die dsPIC33 laufen auch nur noch
mit 3.3V, die 30'er auch noch mit 5V, und von der 30'er Serie gibts auch
einige im DIL40 oder DIL28 Gehäuse.
Die Entwicklungsumgebung ist immer die gleiche - MPLAB8. Dazu brauchst
Du noch den C-Compiler für die jeweilige Architektur (C18, C30, C32).
Gibts alles bei Microchip zum Download.
fchk
Noy schrieb:> Welchen der 18F ist denn zu empfehlen für den Anfang? Das sind ja> hunderte verschiedene.> Ein paar Timer und schon genügend Platz wäre ganz praktisch.
Ja, das mit den hunderten Verschiedenen ist schon Segen und Flcuh
zugleich.
Es gibt für fast jede Anwendung den exakt passenden PIC, für den
Einsteiger ist es aber unübersichtlich.
ICh würde für allererste Schritte die Wahl zwischen 18F45K20, 18F4520
und 18F4550 im Dip Gehäuse ausmachen.
Der 18F45K20 ist der Typ der auch auf der DebugExpress testplatine
arbeitet. (Dort allerdings als SMD) Wie Frank aber schon schrieb ist das
ein Typ der von ca. 1,8 bis 3,6V Betriebsspannung verträgt. 5V zerstören
den nicht sofort (aus eigener Erfahrung ;-)) aber ist sicher auf dauer
nicht so toll.
Der ist mit 2,30 für das 40Pol Dip Gehäuse bei Reichelt mit abstand auch
der günstigste. Wenn man aber viele Bausteine hat die noch mit 5V Pegeln
arbeiten natürlich etwas ungünstig. Gerade als Anfänger werden die
meisten externen Bausteine eher noch 5V PEgel haben. Da muss dann ein
Levelshifting stattfinden.
Der 18F4520 könnte man als "frühere" Version bezeichnen. Er läuft mit
2-5V, kann also wahlweise sowohl mit 3,3V als auch mit 5V erfolgreich
betrieben werden. ISt also etwas universeller. Leider bei REichelt mit
Knapp 5 Euro ungefähr doppelt so teuer (ebenfalls auf DIP40bezogen)
Diese beiden µCs haben massig Speicher, sowohl Ram wie auch
ProgrammFlash. EEPROM zur Zwischenspeicherung von Daten auch ohne
Betriebsspannung ist auch vorhanden. So ziemlich alle gängigen
Schnittstellen und 12 AD Converter. Mit einem 40DIP Gehäuse hat man auch
genug an IOs zur Verfügung.
Der 18F4550 ist schon einer der Typen mit Spezialperipherie. Genauer
gesagt handelt es sich um einen Typ mit integrierter USB Hardware,
Allerdings kann er natürlich auch ohne USB betrieben werden. Dann
verhält er sich wie ein 08/15 Baustein. So gut wie alles was man mit den
obigen Dingen machen kann, das kann dieser auch.
Der Vorteil hier ist das man den auch mit einem USB Bootloader versehen
kann. Dieser µC arbeitet auch bis 5V. Allerdings hat er glaube ich nur
halb so viel Speicher wie die beiden oben geannten. Er kostet als DIP40
5,15Euro.
Diese drei Bausteine sind auch grundsätzlich Pinkompatibel. Allerdings
ist zu beachten das beim USB Baustein einige wenige Pins der "höheren"
Ports von den Zweitfunktionen anders belegt sind und ein IO gar nicht
zur Verfügung steht. Das hängt mit der USB Hardware zusammen.
Wenn dich das Thema USB schon jetzt ein wenig reizt, dann würde ich
schon diesen zumindest mitbestellen. Es schadet aber grundsätzlich ja
auch nicht wenn man zum Einstieg mit zwei oder drei Typen anfängt. Die
unterscheiden sich ja nicht gravierend. Der eine hat dann halt mehr
Speicher, der andere dafür usb. Programmierung und die meisten Fuses
sind identisch.
Ich würde dir aber raten zumindest einen 18F45K20 zu nehmen um das
Experimentierboard vom DebugExpress auf Lochraster nachzubauen um die
Lesson Files als "schnelleinstieg zumindest mal anzusehen und als erste
Ausgangsbasis für eigene Dinge zu nehmen. Grundsätzlich kann man die
auch mit dem 18F4550 abarbeiten, aber das geht dann nicht mehr "Out of
the Box" sondern man muss direkt mit geänderten Einstellungen anfangen
und diese Änderungen bei einem Einsteiger bevor das erste Programm
läuft... Naja.
Später, wenn du dann besser zurecht kommst, dann wirst du die Vielfalt
der Pics auch zu schätzen lernen. Wenn du dann z.B. eine USB Anwendung
hast die aber nur 3 IOs braucht kannst du die experimentell mit einem
18F4550 entwickeln, kannst aber für das fertige Gerät dann genausogut
statt des 5Euro teuren 4550 einen 18F13K50 im DIP20 (oder SMD) Gehäuse
einsetzen.
(die oben genannten sind ja nun wirklich im Vergleich "Dickschiffe"...
Für die allermeisten Anwendungen gandenlos überdimensioniert)
Zu den Quarzen:
Nee, kein Quarzsortiment!!!
Da sind wenn überhaupt nur wenige für dich geeignete Quarze drin.
Die 18F Pics haben eine PLL intern. Die können aus einem niedrigen
Quarztakt sich jede Taktfrequenz (in schritten natürlich) selbst
erzeugen. Also mit demselben Quarz kannst du 1Mhz oder aber 64Mhz(bei
einigen auch nur 48MHz) erzeugen.
Das kannst du sogar zur Laufzeit umstellen.
Also dein Programm läuft um strom zu sparen nur mit 1Mhz, wenn dann ein
Ereigniss kommt was schnell abgearbeitet wird stellt das Programm auf
64MHz um und nach erledigung auf 1MHz zurück
Damit man glatte Frequenzen bekommt mit denen sich dan auch einfach die
Geschwindigkeit oder Baudraten berechnen lassen sollte man als
Referenzquarz einen nehmen dessen Frequenz glatt durch 4Mhz teilbar ist.
ICh setze meist 8 oder 12MHz ein. Aber 4Mhz, 16MHz oder 20MHz gehen
genausogut. Legt dir einfach ein paar eines dieser Werte auf die Seite.
ISt geschmackssache welchen WErt.
Die PICs haben natürlich wie eigendlich alle moderneren µC einen
internen Baudratengenerator, dieser Ermöglicht es dann auch ohne krumme
Baudratenquarze die meisten Baudraten recht genua zu treffen so das de
rFehler innerhalb der Toleranz liegt. (Welche jetzt genau hängt von de
rTaktfrequenz, NICHT der Qurzfrequenz ab)
NAtürlich haben die Pics auch einen internen Oszillator der anstelle
eines externen Quarzes die REferenzferquenz liefern kann (ebenfalls bis
64MHz/48MHz) Bei vielen PICs reicht die Genauigkeit sogar für schnelles
UART ohne Quarz völlig aus. Muss aber dann im DB stehen damit man sich
darauf verlassen kann.
Noy schrieb:> weiß aber leider nicht ob die Stabilisiert ist> und ob der PIC das dann mitmacht die PIC18F kann bis 5,5V vertragen.> Muss da noch eine Strombegrenzung oder so rein?
Strombegrenzung nicht, Spannungsbegrenzung!
Erfahrungsgemäß stecken die Pics Überspannung schon eine Zeitlang gut
weg. Aber garantiert ist es nicht und man weiß ja nice ob er nicht doch
an einem der internen Peripheriemodule unbemerkt schaden genommen hat.
Einfache Z-Diodenstabilisierung reicht da in der Regel.
Wobei eine fein einstellbare Strombegrenzung natürlich nicht verkehrt
ist. die Spart so manchen Neukauf!
Aber du hast noch nicht gesagt wo du herkommst/welche HS du bist.
Wenn du hier aus der Nähe kommst lässt sich sicher was deichseln das du
gegen Unterschrift zum Probieren was ausgeliehen bekommst. Z.b fürs
reinschnuppern ein PicKit und das DebugExpress board...
Ach ja:
Die Breedboards sehe ich eher Kritisch. Für ganz einfache Sachen ja,
aber für Komplexe Dinge fängt man sich damit auch eine Menge Probleme
ein. Wackelkontakte sind da eher häufig. Auch verwechselt man schnell
mal einen Steckplatz (hat mich schon ein GPS Modul gekostet) Und wenn es
schneller wird dann stellen die parasitäten Kapazitäten ein großes
Problem da, vom nicht "HF-gerechten" Aufbau ganz zu schweigen
ICh halte Lochraster da eher für Sinnvoll. Die paar Cent an mehrkosten
sollten noch drin sein. Am besten eine HAndvoll der "billigen" IC Sockel
für die teuren Bauteile besorgen und diese Sockeln, alles andere dann
ordentlich verlöten. Der bei mir nicht mehr wiederverwendbare
Materialanteil liegt aufs Projekt gesehen meist deutlich unter 5Euro für
einen Eurokartenfüllenden Versuch (LR Karte mit eingerechnet) Wobei man
da sicher noch deutlich mehr wiederverwenden könnte. Aber das spare ich
mir dann doch.
Ach ja, gerade in der Probierphase sind die billigen Sockel sowieso viel
besser geeignet, die "Präzisionssockel" sollte man nur da nehmen wo der
IC auch wirklich lange im Sockel verbleiben soll!
Zum Abschluss noch ein Link auf einen Artikel zu einem Versuchsboard mit
18F4550.
Wie gut das Board aber für dich geeignet schein musst du selber
entscheiden. ICh habe mich da nicht weiter drin vertieft.
http://www.mikrocontroller.net/articles/PIC18f4550_Experimentier_Platine
Die 16Bit Pics würde ich mir für später vorbehalten. Für den Einsteiger
sind die etwas komplexer, wobei ich das Problem aber nicht darin sehe,
sondern eher in de rTatsache das die in Bastlerkreisen deutlich weniger
verbreitet sind und bei Problemen gerade zu Anfang weniger Hilfestellung
kommen wird.
Gruß
Carsten
Vielen Dank für die TOP ausführliche Antwort.Ich bin an der THM in FB
ist nicht so wirklich nähe MS.
Werde mir wohl dann mal direkt bei Microchip das PICKIT 3 und jeweils
einen mit USB und einen ohne aber mit 5V (rein weils einfacher mim
Schaltnetzteil wird)vll noch einen der ganz kleinen für ASM, als
Studentenversion bestellen und den Rest den ich für die Debug Platine
brauch bei Pollin samt passende Quarze. Das mit dem
Lochraster/Steckboard werd ich mir mal merken aber für den Anfang ist
Steckboard für mich einfacher da ich noch ein bisschen Analog Verstärker
nebenher machen will.
So ich habe ein Problem auf dem Demoboard sind oft 100nF
Abblockkondensatoren verbaut aber Pollin hat keine Kerkos. Deshalb
besser Folien oder gehen auch Tantal (haben ja eine Polung) nehmen?