-
Artikel
AVR-Tutorial: Mehrfachverzweigung
Lösung gibt es weiter unten. Der Index wird ebenfalls mit zwei multipliziert. Danach erfolgt eine 16-Bit-Addition. Nun zeigt unser Z-Zeiger auf den richtigen Tabelleneintrag. Jetzt müssen zwei Bytes aus dem Flash-ROM geladen werden. Das geschieht mit Hilfe des lpm -Befehls ( L oad P rogram M emory).
Z-Register eine Adresse zur Programmausführung, eine Wort-Adresse. Da der Programmspeicher des AVR 16 Bit breit ist (=1 Wort = 2 Bytes), werden nur Worte adressiert, nicht jedoch Bytes! Genauso arbeitet der Assembler. Jedes Label entspricht einer Wort-Adresse. Damit kann man mit einer 12-Bit-Adresse
-
Artikel
Liste von FPGA Eval boards
Treiber Xylo-L 130 XC3S500E - - 2.0 10base-T - LPC213x - Spartan3A Starter Kit 189 XC3S700A-FG484 32M x 16 DDR2 SDRAM 4 Mbit Platform Flash PROM, 32MB parallel Flash, 2-16 Mbit SPI Flash (JTAG) 10/100 1 In + 1 Out - 4 Taster, 1 Drehgeber, 4 Schalter 4-ch D/A, 2-ch A/D, Signal amplifier, Coolrunner CPLD
LEDs, 15-Pin VGA (4096) Digilent Spartan3e Starter Kit 180 XC3S500E, auch mit 1200er 64 DDR2-SDRAM 16 (JTAG) 10/100 1 In + 1 Out - 4 Taster, 1 Drehgeber, 4 Schalter Coolrunner CPLD, LCD, 3-Bit VGA, PS/2 Digilent Spartan-3 100 XC3S200 XC3S400 XC3S1000 16 SDRAM - - - 1x - 4 Taster, 8 Schalter VGA, PS/2
-
Artikel
USB-Stick am Mikrocontroller
und 32Bit Aritmetik-Prozessor interner DMA-Controller, 64kByte Flash, 4kByte SRAM Firmware für FAT16 und FAT32 Support kostenfrei Verfügbar 3.3V (25mA) Versorgungsspannung, I/O-Pins sind 5V tolerant wenige externe Bauteile erforderlich Leider ist der IC nur in SMD (LQFP-48 Gehäuse) erhältlich. Hardware
24MHz erhöht, was ohne Software-Änderung auch funktionierte. Für die AVR-Version habe ich einen ATmega644 verwendet. Auch andere AVRs sollten funktionieren. Getestet mit unterschiedlichen Taktfrequenzen (1MHz, 8MHz, 11.0592MHz). Beim Einsatz des UART-Monitoring sollte unbedingt ein externer Quarz angeschlossen
-
Artikel
Entwicklungsboard mit AT91SAM7Sxxx - selbstgemacht
und FLASH bereitstellt. Man kann aber natürlich auch nur den 64er nehmen, wenn man sicher ist mit 16kB RAM auszukommen. Vias (siehe Text) Spannungsregler incl. der benötigten Kondensatoren. Muss bei 4,5V- Spannungsabfall an der Schutzdiode noch 3,3V liefern können. Schutzdiode (bedrahtet) z. B. 1N4001
schreibt den Zustand des Ports in die 32Bit breite Variable n. Als Ausgang konfiguriert kann jeder Pin 8mA treiben. Die ersten 4 Pins (High-Drive) sind sogar in der Lage, 16mA zu liefern. Der Ausgang kann auch als Open-Drain konfiguriert werden. Das folgende Beispiel konfiguriert die in LED_MASK definierten
-
Artikel
LCD
stark vom Timing des HD44780 ab! Es gibt gute Application Notes zu Displays (mit KS0066) von Hitachi. 1x16 LCDs werden oft wie 2x8 betrieben! D.h. es ist ein 'Zeilenwechsel' an Position (z. B. 0x40) nötig. Bei manchen Text-LCDs ist mit selbstdefinierten Zeichen eine Pseudo-Graphische LCD-Ansteuerung möglich
Not tut. Display Controller Datenblätter. Datasheet : Datasheet_LDS176.pdf Datasheet : Datasheet_S1D15G00_REV1_0.pdf Datasheet : Datasheet_S1D15G14E.pdf Datasheet : Datasheet_Epson_S1D13305.pdf Datasheet : Datasheet_HM628128D.pdf Datasheet : Media:Datasheet_SED1330F-1335F-1336F.pdf Projekte. Projekte
-
Artikel
7-Segment LCD 2stellig
zweistellig, gibt es bei Reichelt und hat 18 Anschlüsse. Zum Bedienen der Anzeige genügt daher ein ATmega8 mit internem Oszillator. Der Druckstock wurde "leiterbahnorientiert" entworfen, mit möglichst wenig Überkreuzungen der Leiterbahnen. Die dadurch entstandene fast willkürliche Zuordnung LCD-Pin ↔ Controller-Pin
Kontroller zurückzubekommen. Zweite Bestückungsstufe: Den Kontroller mit einem Prüfprogramm der Form (inc r16, out portn,r16))laden. Dann liefert er Rechteckspannungen an den Pins. Mit dem Scope kann man dann schnell Kurzschlüsse zwischen den Pins (z.B. bei TQFP44 wichtig) oder Leiterbahnunterbrechungen aufspüren
-
Artikel
1090 MHz-ADS-B-Receiver
Abhängig von der Kabellänge ist auf dämpfungsarmes Kabel zu achten. Bewährt hat sich Ecoflex-10 (-1,4 dB/10m) oder -15 (-1 dB/10m). Ist aber teuer. RG-58 (-6 dB/10m) o.ä. dünnes Koaxkabel kann nicht benutzt werden. Passende Stecker sind an den dicken Kabeln evtl. selbst nur schwer anzubringen. Konfektierte
ist. Eine Alternative wäre der LT5534, der ab eine 10dB geringere Empfindlichkeit hat. Kinetic SBS-1, SBS-1 MkII Erstes Gerät dieser Art, erschien Ende 2005. Die Platine ist vierlagig. Aufwändige Eingangsstufe: Helixfilter (3 Stufen) TEMWELL K3RBT-1090M-20M - LNA MAX2611 - Helixfilter (3 Stufen) - MMIC
-
Artikel
AVR µC-Board und Peripherie
ehr verzeiht. Basisplatine. Die Basisplatine, auf welcher der µController (µC) untergebracht ist (Atmega32 oder anschlusskompatible µC)r bildet die Zentraleinheit des Systems. Eine Spannungsversorgung (5V), eine Quarzschaltung sowie eine einfache Resetschaltung gewährleisten die grundlegenden Voraussetzungen
Massepotenzial (Diode D2). Das V+ Potenzial ist ca. 0,65V geringer als die Versorgungsspannung (Diode D1) so können bei Bedarf auch OPV´s im single supply Betrieb versorgt werden. Acht Taster/Schalter und LED-Anzeige. Eine Schaltung mit acht Tastern einem achter Dip-Schalter („Mäuseklavier“) und mit acht
-
Artikel
Loxone Link
unterschiedlichen Baudraten betrieben werden. Da der Hersteller für diesen Bus eine maximale Länge von 500m angibt, ist es naheliegend im Internet zu suchen, welche Baudraten bei CAN-Bussen welche max. 500m lang sind üblich sind. Laut RN-Wissen wird für 500m eine max. Datenraten von 125kbit/s angegeben. Mit
Koppelrelais billiger ist als eine Komplette Extention. Relais - Byte Zuordnung Relais Wertigkeit Byte 1 1 1 2 2 1 3 4 1 4 8 1 5 1 1 6 2 1 7 4 1 8 8 1 9 1 2 10 2 2 11 4 2 12 8 2 13 1 2 14 2 2 Für die Abbildung der Ausgangsstati und zum setzen der Relais werden also 4 Byte im CAN-Frame belegt. Es wird immer
-
Artikel
GPS Logger
Sleep-Modus versetzt) Verwendete Libraries. UART library von Peter Fleury MMC/SD library von Ulrich Radig FAT16 library von Stephan Busker Changelog. Version 1.02 (16.08.2008): Akkuspannung wird über den ADC ausgelesen und bei einer Akkuspannung kleiner als ca. 3,6V die Aufnahme gestoppt, das GPS Modul abgeschaltet
Meldungen ausgibt oder die falsche Baudrate eingestellt ist. Download. gLogger AVR Software - Version 1.02 (16.08.2008) gLogger AVR Software - Version 1.01 (17.07.2008) Computer. Für den Computer habe ich derweilen eine Software entwickelt, die die aufgezeichneten GPS Daten verarbeiten kann und diese zum
-
Artikel
Porterweiterungen
können. Porterweiterung über 74HC595 (Ausgang). Diese Platine besteht aus zwei 74HC595 die kaskadiert 16 digitale Ausgänge zur Verfügung stellt. Die Gesamtlast für einen Baustein beträgt ca. 70mA. Die Platine wurde auf Grund eins Tipps von Peter Dannegger (PeDa) zusätzlich mit einem über den Mikrocontroller
soll, oder ob der Display-Inhalt geshiftet werden soll und, in welche Richtung geshiftet werden soll M = 0: Cursor bewegen M = 1: Display shiften S = 0: nach links shiften S = 1: nach rechts shiften RS D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 M S x x Display-Einstellungen Es kann festgelegt werden, ob die Kommunikation
-
Artikel
RS-232
Datenvisualisierung statischer und dynamischer Daten (LGPL, Für Programmierer!) Data Acquisition System using ATmega8 (Link tot 2017_02_11) Live Graph kann Daten aus CSV Dateien und/oder über eine Java API aus Programmen heraus darstellen. (BSD Lizenz) RS232 Scope V1.02 - Serial Data Capture with Microsoft Excel
Serial Communications lvr.com "Serial Port Central" QuickComs: RS-232 Analyzer - Wettbewerbsbeitrag für M16C/62P µC von Nicholas Lott Portmon für Windows Sprites mods: Automatic baudrate converter (Attiny2313, GPL) Arduino with Visual Basic by Carl Morey auf codeproject.com
-
Artikel
Konzept für einen ATtiny-Bootloader in C
Von Frank M. (ukw) = Konzept für einen ATtiny-Bootloader in C = Die ATtiny-Mikroprozessoren unterstützen das Prinzip des Bootloaders der ATMega-Prozessorreihe eigentlich nicht. Dafür fehlen den ATtinys folgende
-------+ | | | | | 0x1FF8 | Pointer auf uart_getc() | >----+ | | | | 0x1FFA | Pointer auf uart_putc() | >-------+ | | | 0x1FFC | Pointer auf set_timer1_compa_isr() | >----------+ | | 0x1FFE | Pointer auf Applikation | >---
-
Artikel
Fahrradcomputer
M8 'Eingang für das Poti (Radumfang) ist PC0 ' Taster1 PORTB.0 wird durch ein Reedrelais (Schließer) ersetzt, betätigt durch einen Magneten 'am Vorderrad (Teil von altem Fahrradcomputer) 'taster2 PORTC
) As String Local S1 As String * 16 If N = 1 Then S1 = Fusing(v1 , "#.#") If N = 3 Then S1 = Fusing(v1 , "#.###") S1 = " " + S1 Form = Right(s1 , G) End Function End In Arbeit. Logging Xmodem Protoll zur Datenübertragung
-
Artikel
200MHz DDS-Generator
kann. Der HF Detector kann analog oder digitale Ausgaenge haben(I2C, SPI, UART, USB) mit mindestens 16-bit Aufloesung. Externer Referenzfrequenzeingang zwischen 1-40MHz. Nachführung der DDS Zeitbasis entweder mit schmalbandiger PLL (solange der Oszillator elektronisch abgestimmt werden kann) oder digitale
geplanten Konzept mit dem AD9951 als DDS Kern. Komponenten. Steuerteil. Die Steuerung soll ein µC (ATMega) übernehmen. Über eine Tastatur, einen Inkrementalgeber und ein alphanumerisches 2*16 Zeichen Display können die Parameter eingestellt werden. Zusätzlich ist die Steuerung und Programmierung über eine
-
Artikel
Raspberry Pi als Universalprogrammer
255.255.0.0) und eins zum über Ethernet angeschlossenen Steuer-PC. Letzteres als statische IP (subnet 10.1.1.1/255.255.255.0). Auszug /etc/network/interfaces : Variante: Standalone Programmer. Alternativ kann der RasPi natürlich auch als StandAlone-Programmer, also ohne verbundenen PC, verwendet werden. Dann
können auch auftreten falls ein Pin mit mehr Strom belastet wird als konfiguriert. Minimal sind 2 mA möglich, ein höherer Wert in 2 mA Schritten aber nicht mehr als 16 mA kann konfiguriert werden. Dieser Wert gilt für alle GPIO's, er kann nicht Pin-individuell geändert werden. Nach einem Reset ist
-
Artikel
Raspberry Pi Einführung
Speicherplatz zur Verfügung. Aus # df -h / Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf /dev/root 1,8G 805M 869M 49% / wird bei einer 16GB SD-Karte zum Beispiel: # df -h / Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf /dev/root 15G 905M 14G 7% / Dieser Abschnitt basiert auf einer Anleitung zum
so wie auf der Platine angebracht und sollen eine Orientierung ermöglichen. Die 3,3V Anschlüsse (P1-1, P1-17, P2-1 und P5-2) dürfen maximal mit 50 mA belastet werden. Bei den 5V Anschlüssen (P1-2, P1-4 und P5-1) gibt es keine feste Grenze, hier kommt es auf den aktuellen Stromverbrauch des restlichen
-
Artikel
Schrittmotoren
der Periode von Schritt zu Schritt sind bestenfalls für kleine Beschleunigungen von sagen wir mal 1 bis 2 kHz ausreichend. Will man auf 5 bis 8 kHz drehen, muss vieles bedacht werden: 1. Das größte Manko vorneweg: Das sinkende Drehmoment bei hoher Drehzahl bedingt durch den Abfall der Stromanstiegsgeschwindigkeit
diese die erste Ableitung der Geschwindigkeit nach der Zeit ist, ist der Verlauf der Geschwindigkeit 1-cos(0..2pi) = 1+cos(pi..3pi) Nachteil: Maximale Beschleunigung in der Mitte 55% höher als bei linear. Kompromiss: Quadratische Rampe (Beschleunigung steigt linear an): 33% höheres Drehmoment erforderlich
-
Artikel
AVR-Tutorial: Interrupts
bis zur Adresse 0x1F (welches Register sich an welcher IO-Adresse befindet, steht in der Include-Datei, hier „m8def.inc“, und im Datenblatt des Controllers). Somit bleiben zum Zugriff auf diese Register nur die Befehle
Overflow 6 0x005 TIMER1_CAPT Timer/Counter1 Capture Event 7 0x006 TIMER1_COMPA Timer/Counter1 Compare Match A 8 0x007 TIMER1_COMPB Timer/Counter1 Compare Match B 9 0x008 TIMER1_OVF Timer/Counter1 Overflow 10 0x009 TIMER0_OVF
-
Artikel
Absolute Beginner
Drahts fürs Steckbrett sind in folgendem Thread nützliche Informationen zu finden: *Widerstände: 330 Ω, 1 kΩ, 3.3 kΩ, 10 kΩ, 100 kΩ, 1 MΩ (lies: "Ohm"/"Kilo-Ohm"/"Mega-Ohm"). Ob man sich Kohleschicht- oder Metallfilmwiderstände kauft, ist zunächst unerheblich. Potentiometer: 1 kΩ, 10 kΩ, 100 kΩ Elektrolytkondensatoren
: 1N4148, 1N4007; BAT43 oder BAT85 (Schottky) LEDs verschiedenfarbig, je nach Geschmack. Man sollte zumindest einige Farben haben, um unterschiedliche Betriebszustände u.ä. anzuzeigen. Transistoren: BC547
-
Artikel
MCURSES
STM32Fxx Für STM32-Mikrocontroller kann zusätzlich noch die UART-Nummer eingestellt werden, nämlich 1-6 auf STM32F4xx, 1-3 auf STM32F10x. Der Wert wird für andere Mikrocontroller - wie z.B. ATmega - ignoriert. #define MCURSES_UART_NUMBER 0 // UART number on STM32Fxxx (1-6), else ignored Die Anzahlen
1.1.1 Bug in Demo-Programm (Türme von Hanoi) beseitigt. 05.08.2011: Version 1.1.0 Unterstützung von Farben Unterstützung von Graphikzeichen (Zeichnen von Rechtecken etc) Neue Funktionen/Makros: nodelay
-
Artikel
IR-Tastatur Merlin Ruwido
0100 0x04 A 0x41 0000 0101 0x05 B 0x42 0000 0110 0x06 C 0x43 .... .... .... .... .... 0001 1101 0x1D Z 0x5A 0001 1110 0x1E 1 0x31 0001 1111 0x1F 2 0x32 .... .... .... .... .... 0010 0110 0x26 9 0x39 0010 0111 0x27 0 0x30 0010 1000 0x28 Enter --- 0010 1001 0x29 On/Off --- 0010 1010 0x2A Backsp --- 0010
= PIC 16F88 Code XMerlinRuwido oder Forum = Siehe auch = Manchester Kodierung
-
Artikel
Sammelbestellung CAN
erweitern und Gesamtanzahl in der Klammer ändern. Unter den Artikel Benutzernahme und Anzahl angeben. ATMega16M1 | | | | | | (32) 25 Stück = 3,26€ 50 Stück = 2,77€ 100 Stück = 2,66€ Thomas 0. (25) ajg59 (2) Tobias C. (3) Fabian F. (2) CAN-BUS-Treiber MCP2551-I-SN | | | | | | (34) 25 Stück = 0,769 € 100 Stück
-
Artikel
KiCad
Menue unter "View" > "legacy Canfas". In neueren KiCad Versionen (daily Build ab mindestens 2017-06-16 revision dab73e1) funktionieren die Tools in allen Canvasversionen. Manchmal sieht man nur etwas, wenn man "Refresh" (F3) drückt. Eine kleine Erklärung ist hier: Ich würde gerne aus den Mikrowellen Tools
Bobin Drosseln, Bourns 3296, Spectrol Type 43 / Econtrim und Piher PT15 Trimmer . Potentiometer Alps RK16 und Spectrol Type 148/149. Transformatoren Coilcraft Q4434-B / Rhombus T1311 sowie ETD29 von Epcos und Myrra sind auch dabei. Eurokartenstecker/-buchsen DIN 41612 Typ B1, B2, C1, C2 und C3. Ebenfalls
-
Artikel
Heizungssteuerung mit Honeywell HR20
die jeweils aktuelle Version als PDF hier oder hier im SVN. Fuses. Here are the fuses set on the ATMega169V device: Original OpenHR20 Extended 0xFD 0xFD High 0x91 0x9B Low 0x62 0xE2 EESAVE enabled disabled BOOTSZ 1024 Words (1E00) 512 Words (1C00) CKDIV8 1 0 = TODOs = Main-Branch / all Branches of the
compilition REV SVN Revision Example: print status. Command: Response: Where: W Day of Week (monday=1) DD.MM.YY actual date TT:TT:TT actual time M|A manual/automatic mode VV actual position of valve [%] (00=closed, 100=opened) IIII actual temperature SSSS desired temperature BBBB battary voltage [mV]
-
Artikel
PWM foxlight
in sich. Meine Wahl: Seoul-LEDs 15 Mal: Weiß Seoul-P4 ~ 3Watt - 66 Candela 12 Mal: RGB Seoul-P5 ~ 1Watt - 21.5 Candela Ausführung. LEDs werden auf der Unterseite einer Metallplatte befestigt. Sie strahlen dann auf eine diffuse Plexiglasscheibe (Milchglas). Auf der Oberseite der Metallplatte habe ich
Speed Einstellung, die einen Moodlight Effekt erzeugt. Projektdetails. Control Part. Via PWM mittels Atmega 8 @ 16MHZ Um flexibel zu bleiben habe ich die linke und rechte Seite der Lampe so realisiert, dass man die Farben beider Seiten getrennt voneinander steuern kann. Es werden 7 PWM-Ausgänge benötigt,
-
Artikel
GPIB-RS232-Schnittstelle
klassichen SN75160 (Daten) und SN75162 (Steuerleitungen). Zusammengehalten wird beides von einem ATmega16 oder pinkompatiblen. Die Bustreiber sind eigentlich typisch; den -160 bekommt man bei Reichelt. Den zweiten gibt es dort noch als -161; dem fehlen allerdings zwei wichtige Signale, es muss also der
aussehen: Die Baudrate wird automatisch am ersten empfangenen Zeilenvorschub ermittelt: $ echo > ttyUSB1 Schnittstelle einschalten und den Zähler (Adresse 14) parametrisieren: $ echo "ONLINE" > ttyUSB1 $ echo "REMOTE 14" > ttyUSB1 $ echo "OUTPUT 14;D" > ttyUSB1 $ echo "OUTPUT;F1TE1G0SM5" > ttyUSB1 Zähler
-
Artikel
XMC: PWM (LED und Servo), UART (DMX und Debug) (Tutorial für Keil uVision 5)
8Bit-Werte des DMX Signales in die 12Bit der PWM. (siehe dazu auch LED-Fading) Theoretisch ist eine 16Bit PWM möglich. Hier wird jedoch die PWM auf 12Bit (PWM_RESOLTION = 0x0FFF) beschränkt, um einen schnelleren Takt zu bekommen. Taktdauer = 1/32Mhz * 4096 Der Zähler der PWM zählt von 0 bis 4095 hoch.
Value CCU40_CC41->PRS = PWM_RESOLTION; // Compare Value CCU40_CC41->CRS = PWM_RESOLTION - PWMTABLE[dim1_m] +1; Wichtig ist noch anzumerken, dass nach dem Schreiben der neuen Werte in das Shadow-Compare-Register CRS noch mit dem entsprechendem Bit im Register GCSS der Transfer gestartet werden muss. In
-
Artikel
DIY Reflow Ofen
Arbeit. Das Biegen der Teile erfolgte dann mit einer 1m langen Abkantbank. Der Biegeradius ist mit 2mm relativ groß, aber stört dank der 3D-Konstruktion nicht wirklich. Abbildung 5 und 6 zeigen einige der fertigen Einzelteile. Nach diesem Arbeitsschema wurden
keine A4-Seite passen, wurden die wenigen Bohrungen mit der Hand angezeichnet und gebohrt ( Abbildung 16 und 17 ). Die Blechteile wurden anschließend einzeln mit der Abkantbank gebogen ( Abbildung 18 ) und provisorisch mit M3-Schrauben zusammengefügt um die Passgenauigkeit zu überprüfen ( Abbildung 19 )
-
Artikel
Frequenzumrichter mit Raumzeigermodulation
Störungen zurück ins Netz zu minimieren. Laut Wikipedia sind gute Werte: C11=100nF, C12=4,4nF und eine 1:1 Drossel mit 1 mH pro Spule. Arbeitet der Motor generatorisch, d.h. die Motordrehzahl ist größer als der Umrichtersollwert, wird Energie in den Zwischenkreis gespeist. Da die Energie nicht durch den
den Leistungshalbleitern steigen ebenfalls. Bei Profigeräten sind Pulsfrequenzen zwischen 4KHz und 16 KHz üblich. Realisiert ist in meinem Projekt eine Software PWM. In der Interrupt-Routine von Timer1 werden die Ausgänge entsprechend gesetzt. Durch die Normierung der nachfolgend erläuterten Tabelle