Besucher seit 10/07/2004
kostenlose counter

Im WWW Suchen

Benutzerdefinierte Suche

Neu

Charlieplexin PCBCharlieplexing

Ein ATtiny13 steuert 20 Low Curret LEDs die in einer 4X5 Matrix angeordnet sind. Das Minimaldisplay kann kleine Laufschriften und andere Spielereien anzeigen. Als weitere Hardware sind nur noch ein Paar Widerstände erforderlich.

Ich beschreibe Außerdem, wie ich die Laufschriften und Animationen mit dem kostenlosen Maprogramm GIMP erstelle und für das AVR-Studio lesbar mache.

Mehr

Akkuwächter PerspektiveAkkuwächter

Diese kleine Schaltung, überwacht einen 12 Volt Bleiakku (Autobatterie), der in Verbindung mit einem Solarpanel und Laderegler einen Wohnwagen mit Strom versorgt. Leider verfügt der Regler über keine Anzeige der auf den Ladezustand des Akkus schließen lässt. Hier soll der Akkuwächter Abhilfe schaffen.
Das besondere an der Schaltung ist ein ATtiny13, der mit nur 4 Portpins 8 LEDs ansteuert. Dies geschieht durch Charlieplexing. Diese Technik wird ausführlich mit Hilfe des Quelltext in Assembler erklärt.

Zum Akkuwächter

Drehzahlmesser SchnittgeschwindigkeitDigitaler Drehzahlmesser

Der Drehzahlmesser wird über eine Taktscheibe und einer Gabellichtschranke die in den Fräsmotor eingebaut werden mit Impulsen versorgt. Das kleine Zusatzdisplay ist für den Werkzeugdurchmesser vorgesehen mit dessen Hilfe auch die Schnittgeschwindigkeit angezeigt werden kann.

Infos:

  • Anzeige der Drehzahl in U/min (Ganzzahl) und U/sek (0,0) 
  • Schnittgeschwindigkeit in m/min (0,00) und m/sek. (0,000)
  • Getestet mit Proxxon BFW 40/e (6000 U/min max). Theoretisch bis 65535 U/min
  • Werkzeugdurchmesser von 0,1 - 25 mm einstellbar
  • 5 stellige Siebensegmentanzeige für Messwerte, separate 2 stellige Anzeige für Werkzeugdurchmesser
  • Stromversorgung mit unstabilisiertem 9V Steckernetzteil (7805 on Board).
  • Die Platine ist passend für das SP2000sw Gehäuse (ca. 10x6,2 cm, Reichelt)

 Zum Drehzahlmesser

Aktuell

ds18b20 ds18s20 testaufbauDS18B20 / DS18S20 Thermometer

Eine 3-Stellige Siebensegmentanzeige zeigt die Temperatur von -55 bis +125°C an. Es können mehrere Sensoren (max. 20) von Dallas angeschlossen werden. Alle Sensoren sind mit der Datenleitung gemeinsam an nur einen Portpin des ATmega48 angeschlossen und bilden den sogenannten "1-Wire Bus".

 Zum Thermometer

Da das Programm in Assembler im AVR-Studio geschrieben ist, habe ich eine kleine Einführung zum AVR-Studio angehängt die zeigt wie man ein ASM-Program in den AVR bekommt.

TSic ProtokollTSic(TM) 206/306 Thermometer

Eine 3-Stellige Siebensegmentanzeige zeigt die Temperatur von -50 bis +150°C an. Als Sensor wird ein TSic 206 oder 306 verwendet welche sich durch die Genauigkeit und Preis unterscheiden. 
Ausserdem beschreibe ich das bei den TSic-Sensoren verwendete Zacwire Protokoll mit Codeschnippsel in AVR-Assembler.


Zum Thermometer

 Portview Modul

Portview

Dieses kleine Display habe ich mir Ursprünglich gebaut, um während des programmierens (debuggen) mal schnell eine Variable an einem freien AVR-Port auszugeben. Zeigt 8-Bitwerte in Dezimal, Hex und Binär.

zum Display

Voltmeter

DVM

Mit der gleichen Platine lässt sich auch ein Digitales Voltmeter Aufbauen.

Direkt zum DVM

Countdown Timer

Universeller Count Down Timer

Ähnlich dem UV-Timer, jedoch mit mehr Möglichkeiten

Direkt zum Timer

Tiny UhrTiny Clock

Jeder der sich länger mit Mikrocontroller beschäftigt kommt irgendwann auf die Idee sich seine eigene Uhr zu bauen. So auch ich .


  • Alle Einstellungen der Uhr werden über einen Drehgeber gemacht. 
  • Der Wochentag wird aus Datum berechnet
  • Automatische Uhrumstellung zur Sommer und Winterzeit
  • Wecker
  • Thermometer
  • LCD - Hintergrundbeleuchtung in 8 Stufen dimmbar

zur Tinyclock

16-Segment Display

Das 16-Segment Display kann überall eingesetzt werden, wo eine 7-Segment Anzeige nicht mehr ausreicht, weil auch Texte und Buchstaben angezeigt werden sollen, die auch aus der Ferne vernünftig abzulesen sind und deshalb ein LCD nicht in Frage kommt. Die Displayhöhe der verwendeten Anzeigen ist mit 20mm um einiges höher als die herkömmlichen 13mm 7-Segment Anzeigen.
Da das Display eher für eigene Projekte gedacht ist, und keinen eigenen MC enthält gibt es auch keine fertige Firmware. Jedoch gebe ich Tips zur Programmierung und eine ASC Tabelle mit den 16 Segment Codes dazu.

Technische Daten:

  • Vierstellige 16-Segmentanzeige (rot)
  • Ansteuerung im Multiplexbetrieb
  • TSOP1736 Infrarotempfänger on Board (wird nur bei Bedarf bestückt)
  • Zusatz - LED rechts vom Display (wird bei mir als Alarmled benutzt)
  • Ansteuerung seriell mit 3 Schieberegister (74HC595)
  • Es werden nur 3 Portleitungen für das Display benötigt

Zum 16 Segment Display



AVR-Projekte Übersicht LCD

LCD- Ansteuerung

Die unten vorgestellten LCD-Schaltungen können alle an den PC angeschlossen und mit LCD-Steuerprogrammen wie Jalcd oder Smartie betrieben werden. Die 3 Schaltungen unterscheiden sich Hauptsächlich durch den Anschluss (USB oder Com:) und den Aufbau (SMD oder Klassisch). Die Firmware ist bei allen Platinen die gleiche, also auch das Setup und die LCD Befehle. Natürlich kann die Firmware auch benutzt werden, um ein LCD in eigene Projekte einzubinden. Dazu lässt man den USB-Teil rund um den FT232 weg und verbindet TX und RX des AVR einfach über Kreuz an RX und TX des Zielcontrollers.

USB-LCD 1

usblcd1Das USB-LCD war mein erstes Projekt mit einem AVR. Der eingesetzte USB- Schnittstellenbaustein  FT232BM* ist mittlerweile schon nicht mehr erhältlich, deshalb habe ich mich nochmals mit der Schaltung Beschäftigt und das USB-LCD 2  erstellt. Da das USB-LCD1 einfacher nachzubauen ist (einseitige Platine, Dil ICs usw.) und in Funktion dem USB-LCD2 in nichts nachsteht, werde ich die Bauanleitung auf meiner Seite lassen.

zum USB-LCD1

*Wie ich erfuhr ist der FT232BL Pin kompatibel mit dem FT232BM und kann für meine Schaltungen benutzt werden, der BL ist die Bleifreie Version vom BM.

USB-LCD 2

Im Gegensatz zum USB-LCD 1  wurde hier eine doppelseitige Platine entworfen und die Chips auf den neusten Stand gebracht. So wurde anstelle des AT90S2313 der ATtiny2313 und anstatt des FT232BM der FT232RL eingesetzt.
Ausser ein paar Steckern und dem Trimmpoti wurde alles in SMD-Technik aufgebaut. Aufgrund von Anfragen zum USB-LCD1 Nachbau, im Forum und per Email,  habe ich die Bauanleitung komplett neu (und natürlich so ausführlich wie möglich) erstellt und anstelle eines Updates des alten USB-LCD, eine neue eigene Seite spendiert.

zum USB-LCD2

Ser-LCD

LCD an der seriellen Schnittstelle.
Das Besondere am seriellen LCD ist, dass keine Spezial-ICs oder sonstiges benötigt wird um die Schaltung aufzubauen.
Es genügen als aktive Bauteile der AT90S2313 oder der Nachfolger ATTiny2313 und ein paar Transistoren aus der Bastelkiste. Allerdings wird eine stabilisierte 5 Volt Versorgung benötigt die man sich entweder von einem Molex-Stecker im Rechner oder vom USB holen kann.
Die Schaltung ist so einfach aufgebaut, das eine einseitige Platine ausreicht.

zum RS232-LCD


Setup der LCD- Ansteuerung

Über ein Terminalprogramm können verschiedene Einstellungen an den oben vorgestellten LCD-Ansteuerungen vorgenommen werden die im internen EEPROM des verwendeten AVRs abgespeichert werden.

Einstellen lassen sich:

  • Kontrast (PWM)
  • Helligkeit der Hintergrundbeleuchtung (PWM)
  • LCD-Typ z.B. 16x2, 16x4, 20x4 usw.
  • Bootscreen. Das ist ein Begrüssungstext der auf dem LCD erscheint sobald Spannung angelegt wird
zum Setup

Befehlstabelle und Beispiele

Die Befehle für das LCD werden in einer Tabelle beschrieben.
Auch wird gezeigt, wie man mit einem Terminalprogramm die einzelnen Befehle zum LCD schicken kann.
Ausser der einfachen Displaysteuerung von Cursorfunktionen und Textausgabe, wird auch gezeigt wie man einfach einen Pixelgenauen Bargraf im Style von Jalcd mit einfachen mitteln auf das LCD bringen kann.


zur Befehlstabelle

Weitere AVR-Projekte 


UV-Belichtungstimer

timernt

timerCount-Down fürs Belichtungsgerät. Ein Tiny2313 zählt Rückwärts und schaltet unser Belichtungsgerät ein und aus. Der Timer verfügt über 3 Digitaster um die Zeit  einzustellen und einige Extrafunktionen zu programmieren. 2 gleichgrosse Platinen ermöglichen einen einfachen Einbau in Selbstbaubelichter da diese Huckepack übereinander montiert werden können.

Der Belichtungstimer enthält im wesentlichen folgende Funktionen.

  • Bis zu 9:59 Minuten bzw. 999 Sekunden Belichtungszeit (durch umschalbaren Sekunden- Minutenbetrieb)
  • Anzeige auf 3 -stelliger  Siebensegmentanzeige
  • Quarzgenau
  • Break und Continue Funktionen
  • Piezosummer (über Software abschaltbar)
  • Setup über Tastenkombination bei einschalten des Timers
  • Preset der Einschaltdauer über Tastenkombination
  • Setup und zuletzt eingegebene Zeit werden im EEPROM gespeichert
  • Schickes Gehäuse mit Frontplattenvorschlag

zum UV-Timer

IR-Box

irboxDie IR-Box schaltet 3 Steckdosen und sich selber über Fernbedienung oder Digitaster Ein und Aus.

Ein Standby-Killer.

Im Moment arbeite ich an einer Erweiterten Version (IR-Box2) mit 8 Relais, Echtzeituhr, Innen- Aussenthermometer, LED-Fading und 16Segment-Anzeige.

IR-Box

LED-Fading

LEDStripesMit einer Fernbedienung (RC5) lassen sich verschiedene Farben von RGB-LEDs umschalten und dimmen. Auch ein Moodfading ist integriert bei dem das RGB Farbspektrum  durchgefahren wird. Ich selbst habe mir hinter meinem TV einen Satz RGB LEDs angebracht . Für mich die Optimale Hintergrundbeleuchtung. Auch diese Schaltung kommt mit in die IR-Box2 hinein.

RGB-Stripes

AVR910-USB

Achtung! Nicht mehr zum nachbauen gedacht, da neuere AVRs nicht mehr programmiert werden können.

Dieser ISP ISP = In System Programmer wird von AVRDUDE und von AVRPROG (direkt aus dem AVR Studio) unterstützt, er basiert auf der AppNote 910 von Atmel  und der erweiterten Hard- und Firmware ( V3.8b)  von Klaus Leidinger  -> Mikrocontroller-Projekte. Hier ist noch der alte FT232BM verbaut,  dieser kann aber durch den Pinkompatiblen (und noch erhältlichen) FT232BL ersetzt werden. Der AVR910-USB enthält  im Wesentlichen alle FTM-Module (siehe weiter unten) auf einer einseitigen Platine.  Da die Firmware die neueren AVR Controller nicht mehr unterstützt  ist der Aufbau des  AVR910-USB nur noch bedingt anzuraten, jedoch gibt es mittlerweile die Programmersoftware OSP 2 die angeblich alle AVRs mit einem A910 programmiert(wenn über USB auch etwas langsamer).

Der AVR910-USB enthält unter anderem:

  • USB-Seriellwandler (nur RXD TXD)
  • USB-Seriell Wandler TTL
  • ISP nach Atmel Appnote 910
  • 10pol. Standart ISP-Anschluss
  • RX-TX LEDs 
  • Status LEDs für Programmer

AVR910-USB

AVR-Projekte USB

Da neuere PCs und Laptops immer weniger mit seriellen RS232 Schnittstellen ausgestattet sind, wird die Entwicklung einer MC-Schaltung die mit dem PC kommunizieren soll immer schwieriger .Die neue Schnittstelle für uns Bastler ist im Moment (und bleibt auch wohl noch für lange Zeit) USB. Wer sich einen neuen Laptop kaufen möchte, sollte sich über die angegebenen Eigenschaften gut informieren, da nicht alle Geräte für die verschiedenen Zwecke ausgerichtet sind. Aber manchmal muss eben ein neuer, schnellerer Laptop her, um mit ihm privat wie beruflich neben dem Hobby gut arbeiten zu können. Am einfachsten kann man sich online eine Übersicht verschaffen und die Preise vergleichen. Was mir aufgefallen ist: Bei expert kann man preisgünstig einen Laptop kaufen. Um nicht auf eine serielle Schnittstelle zu verzichten, könnte man sich einen Seriell Adapter dazu kaufen.
Ich selbst habe mir zu diesem Zweck die unten vorgestellten FTM Der Name FTM ist die Abkürzung von FT232-Modul. Module gebaut. Die Platinen sind allesamt in SMD Technik augebaut und passen in ein Preisgünstiges D-Gehäuse. Sicherlich gibt es genügend fertige USB-Seriell Wandler, diese haben aber bei der Schaltungsentwicklung bei weitem nicht die Möglichkeiten von dem unten vorgestellten Modulen.

FTM Baureihe

Mit einem FT232RL wird ein USB-Seriell- Basismodul  in ein Handliches DSUB-Gehäuse eingebaut. Der USB-Seriell Wandler arbeitet mit TTL-Pegel und reicht somit aus um die TXD und RXD Pins der  AVRs anzusteuern. Ausserdem kann das FTM die nachfolgende Schaltung mit Spannung versorgen und liefert brauchbare Frequenzen um einen MC zu takten.

Zum FT Modul

FTM910

Ein passender A910 Programmer zum aufstecken auf das FTM Basismodul. Da ich schon den AVR910-USB (weiter oben) habe, wollte ich mir diesen trotzdem (interessehalber) aufbauen.Ausserdem habe ich mich in dieser Zeit gerade im Aufbau von SMD Schaltungen geübt. Bei einem Preis von 2,55 Euro (Stand 10/06) ein Preiswertes Übungsstück .

Zum FTM910

FTM232

Zwei Pegelwandler die die TTL Pegel des Basismodul auf die erforderlichen +/- 12 Volt anheben. Einmal lowcost mit MAX232 der meistens schon  ausreicht, und einmal voll belegt mit dem MAX211.
Mit diesen Modulen wird das FTM zum vollwertigem USB -Seriell-Wandler.

Zum FTM-RS232