Go Down

Topic: atmega328 auf Breadboard (Read 1 time) previous topic - next topic

BigInteger

Jan 18, 2013, 11:29 pm Last Edit: Jan 20, 2013, 12:13 pm by uwefed Reason: 1
Hallo,

mal ne ganz blöde Frage, welche bestimmt jetzt schon hundertfach gestellt wurde, aber wie kann ich den im Uno programmierten atmega328 auf einem Breadboard zum laufen bekommen?

Ich habe mein Programm auf den Chip geladen und auch auf dem Board getestet. Jetzt wo alles läuft, wollte ich den atmega328 direkt auf das Breadboard stecken und nach dieser Grafik verkable.: http://achuwilson.files.wordpress.com/2011/12/arduino-to-atmega8-pins.png leider funktioniert nichts....

Kann ich den Chip nicht einfach verpflanzen und dann mit einer externen Stromquelle versorgen?


PS. Kann ich mit einem ATTiny85 ein Thermometer DS18S20 ansteuern?

[EDIT] habe Modell des ATmega korrigiert. Uer Federer [/EDIT]

Addi

#1
Jan 18, 2013, 11:35 pm Last Edit: Jan 18, 2013, 11:39 pm by Addi Reason: 1
Du musst entweder den Bootloader installieren(per ISP, siehe ISP-Sketch in der IDE) oder direkt
einen ISP verwenden. Allerding ist auf dem Uno ein 328P verbaut, hast du dich nur verschrieben?
Edit: Schau mal hier (Grafiken) und hier nach und
nach der Anleitung hier.

Addi
/ \    _|  _| o
 /--\ (_| (_| |

uwefed

BigInteger
Hast Du einen ATmega32 oder ATmega328?
Grüße Uwe

Realizer


...Kann ich den Chip nicht einfach verpflanzen und dann mit einer externen Stromquelle versorgen?...


Doch, Du darfst aber den Quarz und die zugehörigen Kondensatoren nicht vergessen. Es sei denn Du fusest den Prozessor so um, daß er mit dem internen Oszillator läuft. (Timing ggf.beachten)
Eine Kuh macht muuhh.
Viele Kuehe machen Muehe

Balisto

Also ich finde diese Anleitung gut um ein Arduino auf einem Breadboard aufzubauen: http://arduino.cc/en/Main/Standalone
Habe das vor ein paar Tagen gemacht und hat auf anhieb funktioniert :)

BigInteger

Oh in der Tat ich habe einen 328P  8) Das war ein kleiner Vertipper.

Ich möchte einfach die Temperatur (mehr oder weniger) periodisch abfragen und dann über eine rgb-LED ausgeben, also z.B. +25°C rot +18°C bis +24°C grün und unter +18°C blau ausgeben. Am liebsten würde ich das mit einem ATiny machen.

Ich habe eine Atiny85 und auch einen ATmega328P beide mit Bootloader schon drauf. Den ATmega328P habe ich mit meinem Uno programmiert und danach auf das Breadboard gesteckt und entsprechend meines Aufbaus verkabelt. Leider hat es nicht funktioniert. :-(

vieledinge

Kannst Du mal einen Schaltplan der aufgebauten Schaltung zeigen?

BigInteger

#7
Jan 19, 2013, 11:58 pm Last Edit: Jan 20, 2013, 12:00 am by BigInteger Reason: 1


Nur dass ich als Thermostat ein DS18S20 verwendet habe, aber das hab ich bei fritzing nicht gefunden.

Ich habe mich an diese Abbildung gehalten:

MaFu

Und wo sind der 16 MHz Quarz und die zwei Kondensatoren?
Die gehören an die Pins 9 (XTAL1/TOSC1/PB6) und 10 (XTAL2/TOSC2/PB7).
Schau Dir nochmal genau den Link an, den Balisto gepostet hat, vor allem das dritte Bild im Abschnitt "ATMEGA8/168/328 Basics".
_______
Manfred

Manawyrm

Außerdem wirst du mit 3 Volt (beim Einsatz von Akkus sogar nur 2,4 Volt) den 328 nicht zu 16 MHz bewegen können.
Am besten wäre es hier, diesen auf den internen Oszillator umzufusen...

BigInteger

Oh  :smiley-eek: Ich wusste nicht, dass ich den Quarz brauche. Die Zwei Kondensatoren, habe ich übersehen :-( Ich dachte ich könne das so nur mit einem Microcontroller umsetzen.  =(

vieledinge

Im Prinzip geht das schon.

Die AtMegas können sowohl mit externer Taktquelle als auch mit interner Taktquelle betrieben werden. Dies kann über entsprechende Falgs im Chip gesteuert werden. Auf den Arduinos sind die Flags auf externe Taktquelle eingestellt.

Du musst also den Chip entsprechend umprogrammieren. Ob das mit Deiner Programmierkonstellation geht weiss ich nicht.

Außerdem musst Du dann evtl. Deinen Code umgestalten, falls Du mit zeitbezogenen Geschichten arbeitest. Je nach Taktfrequenz musst Du da anders umrechnen.

BigInteger

#12
Jan 20, 2013, 10:25 pm Last Edit: Jan 20, 2013, 10:33 pm by BigInteger Reason: 1
Ich wollte jetzt meinen atmega umprogrammieren, dass er mit den 8mhz intern läuft, so dass ich keinen Quarz brauche.
Ich habe mir die zip Datei runtergeladen und in den Ordner Hardware kopiert, so dass ich jetzt ein ATmega328 mit 8mhz unter board auswählen kann. Dann habe ich das Board wie in der Anleitung verkabelt und den ArduinoISP Scetsh auf das Uno Board geladen. Danach habe ich das ATmega328 mit 8mhz intern unter Boards ausgewählt und unter Programmer Arduino as ISP ausgewählt.

Jetzt bekomme ich folgende (Fehler-) Meldung wenn ich den Booatloader brennen möchte:
avrdude: Yikes!  Invalid device signature.
        Double check connections and try again, or use -F to override
        this check.


Achso der ATmega hat schon einen Bootloader installiert, welchen weiss ich nicht, hab ihn leider so gekauft. Aber es müsste doch möglichsein, dass ich den Bootloader überschreiben kann.

Hab mich an diese Anleitung gehaltern:

uwefed

#13
Jan 20, 2013, 10:32 pm Last Edit: Jan 20, 2013, 10:49 pm by uwefed Reason: 1
Jedes Kontrollermodell hat eine eigene Kennung. Die Kennung ändert sich schon an den Buchstaben nach dem ATmega328.
Welchen Atmega hast Du?
Grüße Uwe

BigInteger

der auf dem Uno steckt oder den ich Programmieren möchte?

PS bei meinem ATtiny85 bekomme ich auch einen Fehler:
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.

Go Up