Hallo Forumgemeinde, für ein Studiumbezogenes Projekt möchte ich einen ATMega32 mit einem PC Verbinden, um ein C-Programm über den µP anzuwenden und entsprechende Peripherie anzusteuern. Ich steige neu in das Gebiet ein und habe bisher nur Erfahrungen gesamelt mit dem Robotersystem RP6 und kenne den ATMega 32 deshalb ein wenig. Folgende Fragen stellen sich mir: 1: Wenn ich einen "brandneuen" Prozessor kaufe ist dieser ja noch quasi unberühert. Er wird auch noch keinen Bootloader besitzen und ich werde auch nicht die UART Schnittstelle ansprechen können. Ist das Richtig ? Wenn ja muss ich also mich also wie darum kümmern das ich das auf die Reihe kriege ? 2: Selber geschriebene C Programme werden durch einen Compiler (AVR-Studio)in eine .hex-Datei umgewandelt. Jetzt geht es mir um die Verbindung zwischen µP und PC. Bei RP6 verwende ich ein USB interface und einen Loader der die .hex Datei in den Speicher des µP "brennt". Wie realisiere ich das mit meinem "nackigen" µP ? Ich möchte alle drumherum liegende Peripherie selber bauen und nicht fertig kaufen. 3: Nach meinem bisherigen Verständnis benötige ich einen Pegelwandler, (bsp.MAX232) um den µP an eine serielle Schnittstelle anzuschließen. Am PC benötige ich einen Adapter, von USB2.0 auf Serial (RS232) (bsp DELOCK) von wo aus ich dann an den Pegelwandler gehe. Ist das Grundsätzlich das richtige Vorgehen ? Ich möchte nur sichergehen das ich nicht hundert mal Bestellungen machen muss wegen einer Sache deswegen bitte ich um proffesionellen Rat. Vielen Dank schon im Vorraus. Mit freundlichen Grüßen Christian
Hallo, Mach dir das Leben einfacher und nimm einen Programmieradapter z.B. sowas hier: http://student.embedded-projects.net/index.php?module=artikel&action=artikel&id=367 Den kannst du direkt über USB ansprechen.
einache Programmieradapter aka usbasp gibt es für unter 3€ in der Bucht. Die werden per Isp angeschlossen und enthalten alles nötige um alle avrs zu brennen. Flip
Hallo, was haltet ihr denn von "http://www.reichelt.de/USB-Konverter/DELOCK-61460/3/index.html?;ACTION=3;LA=446;ARTICLE=78847;GROUPID=5253;artnr=DELOCK+61460;SID=14USSRRX8AAAIAAAvwSNUa91c3b05a37b5b9392026d99bb5d0c9a " Artikel ? Hilft mir sowas weiter ? Wäre es nicht eher sinnvoll das ich mir ein Entwicklungsboard kaufe wo der ATMega drauf ist und ich ihn nicht mehr "alles" beibringen muss ? Wenn er frisch vom Hersteller kommt kennt er ja noch nichteinmal seine Schnittstellen oder ? Viele Grüße Christian
Christian P. schrieb: > was haltet ihr denn von > "http://www.reichelt.de/USB-Konverter/DELOCK-61460/... > " Artikel ? > Hilft mir sowas weiter ? Nein. Ließ doch bitte die Antworten :) Du brauchst ein zum jeweiligen µC passendes Programmiergerät, um einen "nackten" µC zu beschreiben. Selbes Prinzip wie du oben schon selbst gesagt hast: Christian P. schrieb: > Bei RP6 verwende ich ein USB interface > und einen Loader der die .hex Datei in den Speicher des µP "brennt". Edit: Christian P. schrieb: > Wäre es nicht eher sinnvoll das ich mir ein Entwicklungsboard kaufe wo > der ATMega drauf ist und ich ihn nicht mehr "alles" beibringen muss ? > Wenn er frisch vom Hersteller kommt kennt er ja noch nichteinmal seine > Schnittstellen oder ? Ok... du solltest GANZ dringend erst mal ein paar Tutorials lesen, bevor du mit irgendwas weiter machst. http://www.mikrocontroller.net/articles/AVR http://www.mikrocontroller.net/articles/AVR-Tutorial
Du brauchst nicht erst den UART auf RS232 Pegel wandeln und dann von RS232 auf USB wandeln. Das geht auch direkt von dem UART des µC zu USB. z.B. FT232 von FTDI oder CP2102 von Silabs. Als Programmieradapter nimm den originalen AVRISPmkII Erspart dir viel ärger. http://www.reichelt.de/Programmer-Entwicklungstools/AT-AVR-ISP/3/index.html?;ACTION=3;LA=446;ARTICLE=45040;GROUPID=2969;artnr=AT+AVR+ISP;SID=12UJt6k38AAAIAADWQQmA8e782d7844d53fb464667eaac3e9baa2
Peter Z. schrieb: > Als Programmieradapter nimm den originalen AVRISPmkII > Erspart dir viel ärger. > http://www.reichelt.de/Programmer-Entwicklungstool... AVR Dragon soll wohl auch ganz cool sein, ich selber benutze aber auch den MkII. Ganz zum selberbasteln gibt es auch PonyProg, macht aber gerne mal Schwierigkeiten: http://www.lancos.com/prog.html
Also danke erstmal für eure Antworten, zunächst habe ich die mir zugelinkten Tutorials überblickend gelesen. Leider finde ich da keine konkreten Antworten auf meine Fragen. Mir geht es einfach um folgendes wozu ich einfach keine vernünftige zusammenhängende Erklärung finden kann im Internet: 1: Ich möchte einen ATMega 32 dazu bringen was zu machen.(RC5 Signale verarbeiten) Jetzt meine Fragen: 1: Wie gehe ich an die Sache ran ? Ich würde gerne vom grunde auf sowas mal aufbauen von der Übertragung des PC`s über USB zum µP, sodass ich selber geschriebene Programme draufbrennen kann, bis hin zum aufbauen der Notwendigen Peripherie, damit der µP überhaupt was macht. 2: Wie soll ich vorgehen ? -µP kaufen, auf eine PLatine löten, und dann stellt sich für mich die Frage wie bringe ich dem Keks jetzt was bei ? Was brauche ich dazu ? -es gibt so viele Sachen, könnte ich nicht auch mit dem Interface http://www.order.conrad.com/cgi-perl/lshop.cgi?action=showdetail&wkid=1268279071&ls=d&nc=&rubnum=q08.az22.h99&artnum=191638&file=&gesamt_zeilen=20Tshowrub--q08.az22.h99&shop= genau das gleiche erreichen wie mit dem originalen AVRISPmkII ? Weil für dieses Geld bekomme ich ja schon eine komplette Entwicklungsumgebung ! Da habe ich ja gerade mal ne Verbindung zu einem µP hergestellt den ich bei dem Preis aber auch nicht habe :D 3: Welche Dinge sind zu beachten, ich weis das ein µP einen Bootloader vorprogrammiert haben muss sonst ist auch nichts mit fröhlich hochladen von .hex Dateien mit einem Programmieradapter... Tut mir leid für den Stress es geht darum das die bestellten Sachen dann auch funktionieren müssen weil ich nicht selber für die Kosten aufkomme sondern eine Institution... Viele Grüße Christian
Dominik S. schrieb: > Ok... du solltest GANZ dringend erst mal ein paar Tutorials lesen, bevor > du mit irgendwas weiter machst. > > http://www.mikrocontroller.net/articles/AVR > http://www.mikrocontroller.net/articles/AVR-Tutorial Vor allem sollte er sich das Datenblatt von dem AVR einmal durchlesen. http://www.atmel.com/atmel/acrobat/doc2503.pdf
Christian P. schrieb: > Mir geht es einfach um folgendes wozu ich einfach keine vernünftige > zusammenhängende Erklärung finden kann im Internet: > > 1: Ich möchte einen ATMega 32 dazu bringen was zu machen.(RC5 Signale > verarbeiten) Für einen Anfänger schon zu schwer. Dein Weg beginnt damit, eine LED gezielt ein/aus schalten zu können, blinken zu lassen, dann einen Taster mit dazu nehmen, etc. etc. > Jetzt meine Fragen: > 1: Wie gehe ich an die Sache ran ? > Ich würde gerne vom grunde auf sowas > mal aufbauen Ja, dann mach das. Im AVR-Tutorial ist ja beschrieben wie die notwendige Hardware in ihrer Grundvariante dazu aussieht. > von der Übertragung des PC`s über USB zum µP, für den Teil kaufst du dir einen fertigen Brenner. Erstens lohnt das nicht, den selbst zu bauen und zweitens musst du den Teil als dein "Werkzeug" ansehen. Du baust ja auch deine Bohrmaschine nicht selber, wenn du ein Baumhaus bauen willst. Der 'Brenner' muss zuverlässig funktionieren, sonst artet der Rest in Frust aus. Abgesehen davon, dass du ansonsten ein Henne/Ei Problem hast: Auf dem Brenner sitzt ein µC. Wie programmierst du diesen µC, wenn du noch keinen Brenner hast. Also: Brenner Selbstbau - lass es. > sodass ich > selber geschriebene Programme draufbrennen kann, bis hin zum aufbauen > der Notwendigen Peripherie, damit der µP überhaupt was macht. Ja. Genau darum geht es im AVR-Tutorial. Wie sieht eine Grundschaltung eines AVR aus, so dass man mit dem Brenner (welcher ist egal, denn die Schnittstelle ISP ist immer dieselbe) Programme in diesen Mega brennen kann, so dass der die ausführt. > 2: Wie soll ich vorgehen ? > -µP kaufen, auf eine PLatine löten, und dann stellt sich für mich die > Frage wie bringe ich dem Keks jetzt was bei ? Indem du ein Programm schreibst. Such dir aus welche Programmiersprache du benutzen willst und los gehts! Wenn du in C programmieren willst, dann lautet eine gern gemachte Empfehlung dahingehend, dass du dir erst mal mit einem C-Buch und einer Entwicklungsumgebung die ersten Schritte der C-Programmierung auf dem PC beibringst. Beherrscht du das erste Drittel deines C-Buchs so einigermassen, dann hast du beste Voraussetzungen um in der µC-Programmierung schnellen Schrittes voranzukommen. > Was brauche ich dazu ? > -es gibt so viele Sachen, könnte ich nicht auch mit dem Interface > http://www.order.conrad.com/cgi-perl/lshop.cgi?action=showdetail&wkid=1268279071&ls=d&nc=&rubnum=q08.az22.h99&artnum=191638&file=&gesamt_zeilen=20Tshowrub--q08.az22.h99&shop= > genau das gleiche erreichen wie mit dem originalen AVRISPmkII ? Es gibt viele Brenner. Such dir einen aus, der dir preislich zusagt und hör auf da jetztz groß rumzustochern. Ein Brenner ist nur ein Werkzeug, welches den Teil 'Übertragung des Programms vom PC in den µC' übernimmt. Programme schreiben musst du nach wie vor selber. Irgendwann muss man mal ins kalte Wasser springen und einfach loslegen. So etwas wie 'Die optimale Hardware' gibt es nicht. Und Lehrgeld wirst du noch genug zahlen. Manches davon monetär, den Hauptteil davon in Form von Schweiß :-) > 3: Welche Dinge sind zu beachten, ich weis das ein µP einen Bootloader > vorprogrammiert haben muss Nö. muss er nicht. Dazu hast du ja den Brenner. > auch funktionieren müssen weil ich nicht selber für die Kosten aufkomme > sondern eine Institution... Und da streiten wir um 20 Euro auf oder ab? Die 20 Euro sind nur die Spitze des Eisbergs. Da wird im Laufe des nächsten Jahres noch einiges mehr auf dich zukommen. Vieles davon werden Portokosten sein für Bauteile, die du benötigen würdest, die du aber bei der letzten Bestellung vergessen hast. Das macht aber nichts, das geht allen so. > das die bestellten Sachen dann auch funktionieren müssen Gerade deshalb würde ich dir davon abraten, bei deinem allerersten Enticklungsboard (das werden im Lauf der Zeit schon noch mehr) im Selbstbau zu agieren. Der Brenner-Selbstbau ist sowieso tabu. Das Entwicklungsboard ist zwar grundsätzlich nicht schwer aufzubauen, aber für den Einstieg gibt es zb von Olimex schön einfache Development Boards, die auch preislich so sind, dass sich ein Selbstbau für einen Einsteiger nicht lohnt, wenn er mit Kostenwahrheit an die Sache rangeht. Wenn du dieses Board dann ausgereizt hast, dann kannst du ja deinen ersten Selbstbau eines Development-Boards ins Auge fassen. Wie gesagt: es ist grundsätzlich nicht schwer, es ist aber auch nicht so, dass man mit 0-Vorwissen da blauäugig rangehen kann. Und: ja. Deine ganze Ausdrucksweise verrät, dass du 0 Vorwissen hast und dass du blauäugig an die Sache rangehst.
Christian P. schrieb: > -es gibt so viele Sachen, könnte ich nicht auch mit dem Interface > http://www.order.conrad.com/cgi-perl/lshop.cgi?action=showdetail&wkid=1268279071&ls=d&nc=&rubnum=q08.az22.h99&artnum=191638&file=&gesamt_zeilen=20Tshowrub--q08.az22.h99&shop= > genau ... Was willst du mit dem Teil? Das passt noch nicht mal annähernd zur Aufgabenstellung. Entweder du willst mit dem Mega32 bei 0 anfangen oder du willst das nicht. Wenn du es aber willst, dann ist ein Bootloader samt diesem USB/RS232 Umsetzer nicht dein Weg. In dem Fall führt kein Weg an einem richtigen Brenner vorbei.
Karl Heinz Buchegger schrieb: > Deine ganze Ausdrucksweise verrät, dass du 0 Vorwissen hast und > dass du blauäugig an die Sache rangehst. Er will ja auch einen ATMega "füttern" :-) ob der dann Verdauungsprobleme bekommt?
Laxantium schrieb: > Karl Heinz Buchegger schrieb: >> Deine ganze Ausdrucksweise verrät, dass du 0 Vorwissen hast und >> dass du blauäugig an die Sache rangehst. > > Er will ja auch einen ATMega "füttern" :-) Das ist die Ausdrucksweise aus den 70-er Jahren des vergangenen Jahrhunderts. Damals gab es kaum eine TV-Sendung (durchaus seriöse Sendungen!), in der nicht ein 'Elektronengehirn gefüttert' wurde.
Ok, die Ausführungen waren schonmal sehr hilfreich, was ich mit dem "Teil" wollte ist recht einfach zu erklären. Es stellt zumindest beim Roboter System RP6 die Verbindung her zwischen UART des µP und PC über USB Schnittstelle. Es ist doch auch ein "Brenner" dieses Interface oder nicht ? So eins habe ich nämlich noch zuhause herumliegen. Was meine Erfahrungen in dem Gebiet anbelangt bin ich ja nichtmehr totaler Neuling, ich habe immerhin es fertig gebracht einen Roboter mit vorhandener Hardware so zu programmieren das er autonom durch die Kante fährt ohne anzuecken und dabei auch mal zu blinken oder Töne von sich zu geben. Wir fangen also bei 0,1 an ;) Kennt jemand denn ein gutes Entwicklungsboard mit einem ATMega drauf und hat damit Erfahrungen? Gruß Christian
Hallo, also ich denke ich bin fündig geworden. -->http://www.pollin.de/shop/dt/MTY5OTgxOTk-/Bausaetze_Module/Bausaetze/ATMEL_Evaluations_Board_Version_2_0_1_Bausatz.html Nun würde mich eure Meinung interessieren ob das als kleines Einsteigerprojekt angebracht wäre. Da könnte ich dann einen ATMega32 draufsetzen. Meine Frage dazu: -ich kann also über die serielle ISP Schnittstelle des Boards mithilfe eines ISP den Bootloader programmieren ?! -das flashen und einbinden der Programmierten .hex Dateien läuft dann über die RS232 Schnittstelle ? Ich benötige also außer dem Board noch zwei Dinge: 1. den ISP 2. den ATMega32 ? Gruß Christian
Christian P. schrieb: > was ich mit dem "Teil" wollte ist recht einfach zu erklären. Es stellt > zumindest beim Roboter System RP6 die Verbindung her zwischen UART des > µP und PC über USB Schnittstelle. Es ist doch auch ein "Brenner" dieses > Interface oder nicht ? So eins habe ich nämlich noch zuhause > herumliegen. Nein, das ist kein Brenner. In deinem RP6 Robot ist ein Bootloader eingebrannt worden (mit einem richtigen Brenner) und dieser Adapter ist einfach nur ein USB/RS232 Umsetzter, der den Kontakt vom PC zu diesem Bootloader herstellt. Vorteil: das ist technisch recht einfach Nachteil: In den Mega muss erst mal ein Bootloader rein. Dazu braucht aber einen richtigen Brenner. Also: Für diesen Spezialfall eines 'vorbereiteten' Megas durchaus ok. Für allgemeine Aufgaben aber nicht zu gebrauchen.
Christian P. schrieb: > Meine Frage dazu: > -ich kann also über die serielle ISP Schnittstelle des Boards mithilfe > eines ISP den Bootloader programmieren ?! Ja kannst du. Aber bitte vergiss endlich diesen Bootloader. Das ist nicht der Normalfall. Denn mit einer Programmierung über Bootloader hast du deinen Mega nicht vollständig unter Kontrolle. Ändern der Fusebits ist damit nicht möglich. > -das flashen und einbinden der Programmierten .hex Dateien läuft dann > über die RS232 Schnittstelle ? Nochmal: Das wäre der Fall, wenn du einen Bootloader benutzt. Aber auf diesem Board ist bereits ein Brenner integrier, wenn auch einer von der eher schlechteren Sorte. Und wenn du erst mal einen Brenner hast, der zuverlässig funktioniert, gibt es keinen Grund mehr über einen Bootloader zu gehen. > 1. ISP wäre empfehlenswert > 2. den ATMega32 ? Ja
:
Wiederhergestellt durch User
Mir fällt in dem Thread noch ein Sätze auf, auf den ich eingehen möchte. >Wenn er frisch vom Hersteller kommt kennt er ja noch nichteinmal seine >Schnittstellen oder ? Nein. Die Hardwarestruktur des AVR ist in grossen Teilen vorgeben. Sie ist tatsächlich, physisch so verdrahtet, das sic ein UART, eine SPI-Schnittstelle, ein Timer etc. ergibt. Im Datenblatt müsstest Du eigentlich schon gesehen haben, wie die Struktur des Controllers aussieht. Genau DAS ist sie. Wie man damit genau umgeht siehst Du dann im Tutorial.
Das Problem ist nur das ich bei jeglichen Threats ständig das Wort
Bootloader und Probleme im Zusammenhang damit lese. Das ist halt der
Hacken an der Sache, selten findet man "funktionierende" Projekte in
einem Forum sondern es handelt sich nur um Probleme. Man selber als
Einsteiger kriegt dann natürlich etwas "Angst" ;)
So nun gut also so ganz verstehe ich deine Aussage nicht:
>Aber bitte vergiss endlich diesen Bootloader.
In einem fabrikneuen ATMega ist kein Bootloader drinn, ohne Bootloader
kannst du nicht über die RS232 Schnittstelle Programmieren also wie soll
ich dann das Ding mit meinen .hex Dateien Füttern ??
Wenn ich dich richtig verstehe dann kann ich mit einem vernünftigen
Brenner auch alles machen was ich über die RS232 Schnittstelle machen
würde und diese wäre dann "überflüssig" ?!
Gruß Christian
Christian P. schrieb: > Wenn ich dich richtig verstehe dann kann ich mit einem vernünftigen > Brenner auch alles machen was ich über die RS232 Schnittstelle machen > würde und diese wäre dann "überflüssig" ?! Ja. Aber Du kannst noch mehr machen (Fusebits setzen, Ganzen Speicher nutzen, etc.) und das ist der Vorteil eines "richtigen" USB Programmers
ok verstanden, danke ich mache mich mal auf die Suche was ich außer dem evaluation board noch brauche und gebe dann bescheid.
Was den ISP angeht habe ich mir mal 3 Stück rausgesucht: 1:http://shop.myavr.de/index.php?sp=article.sp.php&artID=200006 2:http://shop.embedded-projects.net/index.php?module=artikel&action=artikel&id=10 3:http://www.reichelt.de/Programmer-Entwicklungstools/AT-AVR-ISP/3/index.html?;ACTION=3;LA=446;ARTICLE=45040;GROUPID=2969;artnr=AT+AVR+ISP;SID=14USSRRX8AAAIAAAvwSNUa91c3b05a37b5b9392026d99bb5d0c9a ich tendiere ja am ehesten zu dem mySmartUSB light also erstere Variante. Würde dieser alle Anforderungen erfüllen und zuverlässig funktionieren in Verbindung mit dem Evaluation Bord http://www.pollin.de/shop/dt/MTY5OTgxOTk-/Bausaetze_Module/Bausaetze/ATMEL_Evaluations_Board_Version_2_0_1_Bausatz.html ? Gruß Christian
@Christian Zu Deinem Eingangsschreiben: zu 1. >Ist das Richtig ? Ja zu 2. >Verbindung zwischen µP und PC. Atmel sieht dazu das Konzept des <<ISP>> vor. Geräte für diesen Anschluss gibt es wie Sand an Meer (Fertig oder Puzzel). Meist geht’s los bei RS232 oder USB. zu 3. >benötige ich einen Pegelwandler Wie praktisch alle nackten Rechner sprechen auch die Atmels nur 5V bzw. 3,3V. Also ja.
Hallo, so ich habe mir jetzt folgenden Artikel bestellt:http://www.reichelt.de/Programmer-Entwicklungstools/AVR-STK-500/3/index.html?;ACTION=3;LA=446;ARTICLE=34093;GROUPID=2969;artnr=AVR+STK+500;SID=14USSRRX8AAAIAAAvwSNUa91c3b05a37b5b9392026d99bb5d0c9a Was haltet ihr davon ? Ich denke das ist ideal man kann alles damit machen und es ist universell einsetzbar. Voll gut auch das alle I/O Ports rausgezogen sind, so kann man gleich seine Schaltung mit entwickeln und sich dann eine Lochrasterplatte schnappen, los gehts ! Viele Grüße, Christian
Christian P. schrieb: > Hallo, > > so ich habe mir jetzt folgenden Artikel > bestellt:http://www.reichelt.de/Programmer-Entwicklungstools/AVR-STK-500/3/index.html?;ACTION=3;LA=446;ARTICLE=34093;GROUPID=2969;artnr=AVR+STK+500;SID=14USSRRX8AAAIAAAvwSNUa91c3b05a37b5b9392026d99bb5d0c9a > > Was haltet ihr davon ? Das ist ein STK500 Ist immer eine gute Wahl.
Ja, das STK ist ganz gut. Etwas alt vielleicht. Allerdings würde ich Dir erstmal das Pollin Board ans Herz legen, ist etwas günstiger und sollte für den Start reichen. Sollte man auch damit programmieren können (nie selber gebraucht, ich hab 'nen JTGAGICE daheim) http://www.pollin.de/shop/dt/MTY5OTgxOTk-/Bausaetze_Module/Bausaetze/ATMEL_Evaluations_Board_Version_2_0_1_Bausatz.html
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.