Herzlich Willkommen auf AVR-Projekte.de
Worum es hier geht...
Auf
diesen Seiten stelle ich verschiedene Elektronik Schaltungen vor, mit
denen ich mich ich in meiner Freizeit beschäftige. Für die
meisten
Schaltungen verwende ich 8 Bit Mikrocontroller
Im
folgenden Text auch
MC oder speziell auf meiner Seite auch AVR genannt!vom
Hersteller Atmel,
das sind kleine Mikroprozessoren die alles beinhalten was man
für
einen keinen Steuerungscomputer benötigt. So enthält
z.B.
ein AT Tiny2313 2K Flash Rom (Programmspeicher), 128 Byte
SRam
(für Variablen), 128 Byte EEPROM (für Daten die nach dem
ausschalten erhalten bleiben) und 18 I/O Pins die im Programm als Ein-
oder Ausgang deklariert werden können. Die Programme für meine
Projekte, habe ich alle mit dem AVR-Studio in Assembler
Assembler
ist eine
Programmiersprache die vom Übersetzungsprogramm (welches auch Assembler
heisst) direkt in Maschinencode umgewandelt wird.
erstellt.
Es sind aber auch andere Programmiersprachen für AVRs verfügbar. Die am
meisten verwendete Sprache wird wohl C sein. Bitte habt Verständnis,
dass ich keine Speziallösungen programmiere, oder Schaltungen so
modifiziere das es bei jemand anderem passt. Das würde alles von meiner
(eh zu knappen) Freizeit abgehen. Auch kann ich keine Assemblerkurse
per Email absolvieren. Für Verbesserungsvorschläge bin ich jedoch
jederzeit offen.
Meine
Schaltungen sind in
der Regel Komplette Bauanleitungen die nicht unbedingt
Programmierkenntnisse erfordern. Es ist mindestens Schaltplan,
Platinenlayout (im Eagleformat) und das brennfertige Programm
"Dateiname.hex",
manchmal im Text auch Firmware oder hex genannt.
vorhanden.
Bei manchen Bauanleitungen ist der Quelltext dabei (Datei.asm), diese
kann man im Studio
Das
AVR-Studio ist ein
Komplettes Entwicklungssystem für AVRs. Dieses kann man sich kostenlos
beim Hersteller Atmel herunterladen. editieren
und neu
assemblieren. Ist kein Quelltext dabei, so habe ich dafür meine Gründe.
Ich versende den Quelltext dann auch nicht per Email, ich hoffe ihr
habt Verständnis. Kleine Schaltungen ohne MC, findet man im Bereich Elektronik und sonstige
Bauanleitungen bei Basteln.
Nachdem
ich keine Lust mehr hatte, täglich Spam aus dem Forum zu entfernen,
habe ich dieses letztendlich geschlossen. Hinzugekommen ist dafür ein
Bereich in dem es um Programmierung gehen soll und zwar um die Sprache
die ich benutze,
Assembler.
Neu
Tastenauswertung
in Assembler
Bei meinem ersten Themen in der Assembler-Ecke geht es um
Tastenentprellung, kurze, lange, doppelte Tastendrücke und um
Autorepeatmehr ...
...und um das
Rechnen in Assembler
Hier stelle ich meine Grundroutinen zum Multiplizieren und
Dividieren vor.
- Multiplizieren durch schieben
- Der mul Befehl der Mega AVRs
- Multiplizieren in Software
- Dividieren durch schieben (mit Rest oder Gerundet)
- Division durch Multiplikation mit dem Kehrwert
- Dividieren in Software
- Rechnen mit Festkomma
Zum Mathe Teil gehts hier
lang ...
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 für das Display die Laufschriften und Animationen mit dem Maprogramm GIMP erstelle und für das AVR-Studio lesbar mache.Mehr
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)
Arbeiten mit Fräse und
Kreuztisch
![Proxxon Fräse](fraesen_pics/fraese.jpg)
Endlich habe ich mir einen langersehnten Wunsch erfüllen
können.
Eine Fräse mit Kreuztisch und Bohrständer. Hier beschreibe ich meine
Erfahrungen mit diesem tollen Werkzeug. Es geht um Gehäusebearbeitung,
schneiden und bohren von
Platinen und alles andere, was man mit einer Fräse und Kreuztisch
anstellen kann.
Viele Tipps und Anregungen u.a. eine Klemmvorrichtung aus Holz + viel
Zubehör stelle ich hier zum nachbasteln vor. Außerdem zu lesen, wie
ich Ausfräsungen wie sie z.B. für ein Display benötigt
werden,
plane und wie man mit einem Kantentaster umgeht.
Digitales Manometer
Ein digitales Druckmessgerät mit dem ATmega48, welches in ein in ein handliches Kunststoffgehäuse eingebaut ist, zeigt den gemessenen Druck in Bar, PSI oder kPa.
Daten:
- Dreistellige Siebensegmentanzeige
- MPX5700 (Freescale) Sensor mit max. +/- 2,5% Abweichung
- Zeigt den Druck in 3 verschiedene Maßeinheiten an
- Umschaltbar mit Taster
- Modusanzeige über 2 LEDs
- 0..7 Bar, Auflösung 1/100
- 0..700 kPa (Kilopascal) , Auflösung 1/1
- 0..101 PSI Auflösung, 1/10 (bis 99.9) ab 100 1/1
- Nullabgleich wird im EEprom gespeichert
Portview Timer Update
Neu hinzugekommen sind folgende Funktionen:
-
- Das Countdown Ende, wird die letzten 5 Counts durch kurze Beeps angekündigt.
- In die Tabelle der Presetzeiten, wurden 0:30, 1:00 ... 9:00, 9:30 (alle 30 Sekunden) eingetragen. So können Voreinstellungen der Zeit schneller und bequemer vorgenommen werden
DS18X20 Thermometer
Die
digitalen
Temperatursensoren haben es mir im Moment angetan. Angefangen hat es
mit dem LM75 den ich in meiner Ätzmaschine
eingesetzt habe. Dann die Tsic Sensoren von der Tinyclock
und dem Thermometer
weiter unten. Zu
guter letzt habe ich mich nun auch an die Dallas/Maxim
Sensoren DS18S20 und
DS 18B20 gewagt, die mich anfangs durch den 1-Wire Bus etwas
abgeschreckt haben. Herausgekommen ist ein Thermometer, an das mehrere
Sensoren DS18x20 (auch gemischt) angeschlossen werden können. Im Clip
unten ist mein Probeaufbau zu sehen, in welchem 4 Sensoren nacheinander
ausgelesen und angezeigt werden.
Da bei der DS18x20 Bauanleitung der Quellcode dabei ist, habe ich eine kleine Einführung zum AVR-Studio 4.19 angehängt, die zeigt wie man ein Assembler Programm assembliert (übersetzt) und über ISP in den AVR lädt.
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 Codeschnipsel in AVR-Assembler.
![Zacwire Tsic 206 306 Timing](zacwireasm/zacwire.png)
Universelle 3-stellige 7-Segmentplatine mit Mega8/48
Portview Modul
Ursprünglich habe ich mir dieses kleine Display gebaut, um während des programmierens (debuggen) mal schnell eine Variable an einem freien AVR-Port auszugeben. Das Modul liest einen 8-Bit breiten Wert ein, wandelt es wahlweise in Dezimal, Hex oder Binär und zeigt es auf drei Siebensegment Anzeigen an. Mit etwas zusätzlicher "Hardware" kann die Platine auch für andere Zwecke benutzt werden. Zum Display
Portviewmodul als Count down Timer
Der Timer kann mit einem Drehimpulsgeber oder 3 Taster bedient werden. Zum Timer
Portviewplatine als DVM
Ein Spannungsteiler macht aus dem Portviewmodul ein Digitales Voltmeter.Direkt zum DVM
Videoclips zum Portview Modul
Uhr & Thermometer
Tiny Clock
Als
ich mich
mit dem Temperatursensor TSIC206 beschäftigte, entstand diese einfache
Uhr.
Sie kommt ohne speziellen Uhrenchip (RTC) oder DCF77 Modul. Nicht
einmal ein Uhrenquarz wird benötigt. Dafür muss die Genauigkeit im
Quellcode nach einer gewissen Zeit (wenn man die Abweichung genau
kennt) nachjustiert werden.
Kompressor
Selbstbaukompressor
Man nehme:
Ein Kühlschrankaggregat, einen leeren Feuerlöscher o.Ä., ein
Magnetventil, eine Handvoll T-Stücke, Teflonband und einen AVR mit
etwas drumherum, füge alles zusammen und es kommt ein Kompressor
heraus, der einen Ehrenplatz im Bastelzimmer bekommt .
Das Wesentliche:
- Digitale Steuerung durch einen ATMega48
- 3-Stelliges LED-Display
- Durch Verwendung des Drucksensor MPX5700 bis 7 Bar einstellbar
- Über 3 Tasten programmierbar
- Für Airbrush optimal geeignet
Ätzmaschine 2
Ätzmaschine 2 Update
Jetzt mit Belichtungstimer.
Ein paar Details:
- MC Gesteuert (Mega8)
- TextLCD 16x2
- Alle Einstellungen über Drehencoder
- Motor (RB35) PWM gesteuert
- Anzeige UPM
- Erinnerungsbeeper
- Heizung einstellbar von 20..64 Grad
- Anzeige der Ätzzeit
- Belichtungstimer (Neu)