Hallo! Ich möchte neu in die Mikrocontroller-Technik einsteigen.Ich habe schon etwas Erfahrungen im Elektronikbasteln, habe aber noch nie Mikrocontoller programmiert bzw. etwas mit ihnen zutun gehabt. Ich habe zu Anfang ein paar Fragen. Entschuldigt, wenn die Fragen zu dumm sind aber ich bin noch ein blutiger Anfänger :) Also: - Was ist der Unterschied zwischen Mikrocontrollern und PICs ? - In welcher Programmiersprache werden die µCs beschrieben und hängt sie vom Bautyp und/oder Hersteller ab ? - Was bedeutet ISP und was bringt es für Vorteile ? - Ich habe schon öfter gehört, dass etwa für kleinere Elektronik-Projekte der Attiny 2313 gerne verwendet wird. Bei Pollin ist der ja auch recht günstig zu haben :-) Seht ihr das genauso oder kennt ihr Bessere ? - Ich habe schonmal nachgeschaut, was es für Programmiergeräte gibt, bei Pollin habe ich ein "ATMEL Evaluations-Board Version 2.0.1" für 14,95€ als Bausatz gefunden. Dann habe ich aber auch einfache Anleitungen gefunden, in denen man den µC mit etwas Hühnerfutter am Druckerport programmieren kann. Was ist besser und was ist für den Attiny2313 geeignet? Ich persönlich tendiere ja zum ATMEL-Board, habt ihr da irgendwelche Erfahrungen gemacht? - Zu dem ATMEL-Board gibt es bei Pollin ja auch Erweiterungssets. Was bringen diese für Vorteile und braucht man sie überhaupt für einfache Projekte ? - Muss man die µCs mithilfe spezieller Software beschreiben oder ginge das theoretisch auch mit dem Windows-Editor? Wenn nicht, gibt es kostenlose Software dafür? Ich danke Euch schonmal für Antworten :) Gruß, Natriumpersulfat
Hi, werde versuchen Deine Fragen zu beantworten: 1. PIC's sind µC, Tiny und ATMEGA auch 2. ja hängt ab vom Hersteller, ATMEL hat eine FREIE Umgebung, ist C oder ASM, PIC ka 3. In System Programming, günstig zu haben ca 20€, PDI (XMEGA) geht zB. mit AVRISP MK2 ca 35€ (der kann aber auch alle MEGAS, Tinys etc.), JTAG teuer 4. kenne die Tinys nicht, habe angefangen mit Mega8/ Mega32 arbeite jetzt mit Mega128 bzw. XMEGA A3 oder A4 5. das Pollinboard hatte ich auch, zum Anfangen reicht das, evttl. noch das AddonBoard, und einen Programmer, kauf dir was günstiges oder gleich einen AVRISPMK2 aber bei CSD oder reichelt keinen ChinaClon 6. gibt kostenlose Tools AVRStudio zB., oder BASCOM ist aber auf 4KB Code beschrängt, Editor geht auch, muß halt compiliert werden hoffe geholfen zu haben
Was ist der Unterschied zwischen Mikrocontrollern und PICs ? Das ist so wie der Unterschied zwischen Obst und Äpfeln. PICs sind Mikrocontroller urbotoni
Johannes Richter schrieb: > - Was ist der Unterschied zwischen Mikrocontrollern und PICs ? ein PIC ist ein bestimmter Mikrocontroller. eine anaolge Frage wäre: Was ist der Unterschied zwischen einem PKW und einem 3-er BMW > - In welcher Programmiersprache werden die µCs beschrieben und hängt sie > vom Bautyp und/oder Hersteller ab ? jeder µC hat seine eigene Maschinensprache, seinen eigenen Assembler. Wobei die Hersteller hergehen und versuchen ganze µC Familien entstehen zu lassen, die alle denselben Assembler verstehen. Darüberhinaus gibt es alle möglichen höheren Programmierpsprachen, solange es nur einen Compiler dafür gibt. (Ein Compiler ist sowas wie ein Dolmetsch. Er schnappt sich ein zb in C geschriebenes Programm und übersetzt es in Maschinensprache, die der µC dann ausführen kann) > - Was bedeutet ISP und was bringt es für Vorteile ? In System Programmer gemeint ist: man kann ein neues Programm auf den µC überspielen, ohne ihn aus der Schaltung ausbauen zu müssen. > - Ich habe schon öfter gehört, dass etwa für kleinere > Elektronik-Projekte der Attiny 2313 gerne verwendet wird. Bei Pollin ist > der ja auch recht günstig zu haben :-) Seht ihr das genauso oder kennt > ihr Bessere ? Von Atmel gibt es eine umfangreiche Familie an Prozessoren, von kleinen bis großen. 'Besser' ist ein relativer Begriff. Er hängt davon ab, was man machen möchte und welche Fähigkeiten der µC mitbringen soll. > gefunden, in denen man den µC mit etwas Hühnerfutter am Druckerport > programmieren kann. Was ist besser und was ist für den Attiny2313 > geeignet? Ich persönlich tendiere ja zum ATMEL-Board, habt ihr da > irgendwelche Erfahrungen gemacht? Auch wenn die Meinungen geteilt sind, tendiere ich dazu, einem Grünschnabel erst mal den Griff zu einem fertigen Board nahezulegen. Nichts ist furstrierender als einen Mehrfrontenkrieg zu führen und nicht zu wissen, wo denn nun das Problem konkret liegt: Im Programmer, in derµC Beschaltung oder doch im Programm. > > - Zu dem ATMEL-Board gibt es bei Pollin ja auch Erweiterungssets. Was > bringen diese für Vorteile und braucht man sie überhaupt für einfache > Projekte ? Musst du entscheiden, welche Projekte du machen willst. Wenn du nie ein LCD ansteuern willst, dann brauchst du das LCD am Erweiterungsboard nicht. > - Muss man die µCs mithilfe spezieller Software beschreiben oder ginge > das theoretisch auch mit dem Windows-Editor? nein. Du brauchst ein spezielles Brennprogramm, welches dein Machwerk in den µC überträgt. Mit welchem Editor du dein Programm selbst schreibst, bleibt dir überlassen. Aber ein sepzieller Programmiereditor hat dann schon seine Vorteile gegenüber zb Notepad. > Wenn nicht, gibt es > kostenlose Software dafür? Ja, gibt es. AVR-Tutorial AVR-GCC-Tutorial
Hallo, ein PIC ist auch ein Mikrocontroller. Ein Mikrocontroller ist ein Chip, der neben einer CPU auch Peripheriebausteine (Timer, RAM, Flash, Schnittstellen) enthält. PICs sind Mikrocontroller von Microchip, genauso sind AVRs Mikrocontroller von Atmel. Es gibt unzählige Varianten von Mikrocontrollern und fast ebensoviele Hersteller. Das Programm des Mikrocontrollers kann entweder in Assembler oder in einer Hochsprache (C,Basic,Pascal, ect.) erstellt werden. Voraussetzung ist, dass man entsprechende Entwicklungstools hat. Assember kann man meistens von den Chipherstellern frei bekommen. Compiler (für Hochsprachen) gibts oft nur als eingeschränkte Demo-Version oder für teures Geld. ISP bedeutet "In System Programmable", d.h. der Chip kann über spezielle Pins direkt in der Schaltung programmiert werden. Mit andern Worten man muß den Chip nicht ausbauen und in ein Programmiergerät stecken. ISP Adapter kann man sich selbst bauen (meistens für den Druckerport), man kann aber auch auf spezielle Geräte der Hersteller zurückgreifen. Die entsprechende ISP Software gibt's entweder vom Chip-Hersteller oder auf diversen Elektronik-Seiten im Netz. Ob Du ein fertiges Board nimmst, oder alles selbst aufbauen möchtest, mußt Du entscheiden. Vorteil eines fertigen Boards ist, dass man gleich loslegen kann und man keine Fehler beim Aufbauen des Boards machen kann. Ich halte es für sinnvoll ein fertiges Board zu nehemen wenn man noch keine Erfahrungen auf diesem Gebiet hat. Mit dem Windows Editor kannst Du bestenfalls dein Source-Code editieren. Dieser muß in ein Binärformat übersetzt werden (Assembler, C-Compiler, ect, siehe oben) und anschließend mit einem ISP-Dongle oder mit einem Programmiergerät in den Chip geschrieben werden. Gruß Bege
jaja ich war zu spät, Sorry dass ich alles noch mal wiederholt habe ;-) BeGe
BeGe schrieb: > Ob Du ein fertiges Board nimmst, oder alles selbst aufbauen möchtest, > mußt Du entscheiden. Vorteil eines fertigen Boards ist, dass man gleich > loslegen kann und man keine Fehler beim Aufbauen des Boards machen kann. > Ich halte es für sinnvoll ein fertiges Board zu nehemen wenn man noch > keine Erfahrungen auf diesem Gebiet hat. Vorteil am selbst Aufbauen ist, dass du bei der Fehlersuche bereits eine Menge lernen kannst
Moin, Vielen Dank für eure Antworten! Jetzt sehe ich die Dinge schon etwas klarer ;-) Ich werde mir heute mal den ATMEL-Bausatz bei Pollin bestellen. Stimmt es, dass wenn ich mit AVR-Studio 4 etwas programmiert habe, ich die .hex-Datei nur mit einem anderen Programm wie Ponyprog auf den µC schreiben kann? Gruß, Natriumpersulfat
Wenn du was im AVR-Studio programmiert hast, dann kannste das auch ohne Umwege aus dem Studio raus auf den µC schreiben.
OK dann werde ich mich mal etwas mit Assembler auseinandersetzen und warten, bis das Board ankommt :-)
..,- schrieb: > Wenn du was im AVR-Studio programmiert hast, dann kannste das auch ohne > Umwege aus dem Studio raus auf den µC schreiben. Ist nicht ganz richtig! Mit dem auf dem Pollinboard intergrierten ISP-Programmer geht das nicht!! Da musst du den Umweg über Ponyprog gehn. Aber wenn du einen anderen Programmer wie STK500 oder diverse nachbauten, die das STK500 Protokoll verwenden, benutzt, dann geht es direkt aus dem Studio raus.
Alternativ hätte ich ich dir zu TI Launchpad geraten. Dort ist nämlich ein On Chip Debugger (JTAG) drauf. Kostet <10€ (versandkosten mit drin). Wenn keinen Spaß macht, hat man nur <10€ versenkt. Von TI gibt es dazu auch eine Entwicklungsumgebung, welche aber in der kostenlosen Varianten auf 16KB Code beschränkt ist...
Moin. Ich hatte heute endlich Zeit, das Pollin-Board zu löten und habe gleich nachdem es fertig war versucht, es mit einem ATtiny 2313 zu testen. Zuerst habe ich mit PonyProg2000 (Version 2.06f Beta) als Device den ATtiny 2313 eingestellt, dann auf die Schalfläche "Read all" geklickt, um zu sehen, ob überhaupt eine Verbindung besteht. Es erscheint aber folgende Fehlermeldung: "Device Missing or unknown device (-24)". Ich habe es an beiden RS232 Anschlüssen auf dem Board probiert, beide Male das gleiche Ergebnis. Nachdem ich das Kabel gezogen habe kommt die gleiche Fehlermeldung, was darauf schliessen lässt, dass nie eine Verbindung zum Controller bestand. Wisst ihr, was ich falsch mache? Dann noch etwas: Auf dem Pollin-Board gibt es ja die beiden RS232-Anschlüsse (bei dem einen steht "ISP" und bei dem anderen "RS232" drunter) und 3 Stiftleisten. In welche der RS232-Anschlüsse soll ich das Kabel reinstecken? Und wofür sind die 3 Stiftleisten gut? Ich vermute ja, wenn man das Board direkt ans Mainboard anschliessen will kann man die Stiftleisten benutzen. Gruß, Natriumpersulfat
Johannes Richter schrieb: > Dann noch etwas: Auf dem Pollin-Board gibt es ja die beiden > RS232-Anschlüsse (bei dem einen steht "ISP" und bei dem anderen "RS232" Für die Ponyprog-Verbindung müsste man die DB9 nehmen, an der ISP steht. Dahinter verbirgt sich aber eine eher halbseidene Schaltung, die nicht unbedingt funktionieren muß. Irgendwann hatte es bei mir mal damit geklappt, dann wieder nicht (wobei ich nie ponyprog genommen hatte, sondern avrdude, aber das sollte in diesem Punkt egal sein). Besser ist es, man nimmt einen vernünftigen ISP-Programmer (z.B. AVRISPmkII zum Anschluß an USB, falls man einen parallelen Druckerport hat funktioniert auch nach meiner Erfahrung der stk200-Nachbau von http://rumil.de/hardware/avrisp.html , dort die 2. Schaltung, hervorragend). Dafür nimmt man dann die Pfostenleiste auf dem Pollin-Board, die mit ISP beschriftet ist.
Johannes Richter schrieb: > Und wofür sind die 3 Stiftleisten gut? Ich vermute > ja, wenn man das Board direkt ans Mainboard anschliessen will kann man > die Stiftleisten benutzen. ? Welche Stiftleisten? Die mit ISP und JTAG beschrifteten? Wenn du auf deinem Mainboard die passenden Gegenstücke hast, kannst du das gerne tun. Dann wäre es aber auch nett, wenn du mir den Typ vom Mainboard verrätst. Das kaufe ich mir dann auch :-)
Klaus Wachtler schrieb: > Dann wäre es aber auch nett, wenn du mir den Typ vom Mainboard verrätst. > Das kaufe ich mir dann auch :-) Ich habe mal bei mir nachgesehen, es gibt die Gegenstücke bei meinem Mainboard gar nicht, vielleicht habe ich da etwas verwechselt... ;-) Was bringt mir dann eigentlich dieses ATMEL-Evaluationsboard ? Ich möchte eigentlich nur den µC in die Fassung stecken, das Board an den PC anschließen und dann auch den µC beschreiben können :-| Warum wird den ein solches Board verkauft, wenn es doch nur eingeschränkt funktioniert... Habt ihr noch irgendwelche Tipps, wie ich den µC nun mit dem ATMEL-Board beschreiben kann?
Das Pollin-Board ist kein Atmel-Board, es ist n Evalboard für Atmel µC, von Pollin und es wird verkauft um Geld zu verdienen, was sonst? Das Ding geht schon, wenn man vom PC her die passenden Schnittstellen hat. Aber ... Für ISP geht einfach nix über Originalhardware der µC- Hersteller finde ich. Etwas teurer, dafür gut und zuverlässig. Meine Erfahrung: Wer billig kauft, kauf doppelt. ;o)
Ich denke, das hier ist ein gutes Beispiel warum als Anfänger nicht mit "Bastelgeschichten" anfangen sollte. Zumindest sollte er sich, wie bereits vorgeschlagen wurde, ein vernüftiges OEM-Programmierwerkzeug holen. Z.B. den Atmels Mk2 oder Avr Dragon und das Board über die bereits genannten ISP und JTAG Schnittstellen programmieren. Zum Plug&Play muss man dann doch ein wenig mehr Geld in die Hand nehmen, wenn man kein Plug&Pray haben möchte. Es gibt auch no so genug Stolperfallen, die man mitnehmen kann...
Morgen, ich versuche mal dir das kurz zu erklären. Das eigentliche Problem ist, AVR-Studio, die Software von ATMEL, verwendet eine Schnittstelle die eigentlich nur vom ATMEL-Board STK200/500 etc. verwendet wird. Die meisten anderen(günstigen) Boards verwenden diese Schnittstelle nicht. Du musst ein bestimmtes Programm dazwischen 'schalten', welches den HEX-Code zum Board überträgt und den µc beschreibt. AVR-Studio --> HEX-File --> Brennprogramm --> Board --> µc(ATtiny) Das Pollin-Board ist günstig und bietet einiges 'Drumrum' wie z.B. Schalter, LED u.s.w um damit kleinere Experimente zu gestallten. Und es bietet eben auch die Möglichkeit über den COM-Port des PC's den µc zu beschreiben. Normalerweise brauchst du bei einem Aufbau auf Leiterplatte/Steckbrett dafür eine extra Schaltung(COM-->ISP/LPT-->ISP/USB-->ISP). Um nur mal grob die Verfahrensweise zu erklären..
Ich habe auch mit dem Pollinboard rumgefriemelt und nichts zustande gebracht, unter anderem wohl auch weil mein "moderner" PC keine serielle Schnittstelle hat und es mit einem USB-seriell-Kabel nicht geht. Jetzt habe ich so einen kleinen USBtiny den ich günstig bekommen habe, habe die einzelnen Anschlüsse MISO,MOSI von Hand auf meinem Steckbrett verdrahtet und siehe da! Es geht. Die Programmierversuche schiebe ich mit avrdude auf den ATmel.
Bernd S. schrieb: > Morgen, > > ich versuche mal dir das kurz zu erklären. > > Das eigentliche Problem ist, AVR-Studio, die Software von ATMEL, > verwendet eine Schnittstelle die eigentlich nur vom ATMEL-Board > STK200/500 etc. STK200 und STK500 arbeiten völlig unterschiedlich. Das STK200 ist auch nicht von Atmel. Das STK200 arbeitet mit Bitbanging, d. h. der PC kommuniziert damit nicht über ein genormtes Protokoll, sondern durch Simulation einer SPI-Schnittstelle (Serial Peripherie Interface), die für das ISP (In System Programming) der AVRs genutzt wird. Dies erfordert sehr schnellen Zugriff auf den (im PC verbauten) Schnittstellenschaltkreis, dieser wird auch außerhalb seiner Spezifikation betrieben. Hat der PC diese Schnittstellen nicht mehr oder bildet er sie über USB nach (z.B. über externe Adapterkabel), so funktioniert es aufgrund des für Bitbanging ungeeigneten USB-Protokolls nicht oder nur sehr langsam und unzuverlässig. Das STK500 (Original Atmel) arbeitet mit einer seriellen Schnittstelle (COM, V.24) und nutzt diese gemäß RS232-Protokoll. Da dies ein gültiger Standard ist, kommen damit auch die USB-Seriell-Adapter gut zurecht. Die Kommunikation erfolgt über Pakete, das Bitgeklappere (SPI für ISP) zum AVR übernimmt der auf dem STK500 verbaute AT90S8535 bzw. ATmega8535. > verwendet wird. Die meisten anderen(günstigen) Boards > verwenden diese Schnittstelle nicht. Du musst ein bestimmtes Programm > dazwischen 'schalten', welches den HEX-Code zum Board überträgt und den > µc beschreibt. Diese Aussage ist unkorrekt bzw. unpräzise. Ein Programmer ohne eigenen Mikrocontroller verlangt, dass der PC das Bitgeklappere der für ISP verwendeten SPI-Schnittstelle selbst macht. Dies können nur "echte" Schnittstellenschaltkreise (die direkt am ISA- oder PCI-Bus des PCs hängen) leisten. Sobald USB dazwischen kommt, wird es langsam und unsicher bzw. geht gar nicht. Ein Programmer mit eigener Intelligenz (eigenem Mikrocontroller) kommuniziert mit dem PC über eine Schnittstelle, die dem PC-Standard entspricht (RS232, USB). Das Bitgeklappere zum AVR wird vom Mikrocontroller des Programmers erzeugt, belastet also weder die PC-Hardware noch die PC-Software. Programmer mit eigenem MC gibt es wie Sand am Meer. Aber nicht alle sind updatefähig, wachsen also mit der Entwicklung (neue AVR-Typen) mit. Wer billig von Fremdanbietern kauft, muss damit rechnen, dass es mit neuen Typen nicht klar kommt. Die Originale von Atmel lassen sich aber per AVR-Studio updaten und können dann auch die AVRs programmieren, die es heute noch gar nicht gibt. > > AVR-Studio --> HEX-File --> Brennprogramm --> Board --> µc(ATtiny) Das ist auch bei Original-Atmel-Programmern der Fall, nur dass das "Brennprogramm" ein Modul des AVR-Studios ist. > > Das Pollin-Board ist günstig und bietet einiges 'Drumrum' wie z.B. > Schalter, LED u.s.w um damit kleinere Experimente zu gestallten. Dies ist aber (gelinde gesagt) sehr ungünstig designt und ist eher hinderlich als nützlich. > Und es > bietet eben auch die Möglichkeit über den COM-Port des PC's den µc zu > beschreiben. Eben nicht! Das funktioniert mit modernen Consumer-PCs nicht mehr. Die COM wird für eine Betriebsart missbraucht, die moderne PCs nicht mehr unterstützen. > Normalerweise brauchst du bei einem Aufbau auf > Leiterplatte/Steckbrett dafür eine extra > Schaltung(COM-->ISP/LPT-->ISP/USB-->ISP). Man braucht einen vernünftigen, zeitgemäßen, zum PC passenden Programmer. Das STK200 oder das Pollin-Board ist keiner. Man braucht ein Board, auf das man den AVR und etwas Periperie stecken kann, das auch eine ISP-Schnittstelle enthält, an die der Programmer angeschlossen werden kann. Dies kann das Pollin-Board sein, wenn man die Schaltungsfehler betreffs Tasten korrigiert und die anderen Ungereimtheiten in Kauf nimmt. Das kann aber auch ein Eigenbau auf Lochraster sein, genauso wie ein Steckbrett. Vom Bau des ultimativen Experimentierboard (mit dem Wissen des Einsteigers, der noch keinen MC zum Arbeiten gebracht hat) rate ich dringend ab. Denn da hat man nicht lange Freude dran, weil man es mit Features zumüllt, die man nie braucht, aber die Sachen vergisst, die man immer wieder braucht. Also erstmal eine IC-Fassung auf eine Lochrasterplatine löten, die Kerkos an die Stromversorgungspins, den Reset-Widerstand an Reset und Plus, evtl. einen Spannungsregler 78L05 für die Stromversorgung und etliche Buchsenleisten (z. B. SPL32 bei Reichelt oder zerschnittene Präzisionsfassungen) zum Anschluss der Peripherie über Klingeldraht. > > Um nur mal grob die Verfahrensweise zu erklären.. Naja, das solltest Du Dir auch nochmal etwas genauer ansehen... ...
Hallo und danke für Eure Antworten! Lacht mich ruhig aus, ich hatte bei PonyProg vergessen, unter "Interface Setup" die COM1-Buchse einzustellen :-) Nun funktioniert die Programmierung der µCs tadellos. Leider sind mir bei einem ATTiny 2 Beinchen abgebrochen, als ich ihn aus der Fassung nehmen wollte. Wie macht ihr das ohne das gleich ein paar Beinchen abknicken oder abbrechen? mfG, Natriumpersulfat
Johannes Richter schrieb: > Wie macht ihr das ohne das gleich ein paar > Beinchen abknicken oder abbrechen? Vorsichtiger rausnehmen? Wie nimmst du ihn denn raus? Am besten geht es mit dem Schraubenzieher. Ich steck den µC gar nicht erst rein. Ich leg in auf den Sockel und drück ihn ein bisschen fest. Das reicht idr schon.
Hi Wenn du mit dem Pollin- Board etwas schneller werden willst, dann kauf dir einen USP-ISP Progger, den du dann mit dem Wannenstecker ISP verbindest. Jetzt geht das Übertragen auch direkt aus AVR Studio, und schon brauchst du PonyProg nicht mehr. Und auch schnell. Keine langsame Übertragung auf den µC. Die ca. 20 € sind bei EBAY gut angelegt. Gruß oldmax
Hallo! Ich bin nun etwas verwirrt, was macht dieser USB-Adapter denn jetzt anders als die RS232-Schnittstelle? Ich habe bei Conrad Electronic einen solchen Adapter gefunden, wäre der dafür geeignet: http://www.conrad.de/ce/de/product/191406/MYSMARTUSB-LIGHT/?ref=reco Wie gesagt, ich wäre euch dankbar, wenn ihr mir noch einmal erklären könntet, was an dem ISP jetzt so besonders sein soll ;-) Gruß, Natriumpersulfat
Johannes Richter schrieb: > Hallo! Ich bin nun etwas verwirrt, was macht dieser USB-Adapter denn > jetzt anders als die RS232-Schnittstelle? Er kommuniziert mit dem PC über ein Protokoll, dass der PC beherrscht und erzeugt das PC-fremde ISP-Bitgeklappere selbst. Liest Du eigentlich die Antworten, die man Dir gibt? Beitrag "Re: Mikrocontroller Einstieg" ...
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.