-
Thread
Geeigneter Mikrocontroller für Zellmessungen
momentan erst ein Gedankenspiel). Welcher uC kommt euch für diese Aufgabe in den Sinn? Klar, ein ATmega328PB würde da gehen, aber vielleicht gibt's noch was besseres. Anforderungen: - Versorgungspannung von *2.7V - 5V*, damit keine Spannungswandlung gebraucht wird - *UART* zur Kommunikation - Wiederholgenauer
gibts passende Bausteine wie den hier https://www.analog.com/en/products/ltc6811-1.html der dann 16 Bit ADCs enthält und Messen und Balancen macht. Damit minimierst Du Platz, Bauteilezahl und letztendlich Kosten. Es sei denn, der Weg ist das Ziel. Dann zählen Sachgründe natürlich nicht. fchk
-
Thread
Höhere Referenzspannung mit TL431
Projekte sein, für die das zutrifft? :-) > Für einen simplen Bleiakku genügen mir die 10 Bit eines ATMega, > Auflösung 15mV. Es hält Dich doch keiner davon ab einen ATMega (zum gleichen Preis) dafür zu verwenden. > Genau das mache ich, hole mir 10 Meßwerte, werfe den größten / kleinsten > weg und
diesem Verfahren signifikant bessere Ergebnisse erzielen, als einfach nur den Mittelwert über z.B. 16 Messungen zu bilden?
-
Thread
Raspberry Pi Pico SDR
gibts auch bei Conrad in DIP8. [pre] TI package € SN74CBTLV3253DR so16 0,7 SN74CBTLV3253RGYR qfn16 0,7 SN74CBTLV3253PWR tssop16 0,7 SN74CBTLV3253DBQR ssop 0,7 SN74CBTLV3253DGVR tvsop 0,7 Microchip MCP6022-I/ST TSSOP-8 1,6
bei Conrad in > DIP8. > > [pre] > TI package € > SN74CBTLV3253DR so16 0,7 > SN74CBTLV3253RGYR qfn16 0,7 > SN74CBTLV3253PWR tssop16 0,7 > SN74CBTLV3253DBQR ssop 0,7 > SN74CBTLV3253DGVR tvsop 0,7 > Microchip > MCP6022-I/ST TSSOP
-
Thread
Temperatursensor gesucht
nicht! Was juckt den hier der µC, es geht um Temp.Sensor. Wenn du es unbedingt wissen willst, ATmega2560 im TQFP-100 Gehäuse. Man oh man, wie im Kindergarten...
noch gedacht. Das ist ein 10% NTC. Soweit unten muß man nicht mitspielen :-( Der 10Bit ADC vom ATmega reicht völlig aus und Du mußt für Deine Anforderungen nichts abgleichen, wenn Du wie vorgeschlagen eine ratiometrische Messung machst.
-
Thread
Check Konstante Adresse Flash / Compiler / Linker
überschritten wird? Was passiert eigentlich mit den unbeschrieben Pages im mC? Bleiben diese beim AVR ATmega dann einfach auf dem alten Stand?
an. Da plaziert also der AVR-GCC die Vectortabelle. Danach kommen die konstanten Daten, da mit int (16 Bit) nur die ersten 64kB direkt zugreifbar sind. Darüber braucht man spezielle Hilfsregister und Befehle. Bzw. für Funktionspointer > 16 Bit gibt es eine .trampolines section. Für den Bootloader
-
Thread
Quarz-Tester mit PIC16F628
Lothar K. schrieb im Beitrag #7842534: > @ H.H Auf dem Schaltkreis steht PIC16F628A. Das kann jeder kleine Fälscher so machen. Es gibt aber Details, die mich misstrauisch machen.
Wg. Beschriftung: PIC16F628(A), wahrscheinlich von Reichelt, vor langer Zeit...
-
Thread
Arduino: digitalRead in Interrupt ist unzuverlässig
benötige aber Arduino > nur 2 und Mega 6, benutze ich eine Mega. Das ist ein Mißverständnis. Die ATmega-Mikrocontroller haben zwei Arten von Pin-Interrupts. Zum einen sind da die dedizierten Interrupt-Pins (INT0 und INT1 beim ATmega328P, INT0 bis INT7 beim ATmega2560). Zum anderen gibt es die Pin-Change-Interrupt-Pins PCINT0 bis PCINT23 (sowohl beim ATmega328P als auch beim ATmega2560). Der Unterschied ist, dass bei den Pin-Change-Interrupts nicht jeder Pin eine eigene Interrupt-Routine hat, sondern jeweils 8 zusammengefasst werden. Und außerdem
-
Thread
Datenlogger Pendeluhr
Peter D. schrieb im Beitrag #7843110: > Ein simpler ATmega328 kann den Capture Input mit CPU-Takt einlesen, d.h. > hat einen Quantisierungsfehler von 50ns @20MHz (20ppm/s bzw. 0,2ppb/d). > Irgendwelche Programmlaufzeiten spielen keine Rolle. Ein Atmega
Für die Aufnahme kannst du Audacity verwenden: Das Icon Audioeinrichtung klicken, Mono auswählen und 16 Bit, 16000 Hz. Das ergibt für 24 Stunden 2.8 GByte. Gruss Udo
-
Thread
ATmega328P Stromverbrauch
abgeschaltetem Display). Interner 8 MHz Takt, herausschieben der Daten per C-Routine, WDT als Timer mit 16 ms Zyklus und die CPU schläft in den Pausen. Dies zur Einschätzung, was auch ein ATmega328 schaffen sollte.
abgeschaltetem Display). > Interner 8 MHz Takt, herausschieben der Daten per C-Routine, WDT als > Timer mit 16 ms Zyklus und die CPU schläft in den Pausen. > Dies zur Einschätzung, was auch ein ATmega328 schaffen sollte. 35uA kommt hin: https://www.mikrocontroller.net/topic/506920#6482907
-
Thread
Live-Linux: Anleitung schreiben
verloren. Die zweite Methode ist, man verkleinert die FAT32 Partition auf der gebootet wird (bspw. auf 16GB bei einerm 32er Stick) mit gparted und richtet auf dem nun frei gewordenen Platz eine ext4 Partition ein, auf der dann gespeichert werden soll. Grundsätzlich bin ich für das Erklären am Überlegen
Das Programm wird übersetzt. Achtung: die Beispiele hier können für ATtiny44, ATtiny2313 oder auch ATmega168 oder ATmega328p sein. Für welchen Controller das Beispiel gemacht ist, kannst du sofort erkennen, wenn du dir das Makefile ansiehst. Das Makefile ist so aufgebaut, dass du sehen kannst, wie die
-
Thread
cpp memory leaks vermeiden
topic/575768#7834945 Das ganze lasse ich auf folgenden Systemen laufen: * Arduino Nano (Atmega328), 2k Ram, 32kFlash gcc version 5.4.0 (GCC) gcc version 7.3.0 (GCC) * Pipico2, 520k Ram gcc version 14.2.0 (GCC) * PC, 16GB Ram gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2
einzige erzeugte Instanz schon RAM verbraucht hat. Die Objektinstanzen selbst fressen dann mindestens 16 Bytes selbst wenn sie keine lokale Variablen haben.
-
Thread
LEDs mit gemeinsamen GND schalten
größer Platinen zu platzieren. Grundsätzlich plane ich „Module“ zu entwickeln die je Arduino bis zu 16 Ausgänge anzusteuern. Je Signalart können das 8 Signale sein oder auch weniger. Über die Ansteuerung der LEDs muss ich mir Softwaretechnisch keine Gedanken machen, dass funktioniert über die Software
Funktioniert gut in meiner Wanduhr, seit 10 Jahren im Dauerbetrieb. Angesteuert wird direkt mit einem Atmega328P. Bin ich damals auch erst beim 2. Blick drauf gekommen. Gruß Alwin
-
Thread
[V] 3 Stück ATMEGA16U4-MU - QFN-44
Aus einer Falschbestellung bei Mouser habe ich drei neue ATMEGA16U4-MU im QFN-44 Package abzugeben. https://www.mouser.de/ProductDetail/Microchip-Technology/ATMEGA16U4-MU?qs=JV7lzlMm3yJIv2SnL088SQ%3D%3D Einzelabgabe ist auch möglich. Preisvorstellung:
-
Thread
F_CPU calibrieren und in eeprom abspeichern
sein, weil der Compiler (mit Makros) basierend > darauf Code generiert. schon klar. Deswegen i16 calib_korrektur=ee_xx;//aus eeprom auslesen unsigned int ubrr = (F_CPU+calib_korrektur)/16/baud-1; statt unsigned int ubrr = F_CPU/16/baud-1; Die Frage ist, ob der Rückschluss des Messwerts
ATMega328P, wenn einem die Nano Beschaltung sowieso nicht passt.
-
Thread
[S] MPU (Z80/6502/68k)
Vorteil davon war, daß das Ding bei der Programmierung PC-kompatibel war, der Nachteil, daß es jeder ATMega um Längen versägt. Aus heutiger Sicht würde ich bei sowas einen C64 empfehlen. Da bekommt man direkt nach dem Einschalten eine Basic-Umgebung, mit der man das ganze System problemlos erforschen
UM6502A 1 x R65C22P-2 1 x 65SC51PI-1 2 x P8052-BASIC 2 x INS8154 1 x D8279D-5 2 x PCB 80C31BH-3 16P 1 x MC68230P8 1 x M5L8251AP-5 1 x µPB8212C 1 x INS8255N 1 x D7002 9 x EF68P50P 7 x MC68HC901 1 x PCB 80C552-5 1 x SAB 80C535-N auf Demo-Paltine mit 74HCT573 + 2 x 28pol. Die hatte ich als
-
Artikel
ZAtmel: ein minimalistisches Z80-System
Der ZAtmel ist ein minimalistisches Z80 System und besteht eigentlich nur aus 2 Schaltkreisen. Z80 ATmega1284P Der Z80 wird mit 2,5 Mhz getaktet. Es stehen 48 kByte ROM und 16 kByte RAM zur Verfügung. Als E/A gibt es eine 'kleine' SIO. Darüber kann über ein Terminal auf die Z80-Software zugegriffen werden
gestartet: Der Schaltplan V1.0: V1.1 vom 6.12.2014: Resetlogik entfernt, dass übernimmt jetzt der ATMega. Jetzt sind es tatsächlich nur noch 2 Schaltkreise :) Der Schaltplan V1.1:
-
Thread
Wanderkiste Widlar VII
Bevor ich die Kiste wieder packe: Ist jemand an winzigen 1/16W-Widerständen (THT) interessiert? Sind sowohl gerade als auch "krumme" Werte.
Guten Morgen zusammen, bei mir sind 16 kg Elektronik und ähnliches aufgeschlagen. Ich habe bereits einen Blick reinwerfen können, kann aber leider erst am langen WE ausführlich reinschauen. Samstag oder Montag geht der Trümmer dann
-
Thread
Welchen Mikrocontroller für Millisekunden-Stoppuhr?
Maxim B. schrieb im Beitrag #7830232: > meine erste Wahl wäre ATMega1284P. Und kein Arduino jeglicher Art. 16k > SRAM, JTAG-Debug. Gibt es einen besonderen Grund fuer 128 k Flash und 16 k RAM? Ein Glass-LCD kann er ja wohl nicht direkt treiben. Und JTAG gibt
Maxim B. schrieb im Beitrag #7830232: > meine erste Wahl wäre ATMega1284P. Und kein Arduino jeglicher Art. 16k > SRAM, JTAG-Debug. 16k SRAM für eine Stoppuhr? Meinst du kBit?
-
Thread
HTK16K33 C lib für avr.gcc gesucht
Hat jemand zufällig einen lauffähigen avr.gcc C-Code(schnipsel), um den HTK16K33 Anzeigen-IC anzusteuern? Ziel MCU ist ein ATMEGA328, aber solange es in C für den avr.gcc Compiler gedacht ist, sollte es mir weiterhelfen. Jede weiterführende Hilfe ist herzlich willkommen!
-
Artikel
Launchprog
trotzdem. Rick Kimballs Soft-UART-Software besaß eine Möglichkeit, an P1.0 ACLK(32kHz) und an P1.4 SMCLK(16MHz) auszugeben. Man konnte so die korrekte Funktion des Uhrenquarzes und der Synchronisationsroutine mit den 16MHz überprüfen. Das musste nach einem ersten Funktionstest rausfliegen, da sonst zuwenig
Konfigurationen. Folgende Prozessoren sind mit Launchprog v1.2 + AVRDUDE getestet worden: Target-AVR ATmega16 ATmega8 ATtiny2313A ATtiny13A AT90USB162[2] Avrdude Version 5.11 5.8 5.8 5.11 5.11 Flash Prog. Launchprog [1] Verify Flash Launchprog [1] Verify Flash USBasp - EEPROM Prog. Launchprog [1] - Verify
-
Thread
Hat hier schon mal jemand einen WinXP-Treiber nach Win7/64 konvertiert?
ARDUINO); // ardu_ if(ARDUINO>=10000) { Serial.print(ARDUINO/10000); Serial.print("."); uint16_t rest2 = ARDUINO-((uint16_t)(ARDUINO/10000)) * 10000; if(rest2>=100) { Serial.print(rest2/100); Serial.print("."); uint16_t rest1 = rest2-((uint16_t)(rest2/100)) * 100; if(
ARDUINO); // ardu_ if(ARDUINO>=10000) { Serial.print(ARDUINO/10000); Serial.print("."); uint16_t rest2 = ARDUINO-((uint16_t)(ARDUINO/10000)) * 10000; if(rest2>=100) { Serial.print(rest2/100); Serial.print("."); uint16_t rest1 = rest2-((uint16_t)(rest2/100)) * 100; if(
-
Thread
Universalsteuerung mit ESP8266 - Verbesserungen?
Hallo zusammen. Vor ca. einem Jahr habe ich das Atmega-Universalcontrollerprojekt begraben und jetz ein neues mit dem ESP8266 gestartet. Damals hatten sich Fehler erst bei den fertigen Platinen bemerkbar gemacht, deshalb möchte ich mir gern jetzt vorher Feedback holen. Gedacht ist, dass 16 Relais geschalten werden können. Drei Eingänge als isolierter Digital-In und ein Analoger mit 0-10V stehen zur Verfügung. Sind mir Denkfehler unterlaufen? Wer möchte, kann das fertige Projekt
-
Artikel
AVR-Tutorial: Timer
Ausgabepin erzeugen. … Aber der Reihe nach und kurz zur Erinnerung: Die Beispiele passen zu einem ATmega8 und ggf. einer Reihe anderer AVR, können bei einigen Typen aber abweichen. Was ist ein Timer?. Ein Timer ist im Grunde nichts anderes als ein bestimmtes Register im Mikrocontroller, das hardwaregesteuert
eines einstellbaren Taktteiler-Verhältnisses. Literatur. Datenblatt des Mikrocontrollers, hier z. B. ATmega8 (PDF; 6,3 MB) Application Note AVR130: Setup and Use of AVR Timers (PDF; 512 KB) Weblinks. Timer/Counter und PWM beim ATMega16 Mikrocontroller Proseminar von Marcel Jakobs, September 2006 (PDF) AVR
-
Thread
gcc auf dem pc ausführen
folgender Test, der ca. 2*16000000 24-Bit Multiplikation testet [c]#include <stdint.h> void test_mul16 (void) { uint16_t a = 0; do { uint8_t b = 0; do { __uint24 ab1 = (__uint24) a * b; __asm ("" : "+r" (a), "+r" (b)); _
Hardware gebunden, d.h. per Linker-Flags kann man ein größeres RAM darstellen. Man kann etwa einen ATmega4808 nehmen, und ihm knapp 16K RAM verpassen bis 0x4000. (Ab 4000 ist der Flash im RAM-Adressraum sichtbar, man braucht also auch kein PROGMEM und so Gehampel um RAM zu sparen, da .rodata im Flash
-
Thread
SDRAM mit Atmega328P
Dann nimm wenigstens einen ATmega162 oder ATmega2560, die haben ein Memory-Interface (8Bit, 64kB). Ohne Banking wird das also nichts. Mit dem ALE-Signal könnte man das RAS/CAS umschalten.
massiv unter der Segmentitis, die auch auf dem 386 weiterbestand, denn was da lief, war weiterhin 16-Bit-Code.
-
Thread
Stromverbrauchoptiomierung
0.25V-1V 1-3uA) GS7159 (2uA/2.3-5.5V/150mA) LR1101 (100mA 1.2-5V aus 6V, 4uA) LR1012 (50mA 2.5uA bis 16V) AP7381 (2.8/3.3/5/7V fixed, 3.3-40V 150mA 2.5uA) MCP1702/1703 (2uA/250mA/16V Microchip Reichelt) GS7118 (50mA, 4uA/3.8-24V) RT9072 (Richtek, 1.25-60V, 20mA 80V 23uA Iq 3uA shutdown) XC6220 (1.6-6V
der Ladung. Bei geringem Strom kommen die MCP1702 unter 150mV drop. Mein Spannungslogger mit ATMega328, ADS1115 und SD-Karte schreibt alle 10s den Wert auf und läuft mit einer guten 18650 ca. 500 Stunden. Das System spielt noch bis 3,0 Volt zuverlässig und bekommt damit den Akku auf 3,3 Volt herunter
-
Thread
AVR64DD32, UART-Ausgabe bleibt hängen, Assembler
166: 78 94 sei <--------------------------------------- 168: bf 91 pop r27 16a: af 91 pop r26 16c: 9f 91 pop r25 16e: 8f 91 pop r24 170: 7f 91 pop r23 172: 6f 91 pop r22 174: 5f 91 pop r21 176: 4f 91
Parbleu! Und mit dem ATmega328P als Slave funktionierte alles?
-
Artikel
Interrupt
Interrupt erfolgt, wird ein falscher Wert gelesen. Wenn beispielsweise eine Interrupt-Routine einen 16-Bit-Zähler verwendet und von 0x00FF auf 0x0100 hochzählt, dann kann das Hauptprogramm auch schon mal versehentlich die Werte 0x01FF oder 0x0000 lesen. Ein Beispiel. Das Lesen von var ist in C nur ein
sind mit WINAVR 20060421 compiliert und getestet worden. Als Mikrocontroller wird ein AVR vom Typ ATmega32 verwendet. Alle Programme wurden mit Optimierungsstufe -Os compiliert. Steuersignale zwischen ISR und Hauptprogramm. In vielen Anwendungen wird ein Timer verwendet, um in regelmäßigen Abständen bestimmte
-
Artikel
AVR-Tutorial: Interrupts
festgelegte Zeitspanne abgelaufen ist (Timer) eine serielle Übertragung abgeschlossen ist (UART) … Der ATmega8 besitzt 18 verschiedene Interruptquellen. Standardmäßig sind diese alle deaktiviert und müssen über verschiedene IO-Register einzeln eingeschaltet werden. Zusätzlich muss mit sei() auch das I-Flag
USART-Datenregister leer 14 0x00D USART_TX USART-Sendung abgeschlossen 15 0x00E ADC AD-Wandlung abgeschlossen 16 0x00F EE_RDY EEPROM bereit 17 0x010 ANA_COMP Analogkomparator 18 0x011 TWI Two-Wire Interface 19 0x012 SPM_RDY Store Program Memory Ready Die Spalten „Nummer“ und „Adresse“ sind so im Original-Datenblatt
-
Thread
ATtiny12: Assembler in Atmel Studio 7
Interrupt-Vektoren .org 0x00 rjmp main reti reti reti reti reti .org 0x06 main: ldi R16, 0b00011001 out DDRB, R16 // Output Pins ldi R16, 0b00011001 out PORTB, R16 // Output Pins auf High loop: rjmp loop // Endlosschleife [/code]
auch keine Interrupttabelle. Probier mal: [code] .include "tn12def.inc" .cseg .org 0x00 ldi r16,0b00011001 out DDRB,r16 ldi r16,0b00011001 out PORTB,r16 hang: rjmp hang [/code]
-
Artikel
AVR HV-Programmer
Arduino-based AVR High Voltage Programmer (PP) Parallel HV-Programmer von ElmChan (ChaN) (HVSP, PP, TPI) Atmega fusebit doctor (HVSP, PP) HVSP Fusebit Programmer (HVSP, auch stand-alone ohne PC nutzbar) ATtiny Fuse Restore Anleitung für einen einfach aufzubauenden ATtiny Fuse Resetter mit AVR-GCC Software von
Hochvolt-Ausprägung. Deshalb habe ich hier ein nachbaufähiges Muster entwickelt. Es basiert auf ATmega16U2, der bereits einen Urlader mitbringt. Der Gerätezugriff darauf erfolgt noch nicht mit avrpp.exe sondern avrdude -c stk600 bzw. stk600pp bzw. stk600hvsp . Unterstützung für PIC ist ebenfalls vorgesehen
-
Thread
Uhr mit STM8Sxx3 und TM1637
es eine BCD-Uhr mit dem alten ATtiny2313). In dem dortigen Thread hatte ich eine Uhr mittels ATmega und gemultiplexter Anzeige (und Transistoren als Stromtreiber) auf Steckbrett aufgebaut gehabt und dachte mir, nachdem die Preise für PCB-Fertigung ins Bodenlose gefallen waren ich mache mal wirklich
Controller eine Rolle spielen können. Und (so als Schlußwort): es ist egal, ob der Controller mit 8, 16 oder 32-Bit werkelt, hauptsache er ist seiner Problemstellung gewachsen.
-
Thread
WebUSB und WebSerial vertragen sich nicht
per COM-Port als auch per WinUSB komplett ansprechen. Die für USB zuständige Firmware sitzt im ATmega16U2 des Unos. Auch im Browser klappte es /zunächst/ mit WebUSB als auch WebSerial. Nach einigen Kode-Änderungen funktionierte plötzlich WebUSB nicht mehr. Nach dem Rollback _auch nicht mehr!_
-
Thread
ESP32 und die "String" Funktion: Finger weg!
wlan-mit-esp8266-und-esp32 Arbeite mich momentan auch da rein, bis jetzt habe ich es auf einem ATmega2560 gemacht nach: https://werner.rothschopf.net/202001_arduino_webserver_post.htm mit genau den Problemen! Allerdings mit der Stream-Library, da wird nicht der ganze Riesenstring am Schluss versendet
color: #2EFE2E;\ font-family: Verdana, Arial, sans-serif;\ font-size: 16px;}\ </style>\ <meta charset=\"UTF-8\">\ <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>\ <meta http-equiv=\"refresh\" content=\"10\">\ </head>");
-
Thread
Startadresse Programm
Hallo, Ich habe eine Steuerung mit einem Atmega64-16AU für einen kleinen Güterzug bei der so ziemlich alles defekt war. Die Defekte wurde behoben und der Atmel auch mit getauscht. Die Firmware, die per Download bereit gestellt wird, habe ich auch
> wie meinen sie das? Im Auslieferungszustand des ATmega64 ist das Fuse-Bit M103C gesetzt, d.h. der uC arbeitet als ATmega103. Also ohne Kenntnis der Fuse-Bytes des Güterzuges wird es jetzt etwas schwierig ...
-
Thread
Wetterstation so umbauen, dass die Daten gespeichert und / oder versandt werden können.
NRF24 + Atmega328 + SHT21 o.Ä + CR2032 lässt sich klein und unauffällig in einer Wohnung verbauen, und funkt dir 10 Jahre lang die Temperatur+Luftfeuchte bevor ein Batteriewechsel ansteht.
Εrnst B. schrieb im Beitrag #7813879: > NRF24 + Atmega328 + SHT21 o.Ä + CR2032 lässt sich klein und unauffällig > in einer Wohnung verbauen, und funkt dir 10 Jahre lang die > Temperatur+Luftfeuchte bevor ein Batteriewechsel ansteht. Das hört sich