Hallo, Ich bin ein Anfänger, der noch keine Erfahrung mit Mikrocontrollern hat. Ich möchte zuerst einige Erfahrungen sammeln und dann mein eigentliches Projekt beginnen: Einen kleinen "PDA", mit dem man folgendes kann: Texte verfassen/anzeigen(Punkt-Matiry Display)/speichern Texte an Computer übertragen bzw. vom Computer laden (am besten via USB) Nun zu meiner Frage: Mit welcher Mikrocontrollerfamilie soll ich nun arbeiten (PIC, AVR oder andere)? PS: Welche Literatur könnt ihr mir empfehlen? Danke im Voraus für die Antworten!
>Welche Literatur könnt ihr mir empfehlen? http://www.mikrocontroller.net/articles/AVR-Tutorial http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial Datenblätter, Application Notes... Realisieren liesse sich das Projekt mit vielen Controllern. Einige PICs haben schon eine gewisse USB-Funktionalität integriert... Das kann man aber auch meist mit externen Chips erreichen.
Genau, machbar dürfte das mit so ziemlich jeder Controller Familie sein. Ich empfehle aber die AVR-Reihe, da sie sich meiner Meinung nach für den Einstieg am besten eignet: - Bei Bedarf recht leisungsfähig - Sehr einfache Beschaltung - preiswerte Programmiergeräte - die wichtigsten Entwicklungsumgebungen sind preiswert bis kostenlos verfügbar (ASM, C, Basic) - Im Hobbybereich weit verbreitet d.h. gute Unterstützung bei Problemen durch Foren - v.a. diesem hier ;) - viel existierender Code (z.B. LCD Ansteuerung) - Eval-Boards sind günstig verfügbar (Hier im Shop, Pollin, Ebay) Michael
Hallo Die AVRs sind sicher gut geeignet dafür und für einen Anfänger sehr einfach zu verbasteln und auch zu beschaffen. Zu deinem PDA: Wie stellst du dir das mit der Texteingabe vor? Kommt da eine Tastatur ran? Nicht vergessen: Das kann ziemlich knifflig, und wenig praktisch werden. Also wenn du einfach einen PDA möchtest, dann kaufst du besser einen fertigen, z.B: ein Gebrauchtgerät auf Ebay. Für die Microcontroller-Bastelei gibt es IMHO dann viel sinnvollere Projekte, zum Anfangen beispielsweise einfache Roboter. Gruss Michael
Hi Realisieren lässt sich das mit beiden Controllern. Für die PIC sprechen: [Zitat] - Bei Bedarf recht leisungsfähig - Sehr einfache Beschaltung - preiswerte Programmiergeräte - die wichtigsten Entwicklungsumgebungen sind preiswert bis kostenlos verfügbar (ASM, C) - Im Hobbybereich weit verbreitet d.h. gute Unterstützung bei Problemen durch Foren - viel existierender Code (z.B. LCD Ansteuerung) - Eval-Boards sind günstig verfügbar (Hier im Shop, Pollin, Ebay) [\Zitat] (Nein Nein... ich hab mich nicht verschrieben ;-) ) Im grunde ist es wirklich egal mit welchen Controller du arbeitest (AVR oder PIC). Sie haben ungefähr das selbe Leistungs- und Peripheriespektrum( Microchip(PIC) hat Controller mit integriertem USB und Ethernetmodul, ob das die AVRs haben weis ich leider nicht, ist aber gut möglich). Was meiner Meinung nach sehr für die PICs spricht( und das ist auch der Grund warum ich diese verwende), ist deren Firmenpolitik bezüglich Schüler und Studenten. Microchip biete für Schüler und Studenten sehr viel an. Zum Beispiel gibts gratis Samples, gratis Compiler, vergünstigungen bei Eval-Boards und Programmern usw. Und so hats auch bei mir begonnen. Ich hab mir ein Sample bestellt und programmiert... es hat geklappt... also hab bin ich gleich bei den geblieben :-) Und jetzt einmal ein paar Arrgumente die nicht mehr gelten: Viele benutzen keine PICs wegen dem "Banking". Das ist schon richtig, dass es das gibt. Aber das betrifft dich auch nur, wenn du die PIC16F unter ASM programmierst ;-). Da aber die PICs die für dich interessant sind, eh PIC18F sind, betrifft dich das nicht ;-). Die interessantesten PIC-Klassen sind ja wohl eh die grossen PIC18F und die ganz kleinen PIC10F und PIC12F. Und hier gibts kein Banking.Ausserdem gibts dafür euch gratis C-Compiler. Zur Programmiersprache: Im Grunde ists egal mit welcher Sprache du anfängst. Ich hab mit C angefangen und programmiere hin und wieder etwas in ASM. Den Controller selbst lernst du bei beiden Sprachen sehr gut kennen. Und wenns nicht gerade extrem Zeitkritische Sachen sind, ist es auch egal was du nimmst. Ansonst gibts auch Inline-ASM in C ;-). Ausserdem ist der Start mit C doch auch recht einfach :-) So und wenn ich dir jetzt etwas lust auf PICs gemacht habe, dann empfehle ich dir zwei wunderbare Seiten: www.sprut.de Das ist DIE PIC Seite im Netz. Dort findest du alles was man über PICs wissen sollte. Das ganze sehr verständlich und interessant geschrieben. Es gibt auch sehr oft updates. Schau einfach mal dort hin :-) Achja... und dort gibts auch einige DIY-Brenner für PICs die sehr empfehlenswert sind. Es gibt sogar eine USB-Version. und dann noch: www.fernando-heitor.de Das ist ein PIC-Spezifisches Forum. Es ist zwar nicht so viel los wie hier, aber die Leute dort sind alle sehr Kompetent und helfen und erklären immer ziemlich gut (besser als wie hier ;-)). Weiters findet man dort Tutorials und andere wissenswerte Sachen. In diesem Sinn. Viel Spass mit den µC. mfg Schoasch
Edit: Wie ich gerade sehe, gibts hier im Shop keine PIC-Boards mehr. Braucht man aber auch nicht wirklich :-). Ein Breadboard und Drähte reichen völlig aus. Oder du baust dir gleich dein eigenes Eval-Board,wodurch du gleich einiges über den Controller lernst. mfg Schoasch
Danke für die Antworten erstmal. Mir geht es bei diesem Projekt vor allem darum, dass dieses "kleine" Gerät mir Papier und Stift ersetzen soll und mit dem Computer verbunden werden kann. Ich habe bereits einen PDA zuhause und bin auch sehr damit zufrieden. Aber ich möchte eben in die Microkontrollerwelt einsteigen und lernen, wie man eine Verbindung zum PC herstellt. Noch eine Frage: Worauf können die Texte gespeichert werden? Brauche ich zusätzliche Speicherbausteine?
Manche Pics haben EEPROM, ist aber eher wenig. Externes EEPROM oder Flash ist da wohl notwendig. Gerhard
Viel wichtiger als die Wahl des Controllers erscheint mir die Frage nach dem LCD und vor allem der dazugehörigen Touch-Folie. Wie groß soll das denn werden? Es gibt von Batron LCDs mit 128x128 Pixeln mit etwa 5-6cm Kantenlänge die sich noch gut per Software handhaben lassen. Aber eine (hochauflösende) Folie? Wüßte ich jetzt nicht wo man sowas bekommt. Zum Speichern der Grafiken könnte man externe Flash-Speicher nehmen oder gleich eine MMC Karte. Doch ich würde mal sagen das das mehr als nur ein kleines Projekt ist. Da kommt einiges an Arbeit auf dich zu ;-). Ich programmiere übrigens häufiger PICs (fast täglich) als AVRs. In der Firma Microchip, privat ausschließlich Atmel (oder NXP). Und das liegt nicht etwa an einem fehlenden ICD. Aber letztlich muß das natürlich jeder selbst entscheiden. Brauchbar sind beide Familien. - Michael
Georg Schmied wrote: > Ich bin ein Anfänger, der noch keine Erfahrung mit Mikrocontrollern hat. ... > Einen kleinen "PDA", mit dem man folgendes kann: > > Texte verfassen/anzeigen(Punkt-Matiry Display)/speichern > Texte an Computer übertragen bzw. vom Computer laden (am besten via USB) Dann scheint mir das aber mehrere Nummern zu groß zu sein. Die meisten hier haben wesentlich kleiner angefangen. Versuch z.B. erstmal, ein Textdisplay anzusprechen, ehe Du ein Grafikdisplay nimmst. Vorher die Grundlagen (LEDs blinken, Schalter abfragen, entprellen, Uhrzeit, Datum zählen usw.) lernen wäre auch nicht schlecht. USB ist auch kein Einsteigerprojekt. Es gibt natürlich MCs mit eingebautem USB-Bootloader (AT89C5130, AT89C51SND1), aber die meisten nehmen lieber die UART (mit FTDI-Chip oder externem USB-RS232-Converter). Für den Einsteiger sind die 8051 (z.B. AT89C51ED2) mit eingebautem UART-Bootloader am einfachsten, denn man braucht keinerlei Programmiergerät. Einfach mit dem PC verbinden und das Programm runterladen. Der AVR ist sehr leicht zu erlernen und auch in Assembler gut zu beherrschen. Hier im Forum ist er der Favorit (die meiste Hilfe zu AVRs). Etwas nachteilig ist, daß er keine Interruptprioritäten hat. Daher nehme ich am liebsten die 8051-Familie (2 .. 4 Interruptprioritäten). Für den PIC kann ich mich nicht erwärmen. Da ich viel mit Interrupts arbeite, mag ich es, wenn die Interruptquellen ihren eigenen Interruptvektor haben. Beim PIC muß man dagegen immer erst austesten, wer denn nun den Interrupt ausgelöst hat und das kann Zeit kosten, die ja im Interrupt kostbar ist. Bei den PICs haben auch nur die PIC18xx 2 Interruptprioritäten und nen Softwarestack. Auch gibt es zwischen den einzelnen PICs sehr große Unterschiede, so daß es schwer ist, Programme auf andere PICs anzupassen. Es klang ja schon an, daß der PIC mehr durch die Samplevergabe als durch die inneren Werte zu Popularität gekomen ist. Das war früher mal bei Chippreisen von 100,-DM ein Argument, aber heutzutage ist oft ein Big-Mac teurer als zwei MCs. Peter
> .... PIC18xx 2 Interruptprioritäten und nen Softwarestack. Das mit den Prioritäten ist richtig aber der Stack ist immer noch Hardware (allerdings 32 Level). Erst die 16 Bit Controller PIC24 und die dsPIC haben 7 frei wählbare (und noch einige feste) Interruptprioritäten und für jede Quelle 2 Interruptvektoren zwischen denen man durch Setzen/Löschen eines Bits umschalten kann. Da gibts dann auch den Softwarestack, Barrelshifter, ADC mit eigenem FIFO, einige DMA Kanäle usw.
Natürlich fange ich gerade erst an und habe dieses Projekt nicht für den Anfang, sondern für irgendwann danach geplant. Ich werde mich natürlich erst mit der Materie tiefgehend beschäftigen. Ich muss nur wissen, mit was ich anfangen soll. Wie aus den Antworten herausgeht, sind wohl die AVR - Controller besser für mich geeignet. Gibt es noch irgendwas, das für PIC spricht? Wie schaut es mit der USB Tauglichkeit aus? Ist der Aufwand da für PIC kleiner? Nochmals Danke für die Antworten!!!
Der Aufwand bei PICs und USB.. hmm. Entweder du verwendest einen FTGI Chip, dann ists egal, ob es ein PIC oder AVR ist. Wenn du das interne Modul verwenden willst, dann brauchst du nur 2 Widerstände dazu und etwas nachlesen... und die Source-Datei von Microchip umschreiben. OK sooo einfach ist es dann auch nicht, aber mit etwas hineinlesen, kann man dann gleich mal etwas damit anfangen: http://www.sprut.de/electronic/interfaces/usb/usb.htm mfg Schoasch
Ich würde dringend die Verwendung eines FTDI (FT232) für die Anbindung an USB empfehlen. Als Anfänger bekommt man wohl kaum die Initialisierung der USB-Funktionalität hin, die "alte" serielle Schnittstelle ist sowohl PC-seitig als auch µC-seitig wesentlich einfacher zu handhaben.
Von Atmel gibts einen USB Key Evalboard (30Eus) den USBkey mit AT1287 oder ähnliches samt quelltext
Da wirst du wohl eine einsame Entscheidung treffen müssen. Vielleicht hilft es wenn du dir mal die Tutorials (AVR, PIC) ansiehst. Du könntest auch mal nach Beispielcode/Schaltungen suchen z.B. für Text- und Grafik LCDs (glcd). Dazu wäre es auch hilfreich wenn du dich zumindest tendenziell für eine Programmiersprache entscheiden könntest. Die Unterschiede zwischen den beiden Typen sind so gering, das du eigentlich nichts falsch machen kannst. Du kannst also danach gehen welche Umgebung dir sympatischer ist. - Michael
OK, ich werde noch intensiv im Netz nach Informationen und Tutorials Ausschau halten. Ich glaube nun, dass vieles mir klarer geworden ist. Danke nochmal für alle Beiträge!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.