Der ATMega8 - Ein intelligenter Käfer
Materialbedarf
Anz. | Bezeichnung | Datenblatt |
1 | Batterie/Spannungsquelle 9V | |
1 | Spannungsregler 7805 |
![]() |
1 | ATMega8 AVR-Prozessor |
![]() |
1 | Widerstand 10 kOhm | |
1 | Elektrolytkondensator 100 µF/16V | |
1 | Kondensator 100nF |
Die Anschlüsse des ATMega8
Die Mikrokontroller der AVR-Reihe umfassen etliche verschiedene Typen. Neben dem ATMega8, welcher in diesen Kursen verwendet wird, gibt es noch einige andere Versionen. Unterscheiden tun sich diese Typen durch den verfügbaren Programmspeicher, welcher als Flash-ROM ausgelegt ist, dem EEPROM-Bereich für nichtflüchtige Daten und den Arbeitsspeicher (RAM). Ebenso hat jeder Typ mehrere Schnittstellen 'On-Board'. Je nach Anwendung, kann man so verschiedene Controller einsetzen.
Hier wird der ATMega8 verwendet. Dieser besitzt neben einen 8 kB großen Flash-ROM als Programmspeicher, noch 512 Byte EEPROM und 1 kByte RAM. Auch AD-Wandler, eine serielle, eine SPI und eine I²C-Schnittstelle sind auf diesem Chip zu finden.
Auf einen externen Taktgeber kann verzichtet werden, wenn man auf den internen Taktoszillator von 1,2,4 oder 8 MHz zurückgreift. Dieser Generator läuft aber nicht sonderlich stabil, was insbesondere bei der RS232-Kommunikation zu Problemen führen kann. Für einfache Steueranwendungen reichen die internen Generatoren aber aus und werden in diesen Lehrgängen auch meist verwendet. Im Auslieferungszustand ist der interne 1 MHz-Generator aktiv.
Der Controller der AVR-Reihe sind mit der so genannten Risc-Struktur ausgestattet. Dies bedeutet, dass für die Ausführung eines Maschinenbefehls, meist nicht mehr als 1 Systemtakt benötigt wird.
Die meisten Anschlüsse des ATMega8 sind als Ports ausgeführt. Neben der Funktion als digitale Ein- oder Ausgang, sind die einzelnen Pins auch noch mit anderen Funktionen belegt, die man bei Bedarf verwenden kann. Die wichtigsten Pins sollen hier einmal aufgeführt werden. Die hier nicht genannten Anschlüsse werden in anderen Lehrgängen erläutert. |
Pin 1: PC6 (/Reset) | Wird dieser Anschluss für eine kurze Zeit auf 0V gelegt, wird der Controller zurückgesetzt und das Programm im ROM wird neu gestartet. Soll dieser Pin anderweitig verwendet werden, ist es auch möglich, den AVR zu sagen, welchen Pin er anstelle diesen zum Reset verwenden soll. |
Pin 7: VCC | Hier wird die Betriebsspannung des Controllers angelegt. Der ATMega8 benötigt eine Spannung von 4,75V bis 5,25V. |
Pin 8: GND | Der Nullleiter findet hier seine Verwendung. |
Pin 17: PB3 (MOSI/OC2) Pin 18: PB4 (MISO) Pin 19: PB5 (SCK) |
Eine Besonderheit des ATMega8 und der einiger anderer AVR-Prozessoren ist es, dass sie sich relativ einfach über die eingebaute SPI-Schnittstelle programmieren lassen. Das Programmierkabel wird unter anderem an diesen 3 Pins, an Pin (/Reset) und an GND, um einen Potentialausgleich zu ermöglichen, angeschlossen. |
Pin 20: AVCC | Der interne AD-Wandler hat einen eigenen Betriebsspannungsanschluss, der hier heraus geführt wurde. Auch wenn der Wandler nicht benötigt wird, sollte man die Betriebsspannung anlegen, da es sonst zu Störungen kommen kann. |
Pin 22: AGND | Ebenso wie der AVCC-Anschluss wurde auch das Nullpotential des AD-Wandlers heraus geführt. |
Der Grundaufbau
Da der AVR eine Spannung von 5V zum Betrieb benötigt, wird hier ein Spannungsregler eingesetzt. Somit kann man weiterhin die 9V nutzen die auf diesen Seiten üblich sind. Der Widerstand R1 sorgt dafür, dass der /Reset-Eingang immer auf einen hohen Spannungspegel gehalten wird. Damit wird verhindert, dass der Controller unbeabsichtigt neu startet. Damit ist der ATMega8 einsatzfähig und man kann mit den Versuchen beginnen. Das in diesem Plan eingezeichnete SPI-Kabel wird bei den weiteren Versuchen nicht mit dargestellt, da es sich nicht ändert und den Aufbauplan nur unübersichtlich macht. |