Ratgeber
Was ist ein ATmega328?
Der ATmega328 ist ein Single-Chip-Mikrocontroller (englisch auch microcontroller unit, MCU) eines der führenden Hersteller dieser Bauteile, ATMEL. Der Controller ist Teil der megaAVR-Serie, in der unterschiedliche Mikrocontroller mit speziellen Eigenschaften zusammengefasst werden: So besitzen die Chip-Systeme der ATMEL ATmega AVR unter anderem einen Programmspeicher zwischen 4 und 256 kByte und ein erweitertes Set für periphere Anwendungen. Der Controller zeichnet sich außerdem durch eine hohe Leistung, relativ geringen Verbrauch und platzsparende Anbringung aus. Die Bezeichnung ATmega328 setzt sich aus dem Namen der Controller Reihe ATmega, in Abgrenzung zu anderen Controllern wie etwa ATtiny oder ATxmega, der Größe des verwendeten Flash-Speichers, 32 kBytes, und der Performanz des Microcontrollers mit 8 Bit zusammen. Angehängte Bezeichnungen spezifizieren das Bauteil genauer: So zählen zu der Reihe der Atmega328 unterschiedliche Varianten wie beispielsweise der ATmega328P oder ATmega328-PU, die sich in ihren verwendeten Materialien, ihrer Verarbeitung und ihrem Stromverbrauch unterscheiden.
Kategorie | Werte / Angaben |
---|---|
Speicherart | Flash |
Speichergröße | 32 kiBytes |
CPU Geschwindigkeit | 20 MHz |
SRAM Bytes | 2 kiBytes |
EEPROM/HEF | 1 kiByte |
Digitale Kommunikationsperipheriegeräte | 1-UART, 2-SPI, 1-I2C |
Weitere Peripheriegeräte | 1 Input Capture, 1 CCP, 6PWM |
8-Bit Timer | 2 |
16-Bit Timer | 1 |
Temperaturbereich | -40 - 85 °C |
Betriebsspannung | 1,8 bis 5 V |
Pins | 32 |
Durch seine Leistungsfähigkeit, seine geringe Größe und die große Bandbreite an Peripheriesystemen ist der ATmega328 vielseitig einsetzbar. Häufig wird er deshalb auf Platinen von Physical-Computing-Plattformen verbaut. Damit werden Plattformen bezeichnet, die aus Hardware und dazu passender Software bestehen und eine Interaktion zwischen analogen und digitalen Systemen ermöglichen. Der ATmega328-PU wird zum Beispiel in unterschiedlichen Arduino-Boards und anderen ähnlichen Platinen verbaut. Arduino-Boards sind in der Kategorie Mikrocontroller-Board die wohl verbreitetsten Platinen und erfreuen sich bei Programmierern und Hobbytüftlern großer Beliebtheit. Aufgrund ihrer einfachen Verwendung und Programmierung werden sie auch häufig für den Unterricht an Schulen eingesetzt, um die Grundlagen der Elektronik zu verdeutlichen.
Die Arduino-Boards bestehen neben den Microcontrollern noch aus einer ganzen Reihe weiterer Komponenten. Dazu zählen Schnittstellen für die Stromversorgung, entweder über USB oder eine andere externe Stromversorgung, genauso wie Input-/Output-Pins, die unterschiedliche Signale ausgeben können. Daneben können weitere Bauteile zur Verbesserung der Leistung hinzugefügt werden wie zum Beispiel ein externer Quarz für eine schnellere Taktung. Sollten grundlegende Elemente wie die Taktung verändert werden, müssen jedoch auch die Fuse-Bits des Microcontrollers angepasst werden. Arduino-Boards erleichtern diese Änderungen und den Zugriff auf den verwendeten Controller dadurch, dass die USB-Schnittstelle nicht nur als Stromversorgung, sondern gleichzeitig auch zur Programmierung genutzt werden kann. Sie dient als serielle Schnittstelle, mit der die Boards an einen PC angeschlossen und dann in einer Variante der Programmiersprache C oder C++ programmiert werden können. Der C-Code wird im Flash-Speicher des Controllers hinterlegt und kann später ausgeführt werden. Zur Erleichterung der Programmierung gibt es darüber hinaus eine eigene Entwicklungsumgebung für die AVR-Controller: ATMEL Studio, in früheren Versionen auch AVR Studio. Mit diesem kann die C-Programmierung entweder selbst vorgenommen oder Dateien mit bestehenden Codes verwendet werden.
Die Controller der ATmega-Reihe sind auch deshalb so stark nachgefragt, weil sowohl Hardware als auch Software der Arduino-Boards quelloffen sind. Das heißt, dass die Baupläne der Boards wie auch die Quelltexte der verwendeten Software als Open Source für jeden zugänglich und verwendbar sind. So kann der ATmega328-PU mit Hilfe der benötigten anderen Bauteile selbst zu einem Microcontroller-Board zusammengebaut werden. Andererseits können die fertigen Boards durch das verfügbare Zubehör leicht erweitert werden.
Die bereits zusammengestellten Aduino-Boards sind vor allem für Anfänger, die gerade damit beginnen, sich mit Elektronik und Programmierung auseinanderzusetzen, eine erfolgversprechende Option: Die Boards sind bereits zusammengebaut und die Bauteile aufeinander abgestimmt. Mit der freien Software ist ein einfaches Programmieren möglich und erste Ergebnisse lassen sich schnell erkennen. Für fortgeschrittenere Nutzer eröffnen die Boards dagegen die Möglichkeit, schnell Ideen für Versuche oder Prototypen umzusetzen. So müssen zum Beispiel grundlegende Codes nicht mehr selbst geschrieben werden, da sie durch ein großes Angebot an freien Codes einfach übernommen werden können. Die eigentliche Programmierung des Codes kann sich damit auf das eigentliche Problem beschränken.
Conrad bietet die ATmega328 Microcontroller nicht einzeln, sondern bereits passend verbaut in unterschiedlichen beschriebenen Boards an. Dazu zählen vor allem die Arduino-Boards, die mit verschiedenen Komponenten und unterschiedlichen Leistungen zu haben sind: So finden Sie größere Platinen mit einer variablen Anzahl an Anschlussmöglichkeiten, aber auch kleinere Platinen, die extra für die Verwendung auf Steckboards konzipiert sind und nur über einen Mini-USB-Anschluss verfügen. Je nach Erfahrungsstand und Ausstattung sind im Shop von Conrad Pakete mit unterschiedlichem Umfang an Zubehör zu erhalten. Diese Spanne reicht dabei von Paketen kleineren Umfangs mit Boards, USB-Verbindungskabel und Steckplatine über verschiedene Zwischenstufen bis hin zu ganzen Startersets für Anfänger, die alle grundlegenden Bauteile für die ersten eigenen Versuche bereitstellen. Für unerfahrenere Nutzer empfiehlt es sich, ein Paket mit dem passenden Lehrbuch zur Platine zu wählen, um den Einstieg zu erleichtern.
Neben den Arduino-Boards gibt es unterschiedliche weitere Anbieter, die eigene Microcontroller-Boards anbieten. Diese entsprechen im Bezug auf ihre Leistung denen von Arduino und verwenden auch Controller der ATmega-Reihe. Dazu sind sie oft mit Arduino-Systemen kompatibel und auch in unterschiedlichen Stecksystemen nutzbar.
Der ATmega328-Microcontroller bietet vor allem auch in Verbindung mit den verschiedenen Platinen und vorgefertigten Boards eine Reihe von Verwendungsmöglichkeiten, die sowohl für professionelle Programmierer als auch für Hobbytechniker und Einsteiger interessant sind. Im Shop von Conrad bieten wir für beide Gruppen das richtige Equipment.