Elektronik und Roboterbau
AVR, avr-gcc, CAN, CPLD, Elektronik, Mikrocontroller, MSP430, PIC, Roboter, Schaltungen, Sensoren, Software, Testboards
Eine Experimentierplatine im halben Eurokarten-Format für alle möglichen Schaltungen die am CAN Bus hängen sollen. (ACHTUNG: Es gibt eine neuere Version der Platine)
Um auch den zweiten der gut erhältlichen externen CAN Controller (neben dem MCP2515) mal auszuprobieren ist dieses Testboard entstanden.
Der Belichtungtimer ist als kleines Projekt zwischendurch entstanden. Ein ATTiny2313 steuert einen 230AC Verbraucher (bis 10A) über ein Relais an. Die Benutzerführung erfolgt dabei über vier Siebensegment-Anzeigen und drei Taster, damit lässt sich die Zeit in Minuten und Sekunden einstellen (bis zu 99 Minuten).
Ein Frontend für den seriellen AVR Bootloader FastBoot v1.7
Der S8IO8 ist der Nachfolger des S8IO, mit einem ATMega48/88/168 anstelle des ATTiny2313 und einer wesentlich flexibleren Firmware.
Kleine Programmbeispiele zu folgenden Themen:
Wie der Name schon andeutet wurde der Servocontroller auf Basis der RS232 Version von RNKC10 jetzt um die Möglichkeit auch I/O-Pins zu steuern erweitert. Geplant ist außerdem S8IO auch um eine I2C Version zu erweitern, allerdings fehlt mir im Moment die Zeit dazu.
Nun gibt es also auch das ATMega8 Testboard in einer zweiten Version. Wie auch beim ATMega16/32 Board sind nun alle Port-Stecker so platziert das auch gewinkelte Wannenstecker verwendet werden können. Neben einem I2C Eeprom sind jetzt auch alle Pins zusätzlich auf Buchsenleisten geführt, so dass man sie einfach mit einem Steckbrett verbinden kann.
Mit diesem Modul kann man sehr einfach eine Gameboykamera an einen AVR anschließen. Gameboykameras gibt es zum Beispiel relativ günstig bei Ebay zu ersteigern (teilweise für 1 Euro). Sie bieten eine Auflösung von 128x128 Pixel und einige andere nette Features wie zum Beispiel einfach Kantenerkennung usw.
Wie steuert man mit avr-gcc in C den UART an?
Codeschnipsel zu den Themen:
Die AVR Reihe von Atmel besteht aus meheren sehr leistungsfähigen Mikrocontrollern. Die einzelnen Mikrocontroller unterscheiden sich hauptsächlich in der Größe des Programmspeichers, des RAM und den unterschiedlicher Peripherie. Die Bandbreite der Peripherie erstreckt sich dabei von 10-Bit Analog/Digital Wandler, über Pulsweitenmodulierte Ausgänge bis zu asyncronen/syncronen seriellen Schnittstellen (UART, TWI, SPI), frei konfigurierbaren Hardware Watchdogs, 8/16-Bit Timerblöcke bis zu Brown-Out-Detection.
Es geht hier um die AVR-Grundschaltungen (in diesem Fall exemplarisch am ATMega8 gezeigt, aber natürlich auch auf fast alle anderen Typen übertragbar), also die Schaltungen die man braucht um den AVR betreiben zu können.
Moderne Mikrocontroller haben ein ganzes Arsenal an verschieden Schnittstellen. Neben UART und SPI finden sich I2C (TWI), CAN und sogar USB. Ich will in diesem Artikel einmal versuchen die verschieden Schnittstellen vorzustellen und zu vergleichen.
Um AVRs zu programmieren gibt es viele verschiedene Möglichkeiten. Von einfachsten Programmieradaptern die mit ein paar Widerständen am Parallelport auskommen bis hin zu kompletten Experimentierboards mit integrierten Programmieradapter gibt es ein ganze Menge Schaltungen die man benutzen kann.