mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik atmega8 mit atmega48 ersetzen?


Autor: Michel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
ich mag 4 Motoren per PWM steuern und hab gerade ein ArduinoUSB board 
mit einem Atmega8 rumliegen.

Kann mir jemand aus dem Stand sagen ob das Arduino board auch einen 
Atmega48 verträgt?
Die Belegung de PDIP sieht ziemlich gleich aus, wenn ich keine Tomaten 
auf den Augen habe..


Die Software würde ich eh neu schreiben und einen ISP hab ich auch bin 
also auch nicht auf das USB Interface angewiesen...

Oder kann mir jemand sagen wie ich auf einem Atmega8 4 Kanäle PWM 
hinbekomme?

Meine Rechnung geht so:
Bei 7800Hz und 8Bit Auflösung ist der kürzeste Schaltzyklus:
1/(7800 * 256) = 5us
was bei 16MHz Takt gerade mal 10 Zyklen entspricht.... Irgendwie hab ich 
den Verdacht ich bekomm das in Software nicht hin, da im Zweifelsfall 
die Interrupts zu dicht aufeinander folgen. Die 6 PWM Kanäle des 
atmega48 wären da schon geschickt...


Jemand einen guten Rat?


Danke!

-michel

Autor: Thomas Otto (tarzanwiejane)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
atmega8 und atmega48 sind pinkompatibel.
kannst du direkt ersetzen wenn du den code eh neu schreibst. 
codekompatibel sind sie leider nicht.

cu tarzanwiejane

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann würde ich doch gleich einen Mega168 einsetzen, der hat den 
doppelten Flash und SRAM gegenüber dem alten 8er und kann auch mehr. 
Ansonsten gilt oben gesagtes.

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der 168er ist kompatibel zum 48er. Falls er also einen Mega48 rumliegen 
hat, kann er den erstmal nehmen. Wenn der Speicher nicht reicht, kann er 
den immer noch durch einen Mega88 oder Mega168 ersetzen.

> was bei 16MHz Takt gerade mal 10 Zyklen entspricht.... Irgendwie hab
> ich den Verdacht ich bekomm das in Software nicht hin, da im
> Zweifelsfall die Interrupts zu dicht aufeinander folgen.

Das ist definitiv so. Alleine die Reaktionszeit und der Rücksprung aus 
dem Interrupt, also noch ohne Registersicherung oder gar den 
eigentlichen ISR-Code, ist schon länger als 10 Zyklen.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal in die Application Note AVR094 von ATMEL. Da steht alles drin, 
was beim Wechsel vom Mega8 zum Mega48/88/168 zu beachten ist.

Autor: Oliver Keller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Den Atmega168 kannst man auf jedenfall nehmen und direkt mit dem Arduino 
Board, der IDE und der API benutzen - ohne Code-Anpassungen. Seit der 
Ardunio IDE Version 0006 ist der Atmega168 als Alternative zum Atmega8 
ins Projekt integriert. In der Ardunio IDE, oben im Menü, unter "Tools / 
Microcontroller" einfach den Atmega168 als target auswählen.

Gruß, Oli

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.