[Projekt] ATMEGA128 als Arduino

  • Hallo Gemeinde,
    ich fand es in der Vergangenheit immer wieder mal schade, dass meine Arduinos in Sachen SRAM und auch I/Os ziemlich schnell an ihre Grenzen kamen.
    Ich hab' da lange hin und her überlegt wie ich diese Beschränkungen umgehen könnte, bin da aber auf keinen grünen Zweig gekommen.
    Mich hat immer schon interessiert, ob ich es fertig bringen würde einen ATMEL zu einer Art "Arduino" umzufunktionieren. Also hab' ich mir jetzt vorgenommen Nägel mit Köpfen zu machen.

    Ziel ist es ein Board zu entwerfen und fertigen zu lassen, das als Basis-Board den Prozessor neben einer ISP-Schnittstelle enthält und Zugriff auf möglichst alle Pins der MCU ermöglicht.
    Als MCU habe ich mich für den ATMEGA128 entschieden. Der ist zwar schon älter und nicht unbedingt auf den aktuellen Stand der Technik, ich finde aber er ist eine gute Grundlage für den Anfang.
    Für mich liegt der Nutzen sowieso mehr im Lerneffekt und darin, das einfach mal auszuprobieren. Inwieweit sich das dann noch weiterentwickelt vermag ich im Moment noch nicht zu sagen.

    Bitte beachten: sowohl dieser Beitrag als auch die beiden Teile des eagle-Crashkurs werden parallel zum laufenden Projekt erstellt. Dadurch kann es zu Verzögerungen kommen. Also nicht ungeduldig werden ... ihr werdet rechtzeitig über die nächsten Schritte informiert.

    Anforderungen Variante 1 - Stand 18.02.2016:

    • kompaktes PCB
    • Anschluss für Versorgungs-Spannung
    • Spannungsregler
    • Reset-Taster
    • ISP-Schnittstelle
    • Alle Port-Pins über Wannenstecker zugänglich
    • Power LED

    Achtung! Möglicherweise kommt hier im Laufe der Zeit noch das eine oder andere Feature hinzu. Evtl. Aktualisierungen könnt ihr der History am Ende des Beitrags entnehmen. Beachtet dabei, dass dieser erste Beitrag immer aktualisiert wird. Behaltet ihn also im Auge, dann seid ihr immer auf dem aktuellsten Stand.

    Jetzt können wir uns schon mal die benötigten Bauteile zusammenstellen.

    Bauteile-Liste Variante 1 - Stand 18.02.2016:

    • 1 x ATMEGA128-CPU TQFP64 ( -> Link <- )
    • 1 x DC-Jack 2.5mm für Versorgungs-Spannung ( -> Link <- )
    • 1 x Spannungsregler LM1117 5V ( -> Link <- )
    • 1 x Wannenstecker 6polig für ISP ( -> Link <- )
    • 7 x Wannenstecker 10polig für Ports A-G ( -> Link <- )
    • 1 x Diode 1N4001/1N4004 ( -> Link <- )
    • 1 x Taster für Reset ( -> Link <- )
    • 1 x Quarz 8 16 MHz ( -> Link <- )
    • 1 x LED grün ( -> Link <- ) oder rot ( -> Link <- )
    • 1 x Widerstand 10 kOhm ( -> Link <- )
    • 1 x Widerstand 2k2 Ohm ( -> Link <- )
    • 2 x Keramik-Kondensator 100 nF ( -> Link <- )
    • 2 x Keramik-Kondensator 22 pF ( -> Link <- )
    • 2 x Tantal-Kondensator 22 uF ( -> Link <- )
    • 1 x Keramik-Kondensator 20 nF ( -> Link <- )
    • 7 x Keramik-Kondensator 10 nF ( -> Link <- )


    Hinweis: Die Links dienen nur zur Veranschaulichung und sind keine Kaufempfehlung!


    Damit ist die erste Vorarbeit schon mal erledigt und wir können uns an den Schaltplan machen.

    Hallo noch einmal.
    Im Crash-Kurs Teil 1 ( ->Crashkurs eagle: von der Idee zum Schaltplan<- ) haben wir den Schaltplan entwickelt und im Crash-Kurs Teil 2 ( ->Crashkurs eagle: vom Schaltplan zum PCB<- ) die Vorlage zur Board-Produktion erzeugt.

    Die Gerber-Files wurden an den Platinen-Hersteller übermittelt und jetzt warten wir mal auf das Ergebnis ;) ...


    History:
    18.02.2016 - erste Version online gestellt
    18.02.2016 - Quarz 8 MHz gegen 16 MHz getauscht
    04.03.2016 - Update zum aktuellen Projekt-Status


    Bis demnächst,
    -ds-

  • Bilder

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    Einmal editiert, zuletzt von jar (18. Februar 2016 um 18:22)

  • Hi jar ...
    ich weiss, dass es das schon gibt ...
    Ich hab' auch schon etliche fertige Boards für den 128 bei ebay gefunden ...
    Wie ich schon sagte:


    Für mich liegt der Nutzen sowieso mehr im Lerneffekt und darin, das einfach mal auszuprobieren. ...


    Mir geht's nur darum mal live mitzuerleben wie so eine Entwicklung abläuft, kann ich das ...
    Und vielleicht ist das ja auch mal interessant diesen ganzen Prozess an einem Beispiel mal von Anfang bis Ende durchzuspielen und hier zu dokumentieren.

    cheers und viele Grüsse an MM (Mutti Merkel) :fies:
    cu,
    -ds-

  • ich hoffe ich darf Anmerkungen machen,

    warum der 128 und nicht den moderneren 1284p?
    warum 8MHz Quarz, wenn der intern schon mit 8MHz laufen kann, wenn dann einen Baudratenquarz 14,xx 18,xx 21,xx MHz

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • Ich hab' hier halt mittlerweile ein paar von den rumliegen, die sich im Zusammenhang mit irgendwelchen Recherchen angesammelt haben.
    Das mit dem Quarz hat keinen tieferen Sinn ... ich glaube mich dunkel zu erinnern dass das mal zur Stabilisierung des internen Taktes empfohlen wurde.
    Klar, jetzt wo Du es sagst wäre ein Quarz als Baudraten-Generator durchaus sinnvoll ... das ist aber vielleicht mal ein Feature für eine mögliche 2.te Version. Für die dachte ich eh an ein Board mit kompatiblen Anschlüssen zum UNO R3 ...

    EDIT meint noch:

    128KB Flash
    4KB SRAM
    4KB EEPROM
    10-bit A/D converter
    53 I/Os
    8 Interrupt-Eingänge
    mit interner RTC ...

    da braucht sich der Käfer (vor allem bei dem Preis mittlerweile) trotz seines Alters nicht zu verstecken ;)

    jar: siehste ... dank Deines Nachhakens wegen des Quarz habe bin ich nochmal in mich gegangen und hab' mich entschlossen, den 8 MHz gegen einen 16 MHz auszutauschen ;)


    cheers,
    -ds-

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!