Forum: Mikrocontroller und Digitale Elektronik Standard-Stecker für Mikrocontroller-/Elektronik-Erweiterung


von Martin J. (martin-j)


Angehängte Dateien:

Lesenswert?

Moin zusammen,

Kurz zum Hintergrund: Ich entwickle gerade ein kleines 
Lithium-Ionen-Batteriemanagement-System (max. 48V) mit einem Atmega328P 
als MCU. BMS-IC ist aus der bq769x0 Familie von TI.
Die Platine soll (optional) über die Arduino-IDE programmierbar sein und 
mit einer Stiftleiste in gewissem Umfang erweiterbar sein. Vor allem 
sollte es möglich sein, eine mehr oder weniger beliebige 
Kommunikations-Schnittstelle zu ergänzen (z.B. CAN, WLAN oder XBee).

Jetzt ist die Frage, wie ich die Erweiterbarkeit sinnvoll umsetze.

Unter den verfügbaren Bastel-Boards (Arduino, Raspberry Pi, Teensy, 
etc.) gibt es ja einen relativen Wildwuchs an Shields, Adaptern, etc., 
von denen für mein Vorhaben aber kein "Standard" so richtig in Frage 
kommt. Vor allem die Arduino-Shields sind zu breit und nehmen zu viel 
Platz ein. Außerdem kann man die Erweiterung nicht gut über ein Kabel 
etwas weiter entfernt platzieren (z.B. ein Display).

Das Grove-System von Seeedstudio finde ich eigentlich ganz nett. 
Allerdings sind mir hier die Möglichkeiten mit den 4-Pin-Steckern etwas 
zu beschränkt. Man könnte z.B. nur I2C realisieren, aber kein SPI. Ich 
bräuchte also irgendwas zwischen der 40-Pin Stiftleiste vom RasPi und 
den 4-Pin Steckern des Grove-Systems.

Meine Idee ist im Moment eine 2x10 pin Stiftleiste mit der Belegung im 
Anhang.

- Alle I/O Pins grundsäztlich für 3V3 Spannungslevel, nicht 5V
- Ein Versorgungs-Pin mit höherer Spannung (5-12V), mit dem über einen 
Logic-Level MOSFET eine Last geschaltet werden kann und der etwas mehr 
Strom liefern kann, z.B. für ein WLAN-Modul
- CAN_RX/TX wäre optional, falls der uC einen CAN-Controller hat. Sonst 
sollte hier ein normaler GPIO verbunden werden
- 17 und 19 sollen Pins mit Timer sein, möglichst zwei zusammengehörige, 
damit man eine Halbbrücke damit ansteuern könnte.
- Restliche GPIO-Pins möglichst mit ADC

Fragen dazu:
- Findet ihr die Pinbelegung generell sinnvoll? Fehlt eine wichtige 
Funktion?
- Ist es sinnvoll, den Reset-Pin (bzw. BOOT beim STM32) mit 
rauszuführen, um den uC auch über den Stecker programmieren zu können? 
Oder ist das zu riskant, da bei langen Leitungen oder schlechten 
Erweiterungen aus Versehen durch Einkopplung von Signalen der uC ein 
Reset bekommen könnte?
- Wahrscheinlich sollte man dem den Versorgungs-Pin (höhere Ströme) noch 
einen eigenen GND gönnen?

Ich fänd es interessant, gemeinsam einen gut durchdachtes 
Standard-Pinout für einen Stecker zur Erweiterung von 
Elektronik-Baugruppen zu entwickeln. Sollte dann aus meiner Sicht 
möglichst allgemein für unterschiedliche Mikrocontroller funktionieren 
(8 und 32 bit) und einen guten Kompromiss aus Vielfalt und Größe 
darstellen. Also nicht die 40 Pin vom RasPi, wovon man in 99% der Fälle 
nur ein ganz paar braucht, aber auch nicht nur die 4 Pins vom Grove 
Stecker.

Freu' mich auf Anregungen :)

Martin

von Patrick B. (p51d)


Lesenswert?

Schon mal die Pmod-Schnittstelle von Digilent angeschaut? Ist zwar für 
FPGA-Boards, aber hat sich dort als "Standard" bei den Eval-Boards 
durchgesetzt. Ausserdem gibts viele kleine Erweiterungsmodule...

von Stefan D. (reverse)


Lesenswert?

Roboternetz Standard war eine 2x5 pol Wannenbuchse mit Stecker die auf 
Flachbandkabel gepresst wurden.

10 pole = 8 bits + VCC + GND
pmod = 12 pole = 8 bits + 2x Vcc + 2x GND

CAT Kabel (günstig) + Buchse = 8 pole ( dafür ist der Stecker zu groß )
sata Kabel + Buchse = 7 pole ( alles recht flach)
USB = 4 pol = 2 Daten + VCC +GND, von klobig bis flach, Kabel günstig
hdmi buche und kabel = 19 Pole ( nicht so klobig wie RJ45/ CAT , Kabel 
von günstig bis teuer)

Somit kommt drauf an was du machen willst, mechanische Vorgaben.

: Bearbeitet durch User
von Martin J. (martin-j)


Lesenswert?

Vielen Dank schonmal!

Die Pmod-Schnittstelle war mir noch nicht bekannt. Werde jetzt mal 
versuchen, den Stecker dazu kompatibel zu belegen. Damit hat man ja 
schon eine sehr große Auswahl an Erweiterungen.

Den Roboternetz-Standard hab ich mir auch mal angeschaut. Das scheint 
grundsätzlich von 5V Spannung auszugehen, wäre also mit den 3.3V nicht 
kompatibel.

Der Stecker soll schon so sein, dass man mit überall verfügbaren Teilen 
schnell eine Ergänzung basteln kann. Deshalb ist eine Stiftleiste schon 
ganz sinnvoll, denke ich. Zumal man damit sowohl Board2Board als auch 
Wire2Board einfach machen kann.
Über RJ45 hatte ich auch schonmal nachgedacht, aber da ist mir die 
Gefahr zu groß, dass den jemand einfach in seinen Laptop steckt...

von Martin J. (martin-j)


Lesenswert?

Falls nochmal jemand den Thread liest, hier noch eine Ergänzung:
Es gibt noch einen interessanten Stecker-Standard namens UEXT von 
Olimex, der I2C, UART und SPI beinhaltet. Dafür sind schon viele 
Erweiterungen verfügbar.

von Forist (Gast)


Lesenswert?

Martin J. schrieb:
> Es gibt noch einen interessanten Stecker-Standard namens UEXT von
> Olimex, der I2C, UART und SPI beinhaltet.

https://www.olimex.com/Products/Modules/UEXT/

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.