Leitungsschirmung

Hallo zusammen,

ich zerbrech mir seit einigen Tagen mal wieder meinen Kopf, es geht mal wieder auf meine Kiste mit den 4 Schubstangen.

Aktuelle Situation:
Ich hab einen Aufbau für meinen Anhänger, welchen ich mithilfe von 4 Schubstangen auf- und abladen, anheben und (hoffentlich bald automatisch) nivellieren kann. Die Steuerung ist über einen Arduino Mega mit H-Brücken realisiert. Die Antriebe laufen auf 36 V/max. 5 A. Zur Überwachung hab ich Strommesser verbaut und die Schubstangen von sich haben noch Reedschalter als Drehwertgeber verbaut. Zum Motor hin hab ich also 4 Adern (2x Motorstrom, 2x Reedschalter), natürlich ungeschirmt, weil ich kein Kabel gefunden hab, mit 4 Adern und paarweise geschirmt auf 1 mm², das kein Vermögen kostet und mit nur 25 M (alle 4 zusammen sind max. 17 M).
Das ungeschirme hatte damals beim austesten, entprellen, usw., (der Reedschalter) was ich hier mithilfe des Forums geschafft hab, mega Probleme gemacht, bis wir darauf gekommen sind und ich dann den Reedschalter auf 36 V und mit Optokoppler auf den Arduino gesetzt hab.

Dass ich den Aufbau steuern kann, hab ich eine Steuerung mit 25 Adern auf Arduino umgesetzt. Da ich jetzt aber noch ein paar Befehle mehr bräuchte, will ich einen zweiten Arduino verbauen, der mit dem ersten via I2C kommuniziert.
Zum automatischen Nivellieren sind außerdem zwei MPU6050 verbaut, die ebenfalls über den I2C gehen. Deren Leitungen sind geschirmt und direkt auf den Arduino geklemmt.

Jetzt will ich aber alles steckbar machen. Sowohl die Schubstangen zum entfernen vom Aufbau, als auch alles, was an der Steuerung angeklemmt ist, dass ich nur Stecker ziehen muss statt abklemmen. Da ich aber jetzt auch mit der Steuerung über I2C gehen will, sollte ich doch jetzt langsam wirklich schirmen, da ich sonst sicher in Teufelsküche komm.
Das Problem für die Motorleitungen hab ich bereits genannt. Die paarweise geschirme Leitung mit 1 mm². Vielleicht hat da jemand von euch noch einen Geheimtipp. Für die Stecker dachte ich an Harting HAN A-Serie, die, soweit ich weiß, auch geschirmt ist. Auch wenn die richtig schön teuer wird..

Kniffliger wird's für die I2C-Leitungen: Ich dachte dabei an M12-Stecker. Geschirmte Leitungen hab ich da zwar auch gefunden (die sind ja sowas von sau teuer!!), aber keine Einbaubuchsen, durch die ich den Schirm weiter geben kann. Dazu sollte ich noch erwähnen, dass die Gehäuse alle Kunststoff sind.

Hat hier jemand Ideen, was ich am besten verwende und das ohne großes Geld? Vor allem für die I2C-Leitungen wäre ich sehr dankbar, da ich hier noch nichts funktionierendes gefunden hab. Da bräuchte ich 2x 5 M, 2x 2 M und 4x Gehäuseeinbaubuchsen.

Ich hoffe, es ist verständlich, was ich sagen will.
Vielen Dank im voraus und
liebe Grüße

Fipschen

I2C ist für Strecken von max. 1 m vorgesehen. Benutze RS485. Das geht bist 1200m und muss nicht geschirmt werden.

Laut diesem Artikel sollten meine Längen kein Problem sein. Da der Bus sternförmig aufgebaut ist, komm ich nicht über 7 Meter.
Hab gerade mal etwas nach I²C -> RS485 gesucht, das wäre ein wenig sehr aufwändig und die Nivelliersensoren will ich ungern noch mal ausbauen, das wäre aufwendiger..

Vielen Dank und
liebe Grüße

Fipschen

Dafür war der Vorschlag mit dem RS485

Kennst du Portexpander? Das ist sicher viel einfacher wie eine zusätzliche Kommunikation (mit Protokoll und Timing usw.) zwischen den µC zu Implementieren.

Das ist für das Problem der Leitungskapazität egal ob Sternförmig oder Linear.

Moin.
Für alle, die den Aufwand von damals nicht mitbekommen haben, können ja hier nachlesen: 4 dc motoren gleichmassig antreiben

Ansonsten:
Ja, es soll auch Leute geben, die sowas in angeblich unendlichen Längen betreiben.
Es gibt nicht umsonst specs: Specification – I2C Bus
Dein Problem ist nicht allein "Schirm" oder "kein Schirm", sondern die Leitungsbeschaffenheit.

Aus diesem Grund wurden Expander geschaffen, die das Signal umsetzen, aufbereiten und weiterverarbeiten.

Und für Datenübertragungen mit großem Störabstand nutzt man z.B. symetrische Signale.
Womit wir wieder bei RS485 wären.
Interessanterweise kann auch mit geringfügigem Aufwand die Kommunikation aehnlich der Seriallen RX/TX Schnittstelle gefahren werden.
Die gesamte Logik beschränkt sich dabei auf die Auswahl Sender/Empfänger.

Mir ist nur noch nicht ganz klar, warum Du das mit 2 Controllern bauen willst und das nicht in einem unterbringst. Wenn die Pins nicht reichen, ist es idealer einen neuen mit mehr Pins zu nehmen, als einen zusätzlichen, der 2 Kommunikationsaufgaben gleichzeitig übernehmen muß.

@wwerner Man muss nicht für jeden satz einen neuen Post verfassen. Den ersten mit dem bleistift unten anfassen und einfach neuen Text dazuschreiben geht wunderbar.
Wenn Du das noch dreimal machst, scrollt keiner mehr durch und damit gehen evtl. Informationen verloren, weil die einfach übersehen werden....

Ich wiederhole wahrscheinlich:

I2C (ohne Zusatzelektronik) funktioniert nur auf einigen Metern.
Abgeschirmter Kabel ist dabei kontraproduktiv da durch die Abschirmung die Leitungsinduktivität erhöht wird.

Durch andere Maßnahmen (wie im genannten Artikel auf Microcontroller beschrieben) kann die max Kapazität des Busses erhöht werden und somit die Leitungslänge bzw anzahl der Devices erhöht werden. Dadurch ist aber bei jedem Device diese Maßnahme nötig.

RX/TX über 4 RS485 Treiber leiten (ich meinen damit Fullduples über 4 Leitungen und explizit einen punkt zu Punkt Verbindung, keinen Bus) ist einen einfache und kostengünstige Möglichkeit eine Serielle Verbindung sicher auf längeren Leitungen zu realisieren.

Grüße Uwe

Mal eine Frage:
Wie sieht es eigentlich mit deiner Statik aus? Du hebst mit deiner Konstruktion 1200 Kg verteilt auf 4 Gewindestangen. Ich habe die Bilder deines Anhängers gesehen und die von einem Motor. Mehr als 20 mm Gewindedurchmesser lässt sich nicht erkennen eher 15 mm. Und da frage ich mich wie die Horizontalen Lasten abgefangen werden.

Such mal nach I2C P82B715 Bus Extender es gibt welsche als Modul zu kaufen jedoch man braucht immer 2 davon, funktioniert problemlos bis 30m (persönlich getestet):wink:

Und im Datenblatt sind gezeigt alle mögliche Varianten der Beschaltung.

1 Like

Die Antriebe haben eine sehr stabile Spindel.
Die ist definitiv mehr als 15mm :slight_smile: Ich hatte irgendwo mal ein Foto drin. Ich würde meinen 25mm.
Bevor die brechen, reisst die Lagerung am Antrieb.

Danke, ich hät vllt. etwas später/wacher posten sollen, dann hätte ich das wahrscheinlich auch verlinkt :woozy_face:

Da muss ich jetzt ganz ehrlich sagen, dass ich mit meinem Wissen an die Grenzen stoße. Also ja, ich verstehe natürlich was du sagen willst. Mein Problem hier is eher, dass ich aus der Industrie/Anlagen-/Maschinenbau komm, wo fast alles Plug'n'Play ist, weshalb ich mit den physikalischen Auswirkungen etwas ahnungslos daher starre.
Ich hoffe mit der folgenden Aussage jetzt niemanden zu verprellen, weil ich für jede Hilfe und Hinweis dankbar bin, aber du hattest mir im andrem Thread bereits viel Hilfeleistung gegeben, wie würdest du da jetzt an das Thema ran gehen? RS485?

Ich hab mich wahrscheinlich unverständlich ausgedrückt:
Aktuell ist mein "HMI" ein Gehäuse mit einigen Tastern und LEDs als Befehlsgeber und Statusanzeigen, mit einer 25-adrigen Leitung an den Arduino Mega verbunden. Der Arduino ist mit allen anderen Belegungen für H-Brücke, Stromsensoren, etc. komplett voll.
Ich will jetzt die 25-adrige Leitung raus schmeißen und in das HMI-Gehäuse einen zweiten Arduino verbauen, an dem nur die Taster und LEDs hängen. Der gibt das dann über I²C an den anderen Arduino in der Steuerung weiter und nur im Sinne von "Taster X high", "Taster Y low", "schalte LED Z ein/aus". (Ja, das ganze sicher ich dann natürlich auch mit Life-Bits und Co. ab.)

@uwefed: ich versuch's mal kurz abzukürzen: ich hab nach den P82B715 von fony gesucht, das schaut mir recht einfach aus. Das ist ja aber kein RS485, aber wäre auch eine einfache Möglichkeit, aber mit jedem I²C-Gerät nötig?

Ich bin kein Statiker, aber kann dir soweit sagen: es hat schon einiges ausgehalten.
Die Schubstangen waren mit einer dynamischen Last von 510 kg und einer statischen Last von 1.800 kg (oder sowas in den Hausnummern) angegeben. Ich glaub die Zweckbestimmung des Herstellers war die automatische Nachjustierung von Satelitenschüsseln (wenn ich mich richtig erinner; nur so am Rande als Zwischeninfo).
Ich hatte schon den ganzen Aufbau mit Anhänger (insgesamt 1.700 kg) ca. 14 Tage komplett auf den Schubstangen stehen (war mega abfallendes Gelände; ich glaub ca. bis 25 cm Höhenunterschied auf 3 M [Feldweg halt]). War kein Problem. Am vorletzten Tage ist noch ein heftiges Gewitter drüber gefegt, auch das hat dem Aufbau oder den Schubstangen keinen Schaden gebracht. Zu den Spindeln selbst kann ich nichts sagen, ich hab die bisher nie aufgemacht, die Schubstange selbst hat einen Außendurchmesser von 55 mm. Horizontale Lasten wird durch diagonale Platten und Winkel im Aufbau abgefangen (und hinter der Hand gesagt: Holz, woraus der Aufbau besteht, kann einiges abfangen :wink: ).

Hab ich grad mal kurz in Google gehämmert und über's Datenblatt geschaut (vernünftig verinnerlichen wird heut nichts mehr :woozy_face:), schaut gut/interessant aus. "Merk" ich dann einen Unterschied, wenn ich das Aufbau, also muss ich bei Adressierung oder sonst was beachten, oder läuft das da normal durch wie ohne diese Extender?

Ich hoff, ich hab jetzt niemandes Nachricht oder Punkte übersehen und bin auf alles eingegangen. Ich danke euch für euren vielen Input, wie ich oben schon schrieb muss ich aber leider sagen, dass mein Verständnis/Wissen momentan an seine Grenzen stößt, deshalb versuch ich kurz zusammenzufassen:
Für die I²C-Verbindungen soll ich keine geschirmten Leitungen verwenden, weil das die Leitungskapazität erhöht (und deshalb die Baudrate dann geringer sein muss..?). Ich sollte aber auf jeden Fall auf einen anderen Bustyp umsteigen, RS485 oder könnte auch die P82B715 verwenden (was meiner Ansicht des Datenblatts weniger aufwändig wäre als RS485?).
Die Motorleitungen muss ich dann für den Bus auch nicht schirmen, kann ich lassen wie sie sind und die Steckverbindungen kann ich alle ungeschirmt auslegen.
Ja? Nein? Bin ich grad völlig daneben? :woozy_face:

Ich wünsch euch noch einen schönen Abend und eine gute Nacht.
Liebe Grüße

Fipschen

Keine zusätzliche Programmierung, wie Verlängerungskabel einstecken läuft, brauchst aber 3 Adern für (SCL, SDA, GND), habe damals Netzwerkkabel (CAT5) genommen, was ja verdrillt, und abgeschirmt ist

Jau, habe ich mir auch gleich verinnerlicht. Feines Bauteil
Noch ein Tip zu deiner Abfrage der Motoren. Schau mal nach TLE 4905. Das ist ein Digitaler Unipolarer Hallsensor. In verbindung mit einem R1.2K und C 4,7nF hast du ein sauberes Rechecksignal was bei weitem störungsfreier arbeitet als ein Read.

Guten Morgen zusammen,

Unter 4 Adern (GND, VCC, SCL, SDA) geht ja sowieso nichts, die Gyroskope, bzw. HMI-Arduino brauchen ja auch noch Saft. Jetzt bin ich mir nicht mehr sicher, muss das dann überhaupt noch geschirmt sein? Wenn ich jetzt nicht völlig auf der Leitung steh, dann nicht? :thinking: Dann kann ich nämlich bei meinen M12'er Stecker/Kabeln bleiben.

Ich bin mir nicht mehr sicher, aber ich mein das war auch schon Thema in dem alten Thread von vor fast einem Jahr, da hatte ich auch mal mit Lichtschranke und Nutscheibe getestet, sind dann aber letztendlich doch bei den Reedschaltern und Magnetscheibe geblieben.

Liebe Grüße

Fipschen

Na dann schau mal, was da an Kommunikationsmethodik ansteht. :slight_smile: Ups. :wink:
In der Industrie werden nur symetrische Verfahren benutzt. Eben wegen dem Störabstand.
Wenn Du unbedingt pnp brauchst, geht das natürlich auch.
Es gibt entweder Module, aber auch das Ganze als Aufsteckshield.

So... und nu zu dem, was ich ausgeblendet habe.
Du willst die Bedienung damit ersetzen.
Das ist gut. Womit wir wieder bei der Signalübertragung sind.
Du gehst noch von 4 Drähten aus. (GND, VDD, SDAa, SCLa) Es macht keinen Unterschied, ob Du Expander benutzt oder versuchst das irgendwie direkt anzustecken. 3 Drähte braucht es immer.

Ich gehe von insgesamt genau 2 Drähten aus. A und B.
Dann machst Du Deine Handschachtel mit einer 9V-Batterie. Fertig.
Da kannst alles mögliche reinbauen. Die Schnittstelle ist schnell genug um Dir Lifedaten vom Mega zu geben.
Du kannst natürlich das ganze Gedöhns weiterverwenden wie bisher. Dann kommt ein kleiner Nano und ein Portexpander in die Schachtel. Die PCF gibt es mit 8 und 16 Pins und adressierbar. Soviele Pins kannst Du gar nicht verbauen, wie Dir dann zur Verfügung stehen.

Du hast mich gefragt: die Antwort steht damit fest. JA.

Und weil Du nach Steckverbinder suchst.
Erkundige Dich mal nach SuperSeal in deiner nächsten Autowerkstatt.
War jetzt der erste Treffer: https://www.jfetech.nl/Super-Seal-Connector-4-polig-Male
Die gibt es auch mit noch mehr Kontakten und dann auch als Dummy um nach dem trennen die Verbinder zu schützen.
(Hab ich bei mir im Auto auch für's Gassteuergerät)

So.

Ja, die Bussysteme selber kenn ich schon, ProfiBus, ProfiNet, CAN und weiß der Geier, wie die alle heißen. Da musste ich mich aber noch nie mit beschäftigen, wie die jetzt exakt funktionieren, weil halt Plug'n'Play :sweat_smile:.

Okay, jetzt steig ich grad komplett aus. Ich versteh nicht, wie du auf die 3 Drähte kommst (GND als dritter)? Ich will in meinem Bedienteil nicht noch eine Batterie drin haben, da der ganze Aufbau entweder auf 36 V Netzteil oder 36 V Batteriepack läuft. Und wegen Brandschutz muss ich JEDE Batterie, ausbauen, da, wo der Kasten i. d. R. steht (9 V und AA-Batterien halt ich persönlich zwar für übertrieben, aber dafür zahle ich da so gut wie keine Miete).
Also du hälst an den RS485 fest, wenn ich das richtig versteh? Okay, für die Arduinos relativ einfach mit den Boards, aber bei meinen Gyroskopen? Hau mich nich, aber ich hab mich etwas in die P82B715 verguckt, weil die laut meiner googlerei einfacher umzusetzen sind als RS485 (bei diesem Beitrag hier) duck und renn Ich würd dann nämlich auch n kleines Plattinchen machen, auf des ich die Gyroskope direkt stecken kann und dann auf Schraubklemmen geh.
Ich versteh grad auch nicht ganz, warum ich jetzt auf n Nano und Portexpander wechseln soll.. ich hab schon nen Mega hier rumliegen und Schraubklemmen-Board. Ich komm dann irgendwie auf 35 - 40 Pins, die ich brauch (find grad den Zettel nicht, auf dem ich's aufgeschrieben hab).

Die Stecker an sich sind jetzt nicht das Problem. Mein Problem war, wenn ich alles geschirmt brauch, aber das ist ja auch dein Stecker nicht. Die M12'er hab ich noch rumfliegen und die Verbindungen selbst sind witterungsgeschützt verbaut, also würd ich dabei auch gern bleiben. Für die Motoren hab ich auch die Steckverbindungen (das hab ich schon mal vor paar Monaten vorbereitet, aber Null an Schirm gedacht), das werden diese Kameraden.

Ich hoff, ich kling jetzt nicht nach "warum frag ich überhaupt, wenn ich doch eh schon alles weiß/hab", aber ich kann gerade auch einfach nicht alles nachvollziehen (wahrscheinlich is es einfach zu heiß, um richtig mit'm Hirn zu arbeiten :hot_face: :hot_face: :roll_eyes:). Und was die Busextender angeht, würd ich gern einfach das einfachste mit der geringsten Fehlerquelle nehmen, was für mich beim P82B715 einfacher gewirkt hat als der RS485.

Nene, bleib mal hier. Du unterliegst einem Irrtum!
Du sollst keinen Konverter I2C-RS485 bauen, sondern den RS485 ALS ERSATZ für den I2C nehmen!

Du hast 2 MEGA. Die verbindest Du jeweils mit einem Modul von oben unter Verwendung von 4 Arduino-Pins.
Zwischen den beiden Arduinos kommt dann eine 2Drahtleitung. (+2 für Deinen Versorgung)
Die Kommunikation findet dann genauso statt wie mit dem seriellen Monitor.
Auf die Leitung schreibst Du mit .print() bzw. write() und lesen geht mit .read().
Im Gegensatz zu I2C brauchst Dich um nix mehr zu kümmern.

Das las ich mal so stehen.

Egal was du nimmst kannst du Abgeschirmtes Kabel nehmen nur dran denken die Abschirmung nur auf Seite der MCU auflegen, also GND extra verbinden, am besten mit VCC verdrillte Adern nehmen

Also wen ich das jetzt richtig gelesen haben ist es im wesentlichen

  • ein Mega mit der Motorsteuerung
  • eine lange Leitung
  • ein Mega mit LCD und ein paar Tastern

Du kannst dir eine Protokoll für die RS485 ausdenken oder du wirfst einen Blick in mein Post:

In meiner LCD Library findest du den Code für den "Sender" (Client) wie auch den "Empfänger" (Server).

Im wesentlichen geht es darum:
am Sender sprichst du das LCD wie üblich mit z.B. lcd.setCursor(2,2); lcd.print()... an.
Der Sender schickt es aber über die Serielle an den Empfänger.
Der Empfänger decodiert die Daten und steuert das LCD an.