Forum: Mikrocontroller und Digitale Elektronik µC vor dem Einlötenprogrammieren?


von williger Gehilfe (Gast)


Lesenswert?

Hallo Forum,

ich habe so winzige µC's ATtiny10 im SOT23-6 Gehäuse.
Dazu habe ich mir eine Art Textool-Fassung gekauft um die Dinger vor dem 
Einlöten zu programmieren.

Aber jetzt kommen mir Bedenken, ob nicht der µC durch das Reflow löten 
schneller sein Gedächnis (Programmspeicher) verliert?!

von Max D. (max_d)


Lesenswert?

Also während des Lötens diffundiert da die Ladung natürlich etwas 
flotter raus, aber das sind ja nur Sekunden...

von Bastler (Gast)


Lesenswert?

In der Industrie werden oft programmierte Controller eingekauft und 
verlötet.

von mse2 (Gast)


Lesenswert?

Bastler schrieb:
> In der Industrie werden oft programmierte Controller eingekauft
> und
> verlötet.
Kann ich bestätigen, das machen wir so!

von mse2 (Gast)


Lesenswert?

mse2 schrieb:
> Kann ich bestätigen, das machen wir so!
PS: Allerdings führen wir trotzdem die Programmierleitungen heraus, 
damit wir evtl. später ein Update machen können.

von Max D. (max_d)


Lesenswert?

mse2 schrieb:
> PS: Allerdings führen wir trotzdem die Programmierleitungen heraus,
> damit wir evtl. später ein Update machen können.

Ein Bootloader kann da Wunder bewirken ;)

von Ulrich F. (Gast)


Lesenswert?

Max D. schrieb:
> Ein Bootloader kann da Wunder bewirken ;)
Ja, vor allen Dingen, wenn man ihn später mal ändern muss.

von Max D. (max_d)


Lesenswert?

Ulrich F. schrieb:
> Max D. schrieb:
>> Ein Bootloader kann da Wunder bewirken ;)
> Ja, vor allen Dingen, wenn man ihn später mal ändern muss.

Also normalerweise legt man den Bootloader so grundlegend an, dass er 
"zeitlos" ist (daten via UART rüberschieben geht z.B. schon ewig und 
wird auch noch laaaange so gehen).

Wenn man etwas abenteuerlustig ist, dann kann man den Bootloader auch 
neu schreiben indem man in die Application-Section code lädt der dann 
den loader neu schreibt (digispark macht das z.B. so).

von c-hater (Gast)


Lesenswert?

Max D. schrieb:

> Ein Bootloader kann da Wunder bewirken ;)

Ein Bootloader ergibt keinen Sinn, wenn er auch bloß wieder über lokale 
Anschlüsse läuft.

Dann muß man nämlich genauso erst hinlatschen und obendrein nach dem 
Anstöpseln der Mimik oft auch noch einen schlecht erreichbaren 
Reset-Button drücken.
Nö, da kann man auch gleich das normale Programmier-Procedere an einem 
gut zugänglich herausgeführten Programmieranschluß verwenden.

Bootloader sind allerdings sehr nützlich, wenn das Target ohnehin Teil 
eines (wie auch immer) vernetzten Systems ist und der Bootloader in der 
Lage ist, eben diese Netzanbindung zu benutzen. Dann kommt Sinn in die 
Sache.

von mse2 (Gast)


Lesenswert?

Max D. schrieb:
> mse2 schrieb:
>> PS: Allerdings führen wir trotzdem die Programmierleitungen heraus,
>> damit wir evtl. später ein Update machen können.
>
> Ein Bootloader kann da Wunder bewirken ;)
Wir hatten schon den Fall, dass irrtümlich leere Controller bestückt 
wurden (mit 'leer' meine ich, dass auch kein Boot-Loader drinngewesen 
wäre, wenn wir mit sowas arbeiten würden.) In der Situation waren wir 
über die herausgeführten Programmierleitungen sehr glücklich!  ;)

von Schreiber (Gast)


Lesenswert?

mse2 schrieb:
>> Kann ich bestätigen, das machen wir so!
> PS: Allerdings führen wir trotzdem die Programmierleitungen heraus,
> damit wir evtl. später ein Update machen können.

Dazu reichen einfach einige kleine Kupferflächen ohne Lötstoplack. 
Kontaktieren kann man die mit einer Hilfsvorrichtung und gefederten 
Kontaktspitzen.
Ist etwas lästig weil man für jedes Gerät einen passenden Kontakthalter 
bauen muss, dafür kostet es aber nichts und brauch keinen Platz.
Bei normaln ICs (DIL) kann man den Programmieradapter auch oben aufs IC 
drücken.

Bei Kleinserien entweder Telephonbuchsen (6-Polig), Stiftleisten oder 
Kontakte am Platinenrand.

von keinGast (Gast)


Lesenswert?

TAG-Connect bietet da sehr schöne Lösungen an. Da braucht man sich 
keinen eigenen Nadelbettadapter zurechtfummeln. Und belegt nur minimale 
PCB Fläche. Selbst ausprobiert, war sehr einfach, nach dem das Footprint 
einmal in der Lib war.

von Thomas S. (thommi)


Lesenswert?

Kontakte am Platinenrand sind eh optimal, da kann man mit einer breiten 
Klammer andocken, oder nen entsprechenden Stecker nehmen, den man auf 
Leiterbahnen aufstecken kann, wie z. B. beim TI99/4A die Zusatzmodule, 
oder der Anschluss von Peripheriegeräten.

von Schreiber (Gast)


Lesenswert?

keinGast schrieb:
> TAG-Connect bietet da sehr schöne Lösungen an. Da braucht man sich
> keinen eigenen Nadelbettadapter zurechtfummeln.

Schon, aber seit 3D-Drucker bezahlbar geworden sind, kann man auch auf 
individuell entwickelte Lösungen setzen. Dann gerne auch gleich mit mehr 
Kontakten um die Hardware zu prüfen und für Kalibrierungsarbeiten.
Referenzspannungen messen, µC programmieren, Funktionsprüfung wichtiger 
Bauteile/Baugruppen...

Wenns gut eingerichtet ist:
Platine auflegen, runterdrücken, kurz warten, fertig.

von Cyblord -. (cyblord)


Lesenswert?

Also ich mache auf alle meine PCBs einen Footprint für einen JST-ZH 
Stecker (6 pol 7 THT) drauf. Die kann man mit einem passenden JST-ZH 
Stecker einfach kurzzeitig kontaktieren (durch einstecken und 
festhalten) oder man kann einen solchen Stecker bei Prototypen auch 
einlöten.
Selbst auf den kleinsten Sensoren findet der Footprint noch Platz.

von 6a66 (Gast)


Lesenswert?

keinGast schrieb:
> TAG-Connect bietet da sehr schöne Lösungen an. Da braucht man sich
> keinen eigenen Nadelbettadapter zurechtfummeln. Und belegt nur minimale
> PCB Fläche. Selbst ausprobiert, war sehr einfach, nach dem das Footprint
> einmal in der Lib war.

Allerdings ist der Platz für die Löcher immer noch "RIESIG". Habe selber 
einen da. Bin inwzwischen wieder (Serienentwicklung >1k/a) bei einem 
5..6poligen Steckverbinder, bei einem potentiellen Produkt werden es nur 
5 Kontaktpads. Kontaktiert wird über Nadeladapter, geflashed in Serie 
über SWD. Das mit dem Vorprogrammieren ist nur eine Option wenn das 
Programm SICHER steht (was ja nie sein wird denn nichts ist älter als 
das Listing von huete :) und dann auch IMMER die Prgrammierpads auch 
noch da sind. Also nur zum erhofften Ersatz der Programmierung in der 
Serie und um denn  Nadeladapter zu sparen.

rgds

von Schreiber (Gast)


Lesenswert?

Thomas S. schrieb:
> Kontakte am Platinenrand sind eh optimal, da kann man mit einer
> breiten
> Klammer andocken, oder nen entsprechenden Stecker nehmen, den man auf
> Leiterbahnen aufstecken kann,

...nur muss man die Kontakte erstmal dahin bringen wo man sie auch haben 
will.
Die Leitungen einmal quer über die halbe Platine zu legen ist nicht 
immer ganz einfach. Besonders wenn es zusätzlich noch um 
Isolationsabstände, EMV oder schnelle Signale geht...

von 6a66 (Gast)


Lesenswert?

Cyblord -. schrieb:
> Also ich mache auf alle meine PCBs einen Footprint für einen JST-ZH
> Stecker (6 pol 7 THT) drauf.

Der sieht super aus.

rgds

von Amateur (Gast)


Lesenswert?

Die Art, wie die Atmels programmiert werden ist ja keine Spezialität des 
Hauses: Atmel. Andere haben eine ähnliche Funktionalität.

Aus diesem Grunde hat die Industrie extra Geräte konstruiert, die die 
Programmierung - vor dem Einlöten - übernehmen.

Das ist ja auch logisch, sonst müsste ja jeder FLASH-programmierbare 
Chip das volle Programm aus ISP bzw. USB auf seiner Platine haben. 
Manchmal sind die dadurch freiwerdenden Pins (in der Schaltung) auch 
nicht mehr anders zu verwenden.

Unter Umständen ist dadurch die nachträgliche Umprogrammierung unmöglich 
geworden.

von 6a66 (Gast)


Lesenswert?

6a66 schrieb:
> Cyblord -. schrieb:
>> Also ich mache auf alle meine PCBs einen Footprint für einen JST-ZH
>> Stecker (6 pol 7 THT) drauf.
>
> Der sieht super aus.
>
> rgds

Amateur schrieb:
> Das ist ja auch logisch, sonst müsste ja jeder FLASH-programmierbare
> Chip das volle Programm aus ISP bzw. USB auf seiner Platine haben.
> Manchmal sind die dadurch freiwerdenden Pins (in der Schaltung) auch
> nicht mehr anders zu verwenden.

Das sind bei SWD (STEM32F) z.B. genau 5 Pins ohne Beschaltung: GND, 
Reset, 3,3V, SWCLK, SWDIO - also pro Prozessor nur zwei Pins. Das 
schafft man problemlos auf den oben geannnten Stecker. Dass es Geräte 
gibt die Prozessoren programmieren ist kein Beweis dafür dass das der 
sinnvollste Weg ist.

rgds

von Amateur (Gast)


Lesenswert?

>Dass es Geräte gibt die Prozessoren programmieren ist kein Beweis
>dafür dass das der sinnvollste Weg ist.

Wenn Firmen diese "Programmer" für hohe 5-stellige Beträge anbieten und 
verkaufen, heißt zwar nicht, dass es keinen Umweg gäbe.
Wenn der Anwender aber alle Anschlüsse verwendet hat und vor der Wahl 48 
oder 64 Anschlüsse steht, dann sollte er mal mit seinem Chef reden. 
Vielleicht hat der ja noch einen Platz im Pförtnerhäuschen frei. 
Alternativ kann er auch in einer Metzgerei was werden. Deren 
Standartfrage ist ja doch: „Darf‘s auch ein bisschen mehr sein“?
Ich rede hier nicht von einem Bastlereinzelstück.

von Bürovorsteher (Gast)


Lesenswert?

Cyblord -. schrieb:
> Also ich mache auf alle meine PCBs einen Footprint für einen JST-ZH
> Stecker (6 pol 7 THT) drauf.

Bei mir ist das ein 6-poliger Micromatch 
http://www.digikey.de/product-detail/de/7-215079-6/A30729TR-ND/740376.
Das einzusteckende Buchsenteil ist erst nach 500 Steckungen soweit 
ausgenuckelt, dass ein neues auf den dazugehörigen Kabelstecker
http://www.digikey.de/product-detail/de/7-215083-6/A99463CT-ND/1955765 
gesetzt werden muss.

von Schreiber (Gast)


Lesenswert?

Amateur schrieb:
>>Dass es Geräte gibt die Prozessoren programmieren ist kein Beweis
>>dafür dass das der sinnvollste Weg ist.
>
> Wenn Firmen diese "Programmer" für hohe 5-stellige Beträge anbieten und
> verkaufen, heißt zwar nicht, dass es keinen Umweg gäbe.

Man kann dies Programmiergeräte auch in eine Bestückungsmaschine 
integrieren. Kann einen zusätzlichen, manuellen, Arbeitsschritt 
einsparen.

Selbst wenn man dadurch nur einen einzigen Hilfsarbeiter einsparen kann, 
sind das mindestens 2000€/Monat.

von Max B. (theeye)


Lesenswert?

Ich nenne auch einen TAG-Connect mein Eigen. Macht einen sehr guten 
Eindruck, kam allerdings noch nicht zum Einsatz. Ändert sich mit der 
nächsten Platine :-)

Gruß Max

von 6a66 (Gast)


Lesenswert?

Amateur schrieb:
> Wenn der Anwender aber alle Anschlüsse verwendet hat und vor der Wahl 48
> oder 64 Anschlüsse steht, dann sollte er mal mit seinem Chef reden.

Wenn es soweit ist dass man von 48 auf 64 Pins wechseln muss und dafür 
die zwei SWD-Pins einsparen muss dann ist nach meinem dafürhalten der 
Weg frei für das "Krankenhaus am Rande der Stadt". Da müssen schon 
wirkliche Mengen - ich denke da reden wir über >100kpcs/a - vorhanden 
sein und das Programm sehr stabil sein und ein Bootloader über die 
Serielle zugreifbar sein die auch noch anderen Zwecken dient und .... 
dass man da das Risiko eingeht. Und der 64pinner ist dann wieviel teurer 
dass sich der ganze Spagat rentiert: 20Cent, 30 Cent? Dafür der ganze 
Akt und das Risiko soundsoviel Bauteile und bestückte Platinen wegwerfen 
weil die Programmierschnittstelle fehlt.

Amateur schrieb:
> Ich rede hier nicht von einem Bastlereinzelstück.

Richtig. Ich denke so in Dimensionen von 10k/a. Bei STM kostet das 
Größere Gehäuse - wenn denn MLF oder TQFP - nicht die Welt. Was soll's - 
Wenn es an den wenigen Cent scheitert ist vorher was falsch gelaufen. 
Und wenn's der Platz ist wäre ein anderes Gehäuse angesagt.

Sogar Amazons 1$ Kauf-Button hat die Pins für die SWD drauf.

rgds

von Thomas (kosmos)


Lesenswert?

Stolzer Preis dieser TAG-Conector

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.