-
Artikel
GPS Logger Mini
Keramik-Kondensator 1µF 0805 Alle 0,07€ C3 Keramik-Kondensator 10nF 0805 Alle 0,05€ C4 Keramik-Kondensator 100nF 0805 Alle 0,05€ C5 Keramik-Kondensator 100nF 0805 Alle 0,05€ C6 Keramik-Kondensator 22pF 0805 Alle 0,05€ C7 Keramik-Kondensator 22pF 0805 Alle 0,05€ C8 Keramik-Kondensator 100nF 0805 Alle 0,05€ IC1 Low-Drop Spannungsregler 3.3V LP2985 SOT23-5L F 0,56€ IC2 Laderegler MAX1555 SOT23-5L F 2,41€ IC3 Mikrocontroller ATMega88 TQFP32 F 3,56€ IC4 MicroSD-Kartenslot Hirose DM3B SMD F 2,23€ IC5 GPS-Modul ST22 - P 20€ LED1 SMD Leuchtdiode ROT 1206 Alle 0,08€ LED2 SMD Leuchtdiode
-
Artikel
Waage
fallen lassen Nicht stark erschüttern Nicht im Feuchten lagern Nicht überlasten (Wiegebereich bis max. 200g) Nicht extremen Temperaturen aussetzen 5. Technische Daten: Abmessungen: Länge: 152mm Breite: 85mm Höhe: 72mm Gewicht: 602g Leistung: 0,76W bei 10V Netzteil: 8 - 25V AC oder DC, 100mA, unstabilisiert
-
Artikel
ARM-MP3-Player
Kopfhörer-Verstärker Line- und Mikrofoneingang 28 TSSOP läuft auch mit 12 MHz gibt's bei Digikey -> perfekt! MAX9850. 28 PIN (aber nur im bastlerunfreundlichen TQFN-Package erhältlich!) mit Kopfhörer-Amp. u.a. Keine großen Entkoppelkondensatoren notwendig relativ aufwendige Beschaltung und Konfiguration auch krumme
. B. 12 MHz Aufnahmefunktion möglich Mikro-Vorverstärker und Kopfhörer-Verstärker eingebaut Nur in 100er-Stückzahlen erhältlich -> scheidet aus TDA1543. kein MCLK nötig DIP-8 gibt's bei Segor für 2 Euro, bei Reichelt für 0,75 Euro qualitätsmäßig eher Low-End -> perfekt zum Testen! Datenblatt:
-
Artikel
Fahrradcomputer
Form(wegkm , 3 , 6) ; " km" Case 2 : Lcd "Gesamt:" ; Form(gesamtwegkm , 3 , 6) ; " km" Case 3 : Lcd "Max :" ; Form(vmax , 1 , 4) ; " km/h" Case 4 : Lcd "Mittel:" ; Form(vmittel , 1 , 4) ; " km/h" End Select ' Ledgruen = 0 Waitms 20 '20 Loop Oncapture: Cap = Capture1 Zaehlerdifferenz = Cap - Capalt Capalt
Gesamtzeit / 60 Watchdog1 = 0 Ledrot = 1 'Impulsanzeige Waitms 10 Ledrot = 0 'Sound Speaker , 200 , 100 Tifr.3 = 0 ' verhindert bei Prellen Mehrfachinterrupt Return Function Form(v1 As Single , Byval N As Byte , Byval G As Byte) As String Local S1 As String * 16 If N = 1 Then S1 = Fusing(v1 , "#.#") If
-
Artikel
Strukturierte Programmierung auf Mikrocontrollern
Worttrennung mit Unterstrich oder CamelCase (jede Wortsilbe beginnt mit einem Großbuchstaben, z.B GetInfo, MaxCount etc.) Namen wie i, j, k für Indizes für Zählschleifen Variablen wie x, y, z für Positionen Bei Arrays z.B. einkaufsPreis[i] oder einkaufsPreis[index] verwenden. i bzw. index sind übliche Namen
für sich selbst, für später Kommentare sofort schreiben, hinterher ist man zu faul und nicht mehr zu 100 % im Problem vertieft Je genialer die Idee, um so nötiger der Kommentar. Zusammenhänge dokumentieren. Die erschliessen sich nicht aus den paar Zeilen Code, auf die man gerade schaut! Kommentare sollen
-
Artikel
Projekt Universeller Analogeingang für FPGA-basiertes Oszilloskop
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 große und
-
Artikel
Porterweiterung mit SPI
dann gibt es auch fertige Bausteine: Low-Side-Schalter: Die TPIC6x595-Bausteine von TI, die zwischen 100mA und über 1A dauernd "sinken" können, weil es Open-Drain-Ausgänge sind, die Lasten bis 33V/50V (je nach IC) gegen Masse schalten. MICREL bietet hier seine MIC584x-Serie, die allerdings etwas "preisempfindlicher
3 = Gnd, Pin 6 = ~SS. Vorteil: Schmitt-trigger inputs. Ähnlich wie HC595 kann man auch LED-Treiber MAX7219 SPI-konform machen. Nachdem ~SS 1>0, könnte eine kleine Verzögerung notwendig werden, um Load-Impuls auf HC165 abzuwarten. Mit ATMEGA324 und F_CPU=16 MHz reichte zwischen ~SS=0 und spi_master_transmit
-
Artikel
MOTOROLA VIP1710
auch die settings2.xml. Wenn das motorola script jetzt nicht zu gross ist - man hat unter /flash ca. 100kb zur Verfügung - kann man das auch dort abspeichern. /dev/mtdblock/0 100.0k 28.0k 72.0k 28% /flash Problem ist, dass /flash mit noexec gemounted wird und man das script nicht direkt ausfuehren kann
module zur Verfügung stellen: / # wget Connecting to hilses.de[62.75.159.166]:80 usb-storage-modules. 100% |**********************************| 187 KB 00:00 ETA / # wget Connecting to hilses.de[62.75.159.166]:80 settings-xml--stack- 100% |**********************************| 128 KB 00:00 ETA / # wget Connecting
-
Artikel
AVR Softwarepool
C) Glühwürmchen in Rotkohlglas gefangen (C) Miniprojekt: Lagerfeuer-LED (ATtiny25) (C) Klingel mit 100 Melodien - last minute Weihnachtsgeschenk (A) µCke Microcontroller Mücke (Atmel Tiny13) (C) Toastbrote zählen Spiele. (C) Tetris auf dem AtMega8 (C) Atmega8 Schachuhr mit Max7219 Steuerungen. (C) Aquarium
Kontaktfläche (C) Einfache Sensortaste Tonerzeugung. (A) ATMEGA8 Soundgenerator/Synthesizer (C) Klingel mit 100 Melodien - last minute Weihnachtsgeschenk (C) RTTTL Melodiegenerator mit ATTINY85 (B) RTTTL Melodiegenerator mit ATMEGA8 (A) Melodie ausgeben mit AVR ATTiny12 (A) µCke Microcontroller Mücke (Atmel Tiny13
-
Artikel
Ausgangsstufen Logik-ICs
technologische Gründe, im Bild nicht eingezeichnet). Deshalb ist die Ausgangsspannung bei originalen TTL-ICs max. 3,6V. Vorteile: Der Ausgang kann bei HIGH viel Strom liefern (engl. source) und bei LOW viel Strom aufnehmen (engl. sink) Im statischen Fall wird kein Strom verbraucht Wegen Punkt 1 kann der Ausgang
genug bleibt, um den Transistor nicht zu beschädigen. In der Praxis wird meist ein Wert von 1 k bis 100 k eingesetzt. Sind zwei oder mehr Sender am Bus angeschlossen, können sie jeweils die Leitung auf Masse ziehen. Ziehen zwei oder mehr Teilnehmer die Leitung gleichzeitig auf Masse, bleibt sie natürlich
-
Artikel
230V
mindestens eine Spannungsfestigkeit von 250 V AC aufweisen, d. h. sie müssen U eff = 230 V bzw. U max = 325 V dauerhaft verkraften. Um diese relativ hohe Spannung aufzuteilen, sind jeweils zwei Widerstände als Spannungsteiler in Reihe geschaltet. Selbst größere SMD-Widerstände vom Typ 2512 weisen nur
sorgen für einen dauerhaften Low-Pegel am Controller-Eingang, solange Netzspannung anliegt. Wer den 100-Hz-Puls braucht, möge C2 weglassen. Zum Detektieren des Nulldurchgangs eignet sich diese Schaltung wegen der Phasenverschiebung durch C1 nicht. Nulldurchgangsdetektoren. Nulldurchgangsdetektoren (engl
-
Artikel
USB IO Expander
. Aus diesem Grund habe ich mich bewusst auf den niederfrequenten Bereich (einzelne Funktionen bis 100kHz) beschränkt, da alles andere nur Kompromisse gewesen wären. Ein wesentlicher Punkt war jedoch ein vollständige galvanische Trennung vom PC. Dies vereinfacht die Arbeit mit dem Gerät doch sehr, da
Steuersoftware am PC Ausgabe von Mustern an den digitalen Ausgängen möglich (Patterngenerator; bis maximal 100kHz) eingeschränkt als Logic Analyser verwendbar (auch bis 100 kHz; gleichzeitig mit dem Pattern-Generator verwendbar ) Hardware. Schnittstellen. USB. Die USB Schnittstelle hat 2 Funktionen. Einmal geschieht
-
Artikel
AVR In System Programmer
XPlain Eval-Board. Hier hat Atmel die Xmega PDI- und JTAG-Schnittstelle gemeinsam auf den Header J100 gelegt. Die PDI-Belegung ist wie folgt: 1 2 GND 3 4 VCC 5 6 CLK VCC 7 8 DATA 9 10 GND Nur jeweils ein VCC- und ein GND-Anschluss muss verwendet werden. Es bieten sich die Pins 2 und 4 an. Man beachte
Jumper Slow SCK gesetzt werden. Alternativ ist es möglich mit der zusätzlichen Option von avrdude "-B100" die Periodendauer von SCK auf etwa 100 µs oder noch länger zu vergrößern (funktioniert nur, wenn die Firmware des USBasp vom Mai 2011 oder neuer ist). Der originale USBasp hat den Nachteil, dass er
-
Artikel
Entwicklung eines Steuergeräts zur automatischen Antennenabstimmung
aktuellen Parameter und ggf. Steueranweisungen über zu ermöglichen ist eine RS232-Schnitstelle mit MAX232 implementiert. Diese kann durch die modulare Bauweise bequem durch andere Schnittstellenbausteine (z. Bsp. FT232) ersetzt werden. SPI-Schnittstelle. Für spätere Erweiterungen, z. Bsp. eine Ethernetanbindung
Sendedaten erhält der Thread per Mailbox. Thread swr_messung(). Im Thread swr-messung() werden ca. alle 100ms die analogen Messwerte an Pin P2.8 und P2.9 eingelesen. Bei Überschreiten eines Schwellwertes der Vorwärstsspannung sorgt für die Berechnung des SWR. Das Stehwellenverhältnis ist durch die Formel
-
Artikel
Interrupt
und dieses Mal sehr lange dauert. Wenn zum Beispiel der Timerinterrupt mit einer Periodendauer von 100ms aufgerufen wird, er aber unter bestimmten Umständen 180ms benötigt, dann wird nach 100ms nach Eintritt in die ISR der Interrupt wieder aktiv, das Timer Interrupt Flag wird gesetzt. Da aber gerade
einem RS485-Bus. Hier kann man nach dem vollständigen Senden aller Bytes den Bustranceiver (z. B. MAX485) von Senden auf Empfangen umschalten, um den Bus freizugeben. Bei Nutzung der Interrupts kann die CPU andere Dinge bearbeiten und muss nur kurz einen Interrupt ausführen, wenn ein Zeichen empfangen
-
Artikel
Relais mit Logik ansteuern
Verlustleistung ab. Schaltstrom [mA] Transistor Steuer- spannung [V] R2 [ ] 500 BC337 (THT) 5 470 3,3 270 100 BC846 (SMD) 5 2,2k 3,3 1,3k Werden andere Transistoren eingesetzt oder muss für das Relais mehr oder weniger Strom zur Verfügung gestellt werden, dann findet sich hier die Berechnung des Basiswiderstands
direkte Ansteuerung per CMOS-Ausgang reicht dann sogar für niedrige PWM-Frequenzen von vielleicht 100Hz und noch etwas mehr. Zu beachten ist hier, daß durch den Treiber eine Invertierung stattfindet, d.h. ist der Steuereingang HIGH ist der MOSFET gesperrt und die Last wird nicht von Strom durchflossen
-
Artikel
UsbDisplay
Aufgrund der geringen Leiterbahnbreite, stellen sich etwa 3.1 V ein. Der Regler liefert höchstens 100mA. Dies ist für das Display 110µA und den Prozessor 50mA ausreichend. Der IR-Empfänger (5mA) und die LED der Hintergrund Beleuchtung (40mA) verbrauchen weniger als 50 mA. Der Prozessor AT91SAM7S256
0); AT91F_PIO_SetOutput(LCD_PIO, LCD_RS); delay(10); AT91F_PIO_ClearOutput(LCD_PIO, LCD_RS); delay(100); AT91F_PIO_SetOutput(LCD_PIO, LCD_RS); delay(100); setLcdCmd(0xE2); // Reset setLcdCmd(0x40); setDisplayOrientation(curOrientation); setLcdCmd(0xA6); setLcdCmd(0xA2); setLcdCmd(0x2F); setLcdCmd(0xF8
-
Artikel
Sinuswechselrichter 600W
können, die Brückentransistoren und Treiber zerstören. Aktuell werden 3 Elkos á 1000 µF und 8 Kerkos á 100 nF verwendet. Ich fürchte, diese sind zu niedrig dimensioniert, bzw. werden auf Dauer den Ripplestrom nicht aushalten können (Kritikpunkte). Übertrager. Mit dem Berechnungsprogramm auf schmidt-walter.eit.h-da.de
von 0 ein kurzer Spike ausgegeben wird. Um das zu verhindern, wird die PWM invertiert betrieben: der Max.-Wert stellt das Low-Signal dar. In Excel werden die Werte gleich entsprechend berechnet, so dass der Controller die Werte direkt verwenden kann. In jedem Timer1-Overflow-Interrupt wird der nächste
-
Artikel
AVR-Transistortester
ein Thyristor oder Triac. Durch die 680Ω-Widerstände ist der mögliche Strom allerdings recht gering (max. ca. 7,4 mA). Wenn der Haltestrom des Thyristors oder Triacs über diesem Wert liegt, wird das Bauteil als npn-Transistor erkannt. Das dürfte bei vielen Leistungsthyristoren oder -triacs der Fall sein
aufgeladen werden. Allerdings ist dieser Effekt bei Spannungen von 5V und Messzeiten von ein paar 100ms fast unmessbar gering, daher ist diese Erkennung nicht möglich. Automatische Abschaltung. Am einfachsten wäre es natürlich, den AVR nach Abschluss des Tests einfach in den Power-Down-Mode zu versetzen
-
Artikel
GhostCarProjekt
den letzten Rohwert nimmt, sondern einen leicht gefilterten GyroZ-Wert heranzieht (PT1-Filter mit 100ms Filterzeit). Ignoriert man dann noch kurze Ausreißer aus dem Band, die z.B. wegen Messfehlern/-schwankungen vorkommen, dann erhält man relativ saubere Sektordaten, die den physikalischen Gegebenheiten
und Rundenlänge=4 (also für Vergleichssektornr. 21) erhält man 4*100/27 = 14%. Für eine Rundenlänge=6 ergibt sich ein Zahlenwert von 13*100/27 = 48%. Die restlichen Kandidaten haben eine relative gewichtete Wahrscheinlichkeit von 22%, 3%, 7%, 3%. Hinweis: Die Matrix
-
Artikel
Solarwecker mit DCF77 sowie Temperatursensor
unrealistisch hoher Sonneneinstrahlung werden die Akkus auf diese Weise nicht beschädigt, da bis ca. 100mA als "Erhaltungsladung" akzeptabel sind. (!) Das Tolle bei der Dimensionierung der Solarzellen in Verbindung mit den Akkus bezogen auf den Lichteinfall in unserem Schlafzimmer: Die Ladung regelt sich
Strombedarf ist für diesen in Summe zu vernachlässigen. Aktivität DCF/Alarm/LED-Backlight (bis ca. max. 5mA Stromverbrauch) Egal ob der Alarm ertönt, auf das DCF77-Signal synchronisiert wird oder das LED-Backlight nachts bei Aktivität dazugeschaltet wird - es werden bis zu 5mA fließen. In Summe ist der
-
Artikel
Klangerzeugung
minimale Ansteuerung oder einen Trigger benötigen: Voltage controlled Oscillator (VCO). XR8038 oder neuer MAX038 XR2206 Spezielle Klang-ICs. Für spezielle Klänge werden komplexe Klangerzeuger-ICs angeboten z.B.: Der klassische Gong-IC SAB800 / SAE800 -> Conrad, Reichelt, Bausatz bei ELV Des Weiteren: UM 3561
digitalen Schaltungen wie PLDs z.B. einen 32 Bit-Wert und inkrementiert mit einer Frequenz von z.B. 100MHz. Statt wie bei der DDS eine Tabelle anzusteuern, wird einfach das MSB ausgegeben. Eine Verbesserung ergibt sich, wenn man z.B. die höchsten 13 Bits interpretiert und über Y x (4095-Y) eine Parabel
-
Artikel
Power Analyzer mit Soundkarte (low cost / no cost)
füttern kann. Zum Beispiel mein Desktop-Rechner mit Onboard-Soundchip Realtek ALC887: 2 AD-Wandler, max. Eingangsspannung 1,3V RMS (Eingangsverstärkung bis Faktor 10 möglich), 24 bit 192 kS/s (offiziell 192, real gehen bis zu 384), Frequenzgang +/- 0.0005 dB, SNR 90dB, Eingangsimpedanz 40kOhm @ 1kHz,
50% softwareseitig, da ist die Verstärkung 1, also keine zusätzliche Verstärkung oder Abschwächung. 100% entspräche bei meiner Soundkarte einer 10fachen Spannungsverstärkung. Hier screenshots von der Stromkalibrierung (schöner Sinus von der Soundkarte und vom Audio-Verstärker) und der Spannungskalibrierung
-
Artikel
EFM32
tragbaren Anwendungen für die Medizintechnik bzw. den Fitnessbereich. Was bedeutet das in Zahlen? Max. Verbrauch im aktiven Modus bei 32MHz: 5mA Verbrauch im Sleep Modus mit Funktionen wie Displayansteuerung oder Sensorüberwachung: 1-2µA (inkl. RTC, Brown Out, RAM aktiv) Ruhestrom: 20nA Energy Micro
betrieben. Auf den Energy Micro STK Boards ist zum Beispiel ein 30mF Kondensator in Serie mit einem 100 Ohm Widerstand an den Backup Power Spannungseingang (BU_VIN) angeschlossen. Laut Energy Micro (STK_3700 User Manual S.9) läuft der Mikrocontroller so im EM4 rund 8 Stunden. Dabei bleiben die Daten im
-
Artikel
Low Cost FPGA Konfiguration
24C256 24C512 Spartan 2 XC2S15 197.696 2 1 1 0,5 XC2S30 336.768 3 2 1 0,8 XC2S50 559.200 5 3 2 1,4 XC2S100 781.216 6 3 2 2 XC2S150 1.040.096 8 4 2 2,6 XC2S200 1.335.840 * 6 3 3,3 Spartan 3 XC3S50 439.264 4 2 1 1,1 XC3S200 1.047.616 8 4 2 2,6 XC3S400 1.699.136 * 7 4 4,2 XC3S1000 3.223.488 * * 7 8,1 Schaltung
Reset wird der Oszillator auf maximalen Takt gestellt, der ist beim Tiny12 sowieso nicht so hoch, max. 2,5 MHz. Dann werden die IOs und Variablen initialisiert. Am I2C-Bus können maximal acht EEPROMs angeschlossen werden, weil diese ICs nur maximal drei konfigurierbare Adressbits besitzen, einige Typen
-
Artikel
DIY Reflow Ofen
neuen Aufbaus. Die wichtigste Anforderung an die Dimensionen, war eine maximale Platinengröße von 160x100mm. Ausserdem sollte ausreichend Platz für die Heizelemente zur Verfügung stehen, um eine ausreichende Zirkulation zu garantieren. Das Grundgerüst bildet ein Metallgehäuse aus 1mm starkem Blech. Die
Datenblatt ergibt sich bei 300°C Innentemperatur der Kammer eine Außentemperatur der Isolierung von 100°C. ( Nach meinen bisherigen Erfahrungen wird dieser Wert aber bei Lötprozessen von max. 10 Minuten nie erreicht. ) Damit die Zwangskonvektion auch so arbeitet, wie von mir gedacht, mussten auch die
-
Artikel
Labornetzgeräte
einfachsten geht das mit einer Wärmebildkamera. Es sollten nach Möglichkeit keine Temperaturen oberhalb von 100°C auftreten. Wärme-empfindliche Bauteile (z.B. Elkos) sollten nicht wärmer als 70°C sein. Besonders kritisch sind hier: Netztrafo Gleichrichter Leistungstransistoren und Kühlkörper Stabilität, Genauigkeit
Elektro-Automatik EA-PS 8032-10 DT 940 32 10 1 getaktet ELV PPS 5330 120 30 3 1 linear ELV SPS 5630 200 30 6 (max. 75W) 1 getaktet Hameg HM7042-5 685 32 + 32 + 5,5 2 + 2 + 5 3 linear Hameg HMP2020 1190 32 + 32 10 + 5 2 getaktet + linear Hameg HMP2030 1500 32 + 32 + 32 5 + 5 + 5 3 getaktet + linear Korad KA3005P
-
Artikel
NanoVM
motor(int left, int right); Schaltet die Motoren des Asuro. Mögliche Werte liegen im Bereich -255 (max. Geschwindigkeit rückwärts) bis +255 (max. Geschwindigkeit vorwärts) public static native void lineLED(int state); Schaltet die untere LED zur Beleutung des Untergrunds ein ( ON ) oder aus ( OFF ).
erhöht. Der Systemtick läuft also mit 1kHz. Per default läuft der Systemtick nach Systemstart mit 100Hz. public static native int get(void); Liefert die aktuellen Systemticks. public static native void wait(int ticks); Wartet die angegebene Anzahl Systemticks ab. public static native void setPrescaler
-
Artikel
Evaluations-Platine für Heimautomatisierung
2,2k Ohm 1 Widerstand 3,3k Ohm 2 Widerstände 4,7k Ohm 2 Widerstände 10k Ohm 4 Taster 4 Kondensatoren 100 nF 1 Elko 2,2 uF 3 LEDs in rot, gelb, grün 1 IR LED 3 NPN-Transistoren z.B. BC 547A 1 Wannenstecker 10 polig 1 IC-Sockel mit 32 Pins. Davon wird an einer Seite die Eckenpins entfernt, da die Arduino-Platine
Chips für Fernbedienung wieder. Daher lassen sich relativ viele gängige Funksteckdosen (Dreierset mit max. 1000 Watt Schaltleistung zu EUR 15,-) damit schalten. Möchte man einen Wasserkocher oder die Zuleitung zu einem Elektroauto schalten, braucht man Steckdosen mit einer Schaltleistung von 3600 Watt,
-
Artikel
AVR - Die genaue Sekunde / RTC
Frequenzfehler von +/- 32,768 Hz korrigiert werden, das sind 1000ppm! Normale Quarze haben Abweichungen von max. 100ppm, meist viel weniger. Jede Sekunde wird der Frequenzfehler neu berechnet und in den darauffolgenden 128 Interrupts ggf. mehrfach korrigiert. Wichtig ist dabei, dass die Korrektur wirklich ganz
-
Artikel
ICnova ADB1000
freigekratzt, und ich messe 16,5 V. Für diese einfachen Steckernetzteile, ohne Last gemessen, normal. Da max. 36V am Board anliegen dürfen, messe ich nicht mehr die Betr.spg. unter Last. Einstecken, und los gehts. Auf dem LCD können die Meldungen des Bootvorgangs beobachtet werden. Die letzten Zeilen: ...
root (jffs2 filesystem) on device 31:1. Freeing init memory: 80K (90000000 - 90014000) eth0: link up (100/Full) Thank you for using In-Circuit ICnova icnova login: Ein DHCP-Client im AP7000-Modul versucht dann, im Netzwerk eine IP-Adresse abzufragen. Ein DHCP-Server kann z. B. in einem Router aktiv sein
-
Artikel
POV-Globe mit XMC2Go
und die 5 nächsten Bits werden ausgegeben. Da der XMC ein 32-bit Controller ist, konnte ich somit max. 5x6 = 30bit in ein uint32_t speichern, das sind 5x2 LEDs mit je einem Bit für R, G und B. Somit besteht eine Bildspalte aus 4 uint32_t Variablen, um es mir im Kopf vorstellen zu können habe ich möglichst
schreiben (Nutzer le-do). Downloads. DAVE-Projekt Sourcen Visual C# Programm mit Quelltext (noch nicht 100% stabil) Siehe auch. POV-Display, ein ähnliches Projekt von Nutzer Fornax 3D Druck Service von der Fachschaft Mathe Physik Informatik der TU München
-
Artikel
GPS Mini Navigator
bisher auch fehlerfrei. Die Mikro-SD-Karte findet auf der anderen Seite der Platine ihren Platz. Der 100nF-Kondensator zwischen Vcc und GND sollte so dicht wie möglich an der Karte platziert werden. Die UART-Leitungen der Originalplatine habe ich durchtrennt und je 2 Drähte direkt am GPS- und am Bluetooth-Modul
dargestellt. (LED 5 und 6 geben den ungefähren Batteriestatus wieder. 6 ist voll, 5 ist fast leer (max. 30 Minuten GPS verbleibend). Sind beide LEDs aus, so wird das GPS-Modul bis zum Aufladen deaktiviert.) PC-Interaktion. Für den PC habe ich bereits einfachste Übertragungsprogramme geschrieben, welche
-
Artikel
AVR Bootloader in C - eine einfache Anleitung
USB-Seriell-Wandler ist nicht zwingend notwendig und kann auch durch den üblichen Pegelwandler vom Typ MAX232 ersetzt werden, wenn der PC noch eine serielle Schnittstelle besitzt. Entscheidend ist nur die Möglichkeit der seriellen Kommunikation mit dem Rechner. Für die ISP-Programmierung wurde der AVRISPmkII-In-System-Programmer
text: 00001800 : 1800: 19 c0 rjmp .+50 ; 0x1834 1802: 33 c0 rjmp .+102 ; 0x186a 1804: 32 c0 rjmp .+100 ; 0x186a 1806: 31 c0 rjmp .+98 ; 0x186a 1808: 30 c0 rjmp .+96 ; 0x186a 180a: 2f c0 rjmp .+94 ; 0x186a 180c: 2e c0 rjmp .+92 ; 0x186a ... (viele Zeilen) ... 0000186c : define BOOT_UART_BAUD_RATE 9600
-
Artikel
AVR-GCC-Tutorial
Wartezeit der Funktion _delay_ms() ist auf 262,14ms/F_CPU (in MHz) begrenzt, d.h. bei 20 MHz kann man nur max. 13,1ms warten. Die Wartezeit der Funktion _delay_us() ist auf 768us/F_CPU (in MHz) begrenzt, d.h. bei 20 MHz kann man nur max. 38,4µs warten. Längere Wartezeiten müssen dann über einen mehrfachen Aufruf
dann an der gewünschten Stelle in das default Skript eingefügt wird: {| SECTIONS { .flash2 : { . = MAX (ABSOLUTE(0x20000), .); PROVIDE (__flash2_start = .); . = ALIGN(2); *(.flash2.text*) *(.progmem2.data*) PROVIDE (__flash2_end = .); ASSERT (__flash2_start == __flash2_end __flash2_start >= ABSOLUTE(
-
Artikel
AVR-Tutorial: Schieberegister
prüfen sowie neue Sendedaten zu laden. Zwischen den einzelnen Bytes gibt es somit nur eine Pause von max. 6 Systemtakten. Der Nachteil von Schieberegistern ist allerdings, dass sich die Zeit zum Setzen aller Ausgabeleitungen mit jedem weiteren Baustein immer weiter erhöht. Dies deshalb, da ja die einzelnen
ausgeht, dass sich die Eingänge nicht allzu schnell ändern. Das ist bei Tastern klar der Fall. Eine 100-prozentige Sicherheit gibt es nicht. Man schiebt ein bestimmtes Bitmuster (Byte) durch und nimmt '595 dort an, wo das Bitmuster auch zurückkommt. Man verwende mindestens 2 verschiedene Bitmuster, um
-
Artikel
16/32Bit Computer/Konsole
wird der Divisor und Dividend gesetzt, zusätzlich muss noch die Divsions-Bitbreite angegeben werden (max. 32 Bit). Durch den Befehl udivstep wird eine '1-Bit Division' ausgeführt, d.h. udivstep muss/kann sooft ausgeführt werden wie die Divisionsbreite gewählt ist. Als Resultat der Division ergeben sich
zu lesenden Daten kann der SRAM/DRAM benutzt werden. Die maximale Transfergeschwindigkeit beträgt 100Mbit. Beispiel, nachladen von 16384 Blöcken (a 256 Bytes): ;read sdcard to s/sdram dexti >startBlock movei r0,startBlock nop rqldi r0,0 ;low rqldi r0,1 ;high nop ld r2 ld r3 addi r2,64 ;64 blocks offset
-
Artikel
ARM-ASM-Tutorial
Connect an LED to this pin and to GND (“active high”). Use a series resistor to limit the current to max. 15mA (the absolute maximum being 25mA), e.g. 100Ω for a 3,3V supply and a standard LED. For higher loads (e.g. high-power LEDs or a relay) use an appropriate transistor. As with most microcontrollers
bit “x mod 32” in register NVIC_ISERy with y=x/32 has to be set. This register’s address is 0xE000E100+y*4. Given an interrupt’s number in r0, the following function does just that: Example name: “BlinkTIM1” The “and” instruction calculates “x mod 32”, and the following left-shift (“lsls”) calculates
-
Artikel
PHILIPS VP5500 VoIP Telefon
eingebucht und laufend (idle): ca. 80mA mit angeschaltetem Display, eingebucht und idle: ca. 190mA mit 100% Prozessor-Last (von serieller Konsole ausgeführt: "while true; do true; done"): ca. 60mA mehr als idle (Scheint aber auch größere Sprünge für andere CPU-Last zu geben) im 'Deep Sleep' (wird ein paar Minuten nach Einschalten erreicht): 100mA). Beachte: Die serielle Konsole ist in diesem Modus auch nicht mehr aktiv, das Telefon ist aber nicht abgestürzt (Tastendruck aktiviert die Konsole wieder). Telefonieren ca 500mA Telefonieren mit