-
Artikel
AVR Interrupt Routinen mit C++
name mangling zu steuern. Weist man zum Beispiel einer statischen Methode den Symbolnamen __vector_1 zu, so gehört sie weiterhin zur Klasse; es wird nur der Symbolname geändert. Da die avr-libc eine Interruptvektortabelle anlegt, in der ein Sprungbefehl zu __vector_1 für den ersten Interrupt steht,
Flash-Speicherverbrauch. Die Größe des produzierten Binärcodes beträgt bei der zuerst vorgestellten Methode um die 0,3kB. In der Implementierung mit Elternklasse steigt diese --- aufgrund der vielen ungenutzten, aber als __used__ gekennzeichneten Interrupt Handler --- auf ca. 2,2kB an. Um den Speicherverbrauch im Flash-Speicher
-
Artikel
Energieübertragung von LED zu LED für galvanische Trennung ohne Transformator
Vorgang ist nicht sonderlich effizient - im unten vorgestellten Schaltungsbeispiel kommen nur knapp 0,1% der auf der "sendenden" Seite verwendeten elektrischen Energie nach Wandlung in Licht und zurück beim "Empfänger" an. Aber LEDs sind ausgesprochen billige Bauteile, und sofern auf der empfangenden Seite
Gehäuse des AO6604 ist zu einem Monoflop verschaltet, der im inaktiven Zustand deutlich weniger als 1µA Strom verbraucht, und im aktiven Zustand schon für eine gewisse "Entprellung" des Eingangssignals sorgt. Dank der niedrigen 1V Gate-to-Source Threshold-Spannung des AO6604 bleibt der MOSFET niederohmig
-
Artikel
Projekt Universeller Analogeingang für FPGA-basiertes Oszilloskop
75Ω über Relais einstellbarer Eingangsspannungsteiler, welche Relais genau wäre zu klären, Teilung 1:10 und 1:100 zuschaltbarer 50Ω-Abschluss-Widerstand für max. 40Vpp am Eingang (5V/div) umschaltbare AC/DC-Kopplung, wer das lieber in Software realisieren mag bestückt den AC-Teil einfach nicht möglichst
" differenzierbar sind und trotzdem direkt zur Messung verwendet werden können real time FFT mit z.B. 64k, damit man auch etwas Auflösung hat statt langsamer Übertragungsrate zum PC, hohe Updatraten in Realzeit mit ausreichend geringer Latenz nahe Null, so dass 75Hz verzögerungsfrei dargestellt werden
-
Artikel
MINOS
UART1 0 PA9 PA10 UART1 = Console, nicht verwendbar UART1 1 PB6 PB7 UART1 = Console, nicht verwendbar UART2 0 PA2 PA3 UART2 1 PD5 PD6 UART3 0 PB10 PB11 UART3 1 PC10 PC11 UART3 2 PD8 PD9 UART4 0 PA0 PA1 UART4
einer Farbe füllen. Syntax: tft.draw_line. Linie zeichnen von Start-Punkt (x0, y0) bis End-Punkt (x1, y1): Syntax: Siehe auch: tft.draw_thick_line() tft.draw_thick_line. Dickere Linie zeichnen von Start-Punkt (x0, y0) bis End-Punkt (x1, y1): Syntax: Siehe auch: tft.draw_line() tft.draw_circle. Kreis
-
Artikel
STM32 F3 Discovery unter Linux
Grundversion): LED's toggeln Serielle Ausgabe mit printf() (Man nehme einen FTDI Dongle oder MAX232. Z.B. von Watterott für 12€) und verbinde TX/RX mit PA9 und PA10 auf der Stiftleiste). Setup: Board über USB (USB ST-Link Buchse) mit dem PC verbinden. FTDI Dongle verbinden (PA9, Pa10, GND) und Terminalprogramm mit 115200 8N1 starten (z.B. Minicom). Wegen potentiellen Lizenzproblemen fehlen ein paar Files in meinem Archiv. Die Anpassungen sind ganz easy: Archiv auspacken (Link ist am Ende dieses Artikels) Eclipse starten
-
Artikel
Kommunikation µC und PC/Smartphone
werden kann. Hier sollen diverse Möglichkeiten aufgelistet werden. RS232. Einfache Umsetzung: siehe z.B. AVR-Tutorial:_UART Neuere PCs besitzen teilweise keine RS232-Schnittstelle mehr (bei Smartphones praktisch überhaupt nicht vorhanden) Es gibt viele RS232 USB Adapterkabel USB: CDC-Klasse (virtueller
an, da Bluetooth dort weit verbreitet ist und in der Regel APIs bereitstehen (für Android siehe z.B. den 'BluetoothChat' Beispielcode des Android SDKs). USB-Lösungen funktionieren meist nur mit bestimmten Smartphones (siehe z.B. und erst ab Android 3.1. LPT und IrDA sind nahezu tot.
-
Artikel
Stromwandler
immer wie eine Konstantstromquelle, zumindest solange er nicht in die Sättigung geht. D.h. man kann z.B. einen Brückengleichrichter direkt anschließen und dahinter ein Gleichstrommessgerät. Der Spannungsabfall der Dioden spielt dabei keine Rolle, ein Präzisionsgleichrichter mit Operationsverstärkern ist
den Faktor M, der Primärwindungszahl. Der Preis dafür ist, dass der Messbereich auch um den Faktor 1/M kleiner wird. Aktive Stromwandler. Viele aktive Stromwandler basieren ebenfalls auf einem Ringkern. Allerdings misst er das Magnetfeld des Kabels nicht per Sekundärspule, sondern z.B. mit einem Hallsensor
-
Artikel
AVR32 Studio.Einstiegshilfe.Referenz
for bug reports and exit. -d, --debug, --debug= Enable debug output. Optionally specify debug level (1-3, default 1). -l, --log Log debug info to file -c, --comport Connect to given serial port. If is 'USB', connect to a USB device. If is 'USB:serial', the emulator with the given serial number will be
for GDB communication. example 1: -a anyhost.anydomain.com:4242 example 2: -a :4242 If no hostname is given, avr32gdbproxy listens on all network interfaces. The default port is 4711. -x, --xmlpath Specify the path to the part description
-
Artikel
IRMP auf STM32 - Bauanleitung
Optokopplers zu beachten. Die Kontakte, die näher am IRin sind, sind Plus. Bootloader (Linux). git clone -b unify_platforms git://github.com/j1rie/maple-bootloader.git cd maple-bootloader make Platform=Dev (Developer Board) bzw. make Platform=Red (Roter) bzw. make Platform=Blue (Blauer) Dann ./build/maple_boot.bin
the optocoupler. Those contacts, that are closer to IRin, are plus. Bootloader (Linux). git clone -b unify_platforms git://github.com/j1rie/maple-bootloader.git cd maple-bootloader make Platform=Dev (Developer board) or make Platform=Red (Red) or make PPlatform=Blue (Blue) Then flash ./build/maple_boot.bin
-
Artikel
LiFePO4
LiFePO4-Akkus werden als die "sicheren" Zellen angepriesen, da sie im Gegensatz zu als LiIon-Akkus bei z.B. Überladung weder Lithium noch Sauerstoff freisetzten. Sie sind einfacher zu laden per CCCV-Verfahren und damit sehr ähnlich zu Bleisäure-/Gel-Akkumulatoren. Sie können sehr hohe Ströme liefern: laut
Ladevorgang sehr einfach hinzubekommen. Als erstes muss man für einen konstanten Ladestrom (CC) von z.B. 1 A sorgen. Jetzt muss man nur noch dafür sorgen, dass die max. Ladespannung nicht überschritten wird, indem man diese konstant (CV) auf z.B, 3,6 V hält. Wenn sich jetzt mit der Zeit der Akku lädt,
-
Artikel
Software-Architektur
wäre ein internes 8.1 Bit-Format vom Sensor DS1621 in eine Komma-Darstellung zu konvertieren. Das heißt in der Quintessenz: Konvertierungen zwischen Datenformaten sind essentieller Bestandteil jeder Software. Entsprechend
Bedingung eingehalten ist. Z.B. ob ein bestimmtes Flag gesetzt ist oder ein bestimmter Schwellwert überschritten wurde. Kontrollfluß ist also etwas, was kostet (im Sinne von 'den Datenfluss ausbremst') und was immer an Daten gekoppelt
-
Artikel
I²C
two wire interface (siehe AVR TWI). Im PC wird ein dem I2C-Bus sehr ähnliches System benutzt, um z. B. die Daten eines SDRAM-Modules auszulesen. Dieser nennt sich SMBus (System Management Bus). Busstruktur und Adressierung. In einem I2C-Bus gibt es mindestens einen Master sowie bis zu 127 Slaves. Ein
I2C Isolator von Silabs Galvanische Trennung für I2C, Applikation National Semiconductor I2C FAQ P82B96, I2C Bus Extender, auch für galvansiche Trennung notes_82b96.pdf, Application Note zum P82B96 warum die einfache Schaltung Probleme hat, siehe Seite 17 an460.pdf, Application Note von Philips zum P82B96
-
Artikel
AVR Transistortester
can be used to generate a signal with 1 Hz to 2 MHz at port TP2. Port TP1 is ground. Variable PWM (pulse width modulation) with fixed frequency at port TP2. 10-Bit counter. Port TP1 is ground. Short press increases pulse width by 1 %, long
markierten Bauteile sind gegenüber dem ersten Entwurf von Markus F. geändert. Die Eagle Dateien von Asko B. für drei Varianten sind im Thread zu finden bei der Adresse: Hier ist der Artikel der 1. Transistortester Version von Markus F. zu finden: AVR-Transistortester Hardware (English). The new software can
-
Artikel
LunaAVR
Datenmanipulationsfunktionen. Zahlreiche Interfaces für Hardwarebestandteile des Controllers, wie z.B. SPI, I2C, 1Wire, Uart, Ports, z.T. mit Erweiterungen wie FIFO-Buffer uvm. Zahlreiche Softwareemulationen verschiedener Schnittstellen und Funktionen. Zahlreiche Interfaces für verschiedene Funktionalitäten wie z.B. DCF77-Decoder, CRC-Berechnung, Lesen/Schreiben der Controller-Flashpages, Tastenmanager, Taskmanager, Text-LCDs uvm. Umfangreiche Debugfunktionen wie Hexdumps, Exceptions für Speicherverletzungen uvm
-
Artikel
Midi Rekorder mit MMC/SD-Karte
PC-Tool zum Umwandeln von/in PC-MIDI-Dateien (nur FORMAT 0) Hardware. ATmega8 mit internem RC-Takt 1 MHz MIDI Interface mit Optokoppler 6N138 LCD Display 24*2 (Standardcontroller) 7 Tasten und 1 Anschalter Spannungsregler 5V und 3,3V MMC/SD-Slot Kompilieren. In AVR Studio 4 Projekt laden, alle *.asm
auch, wenn keine Karte eingelegt ist) UP/DOWN zur Auswahl eines Parameters > zum Ändern Menüpunkte: 1. Schlagzeugkanal: Default 10 (Das Schlagzeug wird nicht transponiert) 2. Lyrics anzeigen: Default 1 (1 = Lyrics werden angezeigt) 3. Startsektor der MMC-Karte: Default 0x0210 (Falls du nur FAT32 auf
-
Artikel
Klopfsensormessgerät
einem PC erfolgt über ein gewöhnliches Terminalprogramm. Einstellungen: Baudrate: 115200 Format: 8n1 Flow Control: None Momentan wird nur alle 10 Millisekunden der Messwert als ASCII String ausgegeben und der Cursor wieder an den Zeilenanfang geschoben, z.B. so: Klopfwert: 42 \r Man sieht also immer
schön, wenn jeder, der das Projekt oder Teile davon einsetzt, hier kurz was dazu schreiben könnte. z.B. so: Projektbezeichnung [Link] [Name], gebaute Stückzahl (Hobby / Prototyp / Serie), Kommentar
-
Artikel
Zufallszahlen
der aktuellen berechnet wird). Generiert werden immer nur Zahlen aus einem begrenzten Intervall (z. B. Doppelworte zwischen 0 bis oder Fließkommazahlen zwischen 0 bis 1). Da jede Zufallszahl zu einer bestimmten Zahl führt, der Wertebereich jedoch begrenzt ist, ist jeder Zufallszahlengenerator periodisch
umständlich ist, auf dem Controller echten Zufall zu erhalten, könnte man jetzt auf die Idee kommen, nur z. B. 16 zufällige Bits einzulesen, z. B. aus dem Rauschen des AD-Wandlers, und dann mit einem sehr guten (siehe oben) Pseudozufallszahlengenerator den 128 Bit langen Schlüssel zu erzeugen. Der Zufallszahlengenerator
-
Artikel
LM3909
Nun lädt sich C1 langsam über R6 auf. Da die Basis von V1 fest auf ca. 1V liegt, sperrt V1 solange, bis die Spannung über R6 auf ca. 0,3V gefallen ist (bei 1V-0,3V=0,7V öffnet die Basis-Emitter-Strecke von V1). Nun beginnt
die Summe aus der Betriebsspannung und der Spannung an C1 (ca. U[B]-0,3V) für die LED zur Verfügung, so daß die Betriebsspannung auch kleiner sein darf, als die Flußspannung der LED. Beim Betrieb an einer ausgemusterten R6-Zelle funktionierten rote, gelbe und
-
Artikel
Vorverstärker
MP3-Player zu betreiben Einen hochohmigen Ausgang mit einen niederohmigen Eingang zu verbinden (z.B. Ein LFE Ausgang an einen normalen Verstärker) Schaltung. Spezifikationen. Verstärkung: 3,3 Fach, jederzeit mittels R3 veränderbar Rechne R3 : R1 = Verstärkung ergänzende Hinweise. Wenn man ein Stereo
: C1, C2, C6, C7 Die stromführenden Leitungen im Gehäuse (falls die Schaltung in ein solches eingebaut wird) sollten so kurz wie möglich und verdrillt sein. Signalführende Leitungen im Gehäuse sollten nicht
-
Artikel
Cortex M3 OCM3U
Os, max. 36MHz, 32KB Flash, 6KB SRAM, 2x16Bit Timer, 2xSPI, 2xI2C, 3xUART, 10x12Bit ADC, 26xGPIOs, 1xRTC. Größere Modelle im pinkompatiblen Gehäuse erhältlich Software. Dieses kleine Beispiel schaltetet den Kompletten PortB Bauteilliste. Stück Wert Bauteile Bauform Reichelt Bestellnummer 4 22pF Kondensator 0805 NPO-G0805 22P 5 100nF Kondensator 0805 X7R-G0805 100N 1 - Bat.-Fassung - KZH-12-1 (Passende Batterie:CR 1216) 1 - MAX3232ECWE SO16L - 2 - Pinheader 1x16 - 1x SL 1X36G 2,54 1 - Pinheader 1x2 - ^^ 1 32.768Khz Crystal HC49UP - 1 8Mhz Crystal HC49UP 8,0000-HC49
-
Artikel
Hausbus auf I2C- und ATtiny-Basis: Home2L Brownies
Brownies bezeichnet (vgl. Wikipedia: Brownie (folklore)). Die Brownies werden über 4-adrige Kabel (z.B. KNX/EIB) mit einem Linux-Hostrechner vernetzt. Dort werden alle Ressourcen (Sensor-Werte, Aktor-Zustände) wahlweise über eine C++-API, Python-API oder ein Kommandozeilen-Tool zugänglich gemacht. Dieser
folgendem Inhalt anlegen: rc.config="" # keine 'resources.conf'-Datei vorhanden/verwenden drv.brownies=1 # Brownies-Treiber aktivieren br.link=/dev/i2c-1 # i2c-Gerät definieren (entsprechend anpassen!) Dazu muss dann noch die Datei /opt/home2l/etc/brownies.conf wie oben beschrieben angelegt werden. Anschließend
-
Artikel
Netiquette
Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...) Welcher Compiler in welcher Version (Z.B WINAVR 17032007, BASCOM-AVR 1.4; nicht: "neueste Version"!) Die Bezeichnung "Arduino" ist mehrdeutig und lässt nicht (mehr) auf den Controller schließen. Das Problem in Zahlen fassen! Nicht einfach schreiben
Wenn man keine exakte Vorstellung davon hat, sollte wenigstens eine Größenordnung angegeben werden (1..5 MHz, <1mA etc.) Bei den Einheiten bzw. den Einheitenpräfixen bitte gemäß dem Hinweis zur Gross- und Kleinschreibung darauf achten, das es einen Unterschied macht ob 16 mHz oder 16 MHz gemeint sind
-
Artikel
Umstieg von Arduino auf AVR
die Einstellungsmöglichkeiten: DDRx PORTx IO-Pin-Zustand 0 0 Eingang ohne Pull-Up (Resetzustand) 0 1 Eingang mit Pull-Up 1 0 Push-Pull-Ausgang auf LOW 1 1 Push-Pull-Ausgang auf HIGH Das übrige PINx-Register hat nun auch wieder zwei Einsatzmöglichkeiten. Wenn der Pin ein Input-Pin ist (DDxn = 0), dann gibt dieses Register den Zustand des Pins aus, eine 1 für High und eine 0 für Low. Ist der Pin jedoch als Ausgang konfiguriert, dann können neuere AVRs (praktisch alle auf Arduinos) den Pin direkt "togglen", also umschalten: ist er aktuell High, dann wird
-
Artikel
Vorverstärker / Kopfhörerverstärker
MP3-Player zu betreiben Einen hochohmigen Ausgang mit einen niederohmigen Eingang zu verbinden (z.B. Ein LFE-Ausgang an einen normalen Verstärker) Schaltplan: Spezifikationen: Verstärkung: 3,3-fach, jederzeit mittels R3 veränderbar gemäß R3 : R1 = Verstärkung Folgendes ist zu beachten: Wenn man ein
: C1, C2, C6, C7 Die stromführenden Leitungen im Gehäuse (falls die Schaltung in ein solches eingebaut wird) sollten so kurz wie möglich und verdrillt sein. Signalführende Leitungen im Gehäuse sollten nicht
-
Artikel
AVR Assembler - Unterprogramme
erhält als Operand die relative Adresse des Unterprogramms in Form einer symbolischen Sprungmarke (z. B. „ loop “). Es ist natürlich auch möglich, die relative Adresse direkt anzugeben (z. B. „ -20 “). Diese Möglichkeit sollte jedoch weitestgehend vermieden werden, da sie eine zusätzliche Fehlerquelle
lesbare Programme zur Folge hat. Mittels rcall ist es nur möglich, relative Adressen im Bereich von −2K+1 bis +2K Worten anzuspringen. Darüber hinaus muss der Befehl call verwendet werden, mit dem der ganze Programmspeicher adressiert werden kann. Warum dann nicht immer call verwenden? Zum einen gibt es
-
Artikel
AVR Butterfly
Ausstattung sehr günstig. Aufbau/Bestandteile. AVR ATmega169V Controller (low-voltage-Ausführung, 16kB Flash, LCD-Controller) LC-Display (6 Stellen) "Joystick" RS-232-Schnittstelle 4MBit Flash-Speicher (DataFlash) Piezo-Lautsprecher Lichtsensor (LDR) (aufgrund RoHS derzeit nicht bestückt) Temperatursensor
werden. Der Modus dient sozusagen als "letzte Rettung", falls sonst kein Zugriff mehr möglich ist, z. B. bei stark "verstellten" Fusebits (z. B. Taktquelle auf externen Oszillator/Quarz). Hardware ist das STK500 (oder der "Teil-Nachbau" HVProg). Das STK500 muss dazu entsprechend "gejumpert" werden, die
-
Artikel
Flankenerkennung
einen freien Pin eine Recheckspannung erzeugen will, um a) zu sehen ob das Programm noch läuft und b) um Beispielsweise die Zeitschleife mit dem Oszilloskop zu prüfen. Das führt dazu, dass sich M2 im folgenden Durchlauf erinnert, wie E1 beim letzten Mal geschaltet war und antworten kann: "Ja, E1 war
Durchlauf nach dem Reset ist M2 stets Null. Fragt man die fallende Flanke ab, passiert nun folgendes: E1=0, M2=0 /E1=1, /M2=1 ==> M1 = 1 AND 1 = 1 Gleich zu Beginn wird die LED also eingeschaltet. Um dies zu verhindern, fügt man eine Initialisierung in den Programmabschnitt ein, der nur einmal nach dem
-
Artikel
AVR-Tutorial: Vergleiche
Statusregister, bedingte Sprungbefehle, andere Befehle, die die Flags im Statusregister beeinflussen, wie z. B. die meisten arithmetischen Funktionen. Der Zusammenhang ist dabei folgender: Die Vergleichsbefehle führen einen Vergleich durch, zum Beispiel zwischen zwei Registern oder zwischen einem Register und
alle arithmetischen Befehle verändern tatsächlich das Carry-Flag. So haben z. B. die Inkrementier- und Dekrementierbefehle keine Auswirkung auf dieses Flag. Weiterhin dient das C-Flag als „neuntes Bit“ für Schiebeoperationen und die Befehle adc , sbc , sbic und cpc . Zero (Z). Das
-
Artikel
Hoermann GTO 90 Torantrieb
Leiterplatte. Folgende Bauteile konnte ich auf der Leiterplatte ausmachen (Bezeichnung frei vergeben): IC1 1x SIEMENS SAB 8048-P (?Intel MCS-48?) beschriftet mit GTO 90 v52 IC2 1x SN7407N IC3 1x TAE 1453A IC4 1x MC 7805CT K1 1x GRUNER 175 A 03 010 ES (Link zum Datenblatt) K2,K3 Omron Spulenspannung 24V C1
zu einem händischen Impuls (1s) beide Kontakte überbrückt, entspricht dies dem Auslösen durch Druck am Gerät befindlichen Taster. Dies kann dann zB durch einen Funkimpuls, WLAN etc ausgelöst werden. Reparatur. Fehlerbild. Beim Betätigen
-
Artikel
Zilog ZNEO Bootloader
vorhandenes Anwenderprogramm gelöscht. Auf Seiten des PC wird ein beliebiges Terminal Programm, z. B. HyperTerminal, benötigt. Die Kommunikation erfolgt mit maximal 115kBaud. Bei der Entwicklung wurde den besonderen Erfordernissen einer über USB getunnelten RS232 Verbindung mit vom Zielsystem gespeisten
befinden sich zusätzliche Optionen bezüglich UART und Menütext. Download. ZneoBootLoader.zip - Version 1.00 Links. ZNEO Zilog Incorporation Bootloader
-
Artikel
CRC
1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 0 1 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 1 1 0 0 0 0 0
1 0 0 0 1 0 0 1 1 0 0 1 1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 0 0 1 1 0 0 0 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 1 1 1 1 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 0 0
-
Artikel
Codierte Übertragung
Grundsätzlicher Ablauf. Um die Berechnung anschaulicher zu machen interpretieren wir binäre Werte als -1/+1 statt 1/0. Wir möchten die drei Datenbits (1, -1, -1) übertragen. Für die Codierung benötigen wir eine binäre Codefolge. In diesem Beispiel hat sie die Länge 7 und lautet (1, -1, 1, 1, -1, 1, -1).
Übertragung aufgetreten sind wird das decodierte Signal für die Länge der Codesequenz nicht perfekt "-1" oder "1" sein, sondern es werden zwischen drin mal "gekippte" Chips auftreten. Um konkret zu entscheiden ob das Datenbit "-1" oder "1" ist summiert der Empfänger alle decodierten Chips einer Periode
-
Artikel
DIY Reflow Ofen
weiterverwendet, der Rest kommt auf den Schrott. [[Datei:Prinzip_-_Wärmetransport.png|mini|none|500px|Abbildung 1: Prinzip der neuen Brennkammer --- [1] Schematische Darstellung der Leiterplatte [2] Abschirmung der Heizelemente zur Leiterplatte [3] Heizelemente [4]u.[5] Temperaturmesspunkte]] Abbildung 1 zeigt den
1:1 ausgedruckt, anschließend auf das zugeschnittene Blech gelegt und einfach die angezeichneten Bohrungen „durchgekörnt“ ( Abbildung 4 ). Ist für meine Anwendung genau genug und erspart mir eine Menge
-
Artikel
Buchtipps
ISBN 978-3-499-60077-7 Digitale Signalverarbeitung. Hans W. Schüßler: Digitale Signalverarbeitung 1 und 2; ISBN 978-3642011184 und ASIN B001D4XCXY Digitaltechnik, Klaus Beuth ISBN-10: 3802319583, ISBN-13: 978-3802319587 Elektronik, allgemein. E. Böhmer, D. Ehrhardt, W. Oberschelp, Elemente der angewandten
Auflagen sind empfehlenswert, wenn man sich ausführlicher über Analog-Technik informieren will (z.B. 3. Auflage 1976) - antiquarisch z.B. bei: P. Horowitz, W. Hill, The Art of Electronics, Cambridge University Press, 3rd Edition, ISBN 978-0-521-80926-9 - (Englisch) Formelsammlungen. Mathematik. Merziger
-
Artikel
AVR-Tutorial Bestellliste
1A positiv, TO-220 1 0.17 MAX 232CPE RS232-Treiber 1 0.40 GS-28-S IC-Sockel, 28-polig, doppelter Federkontakt 2 0.16 H25PR150 Lochrasterplatine, Hartpapier, 150x100mm 1 1.60 SPL 20 IC-Fassung, 20-polig
Standardbeschaltung" Reset-Pin: 100 nF Kondensator zw. Reset und GND 10 kOhm Widerstand zw. Reset und VCC 1N4148 o.ae. Diode zw. Reset und VCC LEDs z.b. 3mm low-current (3mA) 1,5k Ohm Vorwiderstaende für LEDs Änderungen: für den MAX232 reichen 1µF Kondensatoren an den Ladepumpen Quarz besser mit einer "UART-Frequenz
-
Artikel
Si-39G
Zähler Imp/sek · 1/A · kg (19,5) - (21,5) Imp/uR 50 - - Impulsamplitude in V 1,5·10 8 - 2·10 8 Sensitivität Strom uA · 1/(A/kg) (10,5) - (14,1) uA/R · h Änderungen der elektrischen und Strahlungsparameter bei Benutzung. min nom max Beschreibung 7·10 10 - 8,7·10 10 Sensitivität Geschwindigkeit Zähler Imp/sek · 1/A · kg (18,5) - (22,5) Imp/uR Alterung. min nom max Beschreibung 7·10 10 - 9·10 10 Sensitivität Geschwindigkeit Zähler Imp/sek · 1/A · kg (18) - (23) Imp/uR 1,3·10 8 - 2,1·10 8 Sensitivität Strom µA
-
Artikel
ModelSim
folgenden Forumsbeitrag. Freie Versionen. Eine kostenlose Simulationsumgebung für Xilinx Bausteine war z. B. im ISE WebPack (Version 11.1, 2010) als ModelSim XE III Starter enthalten, das kostenlos bei Xilinx erhältlich ist. Sie simuliert bei mehr als 10000 Codezeilen nur noch mit geringerer Geschwindigkeit
Exception c0000005 has occurred at address 10229069. Traceback: 0 0x10229069: 'TkWinGetDrawableDC + 0x9' 1 0x1022918d: 'XCopyArea + 0x3d' 2 0x10275e25: 'Tk_CreatePhotoImageFormat + 0x2e25' ... dann könnte es am /3GB-Switch von Windows XP liegen (boot.ini).
-
Artikel
AVR-Tutorial: Power Management
: Mit diesen drei Bits wird der gewünschte Sleep-Modus gewählt. SM2 SM1 SM0 Sleep Modus 0 0 0 Idle 0 0 1 ADC Noise Reduction 0 1 0 Power-down 0 1 1 Power-save 1 0 0 Reserved 1 0 1 Reserved 1 1 0 Standby (1) 1 1 1 Extended Standby (1) (1) Nur verfügbar mit externem Taktgeber
Reduction x x x x (2) x (3) x x x x Power down x (3) x Power save x (2) x (2) x (3) x x (2) Standby (1) x x (3) x Extended Standby (1) x (2) x x (2) x (3) x x (2) (1) Nur verfügbar bei externer Taktquelle (2) Wenn AS2-Bit in ASSR-Register gesetzt (3) Nur INT2 oder Level Interrupt INT1 und INT0 Manuelles
-
Artikel
AVR LCD KS0073/DIP204 mit Hardware-SPI
SPI-Frequenz kann max. 2 MHz betragen. Im Beispiel wurde eine geringere Frequenz von FOSZ / 64 (SPI2X=0 SPR1=1 SPR0=0) gewählt. Das SPI Transfer-Format erfolgt im Mode 3 und wird mit CPOL=1 und CPHA=1 festgelegt. Dabei liegt SCK im Ruhefall auf High und die steigende Flanke übernimmt die Daten. Da das LSB zuerst übertragen werden muss, ist DORD=1 zu setzen. Der vollständige SPI-Initialisierungsstring sieht nun so aus: SPCR = ((1<<SPE) | (1<<MSTR) | (1<<DORD) | (1<<SPR1) | (1<<CPOL) | (1<<CPHA)); Erfahrungsgemäß stellt die Initialisierung eines
-
Artikel
STK500USB-Adapter
X7R-G0805 100N 0,05 € C5-6, C8-15, C18-19 0805 1 MBRS140 MBRS 140 SMD 0,12 € D1 SMB 1 2,7V SMD ZF 2,7 0,05 € D2 minimelf 1 5,6V SMD ZF 5,6 0,05 € D4 minimelf 1 1A SMD-SF 1,0A 0,50 € F1 6,1 x 2,6 1 LT1372 LT 1372 CS8 5,05 € IC1 SO-8 1 MAX202 (1) MAX
SMD-0805 820 0,10 € R6 0805 1 1,8kΩ SMD-0805 1,80K 0,10 € R7 0805 1 220Ω SMD-0805 220 0,10 € R8 0805 1 180Ω SMD-0805 180 0,10 € R9 0805 1 TASTER 3301 0,08 € S1 Kurzhub 1 USB BWM 0,89 € X2 USB-B-mini 1 D-SUB ST 09EU 0,24 € X3 male
-
Artikel
Leistungsaufnahme von Mikrocontrollern
Mikrocontroller in die untenstehende Tabelle eingeordnet werden sollen. Stromaufnahme in aktiven Modus bei 1 MHz und 1,8/3,3V/5V (Aktiv); möglichst alle Komponenten aktiv Stromaufnahme im Schlafmodus mit laufender Echtzeituhr und 1,8/3,3V/5V (RTC); weitestgehend alle Komponenten inaktiv Stromaufnahme im tiefsten
ADC - 270 360 - AVR ATmega8 Analog Comparator - 60 75 - AVR ATmega324P UART 6 9,5 19 @2V, 3V, 5V @1MHz AVR ATmega324P ADC 18 21 35 @2V, 3V, 5V @1MHz AVR ATmega324P Timer0 - 8bit 5 9 15 @2V, 3V, 5V @1MHz AVR ATmega324P Timer1 -16bit 9 15 30 @2V, 3V, 5V @1MHz AVR ATmega324P IO pullup 36k 50 100 138 @
-
Artikel
Leiterbahnbreite
Erwärmung um mΩ/cm [mm] [mil] 10 K 30 K 10 K 30 K 0,10 4 0,2 0,4 0,4 0,8 50,9 25,4 0,15 6 0,3 0,6 0,6 1,2 33,9 17,0 0,20 8 0,4 0,8 0,8 1,6 25,4 12,7 0,25 10 0,5 1,0 1,0 2,0 20,3 10,2 0,30 12 0,6 1,2 1,2 2,3 17,0 8,48 0,5 20 1,0 2,0 2,0 3,5 10,2 5,09 1,0 39 2,2 3,6 3,5 5,8 5,09 2,54 1,5 59 3,0 4,6 4,5 7,5 3,39 1,70 2,0 79 3,8 6,5 6,0 10,0 2,54 1,27 3,0 118 4,5 8,0 7,5 14,0 1,70 0,848 4,0 157 6,0 10 9,0 17,0 1,27 0,636 5,0 197 7,0 12 10,0 19,0 1,02 0,509 6,0 236 7,5 14 11,0 22,0 0,848 0,424 8,0 315 9,0 17 – –
-
Artikel
VHDL schnipsel or vectorbits
: Aufgabe. Wie fasse ich einen STD_LOGIC_VECTOR(15 downto 0) so zusammen, dass das Ausgangssignal '1' ist, sobald eines der Vektor-Bits auf '1' ist? Also eine OR-Verknüpfung über den ganzen Vektor? Ein OR von allen einzelnen Bits kann es ja wohl nicht sein: out_sig <= '1' when in(0) or in(1) or ...
Process. Bei der Simulation enstehen (unerwünschte) Ergebnisse falls im vector bits andere Werte als '1' oder '0' aufweisen (z. B. "U" oder "Z"). Außerhalb Process. Die Konstante wird hier in Hex geschrieben. Statt "IF" (erfordert Process) wird eine bedingte Zuweisung beschrieben. Mithilfe von 'range anstatt
-
Artikel
Gründung einer EAR WEEE-Kooperation
Merkmale oder Aufzählungen enthalten. Damit wir diese diskutieren können, werde ich sie mit "#a", "#b" usw. kennzeichnen und in jeweils einer eigenen Tabelle aufführen. Das Kennzeichen wird auf der gesamten Seite eindeutig sein. + Muss-Forderungen Nr. Ziel Sollzustand Vorgang Rand- bedingungen Wider-
sprechende Ziele Was ist wenn das Ziel erreicht, der Vorgang etabliert ist Kommentare Meinungen Referenz 1 Gründung einer Organisation ElektroG keine Kleine #a Firmen, Gewerbe und Ing.-Büros #b können kleinste Mengen #c #d von Geräten #e gemäß dem ElektrG in Verkehr bringen und entsorgen (lassen). - Der Zeit
-
Artikel
Infrarot Auslöser für Nikon Kameras
wenn es ein Fernbedienungsgehäuse wie im obigen Foto ist) Ein Stück Loch- oder Streifenrasterplatine 1x Atmel ATTiny13 Mikrocontroller 1x 8 MHz Quarzoszillator 1x 3V Knopfzelle (z.B. CR2032, vorzugsweise mit Lötfahnen) 1x Taster 1x Infrarot-LED 1x ca. 1 bis 2Ω Widerstand 1x 100Ω Widerstand 1x 10 kOhm Widerstand 1x BC547 NPN Transistor (oder äquivalentes Modell) 2x 100 nF Kondensator Theoretisch sollte die Fernbedienung auch mit dem internen Oszillator funktionieren. In der Praxis erwies sich der Einsatz eines
-
Artikel
AVR Arithmetik/Sinus und Cosinus (Lineare Interpolation)
beispielsweise Für die Ausgabe gilt das gleiche wie für CORDIC: Es sind vorzeichenbehaftete Werte im 1.15 Q-Format, wobei der kritische Wert 0x8000 (entspricht 1 im Q-Format) nicht produziert wird. Kritisch u.A. deshalb, weil er nicht negiert werden kann. Quellcode. linsin.h. linsin.c. {{Scrollbox|40ex
Maximaler Fehler sin 2.2 10 -5 6.1 10 -5 cos 2.3 10 -5 6.1 10 -5 Radius 2.9 10 -5 6.1 10 -5 1.5 10 -5 3.1 10 -5 Die Güte der Ergebnisse kann aus der nebenstehenden Tabelle entnommen werden. Die Ergebnisse sind recht gut normalverteilt
-
Artikel
EZ-USB Firmware Kit - Tutorial
Gerät und liest diese zurück. Das Hochladen der Firmware in den EEPROM wird ebenfalls unterstützt (z. B. mittels des zum Paket gehörenden Werkzeugs FWLoader). ucecho.c. Das ist der C-Quellcode für die Firmware: ucecho.vhd. Das ist der VHDL-Quellcode für die FPGA-Konfiguration: UCEcho.java. Das ist der
Stelle aus ausgeführt werden. Ein Beispielaufruf sieht wie folgt aus: stefan@ws2:/drv_a2/usb-fpga/ztex-1.1/examples/usb-fpga-2.13/2.13c/ucecho$ java -cp UCEcho.jar UCEcho FPGA configuration time: 44 ms Enter a string or `quit' to exit the program: Hello world! Send 12 bytes: `Hello world!' Read 12 bytes
-
Artikel
RFID-Zeiterfassungs Terminal
der Terminals) Firmwareversion (in Bascom mit version() in EPROM gespeichert) Einstellungen wie z. B. Boottimeout, Displaytimer, Sound AN/AUS usw. Und Eintrag des letzten Kontaktes mit dem Terminal in Datenbank Standort empfangen von Server Aktuelle Uhrzeit vom Server holen und die RTC danach stellen
Serverzeit ermitteln und RTC setzen Funktion (Kommen/Gehen usw.) anhand Uhrzeit ermitteln Funktionstext (1 = Kommen, 2 = Gehen, usw. ermitteln und anzeigen) Wochentagtext ermitteln anhand Tage (1-7) Bei Tastendruck Funktion setzen (Kommen/Gehen/Dienstgang usw.) Bei RFID Interrupt Anfrage senden (TerminalID
-
Artikel
USB-Stick am Mikrocontroller
Timing wurde über normale Port-Pins per Software nachgebildet. Der Mikrocontroller ist Master, der VNC1L-1A Slave. Zum senden eines Zeichens an den VNC1L-1A ist dies ideal, schwieriger erscheint das Empfangen von Zeichen vom VNC1L-1A, da dieser keinen Interrupt-Pin hat, welcher das Vorhandensein neuer
funktionieren. Trotzdem sollte man nicht seinen einzigen Backup-Stick zum testen verwenden... Mit dem VNC1L-1A können auch andere Geräte, wie z. B. USB-Drucker, Kameras und Handys angesteuert werden. Über Kommentare und Anregungen bin ich dankbar. Kontakt: Matthias Kahnt / matthiask (az51@gmx.net) (zum Diskussionsbeitrag
-
Artikel
DOGMxxx LCD Routinen
Framerate dogm_setpixel(uint8_t x, uint8_t y, uint8_t f); //Zeichnet ein Pixel (f=0 Pixel löschen, f=1 Pixel setzen, f=2 Pixel invertieren) dogm_rect(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, uint8_t f); //Zeichnet ein Rechteck dogm_box(uint8_t x1, uint8_t y1, uint8_t x2, uint8_t y2, uint8_t f); //Zeichnet eine ausgefülltes Rechteck (zB. für eine Bargraphanzeige) dogm_line(double x1, double y1, double x2, double y2, uint8_t f); //Zeichnet eine Linie ---- = Weitere Projekte = Library für EA-DOGM Grafikdisplays inkl. Font-Generator für