Hi ihr,
ich habe mir diese Woche um mich etwas in der Thema Mikrocontroller einzuarbeiten ein Arduino Uno gekauft und vom Kollegen ein Arduino Duemilanove ausgeliehen. Jetzt habe ich dazu einige Chips:
Attiny 44 - SSU
ATTINY 84V-10 P
ATMEGA 8A-PU
Jetzt wollte ich diese Chips per ISP flashen aber irgendwie funktioniert das nur beim 44er Chip problemlos. Alle anderen funktionieren nicht. Der 84er ist ja auch in der neuen Coreliste drinnen daher wundert es mich dass ich den nicht geflashed bekomme.... ich berufe mich hierbei auf diesen Link der sehr gut für den 44er funktioniert hatte:
Der Atmega funktioniert garnicht... Ich hatte gehofft mit der Fassung auf dem Duemilanove das schnell über die Bühne zu bringen aber falsch gedacht... Da ich absoluter neuanfänger bin in dem Gebiet wollte ich auf diesem Wege fragen ob ihr mir zu beiden dieser chips helfen könntet.. bzw wie ich allgemein andere chips flashen kann mit meinem Arudino Uno?
Ein Kollege hätte da z.B. noch einige chips von "Michrochip PIC" die er geerbt hat^^ würden wir auch gerne bald mal zu kleineren Spaßprojekten verarbeiten.
Wäre klassen wenn ihr mir helfen könntet, weil das Projekt läuft mit dem auf dem Board installieren Chip sehr gut muss es nur noch geflahes bekommen. Aber wenn möglich mit internem Oszilator.
Deinen angegebenen Link kenne ich, damit habe ich bereits die Attiny85 programmiert, das geht schonmal. Fassen wir mal zusammen:
Die Tinys haben ja die gleiche Bauform und unterscheiden sich somit erstmal nur durch die Größe ihres internen Speichers.
Wenn der 44er geht, müsste bei gleicher Beschaltung auch der 84er funktionieren. Sicher, dass du das entsprechende Board bzw. den richtigen Mikrocontroller gewählt hast?
Wie hast du denn den Mega8 programmieren wollen? hast du dazu den Eintrag "Arduino NG or older w/ ATmega8" gewählt? Falls ja, der benötigt in diesem Fall einen externen Quarz! Unter Windows findest du die Datei boards.txt im Unterverzeichnis hardware\arduino. Dort kann man in Eigenregie Boards bzw. nackte Mikrocontroller anlegen, die entsprechenden Fuses sind hier zu definieren. Mit diesen stellt man unter anderem die Verwendung eines internen Oszillators bzw. eines Quarzes ein.
ja das mit dem "old Arduino Atmega 8 " hatte ich versucht.. ok sowas hatte ich mir schon gedacht...^^ Ja gut aber ads Externe Quarz würde ich mir zumindest für dieses Projektchen gerne sparen da ich nicht schon wieder was bei Reichelt bestellen will
Ok ja woran könnte es denn sonst noch liegen? Kann es sein dass ich was zwischen "reset" und "Gnd" schalten muss? Auf der Seite steht was von einem Kondensator... aber ich habe nur einen 220nF und 2,2NF und einen Haufen wiederstände...^^
Das mit dem "boards.txt" werde ich mir wenn ich zuhause bin gleich mal genauer anschauen. Gäbe es die möglichkeit den ATMEGA 8 mit internem Quarz zu verschalten wenn ich die entsprechenden Fuses setze? Gibt es da ein kleines tutorial oder so für dieses Thema?^^
Es gibt eine schöne Seite, wo man die benötigten Hexadezimalzahlen für die Fuses herausfinden kann, um sie in die boards.txt einzubinden: http://www.engbedded.com/fusecalc
Die Reset-Beschaltung würd ich wohl so wie bei den gängigen Arduino-Boards aufbauen, die findest du bspw. hier:
naja der Aufbau sieht mir dann doch etwas zu Arg aus Oder wie meinst du das jetzt? Das ist ja der Schaltplan einer Arduinoplatine? Ich brauch ja nur die Verschaltung eines Anderen Chips wenn ich den flashen will brauche ja nicht die komplette platine dazu^^
Ich meinte im Schaltplan nur den Bereich der Reset-Beschaltung: 10k-Widerstand vom Pin auf die positive Versorgungsspannung und über einen Taster nach GND (Masse).
Sooo,
bin jetzt zuhause. Werde ich dann gleich mal versuchen. Also hab ich das dann soweit richtig verstanden?
Ich verbinde den ATtiny84 mit den 4 Pins: Miso,Mosi,SCK, und Reset (so wie in dem Link)
und den Reset verbinde ich über einen Taster an GND und brücke mit einem 10K Wiederstand den 5V+ und den Reset am Arduino.
Wie würdet ihr vorgehen wenn ihr mit dem Arduino Uno einen ATMEGA 8 flashen wolltet? Ich habe mir das "board.txt" eben mal angeschaut aber naja Muss sagen da steige ich so ohne weitere Hilfe nicht durch... Könntet ihr mir da ein wenig unter die Arme greifen? =)
Das würde ich als zusätzlichen Eintrag in die boards.txt aufnehmen. Dies ist die Standardeinstellung des Atmega8A aus dem Link, es wurde nur der Eintrag zum Taktgeber geändert, hier auf den internen 8MHz-Takt eingestellt. Ich wäre auch dankbar, wenn nochmal jemand einen Blick drauf werfen könnte, konnte es auf Arbeit nicht testen.
Was natürlich sein kann ist, dass du erst einmal zum Programmieren einen externen Quarz brauchst, je nachdem wie derzeit die Fuses gesetzt sind.