Forum: Mikrocontroller und Digitale Elektronik Atmega328p SMD bootloader


von Jut (Gast)


Lesenswert?

Hallo,

Ich habe glaube ich einen Fehler gemacht.

Ich habe mir ein PCB designed und auch direkt in China bestücken lassen 
. U.a. Mit einem Atmega328P MU, jedoch habe ich vergessen mir Die Pins 
wie Miso, Mosi, SCK auf Pins zu ziehen....

Kann ich trotzdem irgendwie einen Arduino Pro Mini Bootloader auf den 
Atmega bekommen...

Und auch reset habe ich nicht auf einen PIN, sondern nur DTR...

Bin für jeden Tipp dankbar.

von Wolfgang (Gast)


Lesenswert?

Jut schrieb:
> Kann ich trotzdem irgendwie einen Arduino Pro Mini Bootloader auf den
> Atmega bekommen...

Nimm Pogo Pins

von Jut (Gast)


Lesenswert?

Wobei ich gerade sehe, dass miso, mosi und sick ja die Pins 11, 12 und 
13 sind. Diese gehen bei mir vom atmega zu drei mosfets und dann zu 
einem pin... kann ich diese nutzen auch wenn ein mosfet da dran hängt... 
wenn nicht müsste ich eine Leiterwagen zwischen atmega und mosfet 
abzweigen und zu einem Pin ziehen?

von ... (Gast)


Lesenswert?

Fädeldraht oder Nadelkarte

von Jut (Gast)


Lesenswert?

Wolfgang schrieb:
> Jut schrieb:
>> Kann ich trotzdem irgendwie einen Arduino Pro Mini Bootloader auf den
>> Atmega bekommen...
>
> Nimm Pogo Pins

Ich habe solch einen Atmega... da komme ich ja an die Pins nicht 
wirklich dran...

https://www.reichelt.de/8-bit-atmega-avr-mikrocontroller-32-kb-20-mhz-vqfn-32-atmega-328pb-mu-p269209.html?PROVID=2788&gclid=Cj0KCQiA5vb-BRCRARIsAJBKc6I_tFQzxQRd__Kejof4IwwU9pMyqgoaO63ro_tBm7flti11PMhbpPoaAt-8EALw_wcB

von ... (Gast)


Lesenswert?

Jut schrieb:
> Diese gehen bei mir vom atmega zu drei mosfets und dann zu
> einem pin... kann ich diese nutzen auch wenn ein mosfet da dran hängt...
dein Schaltungsentwurf - woher soll das jemand anders wissen?!

von ... (Gast)


Lesenswert?

Jut schrieb:
> Ich habe solch einen Atmega... da komme ich ja an die Pins nicht
> wirklich dran...

doch, seitlich bzw. am PCB

von Am Chiemsee (Gast)


Lesenswert?

Jut schrieb:
> Diese gehen bei mir vom atmega zu drei mosfets und dann zu
> einem pin... kann ich diese nutzen auch wenn ein mosfet da dran hängt..

Mache es uns doch einfach,zeig mal Stromlauf und Leiterplatte von deinem 
Projekt. Oder sollen wir das alles per Hellseherei beurteilen.

von Jut (Gast)


Angehängte Dateien:

Lesenswert?

Hier der Ausschnitt vom Atmega auf meinem Board und der entsprechende 
Bereich von der Schaltung.

Sorry für beides, ich bin absoluter Anfänger und noch nicht so geübt im 
Zeichnen...

von Jut (Gast)


Lesenswert?

Könnt eich ggf. mir ein Board entwerfen mit Pogo Pins und damit in 
entsprechende Vias gehen. Also die Pogo Pins genau an die entsprechende 
Stelle machen...

Wie groß müsste der Durchmesser von den Vias dann sein? Aktuell habe ich 
0.65mm Durchmesser - 0.3mm Hole - 0.45mm Solder Mask - Plated = yes

von Arno (Gast)


Lesenswert?

Jut schrieb:
> Wobei ich gerade sehe, dass miso, mosi und sick ja die Pins 11, 12 und
> 13 sind. Diese gehen bei mir vom atmega zu drei mosfets und dann zu
> einem pin... kann ich diese nutzen auch wenn ein mosfet da dran hängt...
> wenn nicht müsste ich eine Leiterwagen zwischen atmega und mosfet
> abzweigen und zu einem Pin ziehen?

Den ATMega kannst du sicher programmieren, auch wenn ein Mosfet mit an 
den SPI-Pins hängt. Bei den 100nF an Reset bin ich nicht so sicher, die 
musst du evtl. auslöten  - andererseits wird Reset ja üblicherweise 
nicht gepulst, sondern statisch auf Low gezogen, wimre.

Ob die Mosfets und der Rest deiner Schaltung das vertragen, wenn da 
jemand am Gate wackelt, musst du beurteilen. Ich würde da ein paar 
Kupferlackdrähte anlöten und es testen. Je nachdem, um wie viele 
Platinen es geht, kann es aber sinnvoller sein, die Platine neu zu 
bestellen (so weh das tut, etwas eigentlich funktionierendes 
wegzuwerfen).

MfG, Arno

von Ralph S. (jjflash)


Lesenswert?

Arno schrieb:
> Den ATMega kannst du sicher programmieren, auch wenn ein Mosfet mit an
> den SPI-Pins hängt.

Eines der "unschönen" Probleme ist auch, das die Gates der Mosfet direkt 
an Pins des ATmega hängen, ohne den obligatorischen 1 MOhm gegen 
Ground...

Arno schrieb:
> Bei den 100nF an Reset bin ich nicht so sicher, die
> musst du evtl. auslöten

Da gibts das viel größere Problem, dass am Reset ein Pull-Up Widerstand 
(Arduino-like 10k) gegen Vcc fehlt. Hier kann es dann schlicht sein, 
dass ein Puls auf DTR irgendwie Mist macht

Ausprobieren ! Zu verlieren hast du ja nichts, ich denke die Mosfets 
werden es überleben

von Jut (Gast)


Lesenswert?

Danke euch!

Ich werde das PCB neu machen :)

der 10k Widerstand gegen +5V am Reset - ich dachte ich brauche den nur 
wenn ich einen Reset Taster nutze. den nutze ich nicht.

die 1MOhm Widerstände zwischen Atmega und den Mosfets sind zu empfehlen?

Wie schaut die Idee bei dem neuen PCB aus Vias zu nutzen die ich mit 
Pogo Pins abgreife?

Wie groß müssten die Vias dann sein? Wenn ich 0.3 hole bei 0.65 
druchmesser habe und 045mm Soldermask müsste das doch für 0.5mm Pogo 
Pins reichen oder?

Beitrag #6518281 wurde von einem Moderator gelöscht.
von Wolfgang (Gast)


Lesenswert?

Jut schrieb:
> Wobei ich gerade sehe, dass miso, mosi und sick ja die Pins 11, 12 und
> 13 sind.

Das kommt davon, wenn im Schaltplan die Verbindungen nicht eingezeichnet 
sind und man sicher erst durch den Labelsalat durchwühlen muss.

Jut schrieb:
> Wie groß müssten die Vias dann sein? Wenn ich 0.3 hole bei 0.65
> druchmesser habe und 045mm Soldermask müsste das doch für 0.5mm Pogo
> Pins reichen oder?

Da passen genauso 1mm Pogo Pins, wenn die einen geeigneten Kopf haben, 
z.B. https://www.ebay.com/itm/231266494465

Um direkt an die µC-Lötstellen zu gehen, brauchst du spitzere Köpfe, 
z.B. 30°-Spitzen.

von Joachim B. (jar)


Lesenswert?

Jut schrieb:
> der 10k Widerstand gegen +5V am Reset - ich dachte ich brauche den nur
> wenn ich einen Reset Taster nutze. den nutze ich nicht.

und wie willst du in den Bootloader kommen ohne Reset?

schau dir mal die passende Beschaltung dazu an!
https://maniacbug.wordpress.com/2011/11/27/arduino-on-atmega1284p-4/
unter "Building the Circuit"

oder hier
https://cdn.sparkfun.com/datasheets/Dev/Arduino/Boards/Arduino-Pro-Mini-v14.pdf

hier wackelt der DTR am Reset um in den bootloader zu kommen

: Bearbeitet durch User
von Dave (Gast)


Lesenswert?

Jut schrieb:
> die 1MOhm Widerstände zwischen Atmega und den Mosfets sind zu empfehlen?

Während Reset gehen die Prozessorports in Tri-State und 
Gate-Source-Spannung ist undefiniert. Hier hilft ein Widerstand von Gate 
nach GND, nicht zwischen Atmega und Mosfets.

von Jut (Gast)


Lesenswert?

Wolfgang schrieb:
> Um direkt an die µC-Lötstellen zu gehen, brauchst du spitzere Köpfe,
> z.B. 30°-Spitzen.

Danke dir. Das heißt mit spitzen 30 Grad Pogo Pins sollte ich auch 
direkt an die Pins kommen vom Atmega328P-MU.

von HildeK (Gast)


Lesenswert?

Jut schrieb:
> die 1MOhm Widerstände zwischen Atmega und den Mosfets sind zu empfehlen?

NICHT zwischen ATMega und Gate sondern zwischen Gate und Source!
100k sind sinnvoller.

von Jut (Gast)


Lesenswert?

Hm. Oben wird geschrieben zwischen Gate und GND und hier zwischen Gate 
und Source. Wo sollen sie nun hin?

von Wolfgang (Gast)


Lesenswert?

Jut schrieb:
> Das heißt mit spitzen 30 Grad Pogo Pins sollte ich auch
> direkt an die Pins kommen vom Atmega328P-MU.

Die Pins sollten dazu etwa senkrecht auf der Oberfläche der Lötzinnkehle 
aufsetzen. Das verringert die Gefahr des Abrutschens. Aus deinen Bildern 
kann man leider nicht erkennen, wie bei dir die Lötkehle ausgebildet ist 
und wie weit deine Pads überstehen.

von HildeK (Gast)


Lesenswert?

Jut schrieb:
> Hm. Oben wird geschrieben zwischen Gate und GND und hier zwischen Gate
> und Source. Wo sollen sie nun hin?

Bei dir liegt doch Source auf GND, also wo ist das Problem?
Allgemein gilt zwischen Gate und Source. Das passt dann auch für einen 
pMOSFET. 😀

von Jut (Gast)


Lesenswert?


von Jut (Gast)


Lesenswert?

Joachim B. schrieb:
> und wie willst du in den Bootloader kommen ohne Reset?

Mittels DTR beim normalen Aufspielen des Sketch. Die Frage war ja nur ob 
ich den 10K Widerstand auch ohne Taster brauche.

Reset Pin für Bootloader aufspielen hätte ich nun direkt mittels Pogo 
Pin an IC abgegriffen.

von es gibt immer eine alternative zur afd (Gast)


Lesenswert?

Jut schrieb:
> Das heißt ich kann ja nur auf den etwas verlängerten Pads vom Footprint
> aufsetzen, oder?

... oder auf das Gate vom Mosfet oder die Leiterbahn etwas ankratzen und 
da kontaktieren oder ...

von Stefan F. (Gast)


Lesenswert?

Arno schrieb:
> Bei den 100nF an Reset bin ich nicht so sicher, die
> musst du evtl. auslöten

Die stören auch nicht. Sogar 1µF gehen auf jeden Fall, bei mehr kommt es 
auf den Programmieradapter an.

von Jut (Gast)


Lesenswert?

Jut schrieb:
> Joachim B. schrieb:
> und wie willst du in den Bootloader kommen ohne Reset?
>
> Mittels DTR beim normalen Aufspielen des Sketch. Die Frage war ja nur ob
> ich den 10K Widerstand auch ohne Taster brauche.
> Reset Pin für Bootloader aufspielen hätte ich nun direkt mittels Pogo
> Pin an IC abgegriffen.

Danke euch. Dann habe ich es soweit verstanden. Bei dem oberen Punkt bin 
ich mir jetzt unsicher ob ich nun den 10K Widerstand am Reset noch 
brauche wenn ich keinen Taster nutze oder ob der 100nF ausreicht 
zwischen Reset und DTR. Redet für den Bootloader würde ich dann direkt 
am Reset Pin abgreifen.

von Am Chiemsee (Gast)


Lesenswert?

Jut schrieb:
> Bei dem oberen Punkt bin
> ich mir jetzt unsicher ob ich nun den 10K Widerstand am Reset noch
> brauche wenn ich keinen Taster nutze oder ob der 100nF ausreicht
> zwischen Reset und DTR.

Also ich würde den Widerstand schon einsetzten.
Was spricht dagegen wenn der Widerstand auf der Leiterplatte drauf ist, 
weglassen kannst den immer noch, nur wenn keine Pads da sind und sich 
herausstellt der sollte drauf sein, dann hast ein Problem.
Ich habe schon viele Leiterplatten gesehen, wo Bauteile auf NB gesetzt 
waren.

von Brain 2.0 (Gast)


Lesenswert?

Der 10k am Resetpin gehört def. zur Standardbeschaltung. Also musst du 
den bestücken.

von Joachim B. (jar)


Lesenswert?

Jut schrieb:
> Bei dem oberen Punkt bin
> ich mir jetzt unsicher ob ich nun den 10K Widerstand am Reset noch
> brauche

was fragst du denn?

Brain 2.0 schrieb:
> Der 10k am Resetpin gehört def. zur Standardbeschaltung. Also musst du
> den bestücken.

Das ist überall so beschrieben und gebaut!

von Brain 2.0 (Gast)


Lesenswert?

Joachim B. schrieb:
> Brain 2.0 schrieb:
> Der 10k am Resetpin gehört def. zur Standardbeschaltung. Also musst du
> den bestücken.
>
> Das ist überall so beschrieben und gebaut!

Auf der Platine des TO istes bisher nicht vorgesehen.

Ich frage mich nur, wie man mit so geringem Basiswissen eine derartige 
Platine basteln kann.
Und dann noch nicht mal eine Möglich den Chip per ISP zu Flashen 
vorsieht.
Irgendwie peinlich.

von Einer K. (Gast)


Lesenswert?

Brain 2.0 schrieb:
> Auf der Platine des TO istes bisher nicht vorgesehen.

Ist er denn auch nötig?

Im Datenblatt steht doch klar, dass am Reset ein interner Pullup seinen 
Job versieht. Oder?
Zudem ist hier ein Kerko verbaut.

OK, wenn lange Leitungen da dran sind oder gar ein Durchbruch nach Außen 
erfolgt, kann es sein, dass es zu ungewollten Resets führt.
Aber solange die Leiterbahn nur wenige mm lang ist, sehe ich da kein 
Problem.


Später, wenn denn ein ISP Stecker verbaut wird, gerne auch einen 
zusätzlichen Pullup.

von Stefan F. (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:
> Im Datenblatt steht doch klar, das am Reset ein interner Pullup seinen
> Job versieht. Oder?

Ja. Und jetzt kommt Erfahrung dazu: Derart hochohmige Widerstände taugen 
höchstens für unbeschaltete Pins. Schon 2 cm Leiterbahn wirken genug als 
Antenne, um gelegentlich Radiowellen einzufangen.

Auch dem Hersteller ist durchaus klar, dass kein normaler Mensch alles 
wissen kann, also hilft er mit Application Notes, in denen 
Erfahrungswerte zu Empfehlungen führen. Siehe 
http://ww1.microchip.com/downloads/en/appnotes/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf 
Kapitel 3

von Einer K. (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ja. Und jetzt Erfahrung dazu: Derart hochohmige Widerstände taugen
> höchstens für unbeschaltete Pins. Schon 2 cm Leiterbahn wirken genug als
> Antenne, um gelegentlich Radiowellen einzufangen.

Das ist mir bekannt!
Auch die Vorschläge von Atmel usw. sind mir bekannt.
Aber das Kind ist schon im Brunnen.
Da hilft ein "Hätte, Hätte, würde, sollte" nicht mehr weiter.
Erst bei der nächsten Platine.

Ihm hat da einen 100nF Kerko, den er an seinem Seriellen Port gegen GND 
oder Vcc ziehen kann. Die punkte sind da erreichbar.
Dieser kann doch einiges an eingestrahlter Energie aufnehmen.

von Sebastian (Gast)


Lesenswert?

Ich würde erst einmal Drähte an die Pins löten, darüber den Bootloader 
flashen, und dann die Verschaltung der restlichen Ports testen. Bei 
meinen V0.1 sind immer noch weitere Kinken drin ...

LG, Sebastian

von Bernd E. (berecke)


Lesenswert?


von Sebastian (Gast)


Lesenswert?

Sebastian schrieb:
> Ich würde erst einmal Drähte an die Pins löten, darüber den
> Bootloader flashen, und dann die Verschaltung der restlichen Ports
> testen. Bei meinen V0.1 sind immer noch weitere Kinken drin ...
>
> LG, Sebastian

MISO, MOSI und SCK erwischt du an den Gate-Pads der Transistoren, RESET 
am Pad vom Kondensator.

LG, Sebastian

von Sebastian (Gast)


Lesenswert?

Der Pullup an RESET ist ja dazu da, den DTR-Kondensator zu laden wenn 
DTR auf GND gezogen wird, damit aus der Flanke ein Impuls wird. Ohne den 
wird der Impuls höchstwahrscheinlich einfach nur etwas länger. Ob der uC 
dann für avrdude zu lange braucht? Ich denk mal Versuch macht kluch ...

LG, Sebastian

von Sebastian W. (wangnick)


Angehängte Dateien:

Lesenswert?

Ich nehme für solche "Korrekturen" 0.2mm Kupferlackdraht.

LG, Sebastian

von Arno (Gast)


Angehängte Dateien:

Lesenswert?

Ich auch :)

So sieht das aus, wenn man bei einem originalen Arduino Nano plötzlich 
Hardware Flow Control braucht, weil irgendeine komische Software nicht 
ohne will...

MfG, Arno

von Chregu (Gast)


Lesenswert?

Arno schrieb:
> So sieht das aus, wenn man bei einem originalen Arduino Nano

Ach dafür sind die Löcher! Zur Montage sind die ja völlig ungeeignet!

von Joachim B. (jar)


Lesenswert?

Sebastian W. schrieb:
> Ich nehme für solche "Korrekturen" 0.2mm Kupferlackdraht.

oder Fädeldraht, besser lötbar.
https://www.reichelt.de/faedelstift-wire-wrap-werkzeug-faedelstift-ww-p220367.html

von Einer K. (Gast)


Lesenswert?

Sebastian schrieb:
> Der Pullup an RESET ist ja dazu da, den DTR-Kondensator zu laden
> wenn
> DTR auf GND gezogen wird, damit aus der Flanke ein Impuls wird. Ohne den
> wird der Impuls höchstwahrscheinlich einfach nur etwas länger. Ob der uC
> dann für avrdude zu lange braucht? Ich denk mal Versuch macht kluch ...
>
> LG, Sebastian

Selbst dann, kann man den Kerko brücken und an dem Seriell Steckplatz 
die gewünschte Resetbeschaltung aufbauen. Wie gesagt, der ist ja 
zugänglich.

Sebastian W. schrieb:
> Ich nehme für solche "Korrekturen" 0.2mm Kupferlackdraht.
Ja, so könnte man auch den Kerko brücken.

von Jut (Gast)


Lesenswert?

Da ich insgesamt 45 solcher PCBs brauche werde ich mir eine neue 
Testplatine machen lasse. Und den 10K Widerstand einbauen am Reset.

Ebenfalls werde ich mir Vias setzen um mit den Pogo Pins den Bootloader 
zu Flashen.

von Jut (Gast)


Lesenswert?

Ebenfalls werde ich bei jedem MOSFET zwischen Gate und GND/Source einen 
100k Widerstand einsetzen.

von Joachim B. (jar)


Lesenswert?

Jut schrieb:
> Ebenfalls werde ich bei jedem MOSFET zwischen Gate und GND/Source einen
> 100k Widerstand einsetzen.

dann wird beim Programmieren aber auch dein Mosfet flattern, denn die 
100k gegen GND halten den nicht gesperrt!
Das kann auch bedeuten das dein Mosfet sehr oft den Schaltzustand 
durchfährt und er thermisch leidet wenn du dessen dynamische Verluste 
nicht eingerechnet hast.

: Bearbeitet durch User
Beitrag #6519200 wurde vom Autor gelöscht.
von Jut (Gast)


Lesenswert?

Was sollte ich dann ansonsten nutzen?
1MOhm?
Wichtig ist natürlich das der der MOSFET funktioniert. Geflasht wird der 
Bootloader meistens nur einmal.

Würde die Vias für den Bootloader direkt in der Nähe des Atmega setzen.
Bzw sind Vias oder runde Pads besser für die Pogo Pins? Ich dachte an 
Vias da die Pogo Pins dort nicht so wegrutschen können

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

Joachim B. schrieb:
> Jut schrieb:
>> der 10k Widerstand gegen +5V am Reset - ich dachte ich brauche den nur
>> wenn ich einen Reset Taster nutze. den nutze ich nicht.

Der muß sein, sonst schwebt Reset undefiniert in der Luft.

> und wie willst du in den Bootloader kommen ohne Reset?

Genau so, wie es die Arduinos tun - aber Jut fällt es wohl schwer, 
selbst auf die Idee zu kommen.

Ich habe mal aus einem solchen (fast) alles gelöscht, was nicht Reset 
ist.

von Sebastian W. (wangnick)


Angehängte Dateien:

Lesenswert?

Jut schrieb:
> Würde die Vias für den Bootloader direkt in der Nähe des Atmega setzen.
> Bzw sind Vias oder runde Pads besser für die Pogo Pins? Ich dachte an
> Vias da die Pogo Pins dort nicht so wegrutschen können

Meine Programmieralternative: SOIC-8 Testclip (z.B. 
www.digikey.com/product-detail/en/923655-08/923655-08-ND). Benötigt ca. 
7mmx3mm Platz am Boardrand. Siehe Fotos.

Manfred schrieb:
> Ich habe mal aus einem solchen (fast) alles gelöscht, was nicht Reset
> ist.

Die Diode ist wohl nicht nötig, weil RESET 12V abkann.

LG, Sebastian

von Sebastian (Gast)


Lesenswert?

Hallo Jut, bist du schon weitergekommen? LG, Sebastian

von Charly B. (charly)


Lesenswert?

Sebastian W. schrieb:
> Ich nehme für solche "Korrekturen" 0.2mm Kupferlackdraht.

oder direkt ein 0402 Widerstand an den Beinchen anloeten....
oder den Widerstand direkt zw. dem Pin und dem anderen
Widerstand auf der Kante liegend einloeten....

: Bearbeitet durch User
von Wolfgang (Gast)


Lesenswert?

Manfred schrieb:
> Genau so, wie es die Arduinos tun - aber Jut fällt es wohl schwer,
> selbst auf die Idee zu kommen.

Genau, die gehen mit dem DTR-Signal der Schnittstelle auf den Reset-Pin.

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
Noch kein Account? Hier anmelden.