Forum: Mikrocontroller und Digitale Elektronik 12V bidirectional I/O über i2c


von Family -. (family)


Angehängte Dateien:

Lesenswert?

Hallo mikrokontroller-Gemeinde.

Als stolzer Besitzer eines BeagleBone Blacks möchte ich diesen um genau 
96 I/O's erweitern.
Zweck der Sache ist primär eine Rolloansteuerung.
Ich habe bereits ein paar teile dafür.
48 Relais (Finder 38.51 12V)
12 * PCF8574T SMD 8Bit i2c Port Expander
12 * ULN2803ADW 8Bit Darlington Array
- Taster im Design meiner Elektroinstallation (sind schon verbaut und 
mit geschirmten 4*0.4 angeklemmt).
Die Taster führen 12V.
Ein 100W 12V Netzteil ist auch vorhanden.

Mit den Darlinton Arrays will ich die 12V Relais antreiben.
Das ganze System wird mit 12V versorgt.
Für den BBB will ich eine Platine fertigen lassen die die 96 I/Os zur 
Verfügung stellt. Die I/Os wollte ich über i2c realisieren.
Die Relais sind extern auf Hutschiene.

Die Output-Seite sollte mit den Darlinton Array funktionieren.

Ich habe mit der Schaltung folgendes Problem:

Die Eingänge kann ich mit den Darlington arrays ja nicht "rückwärts" 
betreiben um die 12V von den Rollo-Tastern als Input auf die Port 
expander zu geben.

Nun bin ich auf der Suche für eine Lösung dieses Problems.

Anbei ein Screenshot des derzeitigen Stands.
(Nicht wundern, auf der Platine ist noch ein MAX323 für RS232, ein 
DS1307 RTC Chip, ein Adapter für ein RFM12B Funkmodul und eine RJ45 
Buchse für OneWire.)

Da ich nun eh nochmal etwas wegen den Eingängen ändern muß bin ich am 
Überlegen ob man die I/O's nicht gleich bidirektional machen kann.

Wie kann ich also am Besten von 12V auf die 3.3V i2c kommen?
Am Besten wäre es natürlich wenn man z.B. auch 24V nutzen könnte und die 
Eingänge/Ausgänge auch ein paar mA mehr liefern könnten.

Wenn man die Ein/Ausgänge Spannungsfester macht könnte man die Platine 
vielleicht vielfältiger einsetzen.

Gruß, Ben

PS: Ich bin Anfänger auf diesem Gebiet und für Verbesserungsvorschläge 
offen.

: Bearbeitet durch User
von E.G. (Gast)


Lesenswert?

Family -. schrieb:
> PS: Ich bin Anfänger auf diesem Gebiet und für Verbesserungsvorschläge
> offen.

Die Sprache der Elektronik ist ein Schaltplan. Die wenigsten hier haben 
Lust, sich den aus deinem Text und dem Layoutentwurf zu errätseln.

> Für den BBB will ich eine Platine fertigen lassen
Falls du deine PLatine professionel mit Durchkontaktierung fertigen 
lassen willst, kannst du dir einen Haufen davon sparen, wenn du die 
Steckverbinder mit dafür nutzt. Du solltest ganz dringend einen DRC mit 
den Parametern deines LP-Herstellers über den Entwurf laufen lassen. Der 
wird dich auf Kurzschlüsse und zu geringe Abstände aufmerksam machen. Es 
fehlen Abblockkondensatoren an den IS und ein 
Versorgungsspannungskonzept im Layout.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Family -. schrieb:
> Zweck der Sache ist primär eine Rolloansteuerung.
Alle Rollos am Haus von einer zentralen Stelle aus steuern? Ich würde 
hier eher einen dezentralen Ansatz wählen...

> bin Anfänger auf diesem Gebiet und für Verbesserungsvorschläge offen.
Es ist i.A. keine gute Idee, dann gleich so ein Monsterprojekt 
aufzusetzen. Du wirst dabei zwar einiges lernen, aber hauptsächlich auch 
deshalb, weil du es zweimal machen wirst...

> Wenn man die Ein/Ausgänge Spannungsfester macht könnte man die Platine
> vielleicht vielfältiger einsetzen.
Konzentriere dich auf 1 Problem. Die "universelle" Lösung kannst du 
hinterher ableiten, wenn das Ganze läuft.

> Wie kann ich also am Besten von 12V auf die 3.3V i2c kommen?
Mit einem Spannungsteiler.

von Walleby (Gast)


Lesenswert?

Für das Level Shifting des I²C kannst du mal in dem Dokument von
NXP: AN10441
nachschauen. Darin werden unterschiedliche Methoden z. B. mit Mosfets 
für das Level Shifting in Bezug zu I²C erklärt.

von Family -. (family)


Angehängte Dateien:

Lesenswert?

Hallo und Danke für die Anregungen und Kritik soweit.
Ich bin mir bewusst daß das kein Anfängerprojekt ist, aber wir werden 
das Kind schon geschaukelt kriegen.

Sorry, das ich vergessen habe den Schaltplan einzufügen. Das mit den 
Abblock-Kondensatoren habe ich noch nicht bedacht.
Ich weiss nicht genau was Du mit Versorgungsspannungskonzept meinst,
aber ich  habe auf jeden Fall die 12V vom externen 100W Netzteil, dann 
einen Recom Spannungsregler auf 5V @1A (ebenfalls schon vorhanden) und 
dann noch zusätzlich zu den 3.3V die der BBB zur Verfügung stellt einen 
Linearregler von 5 auf 3.3V @ 800mA

Nun wenn ich etwas einfacher Anfange und die Schaltunf nicht 
bidirektional gestalte dann habe ich trotz allem das Problem hier:

Wie kriege ich die 12V Eingänge auf den PCF8754 Port Multiplexer ? Bzw. 
Welche Schaltung benötige ich hierfür?
Das ganze sollte pro Eingang nicht so viel Platz belegen da ich ja eine 
Menge Eingänge habe und die Platine nicht mehr als 22cm lang sein darf 
damit sie noch auf die Hutschiene passt.

Einen Schaltplan habe ich natürlich, ist aber jedoch denkbar einfach. Im 
Anhang ein zusammengeschnittenes Bild davon (ist im eagle auf mehreren 
Seiten verteilt).

Das Bild zeigt den Schaltplan von einem der 6 Eingangs-Port-ICs.

Im Moment ist es so geschalten wie die Ausgangsseite nur mit 
Betätigungs-LEDs, dann ist mir aber eingefallen das das so nicht 
funktioniert, da ich ja die Darlington Outputs nicht als Eingang 
verwenden kann.

Wie stelle ich das nun an daß ich einen Schalter der 12V führt an den 
Eingang z.B. Q7_P0 legen kann und dieses Signal dann an den i2c Chip 
weiterleiten kann?

Die Schalter sind im Schaltplan nicht enthalten hängen aber an den 
CageClamp Steckern (P17)(ebenfalls vorhanden) dran.

Für weitere Hilfe wäre ich Dankbar.

Ach ja, das Layout habe ich natürlich mit dem Design.Rule.Check File des 
Fertigers geprüft. Im Moment meckert er aber natürlich noch wegen 
fehlenden Verbindungen und weil ich jetzt für einen
Test einige Bauteile verschoben habe auch wegen Overlaps und Abständen 
an diesen Positionen. der Rest müsste soweit laut DRC passen.

Gruß Ben

: Bearbeitet durch User
von Family -. (family)


Lesenswert?

Bin jetzt gerade auf etwas gestoßen: Kann ich evtl. einen MAX6956 
benutzen dann sogar als bidirektionalen I/O ?
Davor würde ich dann ja nur 2 Stück für meine 48 Eingänge benötigen und 
könnte mir die PCFs und Darlington-Arrays schenken - WENN ich das 
Datenblatt richtig verstanden habe...

Gruß
Ben

von Nachtaktiver (Gast)


Lesenswert?

Ich würde nicht den PCF8574 benutzen sondern lieber auf einen PCA9555 
setzen. Damit sparst du dir viel Platz und kannst ordentlicher routen.

Aus Sicherheitsgründen würde ich die Eingänge optisch Isolieren, aber da 
du sehr viele Eingänge benötigst, würden die Optokoppler jede menge 
Platz verbrauchen. Genauso würde ich den I2C-Input optisch isolieren da 
ich mir nur Vorstellen kann wie du Potentialprobleme mit deinen Aufbau 
bekommen wirst. Für die Eingänge ist die Pegelwandlung dann gleich auch 
noch erschlagen.



Das Projekt ist deutlich überladen. Wenn das deine erste Baugruppe ist 
würde ich dir empfehlen das du die Baugruppe verkleinerst und dafür auf 
z.B 4 kleinere Module setzt. Das macht den Aufbau einfacher und 
möglicherweise kannst du auch Eingänge-Ausgänge seperat trennen.

Um ehrlich zu sein sehe ich den ganzen sehr skeptisch gegeüber. Selbst 
eine Sicherung ist auf deiner Platine nicht zu finden.

von Frank K. (fchk)


Lesenswert?

Ich rate Dir von dem Ansatz hier ebenfalls ab. Ein dezentraler Ansatz 
mit einem RS485 oder CAN oder LIN Bus ist einfacher zu handhaben, und 
letztendlich musst Du weniger Kabel verlegen.

Plus: Ein Kabel ist ja nicht nur eine einfache Verbindung, sondern es 
ist gleichzeitig ein Widerstand, eine Induktivität (quasi eine Spule mit 
einer Windung) und ein Kondensator. Das heißt, dass am Ende nicht 
unbedingt 12V herauskommen, wenn Du am Anfang 12V einspeist. Es kann der 
Fall sein (nämlich wenn sich das ganze eingeschwungen hat und am 
Kabelende keine Last angeschlossen ist).

Beispiel: 12V Motor am Ende des Kabels. Durch den Motor fließt ein 
Strom, und oft ein im Vergleich zu Logik-ICs recht hoher. Dieser Strom 
fließt auch durchs Kabel (klar, Stromkreis, geschlossen), und zwar 
einmal hin, und einmal wieder zurück. Jetzt hast Du eben gelernt, dass 
Dein Kabel auch ein Widerstand ist, und wo ein Widerstand ist, fällt 
Spannung ab und wird elektrische Leistung in Wärme verbraten. Die 
Spannung, die am Kabel abfällt, kommt nicht mehr am Motor an, d.h. der 
bekommt keine 12V mehr, sondern vielleicht nur noch 10V. Das willst Du 
sicher nicht.

Also: Austausch des 12V Motors gegen einem mit 24V und gleicher 
Leistung. Bei gleicher Leistung fließt bei doppelter Spannung nur der 
halbe Strom. Also kommen am Kabelende statt 24V nur noch 23V, der 
Spannungsverlust ist nur noch halb so hoch.

Was passiert, wenn Du einen Motor mit Netzspannung nimmst, kannst Du Dir 
jetzt leicht ausrechnen.

Das ist jetzt nur ein Aspekt unter vielen. Denk mal drüber nach.

fchk

von Family -. (family)


Angehängte Dateien:

Lesenswert?

Hallo, Kabel sparen durch ein Bus System kann ich nicht, da bereits alle 
Kabel verlegt sind. Ich habe gerade mal 3 Adern für einen Rollo: Gnd, 
+12V für hoch und +12V für runter. Das sind nicht viel Kabel.

Das sich mit der Kabellänge einen Spannungsabfall habe ist mir auch 
klar, ebenso das mit der Induktivität.
Das Beispiel mit dem Motor ist hier aber falsch, da ich keinen Motor 
betreiben will sondern simple Taster am Ende des Kabels hängen habe.

Und ob ich 12V oder nur 10 V unten rausbekomme ist auch egal solange das 
Relais schaltet, was im Übrigen seit über 1 Jahr anstandslos 
funktioniert mit allen Rollos. Die Taster sind dazu übergangsweise 
direkt auf die Relais geklemmt damit man die Rollos bedienen kann. Die 
Effektive Spannung die unten am Relais ankommt habe ich noch nicht 
gemessen, aber wie gesagt es funktioniert alles.

Nun will ich meinen Controller dazwischenhängen um erweiterte 
Funktionalitäten zu ermöglichen. Näher brauche ich hier nun darauf nicht 
einzugehen.

Da ich nun einmal 12V Netzteil und 12V Relais habe muß ich diese auch 
nutzen. Ausserdem ist es mir ganz recht SELV Spannung zu verwenden 
anstatt der 230V.

Meine Frage lautet immer noch: Wie kann ich die 12V Taster auf meine i2C 
Eingänge bekommen die ja mit 3.3V Laufen.
Dass es mit einem Spanungsteiler geht ist klar, aber gibt es da nicht 
eine Bessere Lösung?

Wie gesagt ich bin kein blutiger Anfänger, ein wenig Wissen habe ich 
schon, nur halt nicht in genau diesem Bereich. Ich habe auch noch andere 
Quellen die ich befragen kann, nur dachte ich mir daß die Community hier 
bestimmt mehr wissen muß als ein, zwei Kollegen die vielleicht schon in 
ihrem Denken festgefahren sind...

@ Nachtaktiver: Habe mir den PCA9555 angeschaut, was ist da eigentlich 
der Vorteil/Unterschied gegenüber dem PCF8575 der auch 16 I/Os hat?

Gruß
Ben
PS: Nur mal so, im Anhang ein Foto von den Relais. Dort waren die Rollos 
noch gebrückt, d.h. ein Schalter hat das Ganze Stockwerk gesteuert.

von Nachtaktiver (Gast)


Lesenswert?

Der PCF9555 ist ein moderner Schaltkreis und bietet im Vergleich zum 
alten PCF8575 "echte" bidirektionale I/O-Pins. Zum anderen bietet er 
Features wie 5V Toleranz, Pin Negierung, Filter in den I²C-Leitungen und 
Power-On Reset und einige andere Dinge. Es gibt keinen Grund in einen 
kleinen Projekt altgebackene ICs zu verwenden. Falls es kompakt sein 
sollte würde ich den PCA9555 im QFN-Gehäuse einsetzen.

Und schon wie in meinen anderen Post gesagt: Du kannst deine Eingänge 
ohne Probleme mit Optokopplern auf deinen 3V3 anpassen.

http://www.mikrocontroller.net/articles/Optokoppler

von Frank K. (fchk)


Lesenswert?

Nachtaktiver schrieb:
> Der PCF9555 ist ein moderner Schaltkreis und bietet im Vergleich zum
> alten PCF8575 "echte" bidirektionale I/O-Pins. Zum anderen bietet er
> Features wie 5V Toleranz, Pin Negierung, Filter in den I²C-Leitungen und
> Power-On Reset und einige andere Dinge. Es gibt keinen Grund in einen
> kleinen Projekt altgebackene ICs zu verwenden. Falls es kompakt sein
> sollte würde ich den PCA9555 im QFN-Gehäuse einsetzen.

Zustimmung. Eine Alternative sind die (besser erhältliche) Microchip MCP 
23017/8/9(I2C)/23S17/8/9(SPI)

fchk

von Artur F. (Gast)


Angehängte Dateien:

Lesenswert?

Wenn keine galvanische Trennung erforderlich ist, geht es am besten, 
schnellsten und billigsten mit zwei Mosfets. Auf der 5V Seite, können es 
je nach MOSFET 12/24/36/400V werden.

von Hubert G. (hubertg)


Lesenswert?

Family -. schrieb:
> Dass es mit einem Spanungsteiler geht ist klar, aber gibt es da nicht
> eine Bessere Lösung?

Was soll eine bessere Lösung als zwei Widerstände in deiner Anwendung 
sein?
Du hast dich ja selbst und durch das vorhandene schon so eingeschränkt 
das kaum was anderes möglich ist.

von Manfred H. (manfred8534)


Lesenswert?

Hallo,

ich finde dein Vorhaben super! Weil ich selbst soetwas suche/möchte, bin 
aber noch viel mehr Anfänger und wundere mich dass es keine fertigen 
Pegelwandler-Bausteine für 3.3/5V <=> 12/24V gibt.

Kommst du mit deinem Projekt voran? Super wäre noch:
- galvanische Trennung der I/O,
- Kurzschlussschutz und Überspannungsschutz,
- evtl. Freilaufdiode

Bin sehr gespannt wie du vorangekommen bist. Ich glaube, dass so ein 
"Multi-I/O Board" für 12-24V/0.7-2A eine echte Marktlücke für alle 
Beagles, Raspis und Arduinos wäre. Da gibt es praktisch nichts. Dank I²C 
könnte es auch echt jeder nutzen.

von auf Arbeit (Gast)


Lesenswert?

Artur F. schrieb:
> Wenn keine galvanische Trennung erforderlich ist, geht es am besten,
> schnellsten und billigsten mit zwei Mosfets. Auf der 5V Seite, können es
> je nach MOSFET 12/24/36/400V werden.

Aber auf die maximale Gate-Source-Spannung der Mosfets achten!

von Bülent C. (mirki)


Lesenswert?

Einen MCP23017 und diesen Chip dahinter tun:
http://www.ichaus.de/keyword/I/O%20Circuits

von Threadersteller (auf Arbeit) (Gast)


Lesenswert?

Hallo. Ich bin der Thread-Ersteller.

Hab grade nicht viel Zeit da auf Arbeit, wollte aber kurz was loswerden.

@ Manfred:
Ja GENAU das ist der Grund warum ich es mache. Es gibt einfach nichts 
passendes auf dem Markt und all die kleinen Prototyping-Boards die es 
von diversen Anbietern gibt (z.B. Adafruit u.ä.) sind einfach nicht das 
was ich mir in den Schaltschrank zusammenbasteln will.

Manfred Heidener schrieb:
> Hallo,
>
> ich finde dein Vorhaben super! Weil ich selbst soetwas suche/möchte, bin
> aber noch viel mehr Anfänger und wundere mich dass es keine fertigen
> Pegelwandler-Bausteine für 3.3/5V <=> 12/24V gibt.
>

Ich habe auch z.B. diesen netten IC hier gefunden: 
http://www.ichaus.de/product/iC-DY6818

der könnte evtl. einige Probleme lösen, habe ihn aber nirgends zum 
Kaufen gefunden. Vielleicht ist der zu neu? Fraglich wäre dann auch der 
Preis...

Bei der Länge habe ich mich bewusst auf 220mm beschränkt da eine Reihe 
im Schaltkasten nicht länger ist.
Vielleicht könnte/sollte man (wie schon in einem Beitrag erwähnt) auch 
einen Platinenstapel machen, dann hätte man sogar x-mal die Fläche.)

> Kommst du mit deinem Projekt voran? Super wäre noch:
> - galvanische Trennung der I/O,
> - Kurzschlussschutz und Überspannungsschutz,
> - evtl. Freilaufdiode
>

Voran komme ich im Moment nicht so recht, bin aber am 
ausprobieren/evaluieren der verschiedenen Vorschläge die ich hier 
bekommen habe.

Eine Galvanische Trennung wäre schon gut, denke ich auch, vermute aber 
daß es den Platz auf der Platine sprengen wird.

Einen Verpolungsschutz würde ich mit Dioden lösen. Geht das? - Wo sind 
die Experten..

Sofern ich den ULN2803 drin behalte brauche ich soweit ich mich das laut 
Datenblatt und mikrocontroller.net verstanden habe keine Freilaufdioden 
mehr da der ULN bereits eine "Common-Free-wheeling-Diode" hat.

> Bin sehr gespannt wie du vorangekommen bist. Ich glaube, dass so ein
> "Multi-I/O Board" für 12-24V/0.7-2A eine echte Marktlücke für alle
> Beagles, Raspis und Arduinos wäre.

Da hast Du recht.

> Da gibt es praktisch nichts. Dank I²C könnte es auch echt jeder nutzen.

Ich habe noch einiges vor mir, das ist mir bewusst. Aber gut Ding will 
Weile haben...

So, jetzt hab ich schon zu lange dran gesessen...

Melde mich alsbald wieder.

Gruß Ben

von Manfred H. (manfred8534)


Lesenswert?

Hallo!

Threadersteller (auf Arbeit) schrieb:
> Ich habe auch z.B. diesen netten IC hier gefunden:
> http://www.ichaus.de/product/iC-DY6818
>
> der könnte evtl. einige Probleme lösen, habe ihn aber nirgends zum
> Kaufen gefunden. Vielleicht ist der zu neu? Fraglich wäre dann auch der
> Preis...

Dort habe ich auch einen bzw. drei gefunden. Die Modelle iC-JX, iC-JRX, 
iC-VRV. Die haben bidirektionale Pegelwandler bis 24V und High-Side 
Treiber und der iC-JX neben Kurzschluss- u. Überspannungs-Schutz sogar 
Spannungs- u. Strom-Messung der I/O Ports.
http://www.ichaus.de/product/iC-JX

Habe diesbezüglich dieses Thema eröffnet:
Beitrag "iC-JX: fertige GPIO / bidirektionale Pegelwandler für 12/24V und High-Side Treiber"]]

Hab auch schon beim Hersteller nachgefragt, der "iC-JRX (2x4 
Bidirectional 24 V High-Side Driver with μC Interface)" kostet
Muster:         EUR 12,00/Stück
26 Stück (VPE): EUR 10,70/Stück
und ist direkt bei www.ichaus.de bestellbar. Den Preis finde ich für die 
Funktionalität völlig okay. Es gibt halt kaum/keine Konkurrenz-Chips.

Noch interessanter finde ich den "iC-JX (4x4 Bidirectional 24 V 
High-Side Driver with Load Diagnosis and μC Interface)"
http://www.ichaus.de/product/iC-JX
wird nicht viel teurer sein.

Das Ding ist fertig und muss nur noch auf ein BeagleBone Cape, Arduino 
Shield, oder wie die alle heißen. Der iC-JX hat angeblich sogar SPI, 
wäre also für jeden verwendbar ohne selbst viele I/O's am AVR/ARM 
verbrauchen zu müssen. Vielleicht geht auch I²C, so gut kenne ich mich 
noch nicht aus. Mit einem I²C-Port-Expander zum iC-JX geht es in jedem 
Fall. Da könnte man die Dinger sogar stapeln falls 16x 24V I/O-Ports 
nicht genügen.

: Bearbeitet durch User
von Manfred H. (manfred8534)


Lesenswert?

Hallo!

Hab mir weiter Gedanken zu deinem Projekt gemacht:

A) Welcher Bus, I²C oder SPI?
Hab mir das Datenblatt durchgelesen. SPI hat er fix eingebaut und soviel 
ich weiß, wird SPI auch von BeagleBone, Raspberry Pi, Arduino 
unterstützt. Der Chip besteht aber intern aus 4 Unterbausteinen und 
neben dem normalen ChipSelect-Eingang für SPI, gibt es trotzdem noch 2 
Eingänge für die BausteinID. Man braucht also neben dem normalen 
SPI-Anschluss noch 2 Extra-Leitungen. Möchte man mehrere der iC-JX 
stapeln, in Serie schalten, so ist das kein Problem, aber die je 2 
BausteinID-Leitungen summieren sich und man könnte dies mit einem 
SPI-Portexpander lösen, aber ich weiß nicht ob es soetwas gibt und es 
blieben dann trotzdem 2 ChipSelect-Leitungen (1x für den iC-JX und 1x 
für den SPI-Portexpander).
Stattdessen könnte man einen I²C-Portexpander nehmen, die gibt es und 
über diesen könnte man nicht nur die beiden BausteinIDs des iC-JX 
übernehmen, sondern auch den ChipSelect des iC-JX für den SPI.
Die gefertigten "iC-JX-Boards" wären dann ohne Hardwareeingriffe 
problemlos stapelbar (falls man mehr als 16x 24V I/O's braucht), aber 
softwaremäßig müsste man dann SPI und I²C einsetzen...
Man könnte auch den eingebauten SPI vergessen und einfach alle Daten- u. 
Adress-Bits des iC-JX von einem I²C-Portexpander übernehmen lassen.
Das alles gilt nur, falls man die "iC-JX-Boards" für mehr als 16 I/O's 
stapeln möchte. Meine Idee wäre:
1. Falls 1 iC-JX ausreicht, dann einfach den eingebauten SPI + 2x 
BausteinID-Leitungen. (Ohne SPI, die Daten-/Adress-Leitunen direkt, 
würden ich nicht machen. Man verbraucht dann unnötig viele I/O's am 
Beagle, etc. und es wird dann auch deutlich schwieriger falls das Board 
auch anderswo einsetzbar sein soll wie Raspi, Arduino, ... SPI hat halt 
nur wenige Leitungen, die sind schneller verlegt.)
2. Falls es stapelbar sein soll, dann ohne SPI und mit I²C-Portexpander 
für alle Daten-/Adressleitungen zum iC-JX; ist eigentlich nicht so 
komplex. Ich glaube es gibt sogar 16Bit I²C-Portexpander, d.h. auf dem 
Board wären bis jetzt trotzdem bloß 2 ICs! Ich wäre eindeutig für diese 
Lösung. Ein nach außen einzelnes I²C-Board lässt sich außerdem später am 
einfachsten handhaben, softwaremäßig u. hardwaremäßig wenn es für viele 
einsetzbar sein soll (Beagle, Raspi, Arduino, etc.)

B) Mit galvanischer Trennung?
Manchmal ist das sehr sinnvoll und manchmal sogar erforderlich. 
Bausteinmäßig kein großer Aufwand, aber dann hat man zwar Schutz durch 
galv. Trennung, aber der im iC-JX eingebaute Kurzschluss- u. 
Überspannungs-Schutz und Freilaufdioden sind weg bzw. wirken erst nach 
der galv. Trennung wo man sie nicht mehr braucht und davor muss man 
eigene Schutzschaltungen bauen.
Außerdem wäre dann auch die eingebaute Leistungskontrolle (Strom- + 
Spannungs-Messmöglichkeit) verloren/unbrauchbar (sehr schade!) und auch 
der Treiber für bis 150/500mA den man nach der galv. Trennung wieder 
selbst hinzufügen müsste.
Also meiner Meinung nach macht galv. Trennung mit diesem Baustein keinen 
Sinn. Falls man galv. Trennung unbedingt braucht, dann entweder komplett 
anders / ohne iC-JX, oder extern nur bei einzelnen Leitungen falls man 
es braucht.

C) Verpolungsschutz
Du hattest das in einem älteren Beitrag angesprochen. Ja, eine Diode bei 
jedem Port genügt, mit einer Gleichrichterdiode wäre es sogar egal wie 
man an die I/O's anschließt, ist aber nicht wirklich notwendig.
Im Datenblatt des iC-JX habe ich keinen Verpolungsschutz gefunden, was 
mich bei den sonstigen zahlreich eingebauten Schutzmaßnahmen wundert... 
Oder ist ein Verpolungsschutz da quasi selbstverständlich?

D) Welche Bauform?
Wäre schön, wenn es dieses "Multi-I/O Board bis 24V" nicht nur als 
BeagleBone Cape gibt, sondern für "alle" leicht einsetzbar. Meine Idee 
wäre eine Art kleine Platine als "Breakout Board mit Füßen". Dieses 
könnte sich dann jeder auf sein Proto-Cape (Beagle), Proto-Shield 
(Arduino), ... stecken. Und bei Lösung A)2. (von oben) bräuchte man nur 
einen einzelnen Anschluss zum I²C-Bus! Wäre genial einfach.

E) Was fehlt noch?
Echte PWM-Fähigkeit der Ausgänge wäre schön. Der iC-JX hat zwar irgend 
eine "Blinkfunktion", aber das wird dann wohl wirklich nur blinken sein. 
Der iC-GE wäre z.B. ein echter PWM-Baustein und wenn ich die 
Beschreibung richtig verstanden habe, dann sind Stromstärke und Spannung 
einstellbar und mess-/kontrollierbar bis 24V/1A und auch für induktive 
Lasten. Sowas würde mir auch gefallen, ist aber eher ein eigenes Board. 
Lieber kein "Multi-Multi-Board" machen.
Zurück zum iC-JX: Naja, sonst fällt mir nichts ein. LED 
Rückmeldung/Kontrolle der einzelnen Ports ist viell. nett, aber beim 
iC-JX auch softwaremäßig möglich.

Wann kommt das "Multi-I/O-Board/I²C-Portexpander bis 24V mit High-Side 
Treiber und Leistungskontrolle", einsetzbar für BeagleBone, Raspberry 
Pi, Arduino? Ich kaufe eines!

von Bülent C. (mirki)


Lesenswert?

Manfred Heidener schrieb:
> Wann kommt das "Multi-I/O-Board/I²C-Portexpander bis 24V mit High-Side
> Treiber und Leistungskontrolle", einsetzbar für BeagleBone, Raspberry
> Pi, Arduino? Ich kaufe eines!

Ist in der mache

von Manfred H. (manfred8534)


Lesenswert?

Bülent C. schrieb:
> Manfred Heidener schrieb:
>> Wann kommt das "Multi-I/O-Board/I²C-Portexpander bis 24V mit High-Side
>> Treiber und Leistungskontrolle", einsetzbar für BeagleBone, Raspberry
>> Pi, Arduino? Ich kaufe eines!
>
> Ist in der mache

Naja, wäre ja super. Prinzipiell gar nicht so schwierig, wäre ja bloß 
der iC-JX zusammen mit einem "16-Bit I/O-Portexpander mit I²C" (z.B. 
MCP23017) auf eine kleine Platine mit ein paar Leiterbahnen und 
Anschlüssen und fertig ...
Aber SMD? Ca. 2xcm Platine damit es auf die Proto-Boards von Beagle, 
Raspi, Arduine passt... Das wird Micro-Arbeit.

Ähm, haben wir da wirklich nichts vergessen? Keine zusätzlichen 
Kondensatoren, Widerstände, etc. notwendig? Im iC-JX scheint ja wirklich 
alles drinnen zu sein, aber braucht's trotzdem noch etwas?

Ich bin purer Amateur, wo sind die Profis?

von J.K. (Gast)


Lesenswert?


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.