Attiny-Platine: Konzept

Konzept für ein preiswertes Mikrocontrollersystem auf der Basis des Attiny 2313

platine3_layout_klein

Layout der Platine 3

Mikrocontroller sind heute allgegenwärtig, ob Zahnbürste, Türschloss, Backofen, Fahrradcomputer, Stereoanlage, Multimeter oder Postkarte, überall sind sie zu finden. Im Prinzip handelt es sich bei Mikrocontrollern um winzige Computer. In unserer Fortbildungsreihe wollen wir vermitteln, wie diese Mikrocontroller funktionieren, wozu sie eingesetzt werden können und natürlich: wie man sie programmiert.

Zu diesem Zweck haben wir eine Platine entwickelt, die den Bedürfnissen an der Schule entgegenkommen soll: Einerseits soll sie das Leistungsspektrum von solchen Mikrocontrollern deutlich machen, andererseits soll sie aber auch den Blick auf das Wesentliche richten. Nicht zuletzt soll sie so preiswert sein, dass sie auch von einzelnen Schülern erworben werden kann.

Unsere Platine Attiny 3.0 weist u. A. folgende Merkmale auf:

  • AVR-Mikrocontroller (nicht verlötet, sondern auf Fassung gesteckt)
  • Schnelle Programmierung über USB-Schnittstelle (Ein Bootloader auf dem Mikrocontroller beschleunigt den Uploadvorgang!)
  • Nahezu alle Anschlüsse des AVR über Kontaktbuchsen mit Patchkabeln erreichbar
  • Ein vollständiges Port mit allen 8 Bit an Doppelbuchsenleiste mit Widerstandsarray geführt. (Steckt man LEDs in diese Buchsenleiste, zeigen sie den Zustand des kompletten Ports an; das ist aus didaktischen Gründen sehr wichtig!)
  • Mikro-Breadboard zur Realisierung von Kleinstschaltungen (z.B. Invertierung eines Signals durch einen Transistor; Demodulierung eines Fernbedienungssignals etc.)
  • Zwei Interrupteingänge, direkt mit Taster verbunden
  • Piezo-Speaker
  • Leistungsverstärker für einen Digitalausgang; damit lassen sich Verbraucher wie Glühlämpchen, Kleinmotoren etc. ein- und ausschalten.
  • Serielle Kommunikation (UART) mit dem PC über USB : Dient zum Austausch von Daten (nicht nur wichtig zur Fehlersuche).
  • Vorbereitung für I2C-Buchse (Pullup-Widerstände über Jumper zuschaltbar)
  • Buchsenleiste zum Anschluss weiterer im Handel erhältlicher Module
  • Buchse zum Anschluss eines kleinen LCD (LCD im Lieferumfang)
  • Reset-Taster
  • Stromversorgung über USB-Anschluss
  • ISP-Programmierung über USB möglich
  • Programmerstellung mittels verschiedener Entwicklungsumgebungen möglich (z. B. Basic-Compiler BASCOM, C-Compiler Win-AVR, Assembler AVR-Studio 4)
  • Platine vorbereitet für Versorgung über 9V-Batterie und Spannungsstabilisator

Herz unserer Mikrocontroller-Platine ist ein Attiny2313. Er ist kompakt, steckbar, preiswert, besitzt auf einer der beiden Seite einen kompletten Port. Außerdem sind I2C und UART hardwaremäßig vorhanden und müssen nicht emuliert werden. Einen Nachteil hat der Attiny2313 allerdings schon: Er besitzt keinen Analog-Eingang. Mit dem eingebauten Komparator, einem Kondensator und einem Widerstand kann man aber auch mit dem Attiny2313 Spannungen messen. Noch einfacher ist die Spannungsmessung mithilfe eines I2C-AD-Wandler-Moduls. Ein solches haben wir selbst entwickelt haben. Man kann man es für wenige Euro selbst bauen; mehr dazu erfahren Sie hier. Inzwischen findet man ein ähnliches Modul auf der Basis des Bausteins PCF 8591; es ist ebenfalls für wenige Euro (inkl. Porto) erhältlich.

Die Programmierung erfolgt in der Regel nicht über eine SPI-Schnittstelle (MISO/MOSI), sondern über die RXD/TXD-Leitungen der UART. Dazu kommt ein USB-UART-Wandler auf der Platine zum Einsatz. Mithilfe eines speziellen Upload-Programms (auf dem PC) und eines Bootloaders (auf dem Mikrocontroller) werden die Programme nicht bitweise (wie bei SPI), sondern byteweise übertragen. Das ist von entscheidender Bedeutung für eine rasche Übertragung.

Die Programmierung kann u. A. in Basic (z.B. BASCOM), Pascal (z.B. MikroPascal), Assembler (z.B. AVR-Studio), C (z.B. AVR-Studio) oder Forth (z.B. MikroForth) erfolgen. Die damit erzeugten HEX-Dateien werden dann mit dem Upload-Programm in wenigen Sekunden auf den Mikrocontroller übertragen.

Serielles Signal von einem GPS-Modul

Serielles Signal von einem GPS-Modul

Zahlreiche Themen lassen sich mit unserer Mikrocontroller behandeln:

  • Zweiersystem
  • Bytes und Bits
  • Rechnen im Zweiersystem
  • Variablen und Variablentypen
  • Port- und Datenrichtungsregister, Ein- und Ausgänge
  • Pull-up-Widerstand, Vorwiderstand
  • LEDs und Photodioden
  • Umgang mit Zeichenketten
  • Kodierung
  • Schleifen und Verzweigungen
  • Serielle Kommunikation, Baudrate
  • Modularisierung durch Prozeduren
  • EEPROM
  • I2C-Bus
  • Kommunikation über das SPI-Protokoll
  • Timer/Counter: Zählen, Wartezeiten, Zeitmessungen, Pulsweitenmodulation (PWM)
  • Ansteuerung von Attiny-Modulen (UART, EEPROM, …) über IO-Register
  • Interrupts
So kann der Attiny eine SMS senden.

So kann der Attiny eine SMS senden.

Damit lassen sich viele einfache, aber auch komplexe und umfangreiche Projekte realisieren. Hier eine Auswahl:

  • Blinklicht
  • Lauflicht
  • Ampelanlage, auch mit Bedarfsanforderung
  • Dämmerungsschalter
  • Dimmer
  • Melodiengenerator
  • Morsesender und Morseempfänger
  • Kodierer
  • Temperaturverlauf (mit LM75-Baustein) im EEPROM protokollieren
  • Fernbedienungssignale senden und empfangen
  • Reaktionstester
  • Fernsehsignale (BAS) erzeugen (mit zusätzlichem Quarz-Baustein)
  • Servos ansteuern
  • D/A- und A/D-Wandlung
  • Ansteuerung von LCDisplays
  • Abstände messen mit Ultraschallmodulen
  • Drahtloskommunikation mit Bluetooth- oder Funkmodulen
  • Magnetfeldmessung (mit I2C-Magnetfeld-Modul)
  • Funkuhr mit DCF-Modul
  • Positions- und Geschwindigkeitsbestimmung (mit GPS-Modul)
  • GSM-Unterstützte Raumüberwachung (Attiny meldet Bewegung per SMS)

Hier misst der Attiny die Laufzeit des Ultraschallsignals bis zur Kamera und zurück.

Für manche dieser Projekte sind zusätzliche Komponenten erforderlich. Solche Komponenten sind häufig recht preiswert zu erstehen, manche kosten aber auch mehr als unsere Attiny-Platine selbst: So kostet das oben gezeigte Ultraschallmodul z. Zt. (Nov. 2012) in China nur ca. 1,50 Euro inkl. Porto; für ein geeignetes GPS-Modul muss man hingegen mit etwa 12- 30 Euro rechnen. Weitere Informationen finden Sie unter www.g-heinrichs.de/attiny/addons.ppt