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 StudioDas 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
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.
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)