Hallo, lese schon seit längerem im Forum über Mikrocontroller aber komme nicht so zurecht. Ich bin Neuling auf dem Gebiet aber möchte dies ändern, da ich es als ein sehr interessantes Gebiet finde. Möchte mir einen USB Programmer selber bauen. Habe einen gefunden der relativ leicht aufgebaut ist. http://www.fundf.net/usbasp/usbasp_schematic.pdf Ich möchte gerne mit einem ATMEGA 8 anfangen. Habe jetzt im Forum gelesen das dieser USB Programmer auf einen ATMEGA64 begrenzt ist. http://www.fischl.de/usbasp/ Jetzt weiß ich nicht ob ich mir gleich von vorneherein einen bauen soll der mehr kann? (Für die Zukunft gesehen) Noch eine Grundlegende Frage... Der Mikrocontroller der auf dem USB Programmer sitzt wird auf diesem das Programm geladen, anschließend rausgezogen und in eine Entwicklungsumgebung gesteckt? Oder wird das Programm über USB -> Mikrocontroller auf USB Programmer -> CON2 Schnittstelle auf den Mikrocontroller der auf einem Entwicklungsboard sitzt geladen? Danke im voraus für Ihre Hilfe Gruß Dominik
Der Programmer ist nicht auf den ATM64 begrenzt, der kann eigentlich mit allen ATMega und ATTiny umgehen(alle mit SPI ISP) Der Programmer ist ein Programmer ;) d.h. der wird an deine Zielschaltung angeschlossen und programmiert den Chip der in der Zielschaltung sitzt. Du hast nur das Problem wie bekommst du das Betriebssystem des Programmers in den Programmer ohne schon einen zu besitzen.
> Du hast nur das Problem wie bekommst du das Betriebssystem des > Programmers in den Programmer ohne schon einen zu besitzen. Gibt es hier eine Möglichkeit dieses Problem zu umgehen?
Dominik W. schrieb: > Gibt es hier eine Möglichkeit dieses Problem zu umgehen? Ja. (1) Einen USBasp kaufen. (2) Mit nem parallen oder seriellen Bitbanging-Adapter flashen. Gruß skriptkiddy
Da ich keine Ahnung von Punkt 2 habe werde ich nicht drumherum kommen einen zu kaufen, oder ist Punkt 2 leichter zu realisieren als ich denke? Also wenn ich mir den USB Programmer von Fischl kaufen würde wäre da dann ja schon ein Betriebssystem darauf geladen? Danke für die schnellen Antworten
Punkt 2 ist einfach ein serielles / paralleles Kabel mit ein bissle Hühnerfutter. Beim parallelen reichen 4-5 Widerstände fertig. Hab ich am Anfang lange genutzt
Dominik W. schrieb: > Also wenn ich mir den USB Programmer von Fischl kaufen würde wäre da > dann ja schon ein Betriebssystem darauf geladen? Sollte so sein. > Da ich keine Ahnung von Punkt 2 habe werde ich nicht drumherum kommen > einen zu kaufen, oder ist Punkt 2 leichter zu realisieren als ich denke? Serieller Programmer: http://core.st/projects/Serial_programmer/ (eventuelle Probleme mit USB-Seriellwandlern) Paralleler Programmer: STK200 (läuft nur mit echtem Parallelport an ISA-Adresse - jedenfalls bei Windows) In ner virtuellen Maschine über VWware sollte das aber auch mit ner Parallelport Karte (PCI oder PCIe) funktionieren. Beide Programmer lassen sich über avrdude ansprechen. Gruß Skriptkiddy
Wenn Du Platz im PC hast kann man eine Serielle PCI Karte reinstecken. z.B. http://www.amazon.de/SERIELL-KARTE-PORTS-CARD-RS232/dp/B000T7L9MW Dann kann man einen Programmer auf dem Steckbrett aufbauen.
>Wenn Du Platz im PC hast kann man eine Serielle PCI Karte reinstecken.
Man kann sich den ganzen Quatsch auch sparen und einen AVRISP MKII
für 38€ kaufen. Dann funktioniert wenigstens der Programmer
von Anfang an. Softwareupdates gibt es vom Hersteller
und nicht von irgendeinem Fuzzi der seine Arbeit von heute
auf morgen einstellen kann. Hat nebenbei auch noch ein schickes
Gehäuse und die Kabel sind dabei.
Für einaml flashen reicht auch der hier: http://gopchandani.wordpress.com/2007/01/18/the-atmega32-programmer/ avrdude commandline:
1 | avrdude -c stk200 -p <device> -P <port> -U flash:w:<hexfile> |
<device> m8 (für ATMega8) <port> z.B. lpt1 <hexfile> das hexfile für den usbasp (avrdude sollte aus dem Ordner aufgerufen werden, indem das hexfile liegt) Irgendwo findest du sicher einen Rechner mit Parallelport.
> Für einaml flashen reicht auch der hier: > http://gopchandani.wordpress.com/2007/01/18/the-at... Das Teil ist STK200 kompatibel, geht bei mir wunderbar, hat nich NIE Probleme gegeben.
holger schrieb: > Man kann sich den ganzen Quatsch auch sparen und einen AVRISP MKII > für 38€ kaufen. Dann funktioniert wenigstens der Programmer > von Anfang an. Bin genau der selber Meinung, ich denke gerade für den Einstig ist besser ein vernünftiges Programmer zu kaufen als jeder Menger Stress mit ... ... und ... und ... und. Allerdings kommt auch darauf an was du für Betriebsystem benutzt, wenn du Linux hast dann ist ein USBasp vollkomen in Ordnung, wenn du aber Windows benutzt dann geht gleich los !!! Ein USBasp würde dann Problemlos mit XP usw. arbeiten (glaube unter Win7 auch ohne Probleme) das aber mit 32Bit Windows Betriebsysteme unter 64Bit muß man 1000 Dinge machen damit er funktioniert. Gruß Martin
Ich steh irgendwie komplett auf dem Schlauch :-( Also hab mir jetzt diese Leitung gelötet. http://gopchandani.wordpress.com/2007/01/18/the-atmega32-programmer/ Wie wird mein Mikrocontroller angeschlossen? Habe AVR Studio installiert, AVRDUDE runtergeladen und den USB Treiber in Windows->System 32 Ordner kopiert. Habe gelesen das ich AVRDUDE nur mit einem zusätzlichen Programm wie AVR Studio installieren kann. Wie muss ich weiter machen? Habe leider keinen blaßen Schimmer. Kurz noch zu meinem Hintergrundwissen: Habe im Februar 2010 meine Ausbildung zum Mechatroniker abgeschlossen. Hatte danach 1 Jahr Berufserfahrung wo ich sehr wenig mit Elektrotechnik zu tun hatte. Jetzt habe ich vor 3 Wochen mit dem Elektrotechniker angefangen. Hatte mit mikrocontroller oder ähnlichem noch nie zu tun. Mein System: Windows 7 64 bit oder Laptop mit Parallelport Windows xp 32 bit
>Ich steh irgendwie komplett auf dem Schlauch :-( >Also hab mir jetzt diese Leitung gelötet. >http://gopchandani.wordpress.com/2007/01/18/the-at... >Wie wird mein Mikrocontroller angeschlossen? Steht im Datenblatt. >Habe AVR Studio installiert, AVRDUDE runtergeladen und den USB Treiber >in Windows->System 32 Ordner kopiert. Kannst du gleich wieder deinstallieren. >Wie muss ich weiter machen? Habe leider keinen blaßen Schimmer. Da steht doch dick und fett PONYPROG auf der Seite.
Hi >Habe im Februar 2010 meine Ausbildung zum Mechatroniker abgeschlossen. >Hatte danach 1 Jahr Berufserfahrung wo ich sehr wenig mit Elektrotechnik >zu tun hatte. Jetzt habe ich vor 3 Wochen mit dem Elektrotechniker >angefangen. Dann besorge dir einen AVR ISP MKII. Früher oder später lässt du eh die Finger von diesen Second-Hand-Programmern MfG Spess
holger schrieb: > Da steht doch dick und fett PONYPROG auf der Seite. ....und diesen Kram Ignorieren! ):
Erstmal danke für die Infos. Aber eine Frage hätt ich fürs erste noch: Muss ich so meinen ATMEGA8 anschließen wie auf dem Schaltplan?
Ja, so scheints zu stimmen. Erst bei Verwendung des A/D-Wandlers steigen dann die Ansprüche.
So jetzt bin ich wieder da und habe eine Menge neuer Fragen ich hoffe ihr könnt mir wieder helfen. Ich habe jetzt einen Programmer mit einer Parallelen Schnittstelle aufgebaut und funktioniert auch :-) 1. Wenn ich mein Programm ändere muss ich den Mikrocontroller zuerst löschen oder zurücksetzten bevor ich das neue Programm darauf lade? 2. Warum wird bei einem USB Programmer ein Mikrocontroller benötigt. Liegt das an dem weil man bei usb einen treiber benötigt und bei Parallel Port nicht? Was muss auf den Mikrocontroller? Betriebssystem? 3. Wenn ich mir ein Entwicklungsboard aufbaue habe ich dann irgendeinen Nachteil wennn ich einen USB Programmer gleich mit integriere? 4. Werden Dioden und Schalter immmer über Masse geschalten? 5. Sollte ich einen internen Pullup Widerstand bei Schalter verwenden oder externen? Danke im voraus
spess53 schrieb: > Dann besorge dir einen AVR ISP MKII. Früher oder später lässt du eh die > > Finger von diesen Second-Hand-Programmern Richtig. Kauf dir gleich was Vernünftiges. mfg.
Aber meiner Meinung nach kann ich viel mehr lernen wenn ich alles selber aufbaue. Wenn ich das soweit behersche kann das schon sein das ich mir dann einen kaufe aber bis dahin möchte ich das selber machen.
Dominik W. schrieb: > Aber meiner Meinung nach kann ich viel mehr lernen wenn ich alles selber > > aufbaue. Wenn ich das soweit behersche kann das schon sein das ich mir > > dann einen kaufe aber bis dahin möchte ich das selber machen. Nein. Andersrum wird ein Schuh draus. Sicherlich kannst du dir irgendeinen Bitbanger für Parallelport oder RS232 bauen. Flashen musst du gar nichts. Das Programm läuft ja auf dem PC. Dann baust du deine erste Schaltung auf und nichts geht. Und woran liegt das jetzt? An deiner Schaltung? An deinem Programmer? An Windows? ( Wird ja immer gerne genommen). Oder daran, daß dein Parallelport statt 5V nur 3,3V hat? Bau dir nicht gleich am Anfang mehrere Kriegsschauplätze auf. Da kann man schnell dran verzweifeln und noch schneller die Lust verlieren. Und davon, daß man ein paar Widerstände an einen 25-poligen Stecker lötet, lernt man so gut wie gar nichts. mfg.
Eher anders herum wird das was. Ein Mechaniker-Lehrling schmiedet sich nicht selbst seinen Hammer oder konstruiert die Drehmaschine selbst. Das macht man wenn man genügend Erfahrung hat. Ein Programmer ist ein Werkzeug, mehr nicht. Sowas baut man selber, wenn einem die Funktionen der fertigen nicht reichen, oder man was ganz spezielles vorhat. Zumal man dann immer das Henne-Ei Problem hat. Wie kommt die Firmware des Programmers ohne Programmer drauf?
1. Wenn man einen neuen Text an die Tafel schreiben will muss sie erst einmal sauber gewischt sein. 2. Uber die USB-Verbidung kommen Kommandos und Daten in Form von ASCII-Folgen, mit denen der Zielkontroller (target) nichts anfangen kann. Dieser benötigt Befehle in Form von bits, die in Reihenfolge des Takts an den ISP-Leitungen ankommen. Die Umsetzung USB-RS232-ISP macht der Kontroller. 3. Der einzige Nachteil ist der, dass, wenn man später ein target programmieren will, das auf einer eigenen Platine sitzt. Da muss man dann beides, Kontoller und Entwicklungsplatine aus der Kiste holen. Der Programmer lässt sich in einem Steckergehäuse alleine unterbringen. 4. Nicht immer: Bei den meisten Kontrollern ist das Schalten gegen Masse rationeller, denn so ersetzt man einen Widerstand durch den internen pullup-Widerstand des Kontrollers. (was ist mit Dioden gegen Masse schalten gemeint?) 5. wohl durch 4. beantwortet
Also mit dioden meinte ich leds. Was muss ich dann auf den Controller laden der auf meinem Programmer sitzt? Danke
Wie alle anderen auch schreiben, laß die Finger von dem Bit-Banging-Zeug und ähnlichem Schrott. Bei ca. 40EUR täte ich es mir nicht an sowas zu bauen. (Gut, mag bei Serienfertigung anders sein, mit dem Programmer, da muß dann noch was besseres her, der Bestücker holt sich seine Investition wieder beim Kunden rein, ich kenne das Spiel nur zu gut.) Der Original AVR ISP MKII funktioniert, Firmware wird von Atmel gepflegt, und nicht von irgend jemand, neuer µC, Firmwareupdate und das Ding paßt wieder. Betrachte den Programmer als notwendiges Arbeitgerät wie deinen Drucker oder die Tastatur, da kämst du doch auch nicht auf die Idee das selber zu machen. Wenn du lernen willst gibt es genug interessante Schaltungen zum Nachbauen und selber entwickeln.
Hallo Dominik! > Aber meiner Meinung nach kann ich viel mehr lernen wenn ich > alles selber aufbaue. Wenn ich das soweit behersche kann das > schon sein das ich mir dann einen kaufe aber bis dahin möchte > ich das selber machen. Also prinzipiell stimme ich den anderen zu, wenn Du Dir einen fertigen Programmer kaufst, dann hast Du gleich etwas vernünftiges was auch auf Anhieb funktioniert. Wenn Du aber auf Teufel komm raus eigene Erfahrungen sammeln möchtest, dann möchte ich Dir hierzu ein paar Infos mit auf den Weg geben... Meiner Meinung nach ist es sehr Sinnvoll einen separaten USB-Chip zu verwenden, wie z.B. den FT232R. Der FT232R hat zertifizierte Treiber und damit wird er auch von jedem gängigen Betriebsystem erkannt. Des Weiteren sollte Dein Programmer mit einen STK500v2 Protokoll arbeiten, damit ist er zur original AVR Software kompatibel. Mein Favorit als Programmer ist dieser hier: http://www.pcfilter.de/AVR-Ecke/Page12.html Oder das Original: http://www.tuxgraphics.org/electronics/200705/article07052.shtml Der Programmer funktioniert problemlos unter Win7 (auch x64), ist vom Preis her nicht all zu teuer und Du kannst ihn mit der AVR Software verwenden (natürlich auch mit AVRdude). Aber wie schon weiter oben beschrieben, Du hast hier ein „Henne Ei“ Problem. Du musst erst die Firmware in den Programmer laden, damit Du ihn verwenden kannst. Dazu kannst Du aber den STK200 Programmer verwenden, den Du Dir bereits ausgebaut hast. Ich verwende den Programmer schon seit sehr langer Zeit und ich hatte damit noch nie Probleme... LG Jens
Dominik W. schrieb: > 1. Wenn ich mein Programm ändere muss ich den Mikrocontroller zuerst > löschen oder zurücksetzten bevor ich das neue Programm darauf lade? Ich verwende avrdude, der löscht erstmal das Flash bevor er schreibt. Ob das zwingend nötig ist, steht sicher im Datenblatt des MC. > 2. Warum wird bei einem USB Programmer ein Mikrocontroller benötigt. > Liegt das an dem weil man bei usb einen treiber benötigt und bei > Parallel Port nicht? Was muss auf den Mikrocontroller? Betriebssystem? Die Programmierung eines MC ist zwar nicht sooo zeitkritisch, aber der OS Scheduler wird das Brennprogramm (avrdude & co) alle paar ms mal nach Gutdünken unterbrechen, um wasweisichalles zu erledigen. Timing ist also ziemlich "holprig", zuverlässiges Brennen funzt wahrscheinlich am besten mit ultralowspeed... ;) Deshalb ist der USB Programmer mit eigenem MC viel zuverlässiger. Und dank USB kannst du ihn auf jedem halbwegs modernen Rechner mit halbwegs modernem OS ohne Probleme verwenden. Du könntest auch einen USB Programmer ohne eigenen MC einsetzen, das ist dann wieder ähnlich wie das Arbeiten mit dem PP -> bitbang mode. > 3. Wenn ich mir ein Entwicklungsboard aufbaue habe ich dann irgendeinen > Nachteil wennn ich einen USB Programmer gleich mit integriere? Kosten, unnütze Bauteile aufm Board, unter Umständen sind dann auch die entsprechenden Pins am MC für nix anderes mehr zu gebrauchen. Würde eher einen kleinen Bootloader einmalig auf den jungfräulichen MC schreiben, der die "Selbstprogrammierung" erlaubt. Wird z.B. bei der Arduino Firmware so gemacht. > 4. Werden Dioden und Schalter immmer über Masse geschalten? Bei den Schaltern mache ich's gern so, weil's weniger Power benötigt (solange Schalter standardmässig auf ist) und weniger Bauteile (ich aktiviere den MC-internen "pull-up" Widerstand). Dioden, äh kommt drauf an, was du mit denen machen willst. ;o) > 5. Sollte ich einen internen Pullup Widerstand bei Schalter verwenden > oder externen? Wie es dir beliebt. Die internen tun es perfekt, wieso also externe verbauen?
Dominik W. schrieb: > Also mit dioden meinte ich leds. > Was muss ich dann auf den Controller laden der auf meinem Programmer > sitzt? > Danke LED's werden auch zum Pluspol hin geschaltet, das ist zum Beispiel bei 7-Segment-Displays mit gemeinsamer Kathode der Fall. Das hängt etwas von den Eigenschaften der Ausgänge ab: manche können nur als Stromsenke arbeiten, andere in beiden Richtungen. Der Kontroller des Programmers enthält als sogenante firmware das Programm, das die Kommandos und Daten vom PC per USB aufnimmt und sie in ISP-Signale umsetzt. Außerdem setzt er die vom target her ans ISP gegebene Informationen (Signatur, Stand der fuses...)in Signale für die USB-Verbindung um. Beim selbstgebauten Progger wird im einfachsten Fall kein Kontroller verwendet, sondern die Intelligenz wird vom Programm ponyprog übernommen. Im komfortablen Fall baut man eine Baugruppe auf, die einen Kontroller z.B.atmega8 enthält. Dieser atmega8 wird entweder programmiert geliefert oder man muss die Software vom Internet herunterladen, die zur betreffenden Hardware passt und sie auf den atmega8 übertragen. Davon getrennt ist dann das target, der Kontroller des Anwenders, der mit dem Kontroller des Proggers garnichts zu tun hat, also ein ganz anderer Kontrollertyp sein kann.
Was ich jetzt verstanden habe ist das ich einen FT232R verwenden kann oder einen Atmega8. Ist das Richtig? Der Schaltplan für so einen Programmer mit Usb und seperaten USB Chip FT232R würde so aussehen, oder? Danke für eure Antworten
Hallo Dominik! > Was ich jetzt verstanden habe ist das ich einen FT232R verwenden > kann oder einen Atmega8. Ist das Richtig? Nein. Der FT232R stellt die Verbindung zwischen PC und ATmega8 her UND im ATmega8 läuft die Firmware (das STK500v2 Protokoll). Die Kombination beider Chips, mit der bestimmten Firmware, bildet den Programmer. Warum verwendest Du nicht den Schaltplan von dem Link, da ist doch alles eindeutig beschrieben!!! LG Jens
Sorry hatte mir bloß den ersten Link angesehen da wo der Programmer in Smd Bauweise aufgebaut ist. Werde den Schaltplan vom zweiten link aufbauen und mich dann wieder melden wenn ich probleme habe. Danke für eure Hilfe
Hallo Dominik! > Sorry hatte mir bloß den ersten Link angesehen da wo der > Programmer in Smd Bauweise aufgebaut ist. Werde den > Schaltplan vom zweiten link aufbauen und mich dann wieder > melden wenn ich probleme habe. Dominik, was soll man denn noch alles veröffentlichen??? Hier steht: „Wer sich den AVR-USB-STK500v2-Programmer nachbauen möchte, der kann sich hier Schaltplan und Layout herunter laden. (Das Layout wurde mit Target3001! Erstellt)“. Darunter findest Du einen Link für ein ZIP-Archiv, da sind alle erforderlichen Daten drin enthalten, inklusive Bestellliste für Reichelt. Hättest Du Dir also die Mühe gemacht das ZIP-Archiv herunter zu laden, dann hättest Du da auch den Schaltplan gefunden... LG Jens
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.