-
Thread
Studienprojekt: Prototyp einer einfachen Digitalkamera
Anfangen würde ich mit einem Atmega328 (Arduino-Nano), 240x360 Lcd-Modul und vga-camera. Da lernst du, wie das mit dem Transport der von der camera aufgenommenen Bildpunkte zum Bildschirm oder zur Speicherkarte funktioniert.
lieber nicht ? Ein Sensor von zB 1000x1000 bringt bei 30 Frames/s schon 90MByte/s bei 3 Farben und 8 bit/farbe
-
Thread
USART tx-timing Problem
finde die Lösung nicht: [c] (mega328) serial_read(0x01030000000184ff); ..... uint8_t status_0tx_1rx = 0; void serial_read(uint64_t x) { //for (uint8_t i=14;i-=2;i<254) { PORTC|=(1<<2); ct_tx_isr=0; UCSR0A &=~ (1<<TXC0); serial_char((x>>(14*4)) & 0xff);
So mit einem Pointer auf ein Bytearray. [c] void serial_read(uint8_t *x) { uint8_t tmp; PORTC|=(1<<2); // Sender aktiv ct_tx_isr=0; for (uint8_t i=0; i < 8; i++) { while(!(UCSR0A & (1<<UDRE0)); serial_char(*
-
Thread
Verständnisfrage PWM mit AVR
> Wie viel Bit? Hast Recht, bei dem hat der Timer/Counter 1 tatsächlich nur 8 Bit. Wie gesagt bei den AVRs mit PLL kenne ich mich nicht gut aus, die PLL habe ich noch nie gebraucht.
die 6,5kHz mit 12Bit nur im Fast-PWM Mode möglich, wenn man sich auf ältere Controller Typen wie ATmega328P oder ATtiny24 o.ä. bezieht. Allerdings erzeugt der Fast-PWM Mode mit Compare Value 0 einen Nadelimpuls. Nimmt man einen anderen glitch free PWM Mode benötigt man die doppelte MCU Taktfrequenz für
-
Thread
BLDC Motorcontroller für weiten Drehzahlbereich
1000U/min waren als max. Drehzahl gefordert, dass sind 16,66U/s. Das ist für einen "normalen" 1,8° Schrittmotor schon sportlich und erfordert eine entsprechend hohe Versorgungsspannung. Viel Drehmoment liefert der Motor da nicht mehr. 10U/min als untere Drehzahl sind bei 1,8° 33,33 Vollschritte
Chopperfrequenz der Stromregelung garnicht beim Motor ankommen. Bei statischer Mikroschritteinstellung sind 1/8 oder 1/16 auch bei niedrigen Drehzahlen ein guter Kompromiss. Ein ATmega328 mit 20 MHz schafft inkl. Rampenberechnung etwa 50 kHz Schrittfrequenz, womit bei 1/8 Schritt die gewünschte Drehzahl von ca
-
Thread
ATmega: Wake-Up Zeit nach Power-Down
Hallo, ein ATmega168A soll aus dem Power-Down mit einem externen Interrupt geweckt werden. Die Fuses sind wie folgt eingestellt: int. RC Osc. 8MHz Start-Up Time PWRDWN/RESET: 6CK/14CK + 65ms Per Software wird
(): #elif defined(__AVR_ATmega8__) || defined(__AVR_ATmega48__) || defined(__AVR_ATmega48P__) \ || defined(__AVR_ATmega48PB__) || defined(__AVR_ATmega88__) || defined(__AVR_ATmega88P__) \ || defined(__AVR_ATmega88PB__)
-
Thread
LCD Display 4x20 zu Graphik Display 128x64
IDE. NB - ich habe ein 128x64 LCD (von POLLIN, LCD TG1286B-05, Best.Nr 120 423), das von einem ATMega168 per MCP23S17 (SPI) angesteuert wird - fkt prima. Mittels Arduino IDE wird das Programm erzeugt und dann per ISP auf den ATMega168 geladen (kein Boot-Loader). mfg Egon
liegen. Das mit einem zuzätzlichen Prozessor als I2C Slave habe ich auch im Netz gefunden, war der Atmega 328. War aber leider keine Angaben zum Programm dabei. Die Displays von Ali kannte ich bisher nicht und werde sie mir genau ansehen. Es sollte aber wenigstens 2,8' haben. Von EA gibt es auch verschiedene
-
Thread
Mikrocontroller wahl Gesperrt
gewaltig ist, dass es für mich als Anfänger doch sehr überwältigend ist. Ich habe bereits an den ATMega328 oder den ATSAMD21E gedacht. Der Mikrocontoller darf nicht größer als 6x6mm sein, zudem muss er arduino kompatibel sein. Die Sache die mich am meisten irritiert ist, auf welche Arten ein solcher
Familien gibt es Chips die das locker toppen. Für den Anfag nimmst Du am besten einen Arduino Nano (ATmega328)und bastelst Dir auf dem Steckbrett Deine Messschaltung zusammen. WENN es dann irgendwann mal läuft und Du die Hürden genommen hast, passt der ATmega328 im VQFN Gehäuse mit 4x4mm auch auf eine
-
Thread
Overflow-Interrupt, Globalvariable
sich mir gerade ein Problem, das ich mal auf den essentiellen Code reduziert habe. Controller: ATMEGA8 Compiler: GNU C-Compiler für AVR unter Linux Die einfache Aufgabe: Nach Start des Programms soll eine bestimmte Zeit später eine Funktion ausgelöst werden. Simuliert wird dies durch eine LED (
Atomic angezeigt. Allerdings könnte der TO, sofern er wirklich nur bis 100 zählen will, einen uint8_t benutzen und sich Atomic sparen. Volatile ist auf jeden Fall notwendig. Grüße, Dirk
-
Thread
Mehrere Shields auf einem Arduino Uno R3: Verständnisfrage
shield attached to pins 10, 11, 12, 13 Display SPI Com: SCK = 13, MOSI = 11, CS = 10, CD = 9, RST = 8 Mir ist jetzt nicht ganz klar ob man überhaupt 2 Shields aufeinander stapeln kann, da ja zumindest 3 Anschlüsse (13, 11, 10) von beiden Shields verwendet werden? Könntet ihr mir da bitte weiterhelfen
sinnvoller Weise Interrupts verwenden. Da das SPI nicht reentrant ist, braucht man also 2 SPI. Beim ATmega328 kann man die UART als 2. SPI-Master benutzen. Die ist dann auch einen Zacken schneller, da mit Sendepuffer. Oder einen ATmega328PB mit 2 SPI und 2 UARTS.
-
Thread
Temperatur-Sensor für Funkübertragung, Schaltplanidee
Temperatursensor AT30TSE752A, er misst mit +-0,5° braucht nur <0,3mA und läuft bereits ab 1,7V. Der Atmega arbeitet ab 1,8V. Wäre interessant um Temperaturen über einen längeren Zeitraum zu messen. -->Und bei bedarf noch per Funk zu verschicken. Daher diese kleine Schaltung, die +5V kommen auf zwei
dadurch auch. Ja, es gibt effizienteres und der STM33WL33 scheint interessant zu sein aber mit ATMEGA+HC12 hab ich schon einiges gemacht.
-
Thread
ATmega Power-Down und Wakeup mit INT0
Power-down, 'rising edge of INT0': von meinen 8ern wachen die neueren (ATmega48PA, ATmega328P) auf, die älteren (ATmega88, ATmega168) nicht.
S. L. schrieb im Beitrag #7768244: > Power-down, 'rising edge of INT0': von meinen 8ern wachen die neueren > (ATmega48PA, ATmega328P) auf, die älteren (ATmega88, ATmega168) nicht. Apropos neuere AVR: All pins can be used as event input. All pins can be used for external interrupt
-
Thread
ATmega: unerwatetes Reset
/ProductDetail/Microchip-Technology/ATMEGA328-PU?qs=lwdSMh1%2FoYJT8tfItQpQtA%3D%3D
Hmm, in dem nicht-automotive Datenblatt sind tatsächlich beide gelistet. ATmega328-PU ATmega328P-PU beide ab 1,8 V.
-
Thread
Daten per Audio übertragen
" AVR8 auf ca. 40kHz Samplefrequenz. Ist aber nicht mal nötig, denn DTMF funktioniert auch schon bei nur 8kHz Samplefrequenz. Spielt sich schließlich vollständig im Sprachband ab, also unterhalb ca. 3,5kHz
> die Frequenz verlgiechsweise tief setzen kann. Z.B. Mono 8000kHz. Naja, 8Mhz sind jetzt für Audio nicht besonders tief.
-
Thread
Atmega328p Stromversorgung
5V Netzteil ginge natürlich auch. Ich weiß nur nicht ob diese eine genug Stabile Spannung für den Atmega liefern.
USB An 5V vom Arduino Nano hängt das https://www.makershop.de/display/led-matrix/dot-matrix-modul-8x8-max7219/ Auf das PCB würde das kommen https://www.tme.eu/de/details/fc68148/dc-steckverbinder/cliff/dc-10a-fc68148/
-
Thread
section `.data' is not within region `data'
Hallo, ich habe eine Software für einen ATMega162 mit externem RAM. avr-size gibt mir folgende Meldung: [c]AVR Memory Usage ---------------- Device: atmega162 Program: 6270 bytes (38.3% Full) (.text + .data + .bootloader) Data:
Ich weiss aber nicht, was ich dem Linker genau angeben muss bzw. wo > der Fehler liegt. Du hast 3k8 RAM, der Prozessor scheinbar nur etwa 1k, deshalb zu >>100% voll Andreas schrieb im Beitrag #7762094: > Data: 3846 bytes (375.6% Full) Kommt das in etwa hin? Also brauchst Du 3k8 RAM oder
-
Thread
"Intelligenter" Textdisplayadapter mit Padauk PFS154
nächste Ausgabestelle positioniert wird. Demoprogramme zur Verwendung des Adapters sind für STM8, AVR (ATmega, ATtiny) und PFS154 im Archiv enthalten. Sämtliche Software ist unter Linux mit den Compilern AVR-GCC und SDCC, die Programme können mit einem einfachen Aufruf von < make > compiliert
) und STM8S103 https://www.youtube.com/watch?v=-xmgHl9iW9o
-
Thread
Fehler bei avr-gcc 4.8.1 und nicht bei 4.3.3
mit den Versionen avr-gcc 7.3.0 und 5.4.0 compiliert. Da läuft sie einwandfrei. Mit der Version 4.8.1 habe ich es noch nicht getestet. Da ich das jetzt zum Anlass nehmen wollte mal auf die Version 7.3 umzusteigen, habe ich versucht die Software für den ATMega162 zu compilieren. Dabei habe ich aber
572169#new gibt. Nachdem das dann auf den anderen Controllern lief, habe ich das auch für den ATMega2560 getestet. Auch dort läuft es jetzt einwandfrei. Auch mit dem Compiler des Atmel-Studios (4.8.0) läuft es (bedingt) einwandfrei. Ich weiss definitiv, dass es, als der Thread von mir erstellt
-
Thread
SPI EEPROM durch lesen kaputt?
zu enablen. > > Harmoniert leider nicht so gut mit (langzeit-) Batteriebetrieb. Z.B. beim ATmega328P/PA kann man das BODS Bit vor dem Schlafen setzen.
Akronyme sowieso irreführend, da ein "TLC" Flash natürlich nicht drei Level (TL=Triple Level), sondern 8 Level unterscheiden muss, ein "QLC" (QL=Quad Level) 16 Level. Eigentlich müsste es also nicht SLC/MLC/TLC/QLC, sondern SBC(single Bit Cell)/DBC/TBC usw. heißen. Aber das Kind ist wohl in den Brunnen
-
Thread
neuer atmega328p
Rainer W. schrieb im Beitrag #7758755: > Wie hast du den Atmega beschaltet? Hi ich habe den Atmega sowohl im arduino Board eingesteckt und über die ISP-Schnittstelle. wie auf dem Steckbrett. Rst > 1 VCC > 7 gnd > 8 MOSI > 17 MISO > 18 SCK > 19 sowohl
habe in der avrdude.conf praktisch rückwärts gesucht. Die Signatur 1E 95 0F gibt es für ATA6614Q ATmega328P LGT8F328P Aber die Signatur 0x2e6176 gibt es nicht. Gesucht nach 0x2e 0x61 0x76. Wo hast du den ATmega her? Mach einmal nur Option -v. Was gibt dir avrdude aus?
-
Thread
Wer hat ein ILI9341 Display mit 5v im Betrieb?
Da steht zb 5V durch eingebauten Konverter anschließbar Und Leute, bitte bleibt beim Thema. 8 Antworten und keiner nimmt Bezug zum Thema...
Bei mir läuft das ILI9341-Display mit einem ATmega1284 mit 20MHz Takt. Als Pegelwandler ist von der MCU zum Display ein 74LCX541 verbaut. Die 3,3V Pegel vom Display zum ATmega gehen direkt auf den Port und machen hier keine Probleme. Das MISO-Signal
-
Thread
Wert in AVR Register laden: optimalen Code generieren?
ist fertig und läuft. Hier ein paar einfache Beispiele > mit generiertem Code vorher / nachher (ATmega8): Welche praktischen Nutzen hat die Geschichte? Dein Tests sind alle andere als praxisrelevant. Und long long auf nem 8 Bit AVR . . . . .
} int main (void) { return 0; }[/c] [pre] $ avr-gcc -Os demo.c -o demo.elf -mmcu=atmega8 && avr-objdump -d demo.elf ... 00000038 <__vector_1>: 38: c1 9a sbi 0x18, 1 ; 24 3a: 18 95 reti ... [/pre] https://gcc.gnu.org/gcc-8/changes.html#avr Release der
-
Thread
L293 als 5V -> 12V LevelShifter?
Hallo! Ich möchte mit meinem ATmega328 (5V) bei meiner Heizungsregelung UVR1611 am DL-Bus senden. Der DL-Bus hat einen Spannungspegel von 0V / 12V. (488 Hz) Der Ausgang muss tristate Eigenschaften haben. Nach längeren Suchen hab
Rick M. schrieb im Beitrag #7757120: > Der CD40109 ist ein 8-fach LevelShifter. Der müsste im Prinzip auch > geeignet sein, kann aber leider kaum Strom liefern / aufnehmen. > Ich werd da aus dem Datenblatt nicht so wirklich schlau. Lt. Tabelle > kann der Ausgang
-
Thread
Hilfe bei dem RFID RC522 in Assembler
ich bräuchte Hilfe beim Ansteuern, bzw. in Betrieb setzen des RC522. Ich habe das Modul an einen ATMega16 per SPI angeschlossen und programmiere in Assembler. Man findet im Netz milliarden beispiele für die dämlichen Aruinos (sorry) und ihre Bibliotheken bei deren Benutzung man eh nichts lernt sondern
40kHz, ie a timer period of 25μs. PCD_WriteRegister(TReloadRegH, 0x03); // Reload timer with 0x3E8 = 1000, ie 25ms before timeout. PCD_WriteRegister(TReloadRegL, 0xE8); PCD_WriteRegister(TxASKReg, 0x40); // Default 0x00. Force a 100 % ASK modulation independent of the ModGsPReg register setting
-
Thread
Digitale Wasserwaage mit Arduino / Embedded
Transistor verträgt. Die Diode muss darunter liegen. Vielen Dank für den Hinweis, da läge ich bei 8,0V schon mit der 8,1er drüber. Habe die gegen 6,8V getauscht.
der > Transistor verträgt. Die Diode muss darunter liegen. Danke für den Tipp, da läge ich bei 8,0V mit der 8,1er schon drüber. Würde jetzt eine 6,8V nehmen.
-
Thread
Arduino-Sensorplatine, Bode 500, Raspberry Pi mit Grafikkarte uvam
. Von der Bestellpanik garnicht zu reden das man eine Nummer falsch schreibt und anstatt einem SOT8 kommt dann eine Induktivitaet auf dem Tieflader. :-) Vanye
sind die Zeiten von AZ11, OC-810 und NE555 weitestgehend vorbei, aber eingehende Namen wie Pentium, ATmega oder Zynq bleiben m.E. wesentlich besser im Gedächtnis haften, als die Bestellnummern von Würth oder Vishay, wo -gefühlt- unter 20 Stellen gar nix geht.
-
Thread
Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?
80 8D 80 1A A9 08 8D 0310: 82 1A 00 [/code]
dphase: .res 2 [/code] und hier wie immer der Code zum Eintippen: [code] 0300: A9 01 8D 83 1A A9 B8 8D 0308: 6B 03 A9 01 8D 6C 03 20 0310: 22 03 A9 4A 8D 6B 03 A9 0318: 02 8D 6C 03 20 22 03 4C 0320: 05 03 AD 6C 03 8D 70 03 0328: AD 6B 03 8D 6F 03 0E 6F 0330: 03 2E 70 03 0E 6F 03
-
Thread
Micropython und Esp32 statt Arduino ?
ich denke z.B. einen Timer auf Registerebene zu steuern wird beim ESP schwieriger sein als auf dem ATmega.
Reiner D. schrieb im Beitrag #7753674: > (Vergleiche ATMega : 1 > mikroSekunde Auflösung ist drin bei 16 Mhz Takt). Wenn du eine Million mal pro Sekunde etwas jeweils innerhalb von 16 Taktzyklen erledigen willst (ca. 8 bis 10 Assembler Befehle), dann ist
-
Thread
BME280 liefert zu genaue Ergebnisse :-)
ist ein BME280, als library habe ich Seeed_BME280 installiert. Plattform Arduino UNO, später dann atmega328 Barometrische Höhenformel ist 44330.0*(1-pow(P/P0,1/5.25588)) Da ich nur den relativen Unterschied haben will, setze ich im setup den Bezugsdruck P0 auf den aktuellen gemessenen Druck (soll
Daumen 10pa pro Meter. Die barometrische Höhenformel liefert für Meereshöhe eine Änderung von etwa 8m/hPa. Das kann man sich vielleicht gerade noch so merken, ohne einen noch breiteren Daumen drauf setzen zu müssen ;-) Bild: Druckänderung bei etwa 2m Höhenänderung
-
Thread
seriell auslesbare Taster/Schalter, Idee zur Diskussion
: Klassiker ATMEGA1284P-AUR : 6,65€ Modern AVR128DB48T-I/PT: 2,16€ Die sind vom Package, der Pinzahl und vom Speicher her in etwa gleich, der Moderne hat aber mehr Takt, einen effizienteren Befehlssatz, modernere
Ob S. schrieb im Beitrag #7754272: > Und die Datenblätter der neueren AVR8 sind zwar nicht mehr ganz so schön > übersichtlich wie die der Klassiker, aber immerhin auch noch im > Wesentlichen vollständig. > Nicht wie z.B. bei STM Das stimmt wohl (beides)
-
Thread
Viele Drucktaster und LEDs ansteuern
Spaltenleitungen für beide Matrizen nutzt. Du brauchst 58 Taster und 116 LEDs. Das ginge mit z.B. 8 kombinierten Spalten, 8 Zeilen für die Taster -> max. 8x8=64 Taster 16 Zeilen für die LEDs -> max. 16x8=128 LEDs. Der ATmega2560 hat mehr als genug Pins dafür und ist gut erhältlich - bei Bedarf
beteiligt > sind, wie er mit denen kommunizieren soll Es gibt einen Main-Controller als Master (ATmega1284P) der mit drei weiteren ATmega32 Controllern (als Slaves) über TWI kommuniziert. Einer für das Bedienpanel, einer für die Einstellung der Geschwindigkeit von 8 Loks mittels Potis und der Fahrt-Richtung