Skip to content

Microcontroller

9 posts with the tag “Microcontroller”

tileLED

tileLED
tileLED.

Und schon wieder habe ich ein kleines Hardwareprojekt, das ich hier vorstellen möchte. Auf eBay bin ich auf diese günstige LED Dot-Matrix Displaymodule gestoßen. Auf einer Größe von 3x3cm besitzen sie 8x8 rote oder grüne LEDs, die per Multiplexverfahren angesteuert werden.

Für diese Module habe ich eine kleine Platine designed, die nicht größer ist als das Modul selber. Die LEDs werden über einen kleinen ATmega8 Mikrocontroller direkt angesteuert. Auf Konstantstromquellen habe ich hier zugunsten der Platinengröße verzichtet. Auch wenn diese Beschaltung den ATmega etwas überlastet, funktioniert es super.

Platinen Layout
Platinen Layout.

Give Away: fnordlichtmini Platinen

GPL v3 Logo

Für das fnordlichtmini (flm) von Alexander Neumann gibt es nun auch ein EAGLE CAD Layout: /stv0g/hardware/fnordlicht/fnordlichtmini_v4 . Zuvor war leider nur ein Schaltplan offen verfügbar. Gleichzeitig habe ich auch meine restlichen Hardware Projekte ( /stv0g/hardware ) aufgeräumt und sie unter der OSHW Lizenz GPL veröffentlicht.

Vielleicht habt ihr ja Lust ein kleines Ambilight zu basteln? Ich habe noch ne Menge der Platinen übrig, die ich gerne in Aachen verschenken oder tauschen würde. Sind dir LEDs sind dir zu langweilig? Ich hab auch noch andere Platinen übrig…

/_astro/OpenHardwareLogo.Bu4nXpNz.png /_astro/flm_layout.BYPUw9gY.png /_astro/flm_night.BZ1NOriH.jpg /_astro/flm_platinen.CH4-XI7N.png

In meinen älteren Beträgen (hier und hier) gibt es auch noch ein paar kleine Anregungen was man alles mit dem flm so anstellen kann.

breadBUG

breadBUG ist ein kleines Mikrocontroller Modul, das direkt auf ein Breadboard aufgesteckt werden kann. Es ist als Prototyping-Werkzeug für tägliche Basteleien gedacht.

Es fasst das für den Mikrocontroller nötige “Vogelfutter” auf einer kleinen Platine zusammen:

  • ATmega8 Controller
  • 16 MHz Quarz und Keramikkondensatoren
  • 5 V Festspannungsregler
  • Reset Taster
  • ISP Stecker
  • LED zur Spannungsüberwachung

breadBUG ist während meiner Arbeit für die Mikrocontroller-AG des MMIs entstanden. Einige Teilnehmer wünschten sich ein einfaches, kleines und günstiges Modul, das sie als Alternative zu dem von uns verwendeten Evaluation Board für eigene Projekte nutzen können.

Fast alle von uns in der AG verwendeten Erweiterungsmodule sind daher Pin-kompatibel mit dem “breadBUG” Board. Bis auf den Controller selber haben wir nur Through-hole Komponenten verwendet um den Aufbau auch für Einsteiger möglichst einfach zu halten.

Das Board hat etwa eine Größe von 2.5x5 cm, sodass im Mehrfachnutzen genau zwei Boards auf eine 5x5cm Platine von seeedstudio.com passen. Damit liegt der Preis für eine einzelne Platine bei weniger als 50 Cent.

Platinen Layout des breadBUG
Platinen Layout des breadBUG.

EAGLE Schaltplan, Layout und Gerber Dateien gibt es auf Codeberg: /stv0g/hardware/breadBUG/v1 .

Mikrocontroller AG

Vor drei Jahren war ich selber Teilnehmer der Mikrocontroller AG und habe diese dann für die vergangenen zwei Jahre mit Hilfe zweier weiterer Kommilitonen, Markus Hamm und Mats Markus, geleitet.

Als Abschluss meiner dortigen Arbeit schreibe ich nun meinen Bericht und möchte diesen hier kurz zusammenfassen. Den kompletten Tutoriums Bericht könnt ihr euch hier herunterladen:

Download:Tutoriums Bericht Mikrocontroller AG

Das Institut für Mensch-Maschine-Interaktion (MMI) der RWTH bietet für Studenten des zweiten Semesters eine freiwillige AG zum Einstieg in die Mikrocontroller Programmierung an. Diese verknüpft theoretische Grundlagen der Vorlesung “Grundgebiete der Informatik 2” von Prof. Roßmann mit praktischen Beispielen und Aufgaben aus dem Bereich der Mikrocontroller. Es handelt sich um eine freiwillige Veranstaltung, die für die Teilnehmer nicht als Studienleistung anerkannt werden kann. Wie auch in der Vorlesung werden die ATmega Mikrocontroller der Firma Atmel verwendet.

Mikrocontroller & Elektronik CheatSheet

Daniel

Wie war nochmal die Pinbelegung des Festspannungsreglers? Wie stark darf ich die Pins des Mikrocontrollers belasten? Wie viel Volt fallen an dieser LED ab?

Häufig sind es diese kleine Fragen, die gerade Anfänger den Einstieg in die Welt Elektronik oder Mikrocontroller erschwert.

Um diesen etwas zu erleichtern und auch den erfahrenen Bastlern einen Spickzettel zur Verfügung zu stellen, habe ich folgendes CheatSheet zusammengestellt:

Download:Mikrocontroller CheatSheet

Anmerkungen, Hinweise zu Fehlern oder Ergänzungen nehme ich gerne auf. Bitte kontaktiert mich dazu einfach.

HIDeKey

HIDeKey USB Security Token
HIDeKey USB Security Token.

Als Abschlussprojekt und Vorbereitung auf meine Betreuer Tätigkeit für die Mikrocontroller-AG des MMI’s habe ich mich näher mit dem USB-Bus und dem darauf aufbauenden HID-Protokoll befasst.

HIDeKey ist ein kleiner USB-Stick, der als HID-Tastatur vom Rechner erkannt wird und beliebge Zeichenketten und Tastenkombinationen an den Host-Rechner senden kann.

Mein Ziel war es ein kleinen Hardware-Dongle zu entwickeln welcher Passwörter, TANs und Onetime-Tokens direkt an jeden beliebigen Rechner senden kann. Meine Passwörter sind im verschlüsselt EEPROM des Mikrocontrollers gespeichert. Beim Drücken, des Tasters auf dem Stick, wird das Passwort eingegeben.

Als Hardware nutze ich die zuvor vorgestellten USBasp Programmieradapter aus China, deren Firmware ich durch eine eigene ersetzt habe. Mit einem zusätzlichen Taster lässt sich so über ein kleines Menü zwischen 10 User-Passwort-Kombination wählen.

Neue Passwörter können mit einem kleinen Konsolen-Programm direkt über den Rechner einprogrammiert werden.

HIDeKey soll auch zur Generierung von One Time Passwords (OTP) genutzt werden können. Da er sich wie ein gewöhnliche USB-Tastatur verhält, kann er auch unterwegs am Schlüsselbund in Internet-Cafes und Rechner-Pools genutzt werden.

Quelltext und Schaltpläne gibt auf Codeberg: /stv0g/hidekey .

In meinem Wiki ist auch noch etwas Dokumentation gesammelt.

HIDeKey ist wie die meisten meiner Projekte als OpenSource veröffentlicht. Ich freue mich über jede Verbesserung, Erweiterung oder andere Beiträge zu diesem Projekt 😊.

Das 3 € ATmega Developement Board

USBasp Clone
USBasp Clone

Für gerade mal 2,95 € bieten chinesische Händler einen Klon des In-System-Programmers USBasp von Thomas Fischl auf eBay an. Das Board wurde ursprünglich zum Programmieren von AVR Mikrocontrollern entwickelt und basiert selbst auf einem ATmega8 Controller. Das Board bietet folgende Features, die auch für andere Zwecke genutzt werden können:

  • Software USB mit V-USB
  • Stromversorgung über Rechner
  • wahlweise 5V oder 3.3V
  • 2 LEDs
  • 1 Jumper
  • 6 IO-Pins (inklusive UART)

Dieses Angebot ist preislich unschlagbar. Es gibt kein anderes megaAVR Board, das inklusive Versandkosten für unter 3 € zu haben ist. Auch ein Selbstbau mit den günstigsten Bauteilen ist bei kleineren Stückzahlen (< 50) weit teurer. Fertige Leerplatinen sind aber auch über eBay verfügbar.

Der günstige Preis hat aber auch einen Nachteil: Mitunter muss man einen Monat warten, bis der Stick im eigenen Briefkasten liegt. Dafür gibt es in der REgel keine Probleme beim Zoll 😉.

transcode

Digital Logic Diagram
Assembler code

Ich sitze im Zug nach Hause. Gerade komme ich von der letzten Vorlesung des zweiten Semesters: Informatik. Eigentlich bin ich auf dem Weg in die Semester-”Ferien”, ständen da nicht für den nächsten Monat noch 4 Klausuren in meinem Kalender 😉.

Informatik, Grundlagen des Digitalrechners. Klingt eigentlich recht trocken. Trotzdem ist es klar mein Favorit unter den Fächern dieses Semesters. Als Ergänzung zur Vorlesung richtete unser Professor einen kleinen Wettbewerb aus. Mein Beitrag zum Students Englightment Award ist ein Compiler Frontend für den GNU Compiler der Atmel AVRs.

Teil der Vorlesung war die Einführung des Mikrocontrollers ATMega8 von Atmel und dessen Programmierung mit Assembler. Dabei lernten wir zuerst die Schaltungstechnischen Grundlagen und die Minimierung von Schaltnetzen. Anschließend sind wir auf den Aufbau der Zentralen Recheneinheit eingegangen (Steuerwerk, ALU).

transcode kompiliert & assembliert ANSI C und Assembler in Maschinencode und umgekehrt. Dabei wird mit Hilfe von Debugging Informationen ein Bezug zwischen Zeilen im C-Code und den Mnemonics hergestellt. Durch Auswählen von Zeilen werden Bezüge direkt durch Hervorhebungen dargestellt. Für die Darstellung des Maschinencodes lässt sich zwischen binär, dezimal & hexadezimaler Form wählen.