Neu
Charlieplexing
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
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.
Digitaler
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)
Aktuell
DS18B20
/ 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".
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(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.
Portview Modul
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.
DVM
Mit der gleichen Platine lässt sich auch ein Digitales Voltmeter Aufbauen.
Universeller Count Down Timer
Ähnlich dem UV-Timer, jedoch mit mehr Möglichkeiten
Tiny
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
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
Das
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
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
Count-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
Die
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-BoxLED-Fading
Mit
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.
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.
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.
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
.
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.