Hallo, ich habe ein kleines, einfaches Projekt in Form einer Lochrasterplatine mit aufgelötetem ATMEga328P StandAlone hier liegen. Ich würde dieses Projekt nun gerne in eine erste Platine überführen. Dafür würde ich anstatt des ATMega328P im DIP Package nun den ATMega328PB-AU im TQFP Package nutzen. Die beiden µC können 1 zu 1 ersetzt werden, oder? Die Platine soll im ersten Schritt nun nichts können, außer dass der µC über einen Molex Stecker mit dem AVRISP mkII Programmer programmierbar ist. Ich möchte also wirklich nur die absolute Minimalschaltung dafür auf eine Platine bringen. Ich möchte also lediglich den Bootloader aufspielen und über das AtmelStudio den µC programmieren können. Da ich noch recht wenig Erfahrung in diesem Bereich habe, wäre ich euch dankbar, wenn ihr euch den angehängten Plan anschauen könntet, ob es ausreichend ist, wenn ich die Platine in dieser Form bestelle? Vielen Dank im Voraus!
Und wo sind die Abblock-Cs? Warum ist der 2. Ground nicht angeschlossen? Du könntest ja mal einen Arduino Pro-Mini als Vorlage benutzen. Soo viel mehr als deine Schaltung hat der nicht drauf. Aber sie funktioniert wenigstens millionenfach.
:
Bearbeitet durch User
1. Alle(!) (A)VCC und (A)GND anschließen. 2. zwischen jedem (A)VCC-(A)GND-Pärchen 1* 100n X7R 0603 anschließen. Dabei Leitungslänge zu den Pins minimal halten - nicht mehr als ein paar mm. 3. 100n zwischen AREF und GND. 4. Unbenutzte Pins entweder auf Ausgang oder Eingang mit Pullup schalten. 5. Leitungslänge Prozessor-Quarz minimal halten 6. Die Kondensatoren am Quarz müssen zum Quarz passen. -> nach Lastkapazitäten Quarz googeln 7. 1M parallel zum Quarz verbessert das Anschwingen des Quarzes. fchk
Hallo Manuel, das was @Helmut sagt. Zum Verständnis: Abblock-Cs sind 100nF-Kondensatoren von VSS/AVCC nach GND, möglichst nahe an den Pins. 1:1 ersetzt... naja. Pass auf: Die Pin-Nummern sind anders! Zudem hat der AU ein paar Pins mehr. Aber das Die ist das gleiche, nur mit anderer Verpackung, und somit die funktionen auch. LG, Edi
:
Bearbeitet durch User
Hallo zusammen, zuerst vielen Dank für die raschen Antworten. Da ich ein absoluter Neuling auf dem Gebiet bin, bin ich sehr dankbar für jede Hilfe die ich bekomme! Ich habe nun den 2. GND verbunden und jeweils von VCC / AVCC und auch von AREF einen 100nF Kondensator (0603B104M250NT) nach GND gelegt. Die Leitungslänge möglichst gering zu halten würde ich dann beim Routing natürlich auch berücksichtigen (sowohl zwischen µC-Pins und Blockkondensatoren als auch zwischen µC-Pins und Quarz). Sieht die Schaltung nun besser aus? Vielen Dank nochmals!
Manuel schrieb: > Dafür würde ich anstatt des ATMega328P im DIP Package nun den > ATMega328PB-AU im TQFP Package nutzen. Die beiden µC können 1 zu 1 > ersetzt werden, oder? Der direkte Ersattyp heißt 328P-AU oder 328PA-AU. 328PB-AU bietet zum Beispiel keinen 'full swing' und auch kein 20 MHz Quarz als Taktquelle. Da gab es hier vor Jahren eine Diskussion mit den Unterschieden im Detail. Beitrag "ATMEL verändert einige Dinge im ATMega"
Ich meine, es gibt hundertseitige Datenblätter mit Beispielbeschaltung. Inhaltlich gut aufgereiht und suchbar.
Manuel schrieb: > Sieht die Schaltung nun besser aus? Die Pinbelegung des ISP-Verbinders CN1 ist etwas seltsam. Normalerweise ist Pin 1 MISO. Das hängt aber auch vom Footprint und der Nummerierung der Pins des Verbinders ab, ob das ein Fehler ist oder nicht. LG, Sebastian
Ich würde noch alle unbenutzten Portpins auf Pinheader führen. Dann kann man a) schön messen und b) auch externe Schaltungen anschliessen.
Hallo, also wenn ihr keine Einwände mehr habt würde ich die Platine mal so umsetzen! Vielen Dank für eure Hilfe! :-) Falls noch jemand Tipps / Ergänzungen hat, so nehme ich die natürlich gerne an. Bezüglich Programmierung: Ich würde mir für meinen AVRISP mkII Programmieren noch ein "Adapterstück" basteln, welches ich dann mit dem Molex Stecker auf der Platine verbinden kann.
Schaut so aus, als möchtest Du das bei JLCPCB bestellen (EasyEDA). Wenn du da auch bestücken lassen willst, dann würde ich anstatt der 0603B104M250NT den CC0603KRX7R9BB104 nehmen, der ist ein Basic Part. X1 wäre dann der X322516MLB4SI, C1 und C2 CL10C150JB8NNNC, und R1 0603WAF1002T5E. Da kommt Dich dann das bestücken günstiger, als wenn Du die Teile selbst kaufen musst.
Moin, Aus meiner Erfahrung hin, möchte ich vorschlagen auch den Pro-Mini Bootloader Anschluß mit deren Beschaltung mit einzubeziehen. Der Optiboot Bootloader ist eine feine Sache und lässt sich auch ohne Arduino IDE betreiben. Auch ist Atmel Studio damit kompatibel. Seh Dir mal ein Pro-Mini Schaltbild an. Zum Anschluß dafür besorg Dir dann noch ein USB Serial Modul oder Kabel mit sechs Anschlüssen (4-pin gehen wegen fehlenden DTR Pin nicht). Ich habe schon einige Designs so mit-integriert und habe es nie bereut, zusätzlich zum ISP noch diese Möglichkeit zu haben. AVRdude lässt sich auch leicht von Windows cmd mit Kommandozeile betreiben. Ferner würde ich noch die Schaltung so erweitern, daß man eine externe Spannungsreferenz an den AREF-Pin anschließen kann. Das ist manchmal praktisch, wenn man genau mit anderer als die interne VREF messen möchte. Übrigens empfiehlt es sich beim Bootloader die TX und RX Pins über 1K Widerstände anzuschließen. Das hat den Vorteil, daß man gleichzeitig direkt an diesen Pins mit spezieller Schaltweise noch einen RS485 oder RS232 Transceiver gleichzeitig mit dem USB Serial mit betreiben kann. Auf der Bootloader Header Seite ist es praktisch, dann noch zwei LEDs über 1K anschliessen mit den Anoden nach VCC. Dann sieht man auch die Datenaktivitäten beim Gebrauch des USARTs. Letztlich empfehle ich die Bord so zu beschalten, daß man wahlweise den 328P oder 328PB einlöten kann. Der PB ist halt doch noch etwas fähiger, auch wenn 20MHz vielleicht beschränkt ist. Aber 20MHz ist ohnehin für Baudraten etwas ungünstiger. Bis jetzt hatte ich noch nie auf 20MHz zugreifen müssen. Watterott hat ein Pro-Mini Design. Da kannst Dir mal das Schaltbild anschauen. nur meine zwei-einhalb Cents worth... Gerhard Nachtrag: Mit einbeziehe genau den gleichen 6-pin Header und Anschlußbelegung wie sie beim Nano zu finden ist. Bitte weiche nicht von den üblichen Belegungen ab. Da machst Du Dir nur das Leben schwer.
:
Bearbeitet durch User
Beitrag #7643159 wurde vom Autor gelöscht.
Gerhard O. schrieb: > USB Serial Modul oder Kabel mit sechs Anschlüssen > (4-pin gehen wegen fehlenden DTR Pin nicht). Am Chinaboard nachstricken. Dazu müssen dann am Bastelboard PD0(RXD) und PD1(TXD) und (/RESET) greifbar sein. > Seh Dir mal ein Pro-Mini Schaltbild an. Es läuft doch auf den Nachbau des ProMini heraus, bis auf den Spannungsregler und die LED stellt der die Minimalbeschaltung des 328 dar. Der Entwurf ohne jegliche Peripherie ist Unfug, zumindest eine LED an einem Port (wie Arduino) als Lebenszeichen sollte man haben. Kann man ja mit einer Wischbrücke trennbar gestalten. Ob der µC ohne C am Reset überhaupt anlaufen wird?
Manfred P. schrieb: > Ob der µC ohne C am Reset überhaupt anlaufen wird? und eine Diode parallel zu R1 in Sperrichtung wäre auch nützlich. An den ISP Pins die auch als Ports genutzt werden haben sich serielle R mit 470 Ohm bewährt so das ein ISP Programmer auch unabhängig von der externen Beschaltung den AVR programmieren kann und nicht gegen high und low der Portbeschaltung kämpfen muss.
Hallo zusammen, vielen Dank für die ganzen Tipps. Das hilft mir wirklich sehr viel. Insbesondere danke für die konkrete Benennung der Standardbauteile bei JLCPCB, da ich vorhabe die Platine auch dort bestücken zu lassen. Eduard I. schrieb: > Schaut so aus, als möchtest Du das bei JLCPCB bestellen (EasyEDA). Wenn > du da auch bestücken lassen willst, dann würde ich anstatt der > 0603B104M250NT den CC0603KRX7R9BB104 nehmen, der ist ein Basic Part. X1 > wäre dann der X322516MLB4SI, C1 und C2 CL10C150JB8NNNC, und R1 > 0603WAF1002T5E. Da kommt Dich dann das bestücken günstiger, als wenn Du > die Teile selbst kaufen musst. @Eduard, ich habe nun alle Komponenten durch die von dir genannten Teile ersetzt, bist auf die beiden 18pF Kondensatoren. Die von dir genannten C's CL10C150JB8NNNC haben 15pF, sind die ebenfalls in Ordnung? X1 hat ja 4 Pads, ich habe gelesen dass die beiden GND Anschlüsse 2 und 4 in der Regel nicht verbunden werden, richtig?
Manuel schrieb: > Insbesondere danke für die konkrete Benennung der > Standardbauteile bei JLCPCB, da ich vorhabe die Platine auch dort > bestücken zu lassen. Du scheinst mir noch etwas unerfahren zu sein. Wieviel Stück sollen es denn werden? Vielleicht ist es geschickter, erst einmal ein paar Stück per Hand zu löten, um Fehlfunktionen auszuschließen. TQFP32 ist noch gut handzuhaben, 0603 ebenfalls.
Manuel schrieb: > über einen Molex Stecker mit dem AVRISP mkII Programmer programmierbar Warum noch mit ISP und ATmega328xx etc. beschäftigen? Das sind Auslaufmodelle. Wer jetzt neu in AVR-µC einsteigt, dem würde ich stark empfehlen, gleich mit halbwegs neuen UPDI-fähigen AVRs anzufangen (z.B. ATtiny32x6 oder ATmega4809). UPDI braucht nur eine Leitung + Masse und ist von der Verdrahtung daher wesentlich einfacher und schneller handzuhaben. Und ein ATtiny416-Xplained-Nano als UPDI-Programmer und UART-Bridge ist für wenig Geld erhältlich. Das hat zudem auch noch einen eigenständigen ATtiny416 mit Minimalbeschaltung drauf, sodass sich ein extra Testboard ohnehin erübrigen würde.
Johannes T. F. schrieb: > UPDI braucht nur eine Leitung + Masse und .... .... ist vermutlich arschlangsam. Wenn ich debuggen wollte würde ich diese Version gerne vermeiden. Nur wenn es bei sehr kleinen AVRs unbedingt notwendig ist weil nix anderes zur Verfügung steht.
Wastl schrieb: > .... ist vermutlich arschlangsam. Wenn ich debuggen wollte > würde ich diese Version gerne vermeiden. Zumindest beim Schreiben/Lesen ist avrdude bei ISP auch nicht schneller fertig. Was Debugging angeht, lehne ich mich mal etwas aus dem Fenster und behaupte, dass das hier nicht relevant ist.
Wastl schrieb: > Johannes T. F. schrieb: >> UPDI braucht nur eine Leitung + Masse und .... > > .... ist vermutlich arschlangsam. Wenn ich debuggen wollte > würde ich diese Version gerne vermeiden. Da irrst Du! Auch debugging geht per UPDI. Nur was nützt es dem TO, wenn er zum Beispiel Arduino-Programme verwenden möchte?
Wastl schrieb: > Johannes T. F. schrieb: >> UPDI braucht nur eine Leitung + Masse und .... > > .... ist vermutlich arschlangsam. Es entzieht sich momentan meiner Kenntnis, was den Geschwindigkeitsvergleich von UPDI vs. ISP angeht. Ist aber m.E.n. nebensächlich, weil es ISP bei neueren AVRs ohnehin nicht mehr gibt, d.h. es wird durch UPDI ersetzt, langfristig wird ISP „aussterben“.
Das Problem beim Hobby ist, dass jeder Mikrocontroller nach ein paar Jahren durch einen anderen "besseren" ersetzt wird. So schnell kommt da kaum mit dem Lernen hinterher. Der ATmega328 ist meine Meinung nach keine schlechte Wahl. Für ihn gibt es ohne Ende Anleitungen, Beispielcodes und jede Menge billige Boards. Er ist robust. Das Datenblatt ist gut verständlich. Aus dem Bauch heraus schätze ich, dass der Chip noch mindestens weitere 10 Jahre produziert wird. Zum Ende hin werden chinesische Firmen ihre kompatiblen Nachbauten anbieten. Vergleiche die Situation mal mit dem ESP8266EX. Der hat einen ziemlich langen Rattenschwanz von "besseren" Nachfolgern und ist seit 2021 offiziell deprecated. Dennoch ist er "überall" noch zu haben - kein Engpass in Sicht.
Mi N. schrieb: > Manuel schrieb: >> Dafür würde ich anstatt des ATMega328P im DIP Package nun den >> ATMega328PB-AU im TQFP Package nutzen. Die beiden µC können 1 zu 1 >> ersetzt werden, oder? > > Der direkte Ersatztyp heißt 328P-AU oder 328PA-AU. > 328PB-AU bietet zum Beispiel keinen 'full swing' und auch kein 20 MHz > Quarz als Taktquelle. Da gab es hier vor Jahren eine Diskussion mit den > Unterschieden im Detail. > Beitrag "ATMEL verändert einige Dinge im ATMega" Hallo, hast du dich vielleicht verschrieben? Einen ATmega328PA finde ich beim Hersteller nicht. Desweiteren verstehe ich gerade nicht wie ein ATmega328P-AU ein Ersatztyp sein kann wenn die gesamte ATmega328P Serie eingestellt wird. Habe ich etwas verpasst?
Manuel schrieb:
Hallo,
mit 16MHz Quarz spielt es keine Rolle ob ATmega328P oder PB. Den Rest
wie meine Vorredner. Den Programmieranschluss würde ich auf ISP
Standardbelegung abändern. Das ist eine 2x3 Stiftleiste mit anderer
Belegung wie du aktuell hast. Generell kannst du dir einmal die App Note
AVR042 anschauen. Die ist heute noch pauschal gültig. Resettaster wird
nicht benötigt? Bei Entwicklung ggf. von Vorteil.
Ich würde statt des Quarzes einen Quarzoszillator-Sockel einbauen: https://www.pollin.de/p/quarzoszillator-sockel-400150 Dieser erlaubt Frequenzwechsel durch einfaches Auswechseln des Oszillators auch bis 20 MHz. Außerdem können eine Diode (1N4148 bzw. LL4148) von Reset nach VCC (Kathode an VCC) sowie ein Filter-C (100 nF) zwischen Reset und GND nicht schaden; siehe dazu die AppNote AVR040: https://ww1.microchip.com/downloads/aemDocuments/documents/OTH/ApplicationNotes/ApplicationNotes/Atmel-1619-EMC-Design-Considerations_ApplicationNote_AVR040.pdf
Veit D. schrieb: > hast du dich vielleicht verschrieben? Einen ATmega328PA finde ich beim > Hersteller nicht. Den hat Microchip vergessen herauszubringen. Ich hatte nur überschlägig meine Datenblätter angesehen und dabei eines für ATmega48PA, 88PA, 168PA und 328P gefunden. Das fehlende 'A' hatte ich intuitiv ergänzt ;-) > Desweiteren verstehe ich gerade nicht wie ein > ATmega328P-AU ein Ersatztyp sein kann ... ...P-AU als funktionsgleich zu ...P-PU (weniger Pins). Auch wenn die Serie eingestellt sein sollte, ändert sich daran nichts. Der TO fragte nach einem 1:1 Ersatz. Aber letztlich ist mir nicht klar, was der TO erreichen will. Ein µC mit Quarz und Programmieranschluß aber ohne jegliche IO-Beschaltung? Wozu dann einen /RESET-Taster? Selber habe ich den 328PB wegen des reduzierten Frequenzbereiches vermieden. Johannes T. F. schrieb: > Ich würde statt des Quarzes einen Quarzoszillator-Sockel einbauen: > https://www.pollin.de/p/quarzoszillator-sockel-400150 > > Dieser erlaubt Frequenzwechsel durch einfaches Auswechseln des > Oszillators auch bis 20 MHz. Parallel zum Quarz vielleicht als 'Blendwerk', aber in der Praxis eher sperrig und stromfressend. 'Power down' nicht möglich.
Mi N. schrieb: > Parallel zum Quarz vielleicht als 'Blendwerk', aber in der Praxis eher > sperrig und stromfressend. 'Power down' nicht möglich. Es geht ja auch offensichtlich um ein Experimentierboard, nicht um eine Schaltung für die Serienproduktion. Da sollten Größe und Energiebedarf keine vordergründige Rolle spielen.
Mi N. schrieb: > Selber habe ich den 328PB wegen des reduzierten Frequenzbereiches > vermieden. Zwei UARTs sind oft schon schön ... LG, Sebastian
Mi N. schrieb: > Veit D. schrieb: >> hast du dich vielleicht verschrieben? Einen ATmega328PA finde ich beim >> Hersteller nicht. > > Den hat Microchip vergessen herauszubringen. > Ich hatte nur überschlägig meine Datenblätter angesehen und dabei eines > für ATmega48PA, 88PA, 168PA und 328P gefunden. Das fehlende 'A' hatte > ich intuitiv ergänzt ;-) Hallo, es gibt noch Humor im Forum. Die Antwort ist wirklich gut, ich musste lachen. Sehr schön. :-) Wegen Quarz sockeln. Hatte von Gerhard O. folgenden Tipp bekommen. Mill-Max 5522-0-15-15-09-27-10-0, für 0,38 - 0,46 mm Pins Mill-Max 0566-2-15-15-21-27-10-0, für 0,38 - 0,56 mm Pins Gibt es bei Mouser und DigiKey. Habe beide Größen mit den THT HC49 Quarzen ausprobiert. Beide Größen passen wunderbar. In der "kleineren" Ausführung steckt der Quarz etwas straffer drin, gefällt mir besser. Wer sehr häufig wechseln möchte und nicht Kopfüber hängt sollte vielleicht die "größere" Ausführung nehmen. Das ist sicherlich Geschmackssache.
Ob 20MHz gegenüber 16MHz die Sau wirklich fett machen? Es sind ja nur 20% Unterschied gegenüber der häufig zu findenden 16MHz. Auch sind die Baudratenabweichungen teilweise stärker ausgeprägt. Wenn 16MHz nicht ausreichen, dann ist es vielleicht Zeit mit stärkerem Geschütz aufzuwarten. Alternativen gibt es ja. Auch ist genaue ms Timing bei 16Mhz angenehmer mit den üblichen binären vorzufindenden Vorteilern. Bis jetzt hatte ich noch nie eine Anwendung wo die Taktfrequenz zu eng wurde. Ich finde, auch MCUs sollten ohne triftigen Grund nicht unbedingt an den Grenzen ihrer Leistungsfähigkeit betrieben werden, weil man dann bei Zukunftserweiterungen oft schnell an reale Grenzen stößt. Es ist immer gut Ellbogenfreiheit zu haben, um unerwartete Änderungen noch ohne Neuentwicklung durchziehen zu können. Ich halte mich da eher an Startreks Scotty Philosophie: https://www.youtube.com/watch?v=kX_O6PULFF4
:
Bearbeitet durch User
Sebastian W. schrieb: > Mi N. schrieb: >> Selber habe ich den 328PB wegen des reduzierten Frequenzbereiches >> vermieden. > > Zwei UARTs sind oft schon schön ... Na ja, drei sind dann wohl schöner: ATmega4808 mit fraktionalen Baudratengeneratoren, bei weiterhin 1,8 - 5,5 V und günstigem Preis. Allein die Timer sind (für mich) etwas merkwürdig. Gerhard O. schrieb: > Ob 20MHz gegenüber 16MHz die Sau wirklich fett machen? Ich sag mal so: hohe Baudrate und 18,432 MHz.
Veit D. schrieb: > Wegen Quarz sockeln. Hatte von Gerhard O. folgenden Tipp bekommen. > Mill-Max 5522-0-15-15-09-27-10-0, für 0,38 - 0,46 mm Pins > Mill-Max 0566-2-15-15-21-27-10-0, für 0,38 - 0,56 mm Pins > Gibt es bei Mouser und DigiKey. Habe beide Größen mit den THT HC49 > Quarzen ausprobiert. Beide Größen passen wunderbar. Das Problem beim Quarz-Wechseln ist: Die Last-Cs müssen zum Quarz-Typ passen. Und du wirst kaum Quarze verschiedener Frequenzen bei gleicher erforderlicher C_L bekommen. Damit müsstest du nicht nur den Quarz, sondern auch die Cs mit wechseln, was sehr unpraktisch wäre. Oder das Risiko eingehen, dass ein Quarz mit unpassender C_L nicht zuverlässig schwingt. Daher der Tipp von mir, einen Sockel für Quarzoszillatoren zu verwenden.
Johannes T. F. schrieb: > Und du wirst kaum Quarze verschiedener Frequenzen bei gleicher > erforderlicher C_L bekommen. Ganz im Gegenteil, es gibt nur wenige Standardbürden.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.