-
Artikel
AVR-Tutorial: Tasten
mit einer XOR (Exklusiv Oder) Verknüpfung durchgeführt werden. + Wahrheitstabelle XOR A width="30%"| B width="30%"| Ergebnis 0 0 0 0 1 1 1 0 1 1 1 0 Nur dann, wenn sich der Zustand A vom Zustand B unterscheidet, taucht im Ergebnis eine 1 auf. Sind A und B gleich, so ist das Ergebnis 0. A ist bei uns der vorhergehende Zustand eines Tasters, B ist der jetzige Zustand so wie er vom Port Pin eingelesen wurde. Verknüpft man die beiden mit einem XOR, so bleiben im Ergebnis genau an jenen Bitpositionen 1en übrig, an denen sich der jetzige Zustand
-
Artikel
AD-Wandler
nicht weiter. Es ist jedoch genausogut möglich, einen Spannungsteiler auf eine positive Spannung, z. B. die Betriebsspannung des AD-Wandlers zu beziehen. Um verlässliche Messwerte zu erhalten, darf die Bezugsspannung nicht schwanken, sollte also z. B. von einem Spannungsregler oder besser noch von einer Spannungsreferenz wie z. B. LM336 erzeugt werden. Vcc --- | +-+ | | R1 +-+ | +---o Uadc | +-+ | | R2 +-+ | Uin- o---+ Bei differentieller Messung sind Bezugsspannungsschwankungen theoretisch kein Problem, praktisch bildet man
-
Artikel
8bit-Computer: bo8h
steht für einen auf der Grundlinie liegenden Bindestrich. Der Akku A und das Erweiterungsregister B sind 8-bit, ebenso das Data-Register D. Das Doppelregister AB wird abkürzend mit K bezeichnet. Das Vorzeichenbit A7 wird abkürzend mit U bezeichnet. Der Programmzähler P und die Adressregister X, Y,
. STMX speichert A in der Speicherzelle, auf welche X zeigt. IXE inkrementiert X und tauscht A und B. DXE dekrementiert X und tauscht A und B. Damit lassen sich 2-byte-Speicherzugriffe aufbauen nach dem Muster GTMX..IXE..GTMX und STMX..DXE..STMX. Es gibt hierfür die Assembler-Makros GTMXI und STMXD
-
Artikel
GPS Logger
Höhenmeter. Der GPS-Logger besteht im Groben aus den folgenden 3 Komponenten: Ein AVR Mikrocontroller (z. B. ATMega32) Ein GPS Modul (z. B. Navilock NL507 TTL) Eine SD Speicherkarte Hardware. Planung. Neben den drei Hauptkomponenten gehören natürlich noch ein paar andere Teile zur Schaltung, damit die Kommunikation
Der verwendete MicroSD Kartenslot ist erhältlich bei CSD-Electronics unter der Artikelnummer SCHA2B0300. Nachtrag 08.08.08: Der eingesetzte MosFET stellt sich als in diesem Fall unbrauchbar heraus, da er einen zu hohen Source-Drain Widerstand besitzt, was zur Folge hat, dass das GPS Modul mit seinen
-
Artikel
MSP430 eclipse helios mspgcc4 gdb-proxy
msp430-libc gdb-msp430 msp430mcu Zur Installation genügt das entzippen in einen beliebigen Ordner, z.B. C:\MSP430\mspgcc mspdebug installieren. Beachte: Falls du Probleme mit mspdebug hast ist im nächsten Kapitel noch die Benutzung des (veralteten) msp430-gdbproxy beschrieben. Beide Programme bilden die
Eclipse IDE for C/C++ Developers. Eclipse benötigt keine Installation, auspacken z.b. nach L:\Programme\MSP430\eclipse genügt. Falls Eclipse für Java (oder sonstige) bereits installiert ist, kann das C/C++ Plugin nachträglich installiert werden. Zusätzlich werden noch die GDB Hardware
-
Artikel
Porterweiterungen
blinkend dargestellt werden. P = 0: Display aus P = 1: Display an C = 0: Cursor aus C = 1: Cursor an B = 0: ständig sichtbarer Cursor B = 1: blinkender Cursor RS D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 0 1 P C B Cursor-Funktion Mit diesem Befehl wird festgelegt, ob beim Schreiben eines Zeichens der Cursor bewegt
kann festgelegt werden, ob die Kommunikation mit dem LCD im 4 Bit oder 8 Bit Modus erfolgen soll. B = 0: 4-Bit-Bus B = 1: 8-Bit-Bus N = 0: 1 Zeile N = 1: 2 Zeilen F = 0: 5 × 7 Punkte F = 1: 5 × 10 Punkte RS D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 1 B N F x x Adresse im Zeichensatztabelle setzen Mit diesem Befehl
-
Artikel
Ultraschallentfernungsmessung mittels FPGA
gleichzeitig jeden Gleichanteil abzutrennen wird der Kondensator C3 eingesetzt. Die zweite Stufe mit IC1B ist ebenfalls als invertierender Verstärker aufgebaut und kann erneut um Faktor zehn verstärken. Dies läst sich über das Potentiometer R12 stufenlos einstellen. Zudem lässt sich der Gleichanteil mit
E16; NET "seg1[2]" LOC = A14; NET "seg1[3]" LOC = D14; NET "seg1[4]" LOC = D13; NET "seg1[5]" LOC = B13; NET "seg1[6]" LOC = E13; NET "seg1[7]" LOC = D15; NET "seg2[0]" LOC = B17; NET "seg2[1]" LOC = B18; NET "seg2[2]" LOC = A18; NET "seg2[3]" LOC = B15; NET "seg2[4]" LOC = D17; NET "seg2[5]" LOC = C17
-
Artikel
AVR-Tutorial: UART
Betrachten der Listingdatei feststellen kann. Zum Empfang muss auf dem PC ein Terminal-Programm wie z. B. PuTTY gestartet werden. Der nebenstehende Screenshot zeigt, welche Einstellungen im Programm vorgenommen werden müssen. Linux-Benutzer können das entsprechende Device (z. B. /dev/ttyS0 ) mit stty konfigurieren
passieren, dass die Situation eintritt, dass das empfangende Gerät nicht mehr mitkommt. Das kann z. B. dadurch passieren, dass das empfangende Gerät selbst etwas Zeit für die Bearbeitung der Daten benötigt. Man denke z. B. an die Situation, dass an ein Modem Daten übertragen werden. Das Modem muss diese
-
Artikel
MSP430 Codebeispiele
Mikrocontroller für energiesparende Anwendungen ist, jedoch bei weitem nicht so verbreitet wie z. B. diverse 8051er, AVRs, PICs usw. ist, gibt es auch nicht all zu viele Codebeispiele aus Projekten für den/die Hobbybastler(in). Aus diesem Grund werden hier Grundlagen der Initialisierung diverser Hardwarefeatures
TA0. Schlussendlich muss der entsprechende Ausgangspin für TA1 konfiguriert werden. Beim F2013 z. B. geschieht dies für P1.2 per Was war nun mit dem Interrupt? Falls wir z. B. die Zyklen zählen wollen, definieren wir einen Interrupt-Handler: Schlussendlich müssen wir noch die Interrupts im Initialisierungscode
-
Artikel
AVR-Tutorial: Equipment
und viele Erweiterungsmöglichkeiten bietet. Siehe: Arduino. Die Boards der Arduino-Familie bieten z.B. einen ATmega328P mit 16MHz und lassen sich über einen integrierten USB-seriell-Wandler und Bootloader programmieren. Die Ports sind auf Buchsenleisten herausgeführt. Arduino-Boards können auch unabhängig
Handvoll Bauteile. Wie man das macht wird im Folgenden beschrieben. Steckbretter (Breadboards) gibt's z. B. bei Reichelt, ELV oder Conrad. -Verbindung weicht von den ATMEL-Angaben ab! Wenn ATMEL oder ATMEL-kompatible ISP-Adapter benutzt werden, die Pinbelegung aus Application Note AVR042 (PDF) bzw. AVR In
-
Artikel
Zoll und Abgaben
25 Positionen auf der Handelsrechnung z.b. 10 Warentarifpositionen, von denen dann (bei DHL Express) sieben ("ab. der 4. Warentarifposition") mit der Zusatzgebühr abgerechnet werden. Auch das Einsenden einer Warentarifliste (also der selbständigen
achten, dass man die Waren entweder umsatzsteuerbefreit (z.B. im reverse charge Verfahren) erhält und dass dies entsprechend deklariert ist und man dann nur einmal UST zahlt. Wichtig ist hierbei eine Rechnung mit allen Angaben nach dem UST-Gesetz. In meinem Fall
-
Artikel
Controller an 230V
nie direkt an Netzspannung arbeiten, wenn überhaupt nur mit entsprechenden Schutzeinrichtungen (z. B. Trenntrafo) und dann auch nur wenn man über die nötige Erfahrung verfügt. Aber grundsätzlich ist Vorsicht geboten. Wer nicht ganz genau weiss womit er es zu tun hat sollte lieber eine sichere Lösung verwenden wie z. B. die Stromversorgung aus einem VDE zugelassenen Trafo oder fertige Steckernetzteile. Stecker(schalt)netzteil. Die sicherste Lösung ist die Verwendung eines Steckernetzteils welches eine galvanisch getrennte
-
Artikel
Sparmatic Heizungsthermostate
drei Tasten, dafür einen zusätzlichen Drehimpulsgeber. Hiervon existieren baugleiche(?) Modelle, z.B. der bei Aldi verkaufte "Thermy" auch unter dem Name "EasyHome" (Platine Coment 01-05). Fotos: Fotos vom Thermy: Schaltplan: Sparmatic Zero v1. Dieser wurde bereits ausführlich im Forum diskutiert. Im
Shunt besitzt 2,2Ω, der maximale Spannungsabfall ist durch eine parallele Diode begrenzt. Leopold B. hat mal eine Stellfahrt oszillographiert: Programmieradapter. Eine Mini-B USB Buchse führt einige ISP Signale. Es ist keine USB-Schnittstelle; sie ist mit einem speziellen Adapter (und der original
-
Artikel
TLCS-870
, jedoch verkürzte Befehlsausführungszeit und auf 128kB erweiterter Adressraum. Features. Architektur: 8 Bit CISC. Gemeinsamter Code/Datenadressraum (Von-Neumann) bis 60KB ROM, darüber getrennt. Taktfrequenz: Je nach Linie bis zu 8, 16 oder 20MHz. Spannungsversorgung: 2,7 (870/C: 1,8) bis 5,5V Hauptspeicher: 128 Byte bis 4 kB. Bauform: DIP, SDIP, SOIC, SSOP, QFP, TQFP, LQFP, FBGA. Pins: 20 bis 100. FBGA mit 267 Balls. Programmspeicher: Flash, OTP und maskenprogrammierte Typen. Peripherie. 10bit ADC I2C SPI UART PWM PPG (=
-
Artikel
GCC: unbenutzte Funktionen entfernen
ergänzt man einen ENTRY-Eintrag, als Parameter gibt man den Namen/das Label des startup-codes (z. B. ENTRY(_reset_code) ). Man weist den Linker im .text-Bereich des Scripts explizit an, bestimmte sections oder die .text-sections einer aus einer Objekt-Datei immer aufzunehmen (z. B. KEEP(*(.vectors)
(WinAVR, WinARM) sind bereits entsprechend angepasst. Bei der WinAVR-Standardinstallation vgl. z. B. c:/WinAVR/avr/lib/ldscripts/avr5.x ).
-
Artikel
AVR-GCC-Tutorial/Der Watchdog
von 1 MHz bei 5V Vcc getaktet wird. Einige Controller haben einen eigenen Watchdog Oszillator, z. B. der Tiny2313 mit 128kHz. Nachdem der Watchdog aktiviert und der gewünschte Vorteiler eingestellt wurde, beginnt der Counter von 0 an hochzuzählen. Wenn nun die je nach Vorteiler eingestellte Anzahl
die Möglichkeit herauszufinden, ob ein Reset durch den Watchdog ausgelöst wurde (beim ATmega16 z. B. Bit WDRF in MCUCSR). Diese Information sollte auch genutzt werden, falls ein WD-Reset in der Anwendung nicht planmäßig implementiert wurde. Zum Beispiel kann man eine LED an einen freien Pin hängen,
-
Artikel
Basic
Anweisung musste eine Zeilennummer vorangestellt werden - beim Schreiben eines Programms war es ratsam z. B. Zehnerschritte zu verwenden, um später noch weitere Anweisungen einfügen zu können. Mit etwas Glück hatte man eine RENUM-Anweisung zur Verfügung mit der man vor großen Programmänderungen alles neu durchnummerieren
wobei das erste ein Buchstabe und das zweite eine Ziffer sein musste - m.a.W.: A, A0, A1, A2, ... B, B0, B1, ... , Z, Z0, ... Z7, Z8, Z9 Die Namen von Array-Variablen konnten nur ein Zeichen lang sein - d.h. mehr als 26 Arrays waren nicht möglich Es gab zwar Unterprogramme, aber keine Parameter und
-
Artikel
Openembedded
kompletten Linux Distribution ermöglicht. Es ermöglicht auch eine "cross-compilation", d.h. es ermöglicht z.b. auf einem x86 Host PC die Linuxdistribution für z.b. ein AVR32 basierendes System zu erstellen. Im Gegensatz zu build-root können viele Packages, wie z.b. GTK+, QT, X etc "cross-compiled" und installiert
recipe besteht aus einem Verzeichnis, welches in openembedded/recipe/package_name/ zu finden ist (z.B. enthält openembedded/recipes/nano das recipe für den texteditor nano). Im recipe Verzeichnis ist dann eine *.bb (Text)Datei, die alle Informationen zum Erstellen des entsprechenden Packages enthält;
-
Artikel
230V Schalter und Dimmer
Slavedosen dann galvanisch getrennt. Halbleiterbauelemente. Es geht aber auch mit Halbleitern. Z. B. indem man die gleichgerichtete Spannung mit einem FET kurzschließt, wie in dem Bausatz Phasenabschnittdimmer DI 300 von ELV (wobei die Last dem Gleichrichter in Reihe geschaltet ist). Man kann aber
Nulldurchgangserkennung / Zero-crossing detection, ZD). Andernfalls schneidet man die Phase an, was z. B. in Dimmern gewünscht ist. Bauteile heißen z. B. TIC 2xyz xy: ?? z: Spannungsfestigkeit D 400V, M 600V, S 700V, N 800V Optotriac. Die sind dafür gemacht, den Triac galvanisch getrennt zu zünden. Teilweise
-
Artikel
AVR-GCC-Tutorial/Assembler und Inline-Assembler
wird und durch Inlining mehrfach in der Assembler-Ausgabe erscheint. Gesprungen wird jeweils zurück ( b ) oder vorwärts ( f ) zum nächsten auffindbaren Label. Das "+w" wird als Inline-Assembler Constraint (Nebenbedingung) bezeichnet und legt fest, wie der Compiler mit dem Ausdruck count umzugehen hat.
, hier "zaehler" genannt, zuerst im C-Code als Global definiert werden, z. B. so: Im folgenden Assembler-Beispiel wird der Externe Interrupt0 verwendet, um den Zähler hochzuzählen. Es fehlen die Initialisierungen des Interrupts und die Interrupt-Freigabe, so richtig sinnvoll
-
Artikel
Word Clock Variante 1 - Software
(wawibu) ---- Automatische Helligkeitsregelung. Die Helligkeit des Displays wird über einen LDR (z.B. LDR 07 von Reichelt) gesteuert. Softwareentwickler: Rene H. (promeus) ---- Uhrzeit. Die Zeit wird von einer batteriegepufferten Maxim DS1307 Echtzeituhr (RTC), die über I2C mit dem Microcontroller verbunden
Hersteller DENON Denon RC6 Philips und andere europäische Hersteller APPLE Apple NUBERT Nubert, z.B. Subwoofer System B&O Bang & Olufsen (erst ab Version 1.0) GRUNDIG Grundig (erst ab Version 1.0) NOKIA Nokia, z.B. D-Box (erst ab Version 1.0) Über die automatische Erkennung des Protokolls werden die
-
Artikel
Kühlkörper
Platinengestaltung ist die Verteilung auf die Kühlwege verschieden. Transistoren im Metallgehäuse (z. B. TO-3) oder mit Metallfahne (z. B. TO-220) können recht viel Wärme über das Gehäuse abgeben (Konvektion). Effektive Abstrahlung braucht immer recht hohe Temperaturdifferenzen von 100K und mehr, wie sie
Technologien ist es auch möglich, deutlich größere Wärmeleistungen von der Platine abzuführen. Dazu werden z. B. Platinen mit Aluminium- oder Kupferkern oder auf einen Metallträger laminierte PCBs benutzt (IMS = Insulated Metal Substrat). Diese kommen z. B. bei Hochleistungs-LEDs zum Einsatz. Für Hobbyzwecke sind
-
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 und Projekt in
-
Artikel
LPC2000-Boards von Olimex
Nutzeroberfläche des Programms von Philips eingestellt werden. Bei lpc21isp dient dazu die Option -control, z. B. lpc21isp -control lpc2148_USB.hex /dev/ttyS1 38400 12000 Die Olimex-Boards wie z. B. deas LPC-P2148 unterstützen die automatische Steuerung von BSL (EnableBootloader-Pin, "Bootloader-Select") jedoch nicht (im Gegensatz zu anderen Evaluation-Board, z. B. denen von Keil). Die eigentliche Funktion der Option -control kann sich am LPC-P2148 also nicht entfalten. Zwar kann ein Reset von lpc21isp ausgelöst werden, aber der EnableBootloader-Pin kann von der
-
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
Forum-Fragenformulierung
wurde und Deine Frage Nummer 101 "nervt". Suche also erstmal im Forum. Von Google aus geht das z. B. so: [Suchbegriff site:mikrocontroller.net] Studiere bitte auch erstmal Grundlagen aus Büchern und Datenblättern, bevor Du fragst. Wenige haben Lust, Dir das Ohmsche Gesetz vorzubeten oder für dich Werte aus Datenblättern herauszusuchen. Für Grundlagen gibt es z. B. auch die Wikipedia, das Elektronik-Kompendium oder die de.sci.electronics-FAQ. Falls Du so deine Frage nicht selbst beantworten kannst, berichte, was du bereits gefunden hast und warum es dir nicht
-
Artikel
Schaltplan richtig zeichnen
Bauteile hindurch legen Nur waagrechte und senkrechte Leitungen, nur 90° Winkel. 45° in Spezialfällen. z. B. Spannung an einem Shunt abgreifen, heraus trennen eines Signals aus einem Bus Netzbezeichner bei wichtigen Netzen benutzen. Wichtige Netze sind: Viele Pins/Bauteile am Netz Erhöhte Anforderung ans Layout, z. B. hoher Strom, hohe Frequenz, empfindlicher Eingang, etc. Bauteile drehen, verschieben, spiegeln um Leitungskreuzungen zu vermeiden Bauteile sollen im Schaltplan die Funktion möglicht übersichtlich und
-
Artikel
AVR Bootloader optiboot Assemblerversion
des Anwenderprogramms verzögert. LED : Wählt das Port-Bit für die Kontroll-LED. Beim Beispiel LED=B3 würde eine an das Bit 3 des Port B angeschlossene LED blinken. LED_DATA_FLASH : Die Kontroll-LED leuchtet während des Wartens auf Empfangsdaten der seriellen Kommunikation, wenn der Wert auf 1 gesetzt
-c avrisp2 -B 1.50 -p atmega328p -P usb -b 115200 -D -U flash:w:optiboot_atmega328p.hex:i -U lock:w:0xef:m avrdude: AVR device initialized and ready to accept instructions Reading | ###############################
-
Artikel
RFM69
Ausgangsleistung. Das RFM69C hat 2 Pins weniger (es fehlt der Pin DIO4), und ist Pinkompatibel zum Vorgänger RFM12B. Es kann ohne Änderung am Layout oder der Schaltung ausgetauscht werden. Lediglich die Software muss angepasst werden. Viele Module haben noch die Endung "W": "Note: This module is the Chinese distribution
Module RFM69W und RFM69CW basieren auf dem SX1231 von Semtech (Pin PA_BOOST fehlt, deswegen nur +13dB) Module RFM69HW und RFM69HCW basieren auf dem SX1231H von Semtech == Vergleich zum RFM12B == RFM12B RFM69(C)W Versorgungsspannung 2,2 - 3,8 V 1,8 - 3,6 V Max. Datenrate 115,2 kbit/s 300 kbit/s Sendeleistung
-
Artikel
USB
Controllern gibt: Host- und Devicecontroller. Host bezeichnet dabei die steuernde Seite und ist z. B. in PCs zu finden; Devices sind die USB-Geräte, z. B. USB-Webcams. Diese Unterscheidung ist ziemlich wichtig, weil die meisten USB-Lösungen für Mikrocontroller USB-Devices darstellen und man deswegen
Spannungsregler & Oszillator) AT91SAM Familie von Atmel, ARM7-basiert, nicht OTG-fähig AVR32 (AT32UC3A/B) Familie von Atmel mit AVR32-Kern ohne MMU für einfachere Firmware, OTG-fähig, auch High-Speed, Externes Businterface, Ethernet. Alle AT32UC3A or -B's haben vorprogrammierten USB Device Firmware Upgrade
-
Artikel
RF SOAP
230 mAh) mit Lade-IC (MCP73812), über USB ladbar Einschaltlogik (Taster, MOSFET), so dass der µC, z.B. bei zu niedrigem Akkustand, selbstständig das Gerät vollständig ausschalten kann RFM12 Funkmodul, angebunden über die SPI-Schnittstelle & IRQ-Leitung RFM12 FSK/DATA/NFFS und DCLK/CFIL/FFIT mit AVR verbunden
Bus für Strom- oder Wasserzähler, Reedkontakt für Gasuhren, u.v.m.) an ein weiteres Modul, welches z.B. an einem Rechner, einer Fritzbox, einem NAS, etc. angeschlossen ist, senden. Die Daten könnten dann z.B. an das Volkszähler-Projekt übergeben werden. Blitzfernsteuerung. Der Autor verwendet zwei der
-
Artikel
Mehrere Layouts auf einer Seite ausdrucken
auch PS in SVG :) convert Für speziellere Angaben bitte in das Handbuch schauen! Grafik. Eagle z. B. bietet die Möglichkeit, das Layout als PNG zu exportieren. das auch von Inkscape verarbeitet werden kann. Aber Achtung: Skalieren von Pixel-Grafiken macht das ganze unscharf, pixelig und ungenau! Also
Drucktreiber oder über den CAM-Prozessor (Eagle, Gerät EPS). Diese mit einem beliebigen Grafikprogramm (z.b. Gimp) mit der gewünschten Auflösung (die man zum Druck verwendet) importieren und z.b. als verlustlos komprimierte TIF Datei (Pack Bits) speichern. Die kann man dann in einer Textverarbeitung einfügen
-
Artikel
Elan
von der Stange laufen lassen kann, aber auch eine große IO- und Schnittstellenvielfalt erreicht, z. B.: 32 5V-tolerante IO-Pins Hardware-SSI (Zweidraht, Dreidraht) 2 Hardware-UARTs Watchdog Mehrere Hard- und Softwaretimer JTAG port zum Debuggen ISA- und PCI-Bus Das ganze mit weitem Temperaturbereich
für Selbstlöter. Also greift man zu fertigen Modulen, die man auf das eigene Design aufsteckt (z. B. das SC520-Modul von oder zu fertigen Platinen wie PC104-Boards, die die eigenen Bedürfnisse erfüllen (z. B. das MOPS/520 Board bei mit LAN und CAN). Das wird preislich natürlich rasch dreistellig, ist
-
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
Galvanische Trennung
Das gleiche Prinzip gilt natürlich auch für andere Schnittstellen. Um einen RS-485 Tranceiver wie z. B. den üblichen SN75176 von der restlichen Schaltung galvanisch zu trennen, müssen die Datenleitungen und die Stromversorgung aufgetrennt werden Stromversorgung. Einfachste Möglichkeit: Sofern man einen
Hier eignen sich schnelle Optokoppler wie 6N137 (10Mbit/s). Für höhere Geschwindigkeiten bietet z. B. Analog Devices recht teure Digital Isolators an, genannt iCoupler. Beispielschaltung. Die Leitungen RXD, TXD und DE gehen zum Mikrocontroller, welcher per RS485 kommunizieren will z. B. ein ATmega8.
-
Artikel
Konstantstromquelle
Eine Konstantstromquelle ist eine Schaltung, deren Zweck es ist, den Strom durch eine Last (z. B. eine LED) möglichst konstant zu halten, das heißt Änderungen des Stroms infolge von Lastwiderstandsänderung durch Variation der Betriebsspannung und/oder des Innenwiderstands entgegen zu wirken. Es
sollte deren Spannungsabfall 0,2 V oder mehr betragen. T1 und T2 sind identische Transistortypen (z.B. BC557B), die idealerweise von einer Bauteilrolle stammen. Bei geeigneter Wahl von R2 und R3 oder Parallelschaltung von Transistoren wird aus dem Stromspiegel ein Stromvervielfacher. Bei gleichen Transistoren
-
Artikel
GPS Logger Mini
b und c bei den verbleibenden Kanten Das Ergebnis ist eine sehr gut aussehende Lötstelle mit optimalem Kontakt. Schritt 3: Die kritischsten Bauteile befinden sich nun auf der Platine. Was noch fehlt, sind
Fink Einzug findet. Das ist am Anfang etwas mühsam, lohnt sich aber insgesamt, speziell wenn man z.B. eine Toolchain für AVR oder ARM oder ähnliches installieren möchte. Mühsam ist es auch deshalb, weil es wird das Developer-Package (Xcode) von Apple als Voraussetzung verlangt. Ist z.B. MacPorts installiert
-
Artikel
CtLab FPGA SigLab
P113 Syncsignal DDS 3 P112 Pulsgenerator P97 SPI-Schnittstelle. Über den SPI-Slave kann ein Master (z.B. ein Mikrocontroller wie der ATmega644 auf der FPGA-Karte aus dem c´t-Lab) Konfigurationswerte ans CtLab FPGA SigLab übergeben und Messwerte auslesen. Der SPI-Slave besitzt mehrere Datenregister mit
vorgesehen, der andere ist auf die FPGA-IO-Anschlussleiste geführt und kann von externer Hardware (z.B. einem Raspberry Pi) genutzt werden. Falls beide Anschlüsse aktiviert sind, können sie wahlweise (jedoch nicht parallel) genutzt werden. Die SPI-Anschlüsse sind wie folgt belegt: SPI-Signal colspan="
-
Artikel
GPS Mini Navigator
bereits behobene Endlosschleife auf. Bekannte Fehler: Abspeichern falscher Werte als Wegpunkt (siehe b0.2) Öffnen der Wegpunktdatei 0xFF (siehe b0.2) GPS Mini Navigator Version beta 0.2 Behobene Fehler: Wiedereinschalten aus dem Standby wurde nicht ausreichend überprüft. (Achtung. Verändertes Timing beim
sich wunderbar, um ausgelesene Daten in ein Google-Earth-kompatibles Format umzuwandeln, um sich z. B. die GPS-Logs anzusehen. Auch können in Google Earth erstellte Pfade so als Waylist für den Mini Navigator umgewandelt werden.
-
Artikel
AVR FAT32
Modulen: File-Modul: Bietet high-level Datei-Operationen, wie man sie von Dateizugriffen kennt, z. B. ffopen/ffclose um eine Datei zu öffnen/schließen. FAT16/32-Modul: Bietet die grundlegenden Funktionen für den FAT-Zugriff und die Initialisierung der FAT. Es dient als Middleware zwischen low-level
als SPI-Interface benutzt werden sollen. Es werden nur Pins des selben Ports unterstützt. Also z. B. nur Pins von Port B. Die C-Funktionen. Das Modul FILE bietet in der Standard-Konfiguration folgende für den Nutzer interessante Funktionen: Das Modul MMC/SD bietet für den Nutzer direkt nur eine interessante
-
Artikel
Mcruler
Samplingraten Anm.: Sinnvoll und platzsparend, wenn wie vorgeschlagen für einige wenige gängige Werte (z.B. "8 MHz / 125 ns" und "48 kHz / 20,8 µs"). Anm.: Sowas kann man leicht im Kopf. PCB-Kühlkörper +| 24 -| 3 Was auch interessant wäre, ist eine Tabelle für Leiterplattenkühlkoerper. K/W pro cm² für div
spezifischer Widerstand +| 9 -| 8 Eine Tabelle mit der Leitfähigkeit/spezifischer Widerstand von z.B. Kupfer, Aluminium, Eisen ... Eher sowas, ja! Temperaturkoeffizent +| 4 -| 9 Eine Tabelle mit den Temperaturkoeffizenten (alpha in 1/k) von z.B. Kupfer, Aluminium, Eisen ... ✓ Transistor-Schaltungssymbole
-
Artikel
Hack-O-Copter
der Toolchain mit Youtubevideos → Details ergänzen Notwendige Hardware und Software. Flash Adapter z.B. ST-Link V2 mini Drivers for ST-link V2 mini oder ein Developmentkit von STM z.B. Keil software/API: Main IDE/compiler (mdk512.exe) Legacy API for Cortex-M-device → Details ergänzen Installation der
geklipst, Rahmen welche zwischen Motor und Rotor gesteht werden funktionieren beim JXD 385 nicht (z.b. vom H107). Jedenfalls hatte hierbei schon einen Fehlkauf. Bezugsquelle z.B. Amazon: Guard JXD 385 = Ideen für neue Funktionen = Bessere Flugstabilisierung mit bestehender Sensorik. Neue Funktionen mit
-
Artikel
AVR Fuses
Neueinsteigern wird das Programmieren mit einem "nutzerfreundlichen" Programmer mit GUI empfohlen: z. B. AVR-Studio STK500/AVRISP-Plugin, AVR-Studio AVRProg (für AVR910 Programmer) oder PonyProg. Hier sollten die Fuses erst einmal vom µC ausgelesen werden. Im Vergleich mit dem Datenblatt kann man dann
Ausgabe auf der Konsole statt in einer Datei aus): avrdude -c PROGRAMMER -P PORT -p PART -n -U lfuse:r:-:b -U hfuse:r:-:b Tipps + Tricks. Fuses im Programm auslesen Auf der Internetseite Engbedded AVR Fuse Calculator kann man sich die Fuses nach den eigenen Vorgaben berechnen lassen. Für Android gibt es den
-
Artikel
Onsen Eierkocher
als Waermequelle dient eine einzelne E-Herd Platte (ca 1000-2000W) der Temperatursensor ist ein DS18B20 (wasserdicht, keine Eichung erforderlich) die Steuerung uebernimmt ein Arduino Los geht's. Heizplatte regeln. Die Temperatur (ich habe mich fuer 'meine' Eier auf 66 Grad C festgelegt) muss sehr exakt
PID settings to EEPROM X - Display status Source Code Library fuer 1-wire Devices Library fuer DS18B20 Library fuer den PID Regeler Fotostrecke.
-
Artikel
AVR 16-Bit-Register
bei allen Zugriffen auf Datenregister erforderlich, dass diese Daten synchronisiert sind. Wenn z. B. bei einem 16-Bit-Timer das High-Byte des Zählregisters gelesen wurde und vor dem Lesezugriff auf das Low-Byte ein Überlauf des Low-Bytes stattfindet, erhält man einen völlig unsinnigen Wert. Auch die
kompliziert zu machen, hat Atmel die Reihenfolge dafür zwischenzeitlich geändert: Bei klassischen AVRs (z.B. ATmega328) muss zuerst das High-Byte, dann das Low-Byte geschrieben werden. Bei einigen neueren AVRs (z.B. ATtiny 0-Series) muss auch beim Schreibzugriff erst das Low-Byte, dann das High-Byte geschrieben
-
Artikel
LunaAVR
Implementationen Verwendung, welche in einfachen Basic-Sprachen nicht enthalten sind. Es können z.B. Strukturen, Pointer verwendet oder Datenobjekte angelegt werden. Dynamische Strings und Speicherblöcke, sowie umfangreiche Funktionen zur Bitmanipulation, Arithmetik und dem direkten Hardwarezugriff
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
LPC1xxx Entwicklungskit LPCXpresso
erstellt, die kostenlos erhältlich ist. Hier eine erste Einführung Das preiswerte Board (ca. 25€) ist z.B. hier erhältlich Watterott. Hier die Dokumentation (PDF) von NXP. Beschreibung. Aufbau des Boards. Das Board ist als teilbare Platine ausgeführt. Der obere Teil - der LPC-Link - hat sowohl die Funktion
vollen Funktionsumfang, ist aber auf Codegröße von 256 kB limitiert. In älteren Versionen gab es keinen C++ Support, keine Library Projekte und eine eingeschränkte CPU Auswahl, das wurde in der 8.x aufgehoben. Das Codelimit kann durch ein kostenpflichtiges
-
Artikel
Plattformunabhängige Programmierung in C
unterschiedliche Ergebnisse bekommen. Höchstwahrscheinlich wird es eine dieser beiden Varianten sein: 1A, 2B, 3C, 4D => Big Endian: Das höchstwertigste Byte zuerst. 4D, 3C, 2B, 1A => Little Endian: Das niederwertigste Byte zuerst. Einzelheiten zu den Byte-Reihenfolgen und welche Prozessoren sie verwenden, findet
uart_config_xmega.h ProjectA main.c ProjectB main.c ProjectC main.c Der Großteil des Codes liegt in den Ordnern Common/rfm70 und Common/tools . Er kann ohne Änderungen in jedes Projekt importiert werden. Wenn ein weiterer Mikrocontroller oder ein
-
Artikel
FT8xx Library
Schnittstelle mit einem quasi beliebigen MikroController verbinden kann. Angefangen habe ich mit einem VM800B von FTDI, dieses 3,5" TFT mit 320x240 Pixeln hat einen resistiven Touch-Screen, Pegel-Wandler, 3,3V Regler und einen Verstärker mit Lautsprecher verbaut. Als nächstes kam dann ein FT800CB-HY50B von HAOYU
Byte werden vom Kommando-Co-Prozessor interpretiert und in die Display-Liste gepackt die maximal 8kB groß sein darf. Die Anzeigen erfolgt als einzelne Bilder der Buchstaben, aus "Hallo Welt" wird in der Display-Liste am Ende eine Folge von 15 oder 25 32-Bit Kommandos, also für "Hallo Welt" braucht EVE
-
Artikel
DockstarDebianSqueeze
. Dieser wird unter /tmp/.cemnt gemountet. Falls nicht, muss man den Stick manuell mounten, also z.B. ein Verzeichnis /tmp/bak anlegen, dorthin mounten und die erste Zeile im folgenden Script anpassen. dockstar $ cd /tmp/.cemnt/mnt_sda1 dockstar $ dd if=/dev/mtd0 of=mtd0.img dockstar $ sha1sum mtd0.
gesetzt. Um das Ganze zu automatisieren und z.B. jede 1/2 Stunde die Systemzeit abzugleichen, richtet man sich einen zyklisch startenden Job via Cron ein (den man sicherlich noch für weitere Dinge gut gebrauchen kann): Cron installieren: apt-get install