Hallo,
ich habe mich in den letzten Tagen etwas durch die Infos hier gelesen
und würde mich nun auch mal gerne an einem einfachen Projekt versuchen.
Meine Planung sieht wie folgt aus: ein Breadboard und ein paar Atmegas
bestellen. Widerstände, Kondensatoren, LEDs, Transistoren und so Sachen
habe ich hier noch in ein paar Dutzend Boxen rumliegen.
Soweit ich das jetzt verstanden habe, brauche ich einen Programmer. Mein
Rechner hat zwar noch einen seriellen und parallelen Port, aber ich
würde doch USB vorziehen, damit man den auch mal an anderen Rechnern
ohne weiteres nutzen kann. Daher wäre es auch schön, wenn der Programmer
ohne Sondertreiber auskommt.
Da ich den Selbstbau bevorzuge, würde ich am liebsten den Programmer
auch selber machen. Nicht aus finanziellen Gründen, sondern weil das
einfach was ganz anderes ist, als was Fertiges nur auszupacken.
Lochrasterplatinen habe ich wohl auch noch irgendwo.
Und jetzt stehe ich eben vor dem Berg.
1. Welcher Programmer ist hier die beste Wahl? Ich werde wohl mit WinAVR
und/oder Ponyprog arbeiten.
2. Muß ich den Programmer auch programmieren? Wenn ja, habe ich ja ein
Henne-Ei Problem.
3. Anscheinend kann man einen Atmega auch "schrotten", zB falsche Fuses
setzen. Kann man das via Programmer auch fixen oder geht nur wegwerfen?
4. Gibt's auch einen Simulator? Also, Schaltung zusammenklicken, flashen
und dann via Maus Taster/Potis o.ä. betätigen, bevor man das Ganze
aufbaut?
So, das wäre es für's Erste.
Danke schonmal für Anworten.
Zu 2. Wenn man einen USB-Programmer selber baut, mus man den AtMega
natürlich Programmieren.
Ich habe mir zuerst eine Paralellport-Programmer gebaut, mit diesen nen
atmega8 für den usb-Programmer beswchrieben und damit nen USB-Programmer
gebaut
Zu 3. Es kommt immer darauf an, welche fuses man falsch gesezt hat.
Am universelsten ist die HV-Programmierung, damit kann man alle falsch
gesezten fuses wieder rückgängig machen.
Peter schrieb:> Soweit ich das jetzt verstanden habe, brauche ich einen Programmer.
richtig verstanden.
> ich würde doch USB vorziehen, ... Da ich den Selbstbau bevorzuge, würde> ich am liebsten den Programmer auch selber machen.
Wenn du ganz am Anfang stehst würde ich davon abraten. Nachher hast du 2
Baustellen wo es nicht funktioniert, und du weisst nicht warum. Fertig
und und nahezu unverwüstbar: AVRISP mkII von Atmel.
> 1. Welcher Programmer ist hier die beste Wahl? Ich werde wohl mit WinAVR> und/oder Ponyprog arbeiten.> 2. Muß ich den Programmer auch programmieren? Wenn ja, habe ich ja ein> Henne-Ei Problem.
Bei obigem nichts dergleichen.
> 3. Anscheinend kann man einen Atmega auch "schrotten", zB falsche Fuses> setzen. Kann man das via Programmer auch fixen oder geht nur wegwerfen?
Ja man kann sich aussperren, so das man auf normalem Weg nicht mehr dran
kommt (auch wenn manche da schon ihre Wege gefunden haben wollen das zu
umgehen)
> 4. Gibt's auch einen Simulator? Also, Schaltung zusammenklicken, flashen> und dann via Maus Taster/Potis o.ä. betätigen, bevor man das Ganze> aufbaut?
So wie du es dir vorstellst? Nicht das ich wüsste, und ich es würde mich
auch wundern. Zu komplex.
Peter schrieb:> Welcher Programmer ist hier die beste Wahl? Ich werde wohl mit WinAVR> und/oder Ponyprog arbeiten.WinAVR ist bloß die für Windoof kompilierte version des avr-gcc. Die
wird auch von AVR-Studio benutzt, allerdings Benutzen die eine eigene,
in der IDE integrierte Brennsoftware.
Ponyprog ist eine Alternative, zumal es mit einem echten Druckerport
oder einem echten Comport und einem Minimalaufwand an Zusatzschaltung
auskommt(BitBanging).
Dann gibt es noch avrdude, das ist eine Brennsoftware, die aus der
Linux-Ecke stammt. Mehr Funktionalität als Ponyprog, da auch eine gute
Latte von Selbstbau-Brenngeräten unterstützt werden.
Warum sage ich "Brennen"? Programmieren, das ist dein Job, du hackst
Codezeilen in einen Editor deiner Wahl. Brennen ist die fertige Software
auf den Chip zu laden. Früher hat man das mit (E)Eproms machen müssen.
Peter schrieb:> 2. Muß ich den Programmer auch programmieren? Wenn ja, habe ich ja ein> Henne-Ei Problem.
Ich hab mir einen SIPROG-Adapter gebaut und einen mega48 mit der USBASP
Firmware gebrannt. Der Siprog-Adapter muss dazu nur kurz auf dem
Steckbrett existieren. Danach wird der USBASP gebaut é voila: du hast
ein USB-Brenngerät. ein AVRISP von atmel selbst ist aber auch für unter
30€ in der Bucht zu haben.
Peter schrieb:> 3. Anscheinend kann man einen Atmega auch "schrotten", zB falsche Fuses> setzen. Kann man das via Programmer auch fixen oder geht nur wegwerfen?
Das alte Fues-Problem. Du hast recht, allerdings kann dir ein
HV-Programmer da aus der Patsche helfen(Wenn man Resetdisable gesetzt
hat z.b.). Einen externen Takt zu erzeugen(CLOCK falsch eingestellt) ist
nicht weiter schwer. Schlachte aus einer alten Platine einen
Qaurzoszillator aus, oder programmiere einen anderen mega, dass er dir
einen Port beständig toggelt. Außerdem ist so ein Mega nicht teuer, also
auf halde, anderen nehmen, nochmal probieren. Beste Absicherung gegen
verfusen ist immer ein genauer Blick ins Datenblatt und vielleicht eine
GUI die dir beim Fusen hilft.
Peter schrieb:> 4. Gibt's auch einen Simulator? Also, Schaltung zusammenklicken, flashen> und dann via Maus Taster/Potis o.ä. betätigen, bevor man das Ganze> aufbaut?
SIMULAVR gibt es zum Beispiel, im AVR-Studio selbst kann man auch
simulieren. Man kann breakpoints setzen und register verändern. D.h.
deine Schaltergeschichte geht indirekt.
Aber es ist ohnehin spannender, den Chip zu bebrennen und an der realen
Schaltung Messwerte zu nehmen. Ein Oszilloskop hilft manchmal was, macht
aber nix wenn du keines hast. Ein Frequenzzähler-Schätzeisen im
Multimeter ist manchmal nützlich. Externe LEDs und eine
RS232-Quasselstrippe zum debuggen solltest du auf jeden fall da haben.
Vielleicht baust du dir Debugging-Werkzeuge bald selbst, z.B. einen
Twowire-Sniffer, einen SPI-Sniffer oder so?
Viel Spaß beim Basteln!
mfg mf
Peter schrieb:> 4. Gibt's auch einen Simulator? Also, Schaltung zusammenklicken, flashen> und dann via Maus Taster/Potis o.ä. betätigen, bevor man das Ganze> aufbaut?
Gibt es. Nennt sich Proteus.
Peter schrieb:> Daher wäre es auch schön, wenn der Programmer> ohne Sondertreiber auskommt.
Leider benötigen die meisten Selbstbaubrenner unter Windows einen libusb
Filtertreiber. Den kannst du als inf-Datei aber auch immer auf einem
USB-Stick dabeihaben. Oder deinem Brenngerät eine alte 32MB SD-Karte
beilegen, wo du den drauf ablegst. Und die passende Brennsoftware auch!
So hast du sie immer dabei. Einen Cardreader hat wohl jeder irgendwo.
mfg mf
Bei Pollin gibt es ein preiswertes AVR-Board: 810 038
Ein serieller Programmer ist eingebaut und für erste Schritte reicht das
auf jeden Fall aus. Den USB-Programmer solltest du damit auch
programmiert bekommen.
Du brauchst zum Board noch ein Netzteil und ein serielles Kabel. AVRs
und vielleicht noch 1-2 LCDs bekommst du auch bei Pollin.
Zur Entwicklung kannst du z.B. AVR-Studio oder Eclipse (z.B. mit
avr-eclipse Plugin) verwenden.
Mike schrieb:> Ein serieller Programmer ist eingebaut
Vorsicht: das ist ein Siprog, also kein AVR910(man korrigiere mich, wenn
die Appnote anders heißt). Funktioniert also mit USB-COM-Adapter nicht
gut.
Quelle: Beitrag "Mac OS X, Keyspan USB-Serial Adapter, SI Prog -> probleme"
Also nur gut Verwendbar, wenn ein echter ComPort da ist. Ansonsten kann
man sich damit notfalls einen Mega mit USB-Brenner-Firmware beschreiben,
den dann auf Lochraster aufbauen und damit weitermachen.
Ich habe hier einen USBasp auf Lochraster und bin vollends zufrieden
damit.
mfg mf
Also erstmal Danke für die vielen Antworten!
@Turbo Toni
>Ich habe mir zuerst eine Paralellport-Programmer gebaut, mit diesen nen>atmega8 für den usb-Programmer beswchrieben und damit nen USB-Programmer>gebaut
Das klingt doch nach einer Lösung.
@goppe
>Wenn du ganz am Anfang stehst würde ich davon abraten. Nachher hast du 2>Baustellen wo es nicht funktioniert, und du weisst nicht warum.
Wenn Du mit Anfang sowas wie Löten meinst, dann kann ich Dich beruhigen:
das kann ich ganz gut. Also Schaltungen, und sogar Dachrinnen :)
@Mini Float
>WinAVR ist bloß die für Windoof kompilierte version des avr-gcc.
Nun, ich nutze ja Windows. Linux habe ich in einer virtuellen Maschine,
wäre also auch eine Möglichkeit.
>Vielleicht baust du dir Debugging-Werkzeuge bald selbst, z.B. einen>Twowire-Sniffer, einen SPI-Sniffer oder so?
Wenn meine Spielereien mich nicht vergraulen wird es wohl so enden :)
@Heinrichs, Oliver
>Gibt es. Nennt sich Proteus.
Sieht ja gut aus. Mal sehen, ob's davon eine Demo gibt.
@Mike
>Du brauchst zum Board noch ein Netzteil und ein serielles Kabel.
Netzteile hab ich ein paar rumliegen; eines müßte sogar regelbar sein.
Peter schrieb:> Also erstmal Danke für die vielen Antworten!>> @Turbo Toni>>Ich habe mir zuerst eine Paralellport-Programmer gebaut, mit diesen nen>>atmega8 für den usb-Programmer beswchrieben und damit nen USB-Programmer>>gebaut> Das klingt doch nach einer Lösung.
Nicht wirklich.
Ob der Parallelport Brenner bei dir funktioniert, weiß niemand so genau.
Wenn du noch gar nichts hast, solltest du den Brenner kaufen. Der kostet
nicht die Welt und du hast eine Fehlerquelle weniger.
Tob dich lieber bei deinen Zielschaltungen aus. Da hast du mehr davon.
Wenigstens irgendein verlässlich funktionierendes Teil sollte man am
Anfang haben. Mit deiner ersten µC Schaltung wirst du noch genug zu tun
bekommen. Da brauchst du dir nicht auch noch mit einem Brenner einen
2-Fronten-Krieg aufmachen.
Sieh den Brenner als dein Werkzeug an. Du baust dir ja auch nicht deinen
Lötkolben selber.
>>Wenn du ganz am Anfang stehst würde ich davon abraten. Nachher hast du 2>>Baustellen wo es nicht funktioniert, und du weisst nicht warum.> Wenn Du mit Anfang sowas wie Löten meinst,
Gemeint war: Am Anfang deiner µC Karriere.