Vorschläge für kleine und handliche Stecker zur In-Circuit-Programmierung?


21

Ich habe viele Leiterplatten, die einen AVR in SMD-Verpackung verwenden, und da ich häufig die Firmware in Prototypenplatinen ändere, versuche ich, die beste Lösung zu finden, um den AVR schnell und einfach zu programmieren.

Der erste Ansatz war, einen Standard-Header (2x5 Pins, .1 ") auf der Platine zu haben, aber da diese sperrig sind (für die Größe der Platinen, mit denen ich es zu tun habe), begann ich, nur die Kontaktlöcher ohne Löten zu haben den Header und bog die Stifte eines Headers mit einer Zange, so dass ich ihn in die Platine "einrasten" konnte. Keine optimale Lösung, aber es funktionierte.

Der nächste Schritt bestand in der Verwendung von Goldfingern (dh an einer Kante der Platine wurden einige Kontakte freigelegt, wie bei den alten ISA-Platinen, aber natürlich nur mit wenigen Kontakten). Das Problem dabei ist, dass die Boardkosten steigen und immer noch viel "Immobilien" verbraucht werden.

Irgendwelche Vorschläge für kleine, billige und saubere Alternativen? Im Idealfall ohne etwas auf der Platine zu löten (wie mit den goldenen Fingern). Ich dachte nur an ein paar kleine Kontakte auf der Platine und vielleicht an zwei Ausrichtungslöcher, wenn es einen Stecker gibt, der dort passen könnte und irgendwie an Ort und Stelle bleibt, während die Programmierung abgeschlossen ist.

Übrigens, obwohl der Standardstecker 10 Stifte hat, werden nur 6 benötigt.


Ich schlage vor, Sie machen den Titel allgemeiner. Diese Frage ist nicht spezifisch für Atmel-Mikrocontroller. Wie wäre es damit: "Vorschläge für kleine und handliche Stecker für die In-Circuit-Programmierung?".
Dave.Mech.Eng

Antworten:



15

Nehmen Sie einen Satz Testkissen mit, wenn Sie einen Produktionslauf anstreben.

Sie können sie leicht mit Pogo-Stiften erreichen - Sie stecken sie an vordefinierten Stellen in ein Steckbrett und drücken Ihr Brett einfach dagegen. Ich habe diesen Ansatz für die ICSP von Microchip recht gut angewendet. Außerdem können Sie die Kontaktfelder fast überall auf der Leiterplatte platzieren, was die Routing-Funktion für dichte Schaltkreise vereinfacht.

Adafruit hat eine schöne Packung, aber sie können auch bei einem Händler wie Digikey (USA) oder Farnell (EU) gekauft werden.

http://www.adafruit.com/products/394


Hinzugefügt: Meine Lieblingsmethode für die Verwendung von Pogo-Pins:

Nehmen Sie 3 Leiterplatten Ihres Zielgeräts.

PCB # 1 ist Ihre Ziel-PCB - es wird programmiert und Sie sollten es vollständig bestücken.

PCB # 2 ist die Führungs-PCB - Bohren Sie Löcher (groß genug für den Kopf der Pogo-Pins) durch alle Test-Pads - es ist einfacher, da Sie die Position sehen. Bohren Sie bei Bedarf (z. B. zunächst keine Befestigungslöcher) auch Löcher für Abstandshalter - Sie opfern diese Platine, wenn Sie sich mit den Kosten bei geringem Volumen befassen, kopieren Sie das Design auf eine leere Kunststoffplatte und verwenden Sie sie stattdessen.

PCB # 3 ist die angeschlossene PCB - bohren Sie erneut Löcher durch alle Testfelder, diesmal groß genug, um den Schwanz des Pogo-Pins zu passen. Bohren Sie Löcher für Abstandshalter - dies ist auch eine Opferplatine.

Löten Sie die Pogo-Stifte mit den vorhandenen Abstandshaltern in einer solchen Tiefe auf die Leiterplatte Nr. 3, dass die Köpfe 5 mm über der Leiterplatte Nr. 2 herausragen. Löten Sie alle erforderlichen Kabel.

Bringen Sie ein Isolierband oder einen Isolierlack auf PCB2 an.

Schrauben Sie die Abstandshalter ein, schrauben Sie die Platine 2 oben. Dies sollte so aussehen, als ob nur Köpfe von Pogo-Stiften herausragen.

Drücken Sie auf die Zielplatine 1 und richten Sie sie mit der Platine 2 aus.

Gewinn :)


Wissen Sie, aus welchem ​​Material sie bestehen? Ich frage, weil es nicht praktisch wäre, Abstandhalter zu verwenden, aber wenn magnetisch, könnte ich sie mit einem Magneten auf der anderen Seite der Platine festhalten.
Fceconel

Keine Distanzstücke, in den meisten Fällen haben die Pogo-Pins genug Platz, um die Leiterplatte in einem kleinen Winkel zu bearbeiten. Was zählt, ist, ob Sie die Platine in die richtige Ausrichtung mit den Stiften bekommen können.
qdot

1
Es wurde ein Abschnitt hinzugefügt, in dem beschrieben wird, wie ich Pogo-Pins bei der Programmierung mit kleinem Volumen (10+) verwende.
qdot

1
@qdot - Ihre Methode ähnelt stark den Pogo-Pin-Produktionslinien von Sparkfun , die einige schöne Illustrationen für die Methode enthalten. Ich persönlich mag es nicht; Aber ich kann meine Pogo-Pin-Anforderungen an eine CNC-Maschine senden, die Löcher an den richtigen Stellen in ein Stück Phenol bohrt, das für meine Testmaschine in die richtige Form geschnitten wurde :)
Kevin Vermeer

7

Die Antwort von @qdot ist gut. Ich dachte nur, ich würde erwähnen, dass ich jemanden gesehen habe, der ein alternatives Design für einen Programmierheader implementiert. Er benutzte dicke Pogo-Nadeln, die sich leicht verjüngen. Die getestete Platine hatte große Durchkontaktierungen, die einen passenden Kontakt mit den Pogo-Stiften herstellten, um die elektrische Verbindung herzustellen. Das heißt, ein Pogo-Stift könnte in das plattierte Loch eingeführt werden und würde einen ausreichenden, aber nicht zu engen Sitz liefern. Mehrere Pogo-Pins wurden so in eine Leiterplatte eingelötet, dass sie mit den Durchkontaktierungen auf der Testplatine fluchten und mit dieser verbunden wurden. Auf diese Weise stellte er seinen eigenen Pogo-Pin-Stecker her, der mit dem Testboard zusammenpasst. Ich glaube, er hat diese Arbeit mit durchkontaktierten Löchern gemacht, in denen Sie einen Standard-ISCP-Header mit 0,1 "Rastermaß platzieren würden. Anstatt den Header einzulöten, Er hat nur seinen Pogo-Pin-Stecker damit verbunden und konnte das Mikro durch ihn programmieren. Es schien mir sehr praktisch zu sein. Ich habe versucht, ein Bild davon zu finden, aber es scheint eine relativ einzigartige Herangehensweise an dieses Problem zu sein. Die Stifte sahen ungefähr so ​​aus wie auf diesem Bild, hatten jedoch eine Verjüngung am federnden Stiftteil, sodass sie fest in das Durchgangsloch auf der Testplatine passten:

ähnlicher Federstift

http://search.digikey.com/ca/en/products/0906-4-15-20-75-14-11-0/ED8184-ND/1147052

Dies ist so nah, wie ich ein Bild finden kann, das diese Idee illustriert:

ähnliches System

https://www.mill-max.com/new_products/detail/22

Ich fand das interessant, weil in dieser Anordnung die Pogo-Stifte die Testplatine an Ort und Stelle hielten und zusätzlich die elektrische Verbindung herstellten. Wenn Sie Pogo-Stifte verwenden, die gegen Pads drücken, müssen Sie auch eine Möglichkeit finden, die Platine so zu beschränken, dass der einzige Freiheitsgrad in der Betätigungsrichtung der Pogo-Stifte liegt und Sie kontinuierlich leichten Druck ausüben müssen. Das heißt, Sie müssen eine Testvorrichtung machen. Mit der Methode schlage ich vor, dass Sie keine Testvorrichtung erstellen müssen.


1
Zur Not können Sie die Pogo-Stifte direkt in die Buchse stecken (wie beim PicKit) und diesen 5-Pogo-Apparat als Kompressionsanschluss verwenden.
qdot


Ich habe kürzlich Teile aus der Serie, die ich im obigen Kommentar verlinkt habe, für die Programmierung in einer Produktionsumgebung mit geringen Stückzahlen verwendet. Die Pogo-Baugruppen müssen jedoch auf die Programmier-Jig-Platine aufgelötet werden, was für einige Probleme bereiten kann.
B Pete

Scheint vielversprechend ... je nach erforderlicher Lochgröße ist dies möglicherweise eine bessere Lösung als die Pogo-Stifte, da keine zusätzlichen Teile erforderlich sind, um sie an Ort und Stelle zu halten. Ich kaufe welche und versuche es.
fceconel

5

Auf der Suche nach einer Lösung für das gleiche Problem stieß ich auf den Pogo-Key , eine Open Source-Karte zum Erstellen eines Pogo-Pin-basierten Programmierschlüssels. Ähnlich wie bei den zuvor erwähnten Tag Connect-Modellen können Sie diese selbst bauen, jedoch ohne die Registrierungsstifte oder -beine, mit denen sie an Ihrem Board befestigt sind.


Das ist in der Tat eine gute billige Alternative. Das Hauptproblem ist jedoch, dass es keine Möglichkeit gibt, den Konnektor zu verriegeln. Dies ist der Hauptgrund, warum ich die Tag-Connect-Antwort als die beste akzeptierte. Ich habe versucht, selbst einen Stecker mit Pogo-Stiften herzustellen, habe aber die Idee deswegen aufgegeben.
Fceconel

Das ist ein nettes Feature, verschwendet aber etwas Board-Platz in den Löchern, durch die die Clips gehen. Es sieht so aus, als ob der Pogo-Schlüssel für einen wirklich begrenzten Platinenplatz auf einer Platine in Knopfgröße entwickelt wurde.
Brian Campbell

In der Tat wäre das Ideal, eine Möglichkeit zu haben, es mit einem Werkzeug außerhalb der Platine zu verriegeln. Ich habe einmal darüber nachgedacht, ein 3D-Modell zu entwerfen, das einer Wäscheklammer ähnelt, an der der Pogo-Konnektor befestigt ist, und es bei Shapeways bestellt, aber ich war entmutigt, es fertigzustellen, als ich wusste, dass es ein fertiges Produkt gibt.
Fceconel

( Gehört möglicherweise als separate Antwort) Wenn Sie jedoch nach einer solchen Lösung mit einem Clip suchen, hat dfrobot den eClip ( Dokumentation hier). Das Design ermöglicht es Ihnen, die mitgelieferten Pinbelegungen und Pogos für einige Standardgrößen anzubringen oder Ihre eigene Leiterplatte entsprechend Ihrer Hardware zu entwerfen und zwischen verschiedenen Pinbelegungen zu wechseln. Die Vorlagendateien befinden sich auf dem Github. das Design ist ziemlich solide und mit größeren Pogostiften erwähnten hier kann mit leeren plattierten Löchern arbeiten
overprescribed


3

Für enge Boards verwende ich einen Satz Pads, der für einen Stiftleistenstreifen mit 1,27 mm Rastermaß ausgelegt ist und Löcher aufweist, die gerade groß genug für die Stifte sind. Verwenden Sie für den Handheld-Anschluss relativ lange Stifte (8-10 mm). Führen Sie die Stifte einfach ein und halten Sie sie mit Druck parallel zur Leiterplatte, damit die Federkraft jedes Stifts einen guten Kontakt zu den Seiten der plattierten Löcher bietet.


1

Gehen Sie mit den Fingern ohne die Vergoldung. Warum benötigen Sie die hohe Zuverlässigkeit von Goldfingern, wenn der Platinenstecker in Echtzeit verarbeitet wird? Verwenden Sie einen Platinenstecker, um den Kontakt herzustellen.


Vielen Dank, ich bin damit einverstanden, dass es die Kosten senken sollte, aber das ist nicht die einzige Sorge. Die Fabrik, die ich benutze, kostet extra, wenn Kontakte an den Rändern sind, und es gibt auch das Problem des Platzes, den die Finger benutzen.
Fceconel

1

Sie benötigen eigentlich keine 6-poligen Anschlüsse für ISP, insbesondere wenn Sie die Stromanschlüsse der Karte wiederverwenden können.

Zusätzlich zur Grundreferenz benötigen Sie einen Reset, eine Uhr und zwei Datenrichtungen für insgesamt 4 oder 5.

Zu diesem Zeitpunkt können Sie einen ungelöteten einreihigen Header verwenden und die Header-Stifte in einem Winkel zur Platine halten, um den Kontakt zu gewährleisten.

Dies hat gegenüber Pogo-Pins den Vorteil, dass die Header-Pins langlebiger, kostengünstiger zu ersetzen (verwenden Sie eine Buchse an Ihrem Kabel und einen austauschbaren losen Stiftstreifen dazwischen) und in höherer Teilungsdichte erhältlich sind.

Pogo-Stifte sind sinnvoll, wenn Sie viele Verbindungen aufnehmen müssen, die Verbindung für Vorgänge, die länger als ein paar Sekunden dauern, geklemmt werden müssen oder wenn sie auf der Platine verstreut sind, anstatt in einer bequemen kurzen Reihe. Aber sie verlangen, dass Sie so etwas wie eine Leuchte entwerfen.


Die 6 Pins sind, weil die Karte beim Programmieren nicht mit Strom versorgt wird (ich habe den AVR-Programmierer mit Strom versorgt, damit ich sie einfach anschließen, programmieren und trennen kann).
Fceconel

1
Ich habs. Es besteht immer die Möglichkeit, Aligator-Clips oder -Greifer oder das vorgesehene Stromkabel für die Stromversorgung zu verwenden. Viel hängt davon ab, wie viele davon von einem Techniker erledigt werden. Das Volumen (oder eine Doppel-In-Line-Anforderung) gibt an, in sorgfältig konstruierte Vorrichtungen mit Pogos zu investieren. Prototyp-Maßstäbe geben an, wie einfach, pragmatisch und wartbar Dinge sind wie der einzelne Inline-Header in einem Winkel gehalten.
Chris Stratton

1
OK, aber es gibt einen Haken: Wenn Sie während der Programmierung die Verbindung zu einem der Pins verlieren, besteht die Gefahr, dass der AVR in einen nicht behebbaren Zustand versetzt wird (das habe ich zweimal getan). Deshalb werden die Pogo-Pins immer wichtiger, um sicherzustellen, dass dies nicht passiert.
Fceconel

@fceconel - guter Punkt, das Halten in einem Winkel ist eine Technik, die ich eher mit CPLDs als mit AVRs verwendet habe (für die ich bisher tatsächliche Konnektoren einbeziehen konnte)
Chris Stratton

@fceconel - "Nicht behebbar"? Sie haben einen Programmierer in der Hand! Es ist nicht so, dass Sie sich auf einen Bootloader verlassen. Ich nehme an, Sie haben möglicherweise die Stromversorgung unterbrochen und versorgen den AVR über die Schutzdioden an den E / A-Pins (die ihn beschädigen könnten). Eine Beschädigung der Daten sollte jedoch kein Problem darstellen.
Kevin Vermeer
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.