-
Thread
Dell Akku zweckentfremden
nicht genau) benutzt, weil ich das Analog-Frontend ganz gut fand. Als MCU habe ich dann aber einen ATmega328 benutzt, da ich keinerlei Interesse an smart battery hatte, was der bq2085 halt eingebaut hat.
Wenn du deinen ATmega328 Code noch findest kannst Du ihn ja hier mal verlinken. Glaub zwar nicht dass ich je damit was anfangen werde, aber es würde doch gut in den Thread passen. Und die Pinbelegung im OP bitte korrigieren
-
Thread
Instrumentenverstärker für DMS
5.8uV. Dein OpAmp hat 200uV Offsetspannung, also weit weit weg von dem. Nimm lieber einen MCP6N16 oder LMP8358MA, die sind immer noch genauer, selbst wenn der DMS mit 5V läuft oder 2.5V
Manfred P. schrieb im Beitrag #7435487: > Schaust Du ATMega328 (Arduino Uno), da ist Vref = Ub. Genau, schaust du Datenblatt ATmega328. Wenn man AVCC als Referenz wählt, ist Vref=Ub. Wenn man eine der anderen, in der Tabelle "Voltage Reference Selections
-
Thread
[S] C64 im Bereich Berlin-Köpenick
Hallo, ich könnte einen KC87 mit 16K Erweiterung und Bausatz zum Anschluß am TV anbieten (in Köpenick).
und OR beherrscht, evtl. noch XOR, dann kommt man damit schon ein ganzes Stück. Die Bit-Werte bis 16 kann ich problemlos aus dem Kopf aufzählen 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 (65536), wenn man mehrere Bits braucht, muss man das halt schnell addieren oder für langsamen Kram
-
Thread
AVR64DD28 Clock Source ändern
include <avr/io.h> int main(void) { CPU_CCP = CCP_IOREG_gc; CLKCTRL.OSCHFCTRLA = 0b00011100; // 16 MHz output VPORTA_DIR = 0x80; while (1) VPORTA_IN = 0x80; } [/c] Auf PA7 2.67 MHz, mal 6 ergibt die gewünschten 16 MHz.
io.h> > int main(void) > { > CPU_CCP = CCP_IOREG_gc; > CLKCTRL.OSCHFCTRLA = 0b00011100; // 16 MHz output > VPORTA_DIR = 0x80; > while (1) VPORTA_IN = 0x80; > } > Auf PA7 2.67 MHz, mal 6 ergibt die gewünschten 16 MHz. Ganz lieben dank! Hat sofort funktioniert. Und dass man das CCP
-
Thread
Rechtecksignal
schrieb im Beitrag #7427984: > Was könnte hierbei in Frage kommen? Nicht die internen Timer des ATmega. Es nützt auch nichts, 16MHz durch 10 zu teilen bis bei 12000 Umdrehungen pro Minute alle 625ns ein Zustandswechsel erfolgt, weil der nächste Teiler dann 11 ist und nur noch 10909 Umdrehungen
, an denen man bei passender Programmierung unmittelbar ein Rechtecksignal abnehmen kann. Der ATmega328 mit 16 Megahertz zum Beispiel hat solche Timer, die Rechteck-Signale bis 8 MHz ausgeben können. Er hat auch einen Input-Capture-Eingang, über den man die gewünschte Frequenz per Software ermitteln
-
Thread
OC0A & OC0B gleichzeitig toggeln?
sein. Ich denke also, das müßte korrekterweise so lauten: [asm] .EQU F_OUT = 125000 ldi R16, (FCLOCK + F_OUT / 2) / (2 * F_OUT) - 1 ; 63 out OCR0A, R16 out OCR0B, R16 ldi R16,(1<<COM0A0) | (1<<COM0B0) | (1<<WGM01) out TCCR0A,R16 ldi R16, (1<<CS00) | (1<<FOC0B) out TCCR0B,
will, müßte das natürlich auch für beide Kanäle gleichzeitig erfolgen. Also etwa so: [asm] in R16, DDRD ori R16, (1<<DDD6) | (1<<DDD5) out DDRD, R16 [/asm]
-
Thread
STM32 counter up/down mit Step/Dir Signalen
-- X_step: $asm in r8,SREG sbic pinB , 0 'Dir Pin Subi R16 , 2 '-2 add r16,r28 '+1 mov r17,r16 'copy ANDI r17, &B00000011
zuvor allein per Software gelaufen ist. Selber würde ich die Lösung niemals in nur einen einzigen ATmega328 packen. Gerhard H. schrieb im Beitrag #7426389: >> Bleibt noch offen, ob Dir die teilweise nur 16 Bit breiten Zähler im >> F411 auch reichen. Diese per Software zu vergößern könnte wegen >
-
Thread
Welche Low Cost 32 Bit MCU Familie? Gesperrt
soweit, dass mehrere Firmen > gezielt neue Microcontroller auf den Markt bringen, um 8 Bitter (und 16 > bitter) zu vedrängen. Na klar Du Träumer. Jetzt ist es soweit! Hast Dir einen herzlichen Lacher verdient!
nimm den für 1,30 EUR im TSSOP-20: https://www.reichelt.de/arm-cortex-m0-mikrocontroller-32-bit-3v-16-kb-tssop-20-stm-32f030f4p6-p168428.html * 48 MHz * 16Kb Flash * 4 KB RAM * 5 Timer * 15 I/Os * 5 Kanal DMA * 1 I²C * 1 SPI * 11 ADC * 1 USART P.S. Gibts für denselben Preis auch mit
-
Thread
GNU Assembler erzeugt Label mit nicht druckbaren Zeichen?
i; callee (&i); }[/c] Das compilieren und disassemblieren: [avrasm] $ avr-gcc -mmcu=atmega8 frame.c -Os -c && avr-objdump -d frame.o [...] 00000000 <func>: 0: cf 93 push r28 2: df 93 push r29 4: 00 d0 rcall .+0 ; 0x6 <L0^A> 00000006
0xa> 10: 0f 90 pop r0 12: 0f 90 pop r0 14: df 91 pop r29 16: cf 91 pop r28 18: 08 95 ret [/avrasm] Nach dem "rcall .", das 2 Byte Stack für i allokiert, fügt der Assembler ein Label mit dem nicht druckbaren Zeichen ^A ein. Die Länge
-
Thread
Atmega32U4 per Flip flashen und als COM-Port in Terminalprogramm ansprechbar
Hallo zusammen, ich habe eine kleine Platine mit einem ATmega32U4 Controller selbst aufgebaut, und würde diese gerne einen im Microchip Studio entwickelten Code als Hex-File per Flip über die USB Schnittstelle auf das Gerät flashen. Reicht der Bootloader ab
keinen Booloader beim 32U4. Hat er! Wird aber ganz fix überschrieben, und dann isser weg. Die 16U2 und 8U2 haben einen unlöschbaren Bootloader. Beachtenswert: 1. Fuses 2. /HB Pin
-
Thread
MOSFET macht nicht was er soll
Ein ATMega168 liefert problemlos 10mA am Ausgang. Mit 330R auf eine NPN Basis kann man mit einem BD139-16 für 25ct leicht ein halbes Ampere schalten. Selbst ein BC337 für 5ct reicht für >100mA. Der LED Strom
-
Thread
Hardware Interrupt ohne Jitter
Was für ein Arduino soll das sein? Bei den üblichen 16MHz sind die 62,5 ns gerade mal ein CPU Takt. Ein geringerer Jitter geht schon aufgrund der Zeitquantisierung gar nicht. Das Lauchpad hat ne ARM CPU, da gibts noch viel mehr Faktoren die das Zeitverhalten
innerhalb eines Taktzyklus, 62,5ns und 12,5ns Wie hast du eigentlich den Δt-Jitter auf einem Atmega328P auf nur einen Taktzyklus beschränkt? Der Atmega328P hat doch gar keinen Eingang der einen Timer zurücksetzt. Was übersehe ich? LG, Sebastian
-
Thread
AVR ATtiny Stromaufnahme
Tja, merkwürdig: mein ATmega4809 nimmt 360 uA auf, ist jedoch mit 130 + 7.4 bei OSC20M angegeben; mit OSC16M sind es immer noch 290 uA. Ich sehe aber keinen Fehler im Programm.
Oszillatorsignals über den Chip zusätzlichen Strom benötigt, und je größer der Chip, wie bei meinen ATmega4809 bzw. AVR128DB28, umso mehr: ATtiny402: +80 %, ATmega4809: +110 %, AVR128DB28: +240 %.
-
Thread
Hex File von Atmega16 in Atmega32 verwandeln
Guten Morgen, da wir keine Atmega16 auftreiben können und jede Menge Atmega32 am Lager haben war die Überlegung die Atmega32 zu verwenden. Leider habe ich für diese Baugruppe keinen Quellcode mehr. Ist es möglich das Hexfile so anzupassen
In den ersten Datenblättern des ATmega8 waren JMP und CALL noch aufgeführt und wurden korrekt ausgeführt. Quasi der CPU-Core des ATmega16.
-
Thread
Welche 8-Bit-Architekturen werden in 10 Jahren relevant sein? Gesperrt
Bei der aktuellen Inflationsrate haben 8-Bit CPUs in 10 Jahren fast 16 Bit! ;-)
Damit meine ich konkret: ATtiny 25, 45, 85 ATtiny 24, 44, 84, 441, 841 ATtiny 261, 461, 861 ATmega 48, 88, 168, 328 ATmega 164, 324, 644, 1284 ATmega 1281, 2561 ATmega 640, 1280, 2560
-
Thread
ATmega8, C Fleury Lib EEprom (FM24C64B)
Hi, ich möchte mit einem ATmega8 in C programmiert mit Felury Lib ein FM24C64B lesen und beschreiben, andere Geräte funktionieren am I2C Bus. Nur das lesen des F-Rams geling tmir noch nicht. Der Code sieht so aus: #define Dev24C02
unterschiedlich gesetzt sein. Das > sollte aber klar sein. Sowohl die Fleury-Lib als auch der ATMega haben mit extended I²C ungefähr soviel am Hut wie eine Dampfmaschine mit Raketentreibstoff. Die Einschränkung kommt vom EEProm, spielt aber hier keine Rolle. Oliver
-
Thread
Windows 11, AVR-GCC: Pfade setzen
1 [/pre] Makefile: [pre] # # $Id$ # CC= avr-gcc #MCU=atmega8 #MCU=atmega16 #MCU=atmega32 #MCU=atmega163 #MCU=atmega323 MCU=atmega128 CFLAGS= -O -g -Wall -ffreestanding -mmcu=$(MCU) .SUFFIXES: .s .bin .out .hex .srec .c.s: $(CC) $(CFLAGS) -S $<
makefile hinzugefügt. Hier die Ausgabe: [pre] avr-gcc -v -O -g -Wall -ffreestanding -mmcu=atmega128 -c -o twitest.o twitest.c Using built-in specs. Reading specs from device-specs/specs-atmega128 avr-gcc: fatal error: cannot read spec file 'device-specs/specs-atmega128': No such file or directory
-
Thread
LIDL Balkonkraftwerk Gesperrt
Panel: open spannung 30V, MPP spannung 25V. WR: 16V - 35V. Heisst schlecht erweiterbar, ein normales 340W panel mit 40V open spannung ist für den WR zuviel. Schade.
wertvolles Gas im Winter. Win-win Ansonsten müssten sie nicht abends, sondern mittags zwischen 12-16 vor dem TV schimmeln!
-
Thread
Untersuchung defektes VW Türsteuergerät
Aufschriften "SP100", > "897VFA", "2L31N" und "CTCTANO703"? Mask Set "2L31N" sollte ein MC68HC908EY16 oder MC68HC908EY8 sein.
Resonator nichts drauf steht: Der 6Y2959802 braucht da keine 4MHz wie man denken könnte, sondern satte 16MHz. Und bevor man da versucht einen 1,2mm Pitch und Fädeldrähtchen als Dead-Buck neben zu setzen: Exakt diesen 16MHz Resonator mit 0,8mm Pitch gibt es auf den billigen Ardunio-NANO's! Jürgen Hüser
-
Artikel
PIC
seine gesamte Controller-Palette auf Flash um und zog so den Bastler weg vom PIC16F84 hin zu AVR, etwa den heute veralteten AT90S4433, der pinkompatible Vorläufer des ATmega8 und später ATmega328, das Arbeitspferd des Arduino Uno. Inzwischen hat Microchip schon längst nachgezogen und
) 3,15€ 1,60€ + PIC16F887 vs. PIC16F1939 PIC16F887 PIC16F1939 ROM/Flash 8k Word 16k Word SRAM 368 Byte 1024 Byte EEPROM 256 Byte 256 Byte Pins/IOs 40/36 40/36 Max. Frequenz 20MHz 32MHz Internal Oscillator 8MHz, 32kHz 32MHz
-
Thread
Arduino Nano lässt plötzlich keinen Code mehr hochladen
-w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega328p -o "C:\\Users\\david\\AppData\\Local\\Temp\\arduino_build_113400/V2.4.ino.elf" "C:\\Users\\david\\AppData\\Local\\Temp\\arduino_build_113400\\sketch\\V2.4.ino.cpp.o" "C:\\Users\\david\\AppData\
andere Arduinos, aber die passen > wegen der Baugröße nicht. Es würde wohl ausreichen, den Atmega328P zu tauschen ... LG, Sebastian
-
Thread
DC Motor piepst/jault bei PWM-Ansteuerung mit Atmega 168p
Hallo zusammen, ich möchte mittels Arduino Nano (Nano v3 ATMega168P) und einem MOSFET (IRFZ44N) einen 5V DC Motor ansteuern, um dessen Drehzahl zu steuern. Dazu verwende ich folgenden Aufbau, nur nicht mit 9V Batterie, sondern mit einem 5V-Netzteil: https://www.aeq-web.com
#7412024: > der 5V-Motor zieht 1,6 A bei 5 V Beim Anlaufen und Blockieren also schätzungsweise 10-16 A. Gut dass du so einen "großen" MOSFET gewählt hast.
-
Thread
[AVR] Modulo funktioniert nicht richtig
viel weniger Speicher:[c]#include <stdio.h> #include <stdint.h> typedef uint8_t uint8; typedef uint16_t uint16; uint8 toDigits(uint16 number, uint8* digits) { uint8 ret = 0; do { digits[ret] = number%10; ret++; } while((number = number/10) > 0); return ret; } void main(void
] #include <stdint.h> #include <stdlib.h> void ausgabe_string (const char*); void ausgabe_u16 (uint16_t n) { static char str[6]; ausgabe_string (utoa (n, str, 10)); } int main (void) { ausgabe_u16 (1234); ausgabe_u16 (0); } [/c] https://www.nongnu.org/avr-libc
-
Thread
Hochladen von Sketchen auf den ATMEGA328P-PU Standalone mit ftdi- Adapter fehlerhaft.
Joachim B. schrieb im Beitrag #7407761: > serienmäßig startet ein > ATmega doch mit 8MHz intern 1MHz
> Es tut mir sehr Leid, das hilft nicht bei deinem direkten Problem. Genau, lass uns mal beim ATmega328 bleiben.
-
Thread
Reset ohne Reset-Pin?
simples Zeitglied ohne Spannungskomparator reicht nicht, aber er hat nur abgewinkt. Erst mit den Atmega hat Atmel nachgebessert. Ich hatte sogar schon ein Gerät mit einem AT90Sxx gebaut. Beim abschließenden Test mit 10 mal Netzschalter ein/aus, blieb er beim 10. mal hängen. Ab in die Tonne. (nichtmal
Als Slave nehme ich die üblichen Chips (IO-Expander, ADC, DAC, EEPROM, RTC). Ich hab mal den ATmega8 als Slave programmiert, da mußte ich haufenweise Recovery-Code einbauen. Nie wieder!
-
Thread
Suche Programmgerüst: USB-Kommunikation und Daten Ein/Ausgabe Windows
Toolchain Der Controller wird relativ leistungsschwach, wahrscheinlich reicht ein AVR wie ein ATMega 644/1284 locker, Anbindung vielleicht über den guten alten FT232. Das Programm sollte diesen Controller finden können wenn er via USB an einen Computer angeschlossen und mit ihm kommunizieren können
hat richtig Spaß gemacht. Etwa zur gleichen Zeit der erste Kontakt mit Mikrocontrollern (ominösen PIC16irgendwas in einer Notbeleuchtung gefunden, der entschieden zuviel konnte als mit einem CMOS oder TTL-Baustein erklärbar gewesen wäre). Dabei ists bis heute geblieben, zwischen AVR Assembler (die PICs
-
Thread
AVR, Atmega644 SPI im Bootloader kein output
länger den CAN-Bus Bootloader von Fabian Greif und hab ihn erweitert. Hauptsächlich verwende ich die ATMEGA328 und jetzt habe ich ihn auf den ATmega644 und 1282 erweitern wollen nur leider kommen keine Daten aus dem SPI raus (Oszi). Ich habe mal die spi_putc ausgelagert in eine C-Funktion um mit LED auszugeben
: Im eingangs gezeigten Programmausschnitt sieht es so aus, als sei vergessen worden, /SS von ATmega328.PB2 auf ATmega644.PB4 umzuziehen. Wenn nun PB4 auf der Reset-Einstellung 'Eingang' geblieben ist und, wie auch immer, von außen auf Low gezogen wird, dann führt ein Laden von SPDR direkt zu besagtem
-
Thread
Netzfrequenz messen mit ESP82 oder ESP32
eine höhere Auflösung führt man die 50Hz aber besser auf den ICP1 (=PB0) des völlig ausreichenden ATmega48.
braucht es nur noch Grundschul-Mathematik. 16-Bit-Timer mit ICP gibt es schon ab ATTiny24... Bei mir sind es 12,8 MHz / 8 = 1,600000 MHz, die in 1/50 s den Zählerstand um 32000 erhöhen. Über 10 Perioden (1/5 s) ist die Erfassung auf 50,000 Hz
-
Thread
Welchen Atmega2560 bei 3,3V?
0 - 16MHz @ 4.5V - 5.5V – ATmega2560/ATmega2561: • 0 - 16MHz @ 4.5V - 5.5V
Product Change Notification / JAON-05RAOK230 Lies sie doch einfach zu Ende. ;-) Die betrifft den ATMEGA2560-16AUA0, recommended replacement, oh Wunder, ist ATMEGA2560-16AU (die V-Varianten jeweils genauso).
-
Thread
Nachfolger vom ATMEGA2560?
Um doch noch etwas Staub aufzuwirbeln.. Der ATMega2560 ist im Dokument DS40002211 spezifiziert. Dort ist auf der Frontseite vermerkt : ATmega2560/ATmega2561: 0 - 16MHz @ 4.5V - 5.5V Im Kapitel 31.1 auf Seite 356 : als PowerSupply current : [
schrieb im Beitrag #7404972: > Und dort im DB steht auf Seite 1 unten [pre] Speed Grade: ATmega2560V/ATmega2561V: • 0 - 2MHz @ 1.8V - 5.5V, 0 - 8MHz @ 2.7V - 5.5V ATmega2560/ATmega2561: • 0 - 16MHz @ 4.5V - 5.5V [/pre]
-
Thread
STM32 NUCLEO H743ZI - Ethernet / WebServer-Probleme
-02T16:13:54 INFO common.c: Attempting to write 207652 (0x32b24) bytes to stm32 address: 134217728 (0x8000000) 2023-05-02T16:13:55 INFO common.c: Flash page at addr: 0x08000000 erased 2023-05-02T16:13:56
: 0x00a937bc 2023-05-02T16:35:48 INFO common.c: Attempting to write 207652 (0x32b24) bytes to stm32 address: 134217728 (0x8000000) 2023-05-02T16:35:49 INFO common.c: Flash page at addr: 0x08000000 erased 2023-05-02T16:35:50
-
Thread
MCU mit 24-Bit-SPI?
Beschreibung ist richtig, vielleicht solltest du mal Grundlagen zu SPI lesen. Viele Cortex-M haben 16 Bit Register, da ginge auch 16+8 oder 12+12 Bit.
ist, interessiert nicht. Einen Interrupt erhältst Du jeweils zur eingestellten Bitzahl je Wort (8, 16, 24 usw.)