-
Thread
Debugger für ATmega32
Hallo, ich habe vor Jahren in einem Praktikum eine Mikrocontrollerschaltung mit ATmega32 aufgebaut. Zum Debuggen wurde die JTAG-Schnittstelle und ein Atmel JTAGICE verwendet. Nun würde ich gerne mehr mit Elektronik machen, nicht nur, aber evtl. auch mit dem ATmega32. Welcher Debugger
Hallo, der ATMEGA32 ist doch "Asbach Uralt". Den würde ich mir nicht antun. Wenn Du Geld sparen willst: ATMEGA328 in Form eines Arduino Boards. Vorteil preisgünstig, an jeder Ecke zu haben. Niemand zwingt dich die
-
Thread
Mikrocontroller und PHP
Ich meine nicht einen in der Größenordnung vom Raspberry Pi oder ESP32, sondern etwas in Richtung ATmega328 oder meinetwegen auch einen Boliden wie den STM32F4.
-
Thread
Leistungsmessung mit MSP430
oder? Solang der eben die ADCs auslesen und an den Pi weiter geben kann, also könnte dann auch n ATmega werden? (Mit denen hab ich schon mal bisschen Erfahrungen gemacht.) Da wär ich jetzt über Empfehlungen für ADCs und µC ganz froh :) > Was für eine sample Frequenz du brauchst kommt halt auf deine
MCUs für 80 Messwerte gekommen. Oder reden wir grad aneinander vorbei? > Weit gefehlt, ein Mega 328 mit ein klein wenig Peripherie schafft das > recht locker wenn du für die Messung einer Phase 20ms ansetzt hast du > aller 80ms > neue Werte. Mir hat das gelangt und du brauchst vermutlich auch
-
Thread
Paar Fragen zum ATmega328P
Genau so war es hier auch. Die beiden Screenshots zeigen die Default-Einstellungen, wenn man den ATmega328P aufruft. Obwohl ich die Config Bits abgewählt hatte, wurden die dann mit den Default-Einstellungen geschrieben. CKDIV8 setzt wohl einen Vorteiler, denn die Anwendung lief nach dem Update in Zeitlupe
-
Thread
Fehlersuche defektes Bauteil (Fusebit Doctor)
aber der Fusedoc erkennt keinen Microcontroller. Getestet habe ich mit einem mutmaßlich verfuseden Atmega328p-au sowie einem Fabrikneuen Atmega328p-au(Ja, er geht wirklich, ich kann mit dem Atmel Studio Fuses auslesen und Bootloader brennen, etc) Wenn ich, egal welchen, in den Doc setze, kommt immer [code] 07:30:45.053 -> Welcome 07:30:45.053 -> AVR Atmega fusebit doctor (HVPP+HVSP) version 2.11 07:30:45.148 -> http://diy.elektroda.eu/atmega-fusebit-doctor-hvpp 07:30:45.148 -> Usage in commercial/profit purposes not allowed 07:30:45.148 -> 07:30:
-
Thread
Hilfe Software für Microcontroller, woher bekommen?
Fixed-Font zu verwenden. Die haben dafür schon gute Gründe genannt. Nur bringt mich das auf meinem ATmega328 in arge Bedrängnis, deswegen verstehe ich, warum die allermeisten Font-Renderer für µC einfacher gestrickt sind. Der Code muss halt passend zur Anwendung sein. Es gibt keine allgemeingültige
-
Thread
Batterieverbrauch senken
anständig macht, ist das kein Grund, diese Vorgehensweise generell zu verteufeln! Ich habe einen ATmega328 mit 1MHz / 5V samt MCP1703 und etwas Peripherie an einem 12V-Bleiakku. Der µC wacht alle 8s kurz auf (sleep timer), misst alle ca. 15 Minuten die Spannung und braucht damit in Summe über alles 25µA
-
Thread
Port Pin an AREF?
unterstelle und ATmega328P annehme, hat der als interne Referenz 1,1 Volt, keine 2,5. Die streuen von einem Stein zum anderen erheblich, sind ansonsten aber sehr stabil. Ist es keine Option, diese zu verwenden und das
Manfred schrieb im Beitrag #6572876: > Wenn ich mal einen Zahlendreher unterstelle und ATmega328P annehme Ups... Manfred schrieb im Beitrag #6572876: > Ist es keine Option, diese zu verwenden und das Eingangssignal zu > teilen? Hat bei mir leider nicht geklappt. Hatte unter anderem
-
Thread
GLCD mit Arduino soll Variable anzeigen
systematischer Fehler von 0.47 Kelvin. Hier wäre es besser, die interne Spannungsreferenz des ATMega zu nutzen (wenn es ein ATMega328 ist, sind das 1.1V). analogReference(INTERNAL); Deine Temperaturumrechnung müßte dann lauten: resultTemp = (1.1 * 100.0 * valadd) / (1024.0 * cycles);
-
Thread
SPI für verteilte Systeme
keine Ahnung, davon aber eine ganze Menge... Tut mir leid, bin noch relativer Einsteiger beim ATmega. Hatte mich halt auf Atmels Datasheet vom ATmega328p verlassen, die gleich auf einer der ersten Seiten schreiben "The on-chip ISP flash allows the program memory to be reprogrammed in-system through
nützlichen Tools. Um ihn zu entlasten und echtzeitfähiger zu machen, habe ich ihm eine Platine mit einem ATmega als Unterkontroller aufgesteckt. Der ATmega steuert die Motoren und fragt deren Hall-Sensoren ab. PI und ATmega sind per SPI verbunden, weil ich das zur Programmierung des ATmega nutze. Deswegen die
-
Thread
Bascom AVR - L293D Motoransteuerung
Hallo Leute! Ich möchte meinen 4- Rad- Roboter (alle 4 DC Motoren) über einen Arduino UNO (Atmega328P mit einem passend aufsteckbaren L293D Motor-Shield) und Bascom AVR ansteuern. Dazu habe ich ein Testprogramm adaptiert: Motortreiber TB6612FNG test1.BAS Es ist das erste Programm auf dieser Seite
ja alle 4 Motoren ansteuern (2x L293D Chips), nur fehlen mir die Verbindungsinformationen von den Atmega328P Portpins zu den passenden Eingangspins der beiden L293D. Im Internet habe ich dazu keine Informationen gefunden, nur im Testprogramm sieht man die Zuordnung von dem einen L293D zu den Portpins
-
Thread
Arduino Nano: Kann der Bootlader schaden nehmen…
Versorgung den Flash Inhalt zerstört, einfach so im laufenden Betrieb. Natürlich nicht mit einem ATMega328P, sondern mit einem anderen. (ich kann das nicht glauben und den Dr. kann ich auch nicht fragen) Wer jetzt recht hat, darfst du dir selber aussuchen.
Nano auslesen und so den Bootloader prüfen. Du könntest die 3 Punkte Logik mit einem anderen Nano/ATMega328P gegentesten.
-
Thread
Fehlermeldung Aduino IDE
ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\\Prg\\Arduino\\arduino-1.8.13\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Prg\\Arduino\\arduino-1.8.13\\hardware
-
Artikel
IRSND
Mikrocontroller-Familien lauffähig. AVR ATtiny87, ATtiny167 ATtiny45, ATtiny85 ATtiny44, ATtiny84 ATmega8, ATmega16, ATmega32 ATmega162 ATmega164, ATmega324, ATmega644, ATmega644P, ATmega1284 ATmega88, ATmega88P, ATmega168, ATmega168P, ATmega328P XMega ATXmega128 PIC (C18-Compiler) PIC12F1840 PIC18F4520
Startbit-Timings 16.03.2010: Neues Protokoll: RECS80 Extended 11.03.2010: Anpassungen an verschiedene ATMega-Typen durchgeführt 07.03.2010: Alpha-Version
-
Thread
Atmega328p mehr digital pins
kuschner schrieb im Beitrag #6564689: > Dann bleibe ich beim Atmega328P. > Die 12 Digitalen und 4 Analogen reichen mir genau :) FYI, der Atmega328PB ist gleich gross, hat 4 digitale Ausgänge mehr als der Atmega328P, und wird auch von the Arduino-Umgebung unterstützt (https://github.com/watterott/ATmega328PB-Testing). LG, Sebastian
-
Thread
bss, data, Fragen zu den Segmenten
Reset-Funktion geschrieben wurde. 4. Von da aus geht's dann in die main Wie sieht's denn da beim ATMega328 mit der AVR Architektur aus. Gibt's dazu irgendwo genauere Informationen, wie der Startup-Code erzeugt wird? Grüße
Alexander M. schrieb im Beitrag #6566905: > Wie sieht's denn da beim ATMega328 mit der AVR Architektur aus. Gibt's > dazu irgendwo genauere Informationen, wie der Startup-Code erzeugt wird? Such mal nach crt0 in deiner toolchain (oder auch in Wikipedia). LG, Sebastian
-
Thread
Fragen zu Quarzoszillatoren für Mikrocontroller
einbinden (einfach so aus Neugier und Spieltrieb, es gibt keine konkrete Anforderung), und zwar an einen atmega328p. Es geht um diesen Oszillator: Reichelt-Bestellnummer "OSZI 1,843200", 5V, baudratenkompatibel. Die serielle Kommunikation steht als nächstes auf meiner Experimentier-Liste, deshalb dieser
her. https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Arno schrieb im Beitrag #6566087: > Hast du versehentlich das Datenblatt zu der Automotive-Version > herangezogen? Scheint so. Misst.
-
Thread
uCTest: unit test framework
avr-gcc -o simple.elf simple.c -L ./uctest-master/build -l uCTest -I ./uctest-master/include -mmcu=atmega328 $ simulavr -d atmega328 -f simple.elf -W 0x20,- -e 0x21 ; echo $? Running main [==========] Running 1 tests from 1 test suites. [----------] 1 tests from Simple [ RUN ] Simple.add [
gnu99 -o simple.elf simple.c -L ./uctest-master/build -l uCTest -I ./uctest-master/include -mmcu=atmega328 $ simulavr -d atmega328 -f simple.elf -W 0x20,- -e 0x21 ; echo $? Running main [==========] Running 2 tests from 1 test suites. [----------] 2 tests from SqrtTest [ RUN ] SqrtTest.results
-
Thread
SMD LED Matrix - Mosfets
kuschner schrieb im Beitrag #6562826: > Er nutzt aber auch keinen Atmega328P. Wer?
Jörg R. schrieb im Beitrag #6562908: > Er nutzt aber auch keinen Atmega328P. Er nutzt aber auch keinen Atmega328P. https://www.mikrocontroller.net/articles/Datei:LED-Matrix-MOSFET.png
-
Thread
Analog 0-5V mit Poti linear regelbar aus 9V
Der Atmega328 hat an den Analogeingängen einen Eingangswiderstand von 100MΩ - also sehr hochohmig. Allerdings muss der Sample-Kondensator (ca 14pF) umgeladen werden. Dafür steht ein ADC-Takt zur Verfügung -
AD-Wandlers ab: > wird der Samplekondensator entladen bei dem Wandelvorgang oder nicht. Das hängt beim ATmega328 eben davon ab, was sonst noch so am Multiplexer passiert, i.e. ob er noch andere Analogkanäle abtastet und was dort für Signalpegel anliegen.
-
Thread
TCP Server ATmega328
basteln. Der ATmega328 ist mindestens genausogut geeignet wie der ATmega32. Aber klar: Wenn die "einzig sinnvolle Anwendung" ein fetter HTTP-Server sein soll, dann wäre ein Controller mit mehr RAM und Flash natürlich
Beitrag #6559925: > Der kleinste mir bekannte TCP Stack ist der µIP von Adam Dunkels. Aber > der ATmega328 ist zu klein, um diesen sinnvoll zu nutzen. nun ja der Pollin NETIO konnte das mit dem ATmega32, hat mich aber auch nicht befriedigt aber man konnte ja den ATmega 1284p einsetzen mit viel mehr
-
Thread
Arduino Bootlader funktioniert nicht
Arduino\libraries -libraries C:\Users\admin\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10813 -build-path C:\Users\admin\AppData\Local\Temp\arduino_build_969481 -warnings=all -build-cache C:\Users\admin\AppData\Local\Temp\arduino_cache_547589 -prefs=build.warn_data_percentage
Arduino\libraries -libraries C:\Users\admin\Documents\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10813 -build-path C:\Users\admin\AppData\Local\Temp\arduino_build_969481 -warnings=all -build-cache C:\Users\admin\AppData\Local\Temp\arduino_cache_547589 -prefs=build.warn_data_percentage
-
Thread
Gibt es so etwas wie einen Hifi Arduino?
Gerne aber auch mit noch mehr analogen Ein- und Ausgängen. Ich habe bisher nur Erfahrungen mit dem Atmega328, der hierfür natürlich nichts taugt. Kennt jemand eine passende günstige Lösung? (Bevor jetzt blöde Sprüche kommen: Google doch einfach! Ja, hab ich gemacht, aber nichts passendes gefunden, und
ein Arduino mit STM32 aufgeführt.) Sorry für meine dummen Fragen. Hab wie gesagt bislang nur den atmega328 verwendet. Ansonsten kenn ich mich vor allem mit analoger Elektronik aus. Die 12 Bit DAC und ADC sind sicher nicht optimal, aber mit analoger Pre- und De-Emphasis (einfache RC-Filter) lässt sich
-
Thread
AVR Flash jenseits der 64kB
abgelegt https://display3000.com/shop/mikrocontrollerloesungen/uc-mit-15-tft/d062x-mikrocontroller-atmega-tft-farbdisplay-15.html war irgendwie Krampf, habe dort Bilder abgelegt für eine Auto Diashow, habe das dann nicht mehr untersucht weil mir der ATmega1284p dann doch besser gefällt mit doppelt SRAM
klemmt es dann? > > wenn du mich meinst, Nö, ich fragte allgemein wo der Download >64kB beim ATmega 2560 über avrdude und wiring Protokoll klemmt.
-
Thread
ATMega32 Ersatz mit 2 USART
Atmega328PB
Stefan ⛄ F. schrieb im Beitrag #6557806: > Atmega328PB Wobei hier aufzupassen ist, welches Gehäuse gewünscht ist. Der 328PB ist z.B. nicht im PDIP erhältlich.
-
Thread
Raspberry Pi Pico: Mikrocontroller-Board mit Cortex M0+
billigen Controller zu bekommen. Für mich ist das einfach die nächste Generation nach Arduino (Atmega328) und BluePill (STM32F103). Und mit ihrem (im Vergleich opulent ausgestattetem) 4€-Board, guter Doku und Software sind sie da auf einem guten Weg. Bin eh erstaunt, dass es ein europäisches Unternehmen
-
Thread
RFM24 mit ATMega328 geht, mit ESP32 jedoch nicht
wende mich an die Profis hier. Ich habe ein RFM24 Modul von HopeRF (SI4463) mit einem Arduino UNO (ATMega328) verbunden. Verbindung: SCK - 13 MOSI - 12 MISO - 11 nSEL - 10 SDN - 9 nIRQ - 8 Läuft! (3V3 und GND ist klar ;-) Wenn ich jedoch versuche das Modul am ESP32 zu betrieben, geht es
-
Thread
Erdung bei AVR "Touch" funktion für Nixie Uhr
hat einen Euro-Stecker, also haben die 12V keine Referenz zu PE (denke ich?). Als uC werkelt ein ATMega 328P und für die Touch erkennung verwende ich die "AnalogTouch" Bibliothek unter Arduino (bitte nicht schlagen ;) ), die funktioniert ähnlich wie Atmel QTouch im "Self Capacitance Mode". Ich habe
-
Thread
Potentiometer + Servomotor I Atmega328PB
Guten Tag, ich bins wieder. Ich habe hier die Erweituerung zu meinem vorherigen Beitrag. diesmal muss mit dem Potentiometer ein Servomotor bewegt werden. Ich habe den Code so gut es geht vervollständigt nur gibt es einige Unstimmigkeiten im Code die ich bis jetzt nicht rausfinden konnte. Vielleicht kann hier jemand weiterhelfe, hat dass letzte mal so gut geklappt! :D Ich glaube bei diesen zwei Punkten liegt mein Fehler. 1. Dazu ist der Timer/Counter 1 so zu konfigurieren, dass er im Fast PWM Mode mit einer Taktteilung im Teilverhältnis von 1/8 betrieben wird, die PWM-Frequenz über
-
Thread
union verwenden in c
… Bist du dir völlig sicher, dass der Controller die adäquate Wahl für dein Vorhaben ist? Ein ATmega8 / ATmega<X>8 (X = 4, 8, 16, 32) wäre da wohl deutlich praktikabler, und dank des größeren RAMs müsstest du dir nicht mit deinen offensichtlich auch nur geringen C-Kenntnissen bereits in so einer frühen
einen solchen AVR mit mehr Ausgängen, um das alles zu testen und in Betrieb zu nehmen. Wenn du einen ATmega328 nimmst, kannst du mit einem x-beliebigen Arduino-Clone anfangen und hast eine ready-to-run Experimentierplattform mit ausreichend Ressourcen. /Wenn/ das dann läuft /und/ beim Downsizing auf 5x5
-
Thread
DEBO OLED2 0.96 0,96" OLED-Display SSD1306 SSD1312 Initialisierung TWI I2C AVR ATmeg8 Assembler ASM
Version2 mit einem ATmega328p, als Grundgerüst für weitere Projekte, er bietet mehr SRAM um einen 1.024Byte großen virtuellen Bildspeicher im SRAM zu ermöglichen, das schafft leider der ATmega8 nicht. Das Display wir in
@Bernhard Sag mal, bist jetzt doch wieder zurück auf einen ATmega8 gewechselt??? Laut deinem letztem Post habe ich einen ATmega328 verwendet und nur Fehlermeldungen bekommen. Dann hab ich entdeckt, dass du da einen Mega8 eingebunden hast und du alles *nicht* mehr
-
Thread
ESP8285 Probleme
irreführend. Im Beispielprogramm auf dieser Webseite wird Serial1 mit 115200 Baud verwendet. Aber der ATmega328 hat gar keine 2 UART Schnittstellen. Außerdem sagt die Anleitung: "Step 1. Connect Grove-UART Wifi to port SERIAL of Seeeduino Lite." Du hast aber ein andere Board! In der Beschreibung deines
"USB 2 Uart:These pads can be used to interact with other UART devices by putting the on-board ATmega328 in reset mode. This makes Seeeduino V4.2 to be used a USB2UART utility board." Was auch mit dessen Schaltplan überein stimmt. Dieser Konnektor ist mit dem USB-UART verbunden ist und nicht mit
-
Thread
Quarz "beschleunigen"
vielleicht hat einer von euch einen Tip zur Problemlösung. Ich setze in einer Schaltung einen Atmega328P in TQFP ein, einen 16MHz-Quarz https://www.yxcxtal.com/products-detail/ysx321sl (laut JLC 10ppm & 9pf) und habe nach der Faustformel "Geforderte Lastkapazität *2 - 5 bis 10pf" 8p2 in 0603 eingesetzt
-
Thread
Laufzeitverhalten main-Funktion
Hi Deinen Prozessor hast du ja nicht genannt. Aber z.B. bei einem ATMega328 haben alle drei Timer CTC. Wie bei vielen anderen auch. MfG Spess
mehr drin ist. Aber trotzdem gut zu wissen. Ansonsten weil die Fragen kamen: - ich benutze den ATmega8 - Das Programm ist in C++ Das "Perfekt" oben galt den Hinweisen, nicht dass ich das Programm für perfekt hielt ;-) VG
-
Thread
Potentiometer mit ADU Atmega328PB [HILFE]
der ADU. An jeder Ecke des Internets gibt es dazu Beispielcode: https://www.google.com/search?q=atmega328+adc+example+c+code Wo genau klemmt es da? Phillip E. schrieb im Beitrag #6551668: > Ich habe aber Probleme dem ADC-ISR Das ist KEINE ADC-ISR! Sondern da steht voll ausführlich: [c] // Interrupt_Service-Routine
Ich habe zwar noch nie mit Atmega gearbeitet sondern nur mit PIC-Controllern, aber die Grundlagen der C-Programmierung sind ja identisch. Die zwei aufeinander folgenden Zuweisungen [avrasm] number = ( ADCL/32); number = ( ADCH
-
Thread
TWI Bus hängt sich auf
lines (https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Kapiterl 21.1)
-
Thread
Störung Motorsteuerung mit ATmega
Hallo zusammen, ich möchte mit einem L293D am ATmega 328p zwei kleine 6V-DC-Motoren mit PWM steuern. Der ATmega sitzt als Shield auf einem Raspberry, der ihn mit Strom versorgt bzw. programmiert. (Randbemerkung: extrem praktisches Setup, Programmierung
niederfrequente Signal sehr deutlich ab bis fast auf 0, das hochfrequente bleibt bestehen. Nimmt man den ATmega als PWM-Generator dazu, dann schaukeln sich diese Störungen hoch durchs ganze System - wenn man den ATmega mit einem Netzteil betreibt. Mit Batterien ist alles kein Problem. Vielen Dank für die
-
Thread
Microcontroller als I2C Master und Slave
Z.B. der ATmega328PB hat 2 I2C-Busse. Man kann aber auch das HW-I2C für den Slave und ein SW-I2C als Master nehmen.
-
Thread
LPC1768 noch aktuell?
viele neuere MCs überleben. Es gibt auch ein bekanntes Breakout damit, den Chip1768. Z.B. der ATmega8 ist auch nicht tot zu kriegen, obwohl es ja schon lange pinkompatible Nachfolger gibt (Atmega328/P/A/B). Es wurde sogar eine neue Revision ATmega8A aufgelegt, wo der Bug mit dem internen Kurzschluß
-
Thread
STM32 "Autostart"
habe getestet und getestet. Mein erstes Programm in meiner Programmiersprache lief auf einen AVR Atmega328p. Nach dem das alles geklappt hatte wollte ich es auf den ARM Cortex-M Microcontrollern ausprobieren, nach Wochen mit den Dokumentationen hatte ich dann auch angefangen mein Compiler für die ARM
-
Thread
PWM auf ATmega328p Timer0 nicht so wie erwartet.
Ich bin am Überarbeiten meiner Sourcen und stellte Fest: FAST-PWM auf Timer0 habe ich nicht implementiert. Kein Problem (dachte ich), Timer0 sollte genauso sein wie Timer 2. Pustekuchen ! Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht und ich habe jetzt auch schon wirklich ne lange Zeit ins Datenblatt geschaut, aber ich komme nicht drauf! [code] void pwmt2_init(uint8_t prescale, uint8_t tg, uint8_t tp) { // PD3 is "Ausgabepin" fuer Output Compare 2 B (OC2B) TCCR2A = (1 << COM2B1) | (1 << WGM21) | (1 << WGM20); TCCR2B = (1 << WGM22) | prescale; OCR2A = tg; OCR2B
-
Thread
Arduino: max. Strom duch interne Schutzdioden
Diejenige, die man normalerweise mit Arduino vetbindet, ist der 5V Arduino Uno auf Basis des ATmega328. Und, oh Wunder, es gelten dort dieselben Werte wie im Datenblatt des 328. Deine ist jedoch offenbar irgendeine andere.
mir leid, konnte nicht früher antworten. Also, es ist ein Arduino Pro Mini mit 3,3V und einem ATmega328P. Und es ist tatsächlich so, dass meine Idee falsch war, den Pin auf Input zu schalten. Er wird dann gerade wegen der Schutzdioden gerade mal auf 4V hoch kommen. Es wird also noch ein n-channel
-
Thread
GPS-Modul zum tracken ohne arduino
soll das ganze in C auf einem AVR (welcher, genau wird sich dann noch zeigen. Habe aber noch einen ATmega328 hier rumliegen). Ziel soll es irgendwann werden einen Tracker zu erstellen und die Daten zum schluss am PC darstellen. Dazu suche ich ein Modul, welches ich benutzen kann. Habe hier auf Mikrocontroller
-
Thread
PWM Generator; 5 Signale
ich auf der Suche nach einer möglichst platzsparenden, Lösung um > 5 PWM Signale zu erzeugen. Atmega328P liefert 6 PWM-Kanäle aber einen Mikrocontroller willst du ja nicht. Warum eigentlich? Den genannten Mikrocontroller gäbe es im TQFP32- und QFN32-Gehäuse was, im Vergleich zu deiner jetzigen Lösung