PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : µC-Projekt, PIC oder Atmel?



Teri
02.04.2008, 07:52
Ich plane zur Zeit mit Jemandem aus meiner Berufsschulklasse ein µC-Projekt.
Er hat das ATMEL Evaluations-Board von Pollin, da wäre es natürlich günstiger einen Atmel zu nehmen, aber in der Berufsschule werden wir PICs haben.

Jetzt meine Frage, wo liegen die Unterschiede zwischen PIC und Atmel Controllern?
In der Programmierung?

Jetzt zum Projekt:
Wir haben erstmal eine Ampel geplant.
Ich würde auch gerne was mit RGB-LEDs machen.
Später wollen wir auch was mit Funk machen, wenn das andere klappt.

Das wars erstmal, freue mich auf Antworten.

LG
Teri

BastelHans
02.04.2008, 09:07
Die Controller sind etwas anders aufgebaut und deshalb nicht kompatibel. Müssen auch mit unterschiedlichen Tools programmiert werden.

Mit Atmel müsste man den günstigeren Einstieg hinbekommen, bei der Hardware sind für den Einstieg unter 10 € (vielleicht sogar unter 5 € ?) Kosten möglich, wenn man die Controllerschaltung und den Programmer (für die parallele Schnittstelle) selber baut. Software, um die Dinger zu Programmieren, gibt es als Freeware.

Controller, die die nötige Ausstattung für deine Projekte haben, wird es von beiden Herstellern geben. Letzendlich ist es auch eine Frage der persönlichen Vorlieben.

Vielleicht wäre noch abzuklären, ob es ein Vorteil für dich sein kann, wenn du selber Hardware besitzt, um die Schulprojekte auch zu Hause bearbeiten zu können, was pro PIC sprechen würde.

Pro AVR spricht, dass du zwei verschiedene µC-Familien kennen lernst.

Gruß
Hans

Teri
02.04.2008, 10:13
Also, wir werden die Schulsachen komplett in der Schule machen.
Uns wurde aber von einem, der schon mit der Ausbildung fertig ist erzählt, dass man da nicht so viel lernt und ein eigenes Projekt sinnvoll wäre.

Mal angenommen wir nehmen jetzt einen Atmel und kommen gut damit zurecht und kommen auch mit dem Programmieren gut klar.
Wie groß ist dann die Umstellung zum PIC?
Hat der eine ganz andere Programmstruktur? Andere Befehle?

Und welche Sprache ist zu empfehlen? Assembler?

LG
Teri

Felix G
02.04.2008, 10:24
Also bei Assembler sind die Unterschiede relativ deutlich, in dem Punkt würde ich behaupten daß die PICs komplizierter zu programmieren sind als die AVRs.

Man kann aber beide auch in C programmieren (Assembler würde ich nur für sehr kleine oder extrem zeitkritische Programme empfehlen), und da sind die Unterschiede nurnoch sehr gering. Allerdings ist der C-Compiler für die PIC Controller soweit ich weiß nicht kostenlos, was dann wieder für einen AVR sprechen würde (dafür gibts den sehr guten Open-Source Compiler AVR-GCC).



Ich würde mal sagen es kann nicht schaden, wenn man mehrere Controller-Familien kennt, denn alle haben ihre Vor- und Nachteile. Insofern empfehle ich euch ganz klar einen AVR, denn so könnt ihr euren Horizont erweitern, und spart dabei sogar noch etwas Geld.

Teri
02.04.2008, 10:56
Das hört sich doch gut an.

Gut, dann kommt jetzt die Frage nach dem µC.
Das ATMEL Evaluations-Board von Pollin "ermöglicht die direkte Programmierung der ATmega8535, ATmega8, ATmega16, ATmega32, ATmega64, ATtiny2313, ATtiny12 und ATtiny15".

Welchen nehmen?
Es soll ja ausbaufähig sein.

LG
Teri

theborg
02.04.2008, 11:04
Hm also beide Prozessoren schenken sich nicht viel was etwas nerft bei pic ist das bankwekseln aber das ist eigentlich nen selbstgänger bei C muss man das nicht es gibt auch einen sehr guten C Compiler für Opensorche ist nämlich sddc.

zu das was FelixG sagt müste ich mal widersprechen HW anzusteuert oder zu benutzen ist eigendlich das gleiche wie beim AVR .

Zu dem tehma welchen nehme ich würde das nicht an dem typ festmachen bei den beiden sondern eh an Den verfügbaren tools/compilern je nachdem was du brauchst welche Programmiersprache und den kosten für den einstieg.

Die einstiegskosten sind bei beiden etwar gleich im gegensatz was andere behaupten gibt es recht billige programmer für den PIC wen man ihn sich nicht selber bauen möchte. (jdm2 ebay 10eur) das einzige was etwas teurer ist ist der Debuger ein nach gebauter kostet um die 40eur diesen brauch man bei pics aber nicht wirklich es gibt eine grosse zahl an frei verfügbaren SW debuggern.

Teri
02.04.2008, 11:19
Naja, da ja schon das Atmel-Board vorhanden ist bietet es sich ja an einen Atmel zu nehmen.

LG
Teri

SIGINT
02.04.2008, 11:42
Hi teri,
ich hab mit AVR und PIC rumgespielt und bin der Meinung, wenn man das Grundkonzept eines Mikrocontrollers verstanden hat, dann hat man mit den anderen auch nicht wirklich Probleme. Einarbeiten muss man sich in eine neue Architektur sowieso, ob PIC, AVR, MSP, etc.
Generell sollte man mit ASM anfangen, um die Hardware zu verstehen und dann zu C wechseln. Ob PIC oder AVR ist eigentlich nur ne Glaubensfrage, da die sich technisch nicht viel geben. Der AVR ist etwas angenehmer zu programmieren als der PIC. Der PIC wird aber meistens in Schulen und bei der Ausbildung (PAL - Aufgaben) verwendet.

Gruß,
SIGINT

Felix G
02.04.2008, 11:45
zu das was FelixG sagt müste ich mal widersprechen HW anzusteuert oder zu benutzen ist eigendlich das gleiche wie beim AVR . Ich bezog mich dabei auch hauptsächlich auf die Geschichte mit den Speicherbänken, was für Anfänger durchaus erstmal verwirrend sein kann.



Gut, dann kommt jetzt die Frage nach dem µC.
Das ATMEL Evaluations-Board von Pollin "ermöglicht die direkte Programmierung der ATmega8535, ATmega8, ATmega16, ATmega32, ATmega64, ATtiny2313, ATtiny12 und ATtiny15". Also die klassische Einstiegsdroge ist hier sicherlich der ATmega8, aber ihr könnt auch gleich den größeren ATmega32 verwenden. Von der Programmierung her gibt es keinen nennenswerten Unterschiede (der Mega32 hat halt ein paar zusätzliche Register, und manche haben andere Namen, aber letztendlich läuft ein Mega8 Programm nach kleineren Anpassungen auch auf einem Mega32). Von den Tinys würde ich abraten, denn die unterscheiden sich von der PRogrammierung her zwar nicht, sind jedoch hardwaremäßig etwas knapp ausgestattet (die nimmt man normalerweise nur bei konkreten Projekten bei denen ein Mega übertrieben wäre)

Teri
02.04.2008, 13:26
Jetzt mal eine Hardwarefrage, wie hoch ist denn so der Ausgangsstrom bei einem mega32?
Also kann ich LEDs mit Vorwiderstand direkt an die Ports hängen oder sollte ich einen Treiber benutzen?
Dann kann ich schonmal anfangen eine Schaltung für unsere Ampelsteuerung zu entwerfen.

LG
Teri

python_rocks
02.04.2008, 15:06
Hallo Teri!

http://www.loetstelle.net/forum/viewtopic.php?p=6908#6908 (suche nach dem Absatz, der mit "Ein Pin des ATmega8 kann mit bis zu" beginnt)

mfg
Gerold
:-)

Teri
02.04.2008, 19:25
Danke, dann werde ich (wenn ich so was auf der Arbeit finde) einen Treiber dazwischen setzen.

LG
Teri

SIGINT
02.04.2008, 20:03
Ein normaler ULN-Treiber sollte doch passen... für ne einfache LED ist der AVR meiner Meinung aber vollkommen ausreichend. Es sei den du nutzt PowerLEDs.

Gruß,
SIGINT

Felix G
02.04.2008, 21:20
Also ganz normale (20mA oder weniger) LEDs kann man problemlos direkt an den AVR-Ports betreiben, allerdings vorzugsweise gegen VCC (also die Anode mit Vorwiderstand an VCC, Kathode an den AVR).

Teri
17.04.2008, 10:13
Kann man alle Ports vom Mega32 beliebig als digitale Ein- oder Ausgänge belegen?

LG
Teri

Pascal
17.04.2008, 10:56
bis auf wenige Ausnahmen(z.B. Spannungsversorgung, Taktversorgung) ja

Teri
17.04.2008, 11:45
Ja, danke, ich meinte PA,PB,PC und PD.

LG
Teri

Rambodischie
17.04.2008, 17:25
Ja, danke, ich meinte PA,PB,PC und PD.

LG
Teri

Ja ist möglich.


Noch ne Frage an die Profis: Wie programmier ich eigentlich Texas Instruments Controller.

Mfg
Rambodischien

Teri
29.04.2008, 15:15
Jetzt habe ich eine Platine mit einer "Ampelkreuzung" seit ein paar Tagen fertig.
Und heute sagt unser Lehrer Atmel und PIC sind komplett unterschiedlich, also Hardware, Befehle und Programmstruktur.
Das hat jetzt meinen Mitschüler abgeschreckt, weil wir in der Schule ja PIC lernen.

Jetzt meine Frage, habt ihr vielleicht mal ein Programm für einen PIC und eins für einen Atmel?
Am besten wäre es, wenn sie das gleiche machen oder wenigstens was ähnliches.
Würde mir das mal gerne ansehen und selbst eine Meinung bilden und meinen Mitschüler überzeugen doch was mit dem Atmel zu machen, kann ja nicht schaden mehrere Systeme zu kennen.

LG
Teri

Felix G
29.04.2008, 16:58
Also in C sind die Unterschiede minimal, da braucht man sich keine Sorgen machen...


Das einzige was wirklich anders ist, sind die Register.
Wenn man z.B. den ADC verwenden möchte, dann stellt man den bei einem PIC anders ein als bei einem AVR. Da aber derartige Details haarklein in den Datenblättern aufgelistet sind (also welches Bit in welchem Register welche Funktion erfüllt), ist das kein wirkliches Hindernis.

Teri
29.04.2008, 20:56
Und bei Assembler?
Also ich kann mir denken, dass Befehle unterschiedlich sind, aber die Programmstruktur?

LG
Teri

Zachso
29.04.2008, 21:40
ähm, ich hab jetzt nicht alles durchgelesen,a ber die C-Compiler für PIC sind alle kostenlos von Microchip zum Download für studenten und nicht-kommerzielle zwecke.

wenn ihr in der schule PICs benutzt würde ich auch PICs nehmen, allerdings gibts für AVR mehr Projekte im netz, also muss man sich um weniger selber kümmern. bei den PIC's gibts jedoch wiederum sehr interessante Bausteine die 16-Bit haben und auch noch 5V können (dsPIC30), vllt gibts sowas auch von ATMEL, das weiß ich nicht, aber ich find die sehr ansprechend.

wenn ihr aber schon ein entwicklungsboard habt dann solltet ihr evt. auf den ATMELs bleiben, denn da habt ihr ja schon alles zusammen was ihr bracuht zum programmiern und müsst nicht noch teuer PIC-brenner kaufen usw.

PICture
27.05.2008, 17:46
Hallo!

Als PIC-Benutzer kenne ich die AVRs nur wenig. Aber als Umsteiger von anderen Prozessoren finde ich PIC16FXXX viel einfacher in ASM zu Programmieren, weil sie nur 36 Befehle und ein Arbeitsregister haben. So weit ich weiß haben die AVRs 120 Befehle und 32 Arbeitsregister.

MfG

the_Ghost666
27.05.2008, 19:18
Moin,
ich hab mit PICs angefangen (16F Reihe) und bin nun auch mit den Atmels vertraut. Ich würde fast (hätt ich selbst nicht geglaubt) zu den Atmels raten, weil der große Befehlssatz einige echt bequeme Befehle kennt, die man in den PICs mit 2 oder 3 Befehlen machen müsste. Ausserdem brauchst du dich nicht um die Bankumschaltung des Speichers kümmern. Dafür ist aber bei den Atmels drauf zu achten, dass du einen Software-Stack hast, den man leichter verhunzen kann, dann stürzt das Programm auch ab.
Die Nutzung der Pointer finde ich beim AVR besser, hier hast du 3 und einer kann auch auf den Programmspeicher zugreifen, die PIC16er haben nur einen und der kann nur auf den Ram zugreifen.

Teri
16.01.2009, 09:27
Schon so lange her und es ist nix draus geworden, ich hatte mir dann auch das Pollin Board geholt, mein Notebook hat aber kein RS 232 und mit USB-RS 232 Adapter funktioniert das Board ja nicht, wie ich dann gelesen habe.

Jetzt bin ich auf der Suche nach einem "richtigen" Entwicklungsboard, dass man über USB programmieren kann.

Habe ein schönes Board für PICs gefunden: http://www.pic16.com/en/wzcapi/ql200.htm

Gibt es etwas ähnliches auch für AVRs?
Ich hatte eins gefunden, aber das war nur für 40 DIP und jetzt scheint es das nicht mehr zu geben.

Oder halt das STK500 aber da ist kaum was drauf, gibt es dafür eigentlich USB-Adapter? Oder funktioniert das im Gegensatz zum Pollin Board mit einem normalen USB-RS 232 Adapter?

Also in der PAL-Prüfung müssten wir mit PIC (und Assembler) arbeiten (zwar kein eigenes Programm schreiben, aber Fehler suchen und beheben), wir können aber auch ein eigenes Projekt machen (betrieblicher Auftrag) und da kann man ja nehmen was man will.

Ich werde die Controller auf jeden Fall mit C programmieren.

LG
Teri

Besserwessi
16.01.2009, 14:00
Das STK500 sollte mit normalen USB-RS232 Adaptern funtionieren. Es könnte höchstens Probleme geben das einige Software am PC nicht mit einer zu hohen COM nummer klar kommt. Mit den meisten Adaptern sollte es da aber keine Probleme geben.


Solange man in C programmiert ist es relativ egal of PIC oder AVR. Man hat nur etwas andere Compiler.
Auch wenn die AVRs mehr Befehle haben ist die Programmierung in ASM eigentlich nicht komplizierter. Die Zahl der Befehle ist auch gar nicht so klar definiert. Ein Teil der 130 Befehle sind nur Spezialfälle algemeinerer Befehle die einen extra Namen gekriegt haben weil es so übersichtlicher wird. Durch den einfacheren Speicherzugriff finde ich ASM am AVR sogar sogar eher einfacher. Viel hängt aber auch davon ab was man gut kennt.

markusj
16.01.2009, 19:58
Die "COM-Nummer" kann man im Gerätemanager auch umstellen - daran sollte es nicht scheitern müssen.

mfG
Markus

Teri
18.01.2009, 21:24
Also bei dem pic16 Board hätte ich natürlich direkt alles auf einer Platine.
Auf dem STK500 ist ja nix weiter drauf außer den Sockeln, es hat aber den Vorteil, dass es Erweiterungen gibt z.B. STK501 für QFP 64.

Ich kann mich mal wieder nicht entscheiden... :|

LG
Teri

Besserwessi
18.01.2009, 21:53
Wenn für die AVRs ein baord mit was drauf haben will, gibt es z.B. den ATMEL Butterfly: da sind u.A. Tasten ein LC Display und ein externes EEPROM daruf. Die Programmierung geht über Bootloader.
Auch die RN Controll Boards könnte man zum STK500 oder einem anderen Programmierer nutzen.
Die Erweiterung STK501 wird man nur selten brauchen. Das ist nur wenn man die QFP64 Chips außerhalb der Schaltung programmieren will.
Es sollte immer noch AVR chips im DIP 40 geben. Für einige der älteren typen (z.B. AT90S8515) gibt es neuere Pinkompatible als Ersatz. Den Ersatztypen Mega8515 scheint es aber gerade nicht bei Rechelt als DIP40 zu geben. Andererseits ist das auch nicht gerade einer der besten Typen (kein AD).

Teri
18.01.2009, 22:09
Habe das AVR Board wieder gefunden: http://translate.google.de/translate?u=http%3A%2F%2Fwww.avrvi.com%2F&sl=zh-CN&tl=de&hl=de&ie=UTF-8 (Auf der Seite kann man ohne Übersetzung nix lesen, weil alles auf Chinesisch ist)

Ich möchte mir wenn ich schon so viel ausgebe was vernünftiges haben, da ich es auch auf der Arbeit einsetzen werde. Bezugsquellen für die Chinaboards habe ich schon in Aussicht.

Nur ist die Frage, ob die China-Boards wirklich einwandfrei funktionieren.
Sonst könnte ich auch zum STK500 selber eine Zusatzplatine mit LEDs, Tastatur Display usw. machen.

LG
Teri

Besserwessi
19.01.2009, 17:22
Ob die Chinesichen boards wirklich funktionieren kann man schwer sagen, wenn man sie nicht probiert hat, und auch dann besteht die Gefahr das man über einen anderen Vertriebsweg was anderes geliefert bekommt. Ist halt immer etwas Risiko mit China-sachen, hängt etwas davon ab wie sehr man der Bezugsquelle traut. So eine Testplatine ist ja auch nicht wirklich Hightech das sollten auch die Chinesen hinkriegen.

Teri
21.01.2009, 13:17
So, von den Chinesen habe ich mich verabschiedet und hatte mich schon entschlossen das STK500 zu nehmen.

Doch dann schickte mir jemand aus meiner Klasse diesen Link: http://www.mikroe.com/en/tools/easyavr5a/

Hat zwar nicht direkt einen ISP Anschluss wie das STK500, da aber alle Pins vom Controller an die Stiftleisten gehen, könnte man da ein ISP-Kabel anschließen und so auch eigene Schaltungen programmieren.

Was mich ein klein wenig stört ist, dass das EasyAVR Board so groß aussieht im vergleich zum STK500.

Aber ein AVRISP kann ich mir immer noch für den mobilen Einsatz holen, da wäre das STK ja auch zu unhandlich.

LG
Teri

hardware.bas
13.04.2009, 13:48
Ich arbeite seit einiger Zeit mit AVRs und programmiere Diese
ausschliesslich in BASCOM, was auch sehr gut funktioniert. Weiterhin ist
es bei dieser Familie genial, wie man mit selbstgebauten Programmier-
eqipment klarkommt. Intersssieren würde mich jedoch, ob es auch möglich
ist, PIC mit BASCOM bzw. BASIC zu programmieren und ob auch dort
eine so günstige Möglichkeit besteht, das Programm in den IC zu über-
tragen, wie bei AVRs. VG Micha

PICture
13.04.2009, 23:41
Hallo!

@ hardware.bas

So weit ich weiß, es ist möglich auch PICs, aber nur 16FXXX, mit BASIC zu programmieren. Selber habe ich mich dafür nicht bemüht, weil für mich ASM einfacher und vor allem hardwarenäher ist.

MfG

theborg
14.04.2009, 08:58
Ja es gibt microbasick ist beim bigbic z.b bei.

http://www.google.de/url?sa=t&source=web&ct=res&cd=1&url=http%3A%2F%2Fwww.mikroe.com%2Fen%2F&ei=TkLkSdToINqPsAad66iqCw&usg=AFQjCNHkfLeI68-TGa4q9Tr-xVmuaGqPOw&sig2=B2e2EB7Fls36Tt7QUDD8QA