Ich habe viele PCBs, die einen AVR in SMD-Verpackung verwenden, und da ich die Firmware in Prototyp-Boards häufig ä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, 0,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 die Stifte eines Headers mit einer Zange gebogen, damit ich ihn in die Platine "einrasten" konnte. Keine optimale Lösung, aber es hat funktioniert.
Der nächste Schritt bestand darin, Goldfinger zu verwenden (dh an einer Kante der Platine wären einige Kontakte freigelegt, wie bei diesen alten ISA-Platinen, aber natürlich mit nur wenigen Kontakten). Das Problem dabei ist, dass die Board-Kosten steigen und immer noch viel "Immobilien" verbraucht.
Irgendwelche Vorschläge für kleine + billige + saubere Alternativen? Am besten ohne etwas auf die Platine löten zu müssen (wie bei den Goldfingern). Ich dachte nur an ein paar kleine Kontakte auf der Platine und vielleicht zwei Ausrichtungslöcher, wenn es einen Stecker gibt, der dort passen und irgendwie an Ort und Stelle bleiben könnte, während die Programmierung abgeschlossen ist.
Übrigens, obwohl der Standardstecker 10 Pins hat, werden nur 6 benötigt.
Besuchen Sie www.tag-connect.com . Sie liefern Programmierkabel, die zu einem kleinen Board-Pad-Layout passen. Fügen Sie das Layout auf Ihrem Board und Ihrem All-Set hinzu.
Gehen Sie mit einem Satz Testpads, 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 einfach Ihr Brett dagegen. Ich habe diesen Ansatz für ICSP von Microchip recht gut verwendet – er ermöglicht es Ihnen auch, die Kontaktpads fast überall auf der Leiterplatte zu platzieren – was die Routbarkeit für dichte Schaltungen vereinfacht.
Adafruit hat eine schöne Packung, aber sie können auch bei einem Lagerhändler wie Digikey (US) oder Farnell (EU) gekauft werden.
http://www.adafruit.com/products/394
Hinzugefügt: Meine bevorzugte Art, Pogo-Pins zu verwenden:
Nehmen Sie 3 PCBs Ihres Zielgeräts.
PCB Nr. 1 ist Ihr Ziel-PCB - es wird programmiert und Sie sollten es vollständig bestücken.
PCB Nr. 2 ist die Führungsplatine - bohren Sie Löcher (groß genug für den Kopf der Pogo-Stifte) durch alle Testpads - 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 Leiterplatte. Wenn Sie sich um die Kosten bei geringem Volumen kümmern, kopieren Sie das Design auf eine leere Kunststoffplatte und verwenden Sie es stattdessen.
PCB Nr. 3 ist die verbundene PCB - bohren Sie wieder Löcher durch alle Testpads, diesmal groß genug, um das Ende des Pogo-Pins zu passen. Löcher für Abstandshalter bohren - dies ist auch eine Opferplatine.
Löten Sie die Pogo-Pins mit den vorhandenen Abstandshaltern so tief auf PCB#3, dass die Köpfe 5 mm über PCB#2 hinausragen. Löten Sie alle benötigten Kabel.
Bringen Sie Isolierband oder Isolierlack auf PCB2 an.
Schrauben Sie die Abstandshalter ein, schrauben Sie die PCB #2 oben. Das sollte so aussehen, als ob nur Köpfe von Pogo-Stiften herausragen.
Drücken Sie auf die Ziel-PCB Nr. 1 und richten Sie sie an PCB Nr. 2 aus.
Gewinn :)
Die Antwort von @qdot ist gut. Ich dachte nur, ich erwähne, dass ich gesehen habe, wie jemand ein alternatives Design für einen Programmier-Header implementiert hat. Er verwendete fette Pogo-Nadeln, die eine leichte Verjüngung zu haben schienen. Die zu testende Platine hatte große plattierte Durchgangslöcher/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 festen Sitz liefern. Mehrere Pogo-Pins wurden so in eine Leiterplatte gelötet, dass sie mit den Durchkontaktierungen auf der Testplatine ausgerichtet und mit dieser verbunden waren. Auf diese Weise stellte er seinen eigenen Pogo-Pin-Steckverbinder her, der mit der Testplatine zusammenpasste. Ich glaube, er hat diese Arbeit mit plattierten Durchgangslöchern gemacht, wo Sie einen standardmäßigen 0,1-Zoll-ISCP-Header platzieren würden. Anstatt den Header einzulöten, Er hat einfach seinen Pogo-Pin-Stecker damit verbunden und konnte das Mikro darüber programmieren. Es erschien mir sehr bequem. Ich habe versucht, ein Bild davon zu finden, aber es scheint ein relativ einzigartiger Ansatz für dieses Problem zu sein. Die Stifte sahen ungefähr so aus wie auf diesem Bild, aber sie hatten eine Verjüngung am federnden Stiftteil, die dafür sorgte, dass sie eng mit dem Durchgangsloch auf der Testplatine schlossen:
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 veranschaulicht:
https://www.mill-max.com/new_products/detail/22
Ich fand das interessant, weil in dieser Anordnung die Pogo-Stifte die Testplatine zusätzlich zur Bereitstellung der elektrischen Verbindung an Ort und Stelle hielten. Wenn Sie Pogo-Pins verwenden, die gegen Pads drücken, müssen Sie auch einen Weg finden, die Platine so einzuschränken, dass der einzige Freiheitsgrad in der Pogo-Pin-Betätigungsrichtung liegt, und Sie müssen kontinuierlich leichten Druck ausüben. Das heißt, Sie müssen eine Testvorrichtung erstellen. Mit der Methode, die ich vorschlage, müssen Sie keine Testvorrichtung herstellen.
Auf der Suche nach einer Lösung für dasselbe Problem bin ich auf Pogo-Key gestoßen , ein Open-Source-Board zum Erstellen eines Pogo-Pin-basierten Programmierschlüssels. Ähnlich wie die zuvor erwähnten Tag Connect-Modelle, die Sie selbst bauen können, jedoch ohne die Registrierungsstifte oder Beine, die es an Ihrem Board befestigen.
Ich baue eine kleine Adapterplatine mit dem Staggered SOLO Stacker von AVX zum Programmieren von AVRs. Einzelheiten finden Sie unter http://daniel-spilker.com/blog/2011/04/25/isptouch-for-avr-microcontrollers/ . Ich habe auch eine Eagle-Bibliothek erstellt, da der Adapter einen benutzerdefinierten Footprint benötigt.
Für enge Boards verwende ich einen Satz Pads, die für eine 1,27-mm-Stiftleiste bemessen sind, mit Löchern, die gerade groß genug für die Stifte sind. Verwenden Sie für den Handheld-Anschluss ziemlich lange Stifte (8-10 mm), und Sie stecken die Stifte einfach ein und halten sie mit parallel zur Leiterplatte ausgeübtem Druck, sodass die Federkraft jedes Stifts einen guten Kontakt zu den Seiten der plattierten Löcher bietet.
Gehen Sie mit den Fingern ohne die Vergoldung. Warum brauchen Sie die hohe Zuverlässigkeit von Goldfingern, wenn der Platinenstecker in Echtzeit gehandhabt wird? Verwenden Sie einen Platinenrandverbinder, um den Kontakt herzustellen.
Sie benötigen eigentlich keine 6 Pins für ISP, insbesondere wenn Sie die Stromanschlüsse des Boards wiederverwenden können.
Zusätzlich zur Massereferenz benötigen Sie Reset, Clock und zwei Datenrichtungen, also insgesamt 4 oder 5.
An diesem Punkt können Sie einen einreihigen Header verwenden, der nicht gelötet ist, und die Header-Pins in einem Winkel zur Platine halten, um den Kontakt sicherzustellen.
Der Vorteil gegenüber Pogo-Pins besteht darin, dass Header-Pins langlebiger, billiger zu ersetzen sind (verwenden Sie eine Buchse an Ihrem Kabel und einen austauschbaren losen Stiftstreifen dazwischen) und in einer höheren Rasterdichte verfügbar sind.
Pogo-Pins sind sinnvoll, wenn Sie viele Verbindungen aufnehmen müssen, die Verbindung für Vorgänge klemmen müssen, die länger als ein paar Sekunden dauern, oder wenn sie auf der Platine verstreut sind und nicht in einer bequem kurzen Reihe. Aber sie erfordern, dass Sie so etwas wie eine Vorrichtung entwerfen.
Dave.Mech.Eng