Forum: Mikrocontroller und Digitale Elektronik Programmierbuchse SMD


von Philipp L. (viech)


Lesenswert?

Nabend zusammen,

ich bin grad beim Platinenlayout für meinen DCC-Decoder und brauche eine 
Buchse für die ISP Programmierung.

Hier im Forum habe wurde schonmal folgende genannt, welche auch einen 
guten Eindruck macht:
SM04B-SRSS-TB(LF)(SN)
http://www.jst-mfg.com/product/pdf/eng/eSH.pdf

Hat jemand von euch diese bereits in Eagle eingepflegt oder als Lib 
gefunden?

Wenn jemand eine noch kleine steckbare Möglichkeit kennt, freue ich mich 
über Tipps !

Gruß,
Philipp

von Andreas B. (bitverdreher)


Lesenswert?

0,5mm FPC Steckverbinder.

von Wolfgang (Gast)


Lesenswert?

Philipp L. schrieb:
> Wenn jemand eine noch kleine steckbare Möglichkeit kennt, freue ich mich
> über Tipps !

Überlege dir gut, ob du einen Steckverbindung mit so wenigen Pins wie 
ISP über einen SMD-Steckverbinder mit so kleinem Pinabstand führst. Bei 
so einem Stecker werden die Pads so klein, dass die keine größeren 
Kräfte mehr aufnehmen können und schnell von der Platine abreißen.

Warum packst du keinen Bootloader auf den µC drauf, so dass du den 
Decoder über das DCC-Signal programmieren kannst. Dann reichen auf der 
Platine ein paar Durchkontaktierungen und ein Programmieradapter mit 
Federkontaktstiften, um einmalig den Bootloader per ISP aufzuspielen.

von Andreas B. (bitverdreher)


Lesenswert?

Wolfgang schrieb:
> Überlege dir gut, ob du einen Steckverbindung mit so wenigen Pins wie
> ISP über einen SMD-Steckverbinder mit so kleinem Pinabstand führst. Bei
> so einem Stecker werden die Pads so klein, dass die keine größeren
> Kräfte mehr aufnehmen können und schnell von der Platine abreißen.

Solche Verbinder haben i.A. zusätzliche Lötpads. Wenn man also kein 
Grobmotoriker ist, dann ist das kein Problem.
Bootloader macht nur Sinn, wenn man genug Speicher frei hat. Bei 
Modellbauanwendungen wird man wohl die kleinstmögliche Bauweise wählen. 
Also eher etwas in Richtung Tiny10. Davon abgesehen braucht ein 
Bootloader Zeit zum Starten (weil er nämlich erst warten muß ob etwas 
über die serielle reinkommt oder nicht).

von Wolfgang (Gast)


Lesenswert?

Andreas B. schrieb:
> Solche Verbinder haben i.A. zusätzliche Lötpads.

Die JST Verbinder aus der SH-Serie besitzen genau zwei solcher Lötpads 
mit 1.8 x 1.2mm

Da darf man auf dem Basteltisch nicht mal so richtig mit dem Kabel 
hängen bleiben.

von Andreas B. (bitverdreher)


Lesenswert?

Wolfgang schrieb:
> Da darf man auf dem Basteltisch nicht mal so richtig mit dem Kabel
> hängen bleiben.

Nein, mit den Hammer draufhauen darf man da auch nicht.
Der TO möchte einen DCC Decoder bauen, der vermutlich in eine 
Modelleisenbahn hineinkommt. Da kann alles gar nicht klein genug sein. 
Geh also mal davon aus, daß er sich über sein Tun bewußt ist. Wenn du 
Dich lieber mit 2,54 Raster Verbindungen umgibst, ist das schön für 
Dich, hilft dem TO aber wenig.
An den TO: Es gibt auch 0,3mm oder 0,2mm FPC Stecker. Dann wird es aber 
wirklich fummelig.

von Wolfgang (Gast)


Lesenswert?

Andreas B. schrieb:
> Wenn du Dich lieber mit 2,54 Raster Verbindungen umgibst, ist das
> schön für Dich, hilft dem TO aber wenig.

Wie kommst du jetzt auf ein 2,54 Raster?

Bei der Kontaktierung mit Federkontaktstiften dachte ich eher an 0,64er 
Raster, d.h. an einen um einen Faktor 16 kleineren 
Platinenflächenbedarf.

Da bastelt man sich einmal einen Halter für die Stifte und dann bekommt 
man mit 0.3er Dukos einen ziemlich kompakten Zugang für ISP, kompakter 
als mit einem fester Steckverbinder mit Haltepads und sonstigem Zirkus.
https://ingun.com/en/Products/Productfinder/GKS_SML/GKS-038/GKS-038-0001/view

von Wolfgang (Gast)


Lesenswert?

Wolfgang schrieb:
> https://ingun.com/en/Products/Productfinder/GKS_SML/GKS-038/GKS-038-0001/view

Sorry, das muss natürlich mit konischer Spitze sein, damit sich die 
Dinger sauber in der Bohrung positionieren, also GKS-038-0003.
https://ingun.com/en/Products/Productfinder/GKS_SML/GKS-038/GKS-038-0003/view

von H0 (Gast)


Lesenswert?

Hallo Philipp,
die von Dir oben genannte Buchse wird im Hinblick auf DCC-Decoder als 
SUSI-Buchse verwendet. Du solltest sie ebenfalls dafür verwenden, wenn 
Deine Decoder vielleicht mal mit SUSI-Peripherie zusammenarbeiten 
sollen. Ansonsten würde ich Dir ebenfalls einen Bootloader auf den 
Decodern empfehlen, dann kannst Du mit einem geeigneten Programmer über 
das Gleis neue Firmware hochladen. Das wird Dir später viel Arbeit 
einsparen.

von qwertzuiopü+ (Gast)


Lesenswert?

JST SH habe ich auch schon oft für ISP verwendet, das geht sehr gut. 
Wenn man die beiden mechanischen Lötpads auf eine Massefläche legt, hält 
das auch ein bisschen was aus.
Das Nette ist bei den Steckern, dass man fertig gecrimpte Kabel 
problemlos (z. B.) Ebay bekommt, weil die scheinbar im Modellbau sehr 
beliebt sind - spart Fummelei und das Geld für eine Crimpzange.
Wenn du einen Attiny der 1- oder 0-Series verwendest (Die neuen), kannst 
du noch mal Platz sparen, deren Programmierinterface hat nur einen Pin 
(+Masse und optional VCC).
Am Rande: Bei Buerklin gibt es auch passende Stecker für IDC-Montage 
(SR-3S), wenn man Litzen an eine Platine anschließen will (Die Crimp 
Zange kostet ja dreistellige Beträge).

von HyperMario (Gast)


Lesenswert?

Philipp L. schrieb:
> Wenn jemand eine noch kleine steckbare Möglichkeit kennt, freue ich mich
> über Tipps !

Das übliche halt:

- Federkontakte mit Testpads (gibt es auch fertig inkl eagle lib)
- IC Clip für den Prozessor (braucht kaum Platz ist aber von 
Prozessergehäuse abhängig)
- Halbloch Kantenkontakte (kein Stecker auf PCB, muss evtl isoliert 
werden)
- Edge connector (dito)

von HyperMario (Gast)


Lesenswert?

Philipp L. schrieb:
> Hat jemand von euch diese bereits in Eagle eingepflegt oder als Lib
> gefunden?

Such mal nach con-jst.lib

von Philipp L. (viech)


Lesenswert?

Hallo zusammen,

> Warum packst du keinen Bootloader auf den µC drauf, so dass du den
> Decoder über das DCC-Signal programmieren kannst.
Der Grundgedanke ist bestimmt sehr gut !
Aber:
Das aktuelle Konzept ist so, dass uC1 immer die gleiche Software hat und 
nur die Adresse über einen Tastendruck vom DCC-Signal ins eeprom 
übernommen wird.
Dieser gibt dann die Funktionen, welche auf seiner programmierbaren 
Adresse (+ ein paar Broadcast Adressen) übertragen werden, an denn uc2 
weiter.
Der uc2 führt dann die eigentlichen Programme aus und kann dann per 
dip-Schalter zwischen Funktionen umgeschalet werden:
1: Einfach die empfangenen Funktionen auf den Ausgängen ausgeben
2: Individuelle Programme (Lichter im Haus, Servoansteuerung,usw.)

ich würde also mit dem Bootloader leider nur den uc1 erreichen, da uc2 
nicht direkt am dcc hängt.
Weiterhin gibt es für ca.90% der Anwendungen fertig hinterlegte 
Programme und nur für ein paar individuelle Anwendungen muss der uc2 neu 
programmiert werden.

Mit dem aktuellen Konzept also eher schlecht.


> Der TO möchte einen DCC Decoder bauen, der vermutlich in eine
> Modelleisenbahn hineinkommt.
sowohl als auch, hauptsächlich werden es aber Zubehördekoder die in Deko 
(Häuser, usw..) eingebaut werden.
Aber ja, es wird bestimmt auch die ein oder andere Lok damit 
ausgestattet werden.

> Bei Modellbauanwendungen wird man wohl die kleinstmögliche Bauweise wählen.
> Also eher etwas in Richtung Tiny10.
Jein, da es eine Universalanwendung wird (~8-12 Leistungsausgänge, 
Eingänge, SPI, usw..) wird ein 32pin benötigt.
Aber ja, dieser wird im MLF Package verbaut.
Alle anderen Bauteile natürlich auch so klein wie möglich und natürlich 
2 Layer Bestückung.

> Such mal nach con-jst.lib
Das werde ich machen.


> Da bastelt man sich einmal einen Halter für die Stifte und dann bekommt
> man mit 0.3er Dukos einen ziemlich kompakten Zugang für ISP, kompakter
> als mit einem fester Steckverbinder mit Haltepads und sonstigem Zirkus.
> https://ingun.com/en/Products/Productfinder/GKS_SML/GKS-038/GKS-038-0001/view

Das klingt sehr interessant.
ich habe noch nie etwas mit Federkontakten gemacht.
Hat jemand mal ein Foto, wie sowas nachher fertig aussieht?
Ich kann mir das noch nicht richtig vorstellen..

: Bearbeitet durch User
von Andreas B. (bitverdreher)


Lesenswert?

Wolfgang schrieb:
> Wie kommst du jetzt auf ein 2,54 Raster?

Sorry, Es hat sich für mich so angehört, als hättest Du etwas gegen 
kleine Bauteile.

> Da bastelt man sich einmal einen Halter für die Stifte und dann bekommt
> man mit 0.3er Dukos einen ziemlich kompakten Zugang für ISP, kompakter
> als mit einem fester Steckverbinder mit Haltepads und sonstigem Zirkus.

Ok, das wäre eine gute Lösung. Die professionelle Variante davon heißt 
übrigens Tag-connect.
Aber man kann so durchaus mehrmals komfortabel programmieren wenn man 
den Adapter richtig macht. Ich habe auch mal drüber nachgedacht, mir 
Platinen zu machen wo man die Pogo Pins für solche Zwecke in 1.5mm 
Raster festlötet.  Letztendlich fand ich das mit den FPC Steckern 
mechanisch einfacher.

Philipp L. schrieb:
> Hat jemand mal ein Foto, wie sowas nachher fertig aussieht?

So z.B.
http://www.tag-connect.com/

von Philipp L. (viech)


Lesenswert?

Das tag-connect System ist eigentlich super.
Aber die benötigte Fläche ist leider viel größer als ein "JST-SH-4Pin"
Zumindest bei der Variante mit den selbsthaltenden Klammern.

von Wolfgang (Gast)


Lesenswert?

Philipp L. schrieb:
> Aber die benötigte Fläche ist leider viel größer als ein "JST-SH-4Pin"

Das Tag-Connect System ist in der Form IMHO für die Anwendung völlig 
übertrieben. Falls man damit nicht irgendeinen Debugger auf dem Chip 
kontaktieren möchte, sondern nur programmieren will, reicht es, den 
Adapter für die paar Sekunden händisch auf die Kontakt zu halten. Da 
braucht man die Rastung nicht und kann bei vorsichtiger Vorgehensweise 
auch auf die Führungsstifte verzichten. Falls einem die Federkontakte zu 
zierlich sind, kann man auf die etwas robusteren mit RM1.27 gehen.

von Bernd K. (prof7bit)


Lesenswert?

Philipp L. schrieb:
> ich habe noch nie etwas mit Federkontakten gemacht.
> Hat jemand mal ein Foto, wie sowas nachher fertig aussieht?

So wenn mans sauber macht (Bild ist nicht von mir):
http://protofusion.org/wordpress/wp-content/uploads/2016/02/pogo_withcable.jpg

oder beliebig einfachere Varianten davon, je nachdem was die Bastelkiste 
oder die Fantasie hergibt um 3 oder 4 Pogopins in kleinem Abstand stabil 
zu fixieren. Ich hab auch schon mal 4 Stück flach auf Lochraster 
gelötet, über den Rand der Platine hinausstehend und zu den Spitzen hin 
leicht schräg aufeinander zulaufend um ein engeres Rastermaß an den 
Spitzen zu erreichen, was man halt so macht wenn Not am Mann ist.

: Bearbeitet durch User
von Purzel H. (hacky)


Lesenswert?

>Bootloader macht nur Sinn, wenn man genug Speicher frei hat. Bei
Modellbauanwendungen wird man wohl die kleinstmögliche Bauweise wählen.


Nun .. einen Mega644 gibt's im schnuckeligen QFN44 Gehaeuse, mit 8x8mm
Kloppt diese Tinies in die Tonne

von Chris D. (myfairtux) (Moderator) Benutzerseite


Lesenswert?

Bernd K. schrieb:
> Philipp L. schrieb:
>> ich habe noch nie etwas mit Federkontakten gemacht.
>> Hat jemand mal ein Foto, wie sowas nachher fertig aussieht?
>
> So wenn mans sauber macht (Bild ist nicht von mir):
> http://protofusion.org/wordpress/wp-content/uploads/2016/02/pogo_withcable.jpg

Genau so etwas würde ich auch empfehlen - allerdings nicht mit runden 
sondern mit spitzen Kontakten.

Bei durchkontaktierten Kontaktpunkten auf der Platine zentrieren die 
Spitzen sehr schön und verrutschsicher dadurch, dass sie in den 
Bohrungen sitzen und auch bei einem einseitigen SMD-Kontakt-ISP ist 
durch den hohen Anpressdruck an der Spitze der Kontakt sicherer. Bei 
letzterem empfehlen sich aber natürlich zwei Bohrungen rechts und links 
der Kontakte, um die Nadeln dann auch mechanisch zu fixieren (habe ich 
bspw. immer mit einfachen Lötnägeln gemacht).

Wie Bernd schon schrieb: man ist so in der Wahl des Footprints 
vollkommen frei :-)

: Bearbeitet durch Moderator
von Oldi (Gast)


Lesenswert?

Hallo Philipp,
ich hätte mal Interesse an deinem DCC-Projekt. Vielleicht stellst Du es 
mal online???
Danke und Gruß aus MD
Jürgen

von Philipp L. (viech)


Lesenswert?

> ich hätte mal Interesse an deinem DCC-Projekt. Vielleicht stellst Du es
> mal online???

Kann ich machen, das Platinenlayout ist aber noch nicht fertig.
Der Code funktioniert zwar prima, muss aber noch etwas besser 
kommentiert werden :-)

Vorabinfo:
Meine Routine zum einlesen der Bit`s/Byte`s läuft in Schleifenform.
Ist auch für einen C-Anfänger (wie ich) vermutlich gut zu verstehen.
Aber es gibt (State Machine..) wohl bessere Möglichkeiten das Protokoll 
auszuwerten...
Dafür ist diese selbst entwickelt :-)

Generelle Funktion

Controller1: Auswertung DCC Protokoll
Es werden mehrere Adressen mit je F0-F4 (Zubehördekoder) ausgewertet.
ich würde zwar lieber den erweiterten Zubehör-Adressraum mit 256 
Funktionen je Adresse nutzen, aber dies kann die Zentrale+Windigipet 
wohl noch nicht 
(https://www.windigipet.de/foren/index.php?topic=79631.0).
0x01: Uhrzeit
0x02: Wetter
0x03: Reserve
0xaa: Individualadresse1 (über Taster in eeprom programmierbar)
0xaa+1:Individualadresse2
Diese 5 Variablen werden via SPI auf Controller 2 übermittelt.

Controller2: Individualprogramm
Dieser kann zwischen "dumm" und individuell via DIP-Schalter 
umgeschaltet werden.

Bei "dumm" schaltet er nur seine 8 Ausgänge anhand der 2x4 Funktionen 
aus den Individualadressen auf die Ausgänge.

Bei Individuell wird es mehrere Programme geben (Haus,Kran,usw..), 
welche anhand der obigen Variablen irgendetwas machen.

Aufbau:
Wir werden einen separaten Zubehör-DCC-Bus unter der Anlage haben, 
welcher nur unsere Dekoder VERSORGT UND ANSPRICHT (Daher nur 2 Kabel je 
Dekoder).
Natürlich kann der Dekoder auch auf dem Hauptgleis eingesetzt werden.

Der Dekoder arbeitet mittels Step-down (MP1584EN Huckepack), da 
preislich unschlagbar.
Die Platine wird ca. 3x3,5cm und kann 8 Ausgänge mit jeweils des vollen 
Stroms der MP1584EN (via Fet`s) schalten, also so 2-3A.

Durch die "hohe" Spannung und dem step-down-wirkungsgrad belasten wir 
den Zubehörbus nicht übermäßig und können eine große Anzahl an Dekodern 
draufhängen.

: Bearbeitet durch User
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.