Bordcomputer selbst gemacht

  • Das wäre aktuell auch mein Ansatz, allerdings mit nur einem Microcontroller und dafür eine Reihe Portexpander, die alle an einem I2C Bus hängen. Den brauche ich eh weil wir darüber auch DS18B20 Temperatursensoren etc. betreiben wollen.

    Wie meinst du das? DS128B20 Sensoren liest man über 1-Wire. Die werden alle parallel zu einem einzelnen GPIO verbunden. Jeder Sensor hat eine eindeutige Adresse. Man muss dafür also keine separaten GPIOs verwenden.

  • Oh sorry, stimmt. Mir raucht ein wenig der Kopf vor lauter neuem Input. ;(
    Ich hab nun erstmal zum rumspielen zwei MCP23017 Port Expander und zwei ESP8266 Controller bestellt, um mal auszuprobieren wie die am einfachsten vernetzbar sind.


    Wie empfindlich ist denn der I2C Bus im Bezug auf Kabellängen, verlegen im Stern und Reihe gemischt, etc.? Gefühlt kann bei den zwei Drähten mit Clock und Data doch nicht viel passieren, oder?

    Viele Grüße,
    Martin
    --
    Ü-Wagen Umbaugalerie: http://ue34.de
    (wird regelmässig erweitert)

  • Wie empfindlich ist denn der I2C Bus im Bezug auf Kabellängen, verlegen im Stern und Reihe gemischt, etc.? Gefühlt kann bei den zwei Drähten mit Clock und Data doch nicht viel passieren, oder?

    I2C ist für die Kommunikation zwischen ICs in einem Gerät ausgelegt. Gemäß den Spezifikationen darf die parasitäre Kapazität des Kabels 200 pF nicht überschreiten. Es hängt natürlich vom verwendeten Kabel ab, aber mehr als ein paar Meter werden wahrscheinlich nicht zuverlässig funktionieren. Ich würde RS485 benutzen. Da ist die maximale Kabellänge 1000 meter. Ethernet geht naturlich auch, ist aber teuerer und man braucht zwei Porte pro controller order ein Switch wenn man mehr als zwei controller hat. Der MAX3485 kostet auf eBay nur $5.63 pro 10 Stück. Oder einfach RS232 auf 3.3V (wie VE.direct) wenn Einwegkommunikation reicht. Dafür sind keine zusätzlichen Komponenten erforderlich. Der ESP2866 hat aber nur eine RS232 schnittstelle. Deshalb benutze ich normalerweise den ESP32, der hat drei. Dan kann ich eine für die Programmierung reservieren.


  • Ich habe Grafana-Track-Map installiert. Obwohl es alt ist funktioniert das immer noch mit der neue Grafana :) Danke für den Tipp!
    https://grafana.tarthorst.net/…29844485&to=1531310048220

  • Hallo zusammen,


    Sorry war ziemlich eingespannt die Tage...
    Hab gesehen eine Frage von Alexbik an mich war noch offen.... Ansonsten wurden ja wieder sehr gute ANtworten gegeben


    Zitat

    Danke LIND_buzzz. Dieses Plugin unterstützt Grafana Version 4.x.x, ich habe Version 6.2.2. Wie hast du das gemacht? Ich denke nicht du hast noch Version 4 :)


    Im Prod Sys läuft Grafana in v5.1.2 auf dem Testsystem ist die v6 schon am laufen. bisher konnte ich noch nicht feststellen das etwas nicht geht. DIe Maps habe ich aber noch nicht getestet. Danke für den Hinweis, falls es zu Problemen kommt.


    Das schöne an dieser Map ist das Bewegungen auf der Zeitachse im Grafen, auf den Track in der Map übertragen werden. So hat man einen schöneren Bezug wann was war.


    EIne andere Darstellung habe ich mal mit der normalen Map (WorldMap) gemacht.
    Hier im Beispiel färbt sich der Track Point Farblich nach der Geschwindigkeit ein.... Diese Variante ist aber nicht sonderlich Performant, sieht aber witzig aus....


    Mobs Geschwindigkeit beim Düdo ab 87 km/h = rot :)





    ESP8266 mit RS485 über MAX485 haben wir auch im Einsatz... aber bisher nur, wenn der Slave ein Standart Produkt ist. Einen entscheidenden Vorteil sehe ich hier noch darin, dass man vom Master aus entscheiden kann welcher Slave wann abgefragt wird.



    Ich bin immer wieder überrascht wie viele Möglichkeiten man hat um ans Ziel zu kommen.



    Viele Grüße Daniel

  • ESP8266 mit RS485 über MAX485 haben wir auch im Einsatz... aber bisher nur, wenn der Slave ein Standart Produkt ist. Einen entscheidenden Vorteil sehe ich hier noch darin, dass man vom Master aus entscheiden kann welcher Slave wann abgefragt wird.


    Das finde ich recht attraktiv da ich dann an beliebigen Stellen Microcontroller mit dem MAX485 platzieren kann und damit die Kabelwege sehr kurz halte. Aber wie hält man dann den Programmieraufwand klein und vor allem flexibel? Läßt sich das ganze so programmieren, dass sie die Controller als Slave wie Port-Expander verhalten? Wenn jeder Controller sein eigenes, individuelles Programm bekommt, wird es irgendwann sehr unübersichtlich...


    Der andere Weg wäre meine ursprüngliche Idee, nämlich ein Mega mit Port-Expander und dann Kabel verlegen. Habt ihr in dem Zusammenhang Erfahrungen mit Störeinflüssen im Womo? Bei mir wären das dann mehrere Leitungen mit 12x0,75, die längsten sind knapp 10m lang.

    Viele Grüße,
    Martin
    --
    Ü-Wagen Umbaugalerie: http://ue34.de
    (wird regelmässig erweitert)

  • Brauchen tut man das nicht, man muss da Bock drauf haben. Es reicht auch ne Kerze auf dem Tisch und ne Fusspumpe für Wasser.
    Wen das nicht interessiert, der braucht hier ja nicht mitlesen. ;)

    Viele Grüße,
    Martin
    --
    Ü-Wagen Umbaugalerie: http://ue34.de
    (wird regelmässig erweitert)

  • Nötig brauchen tut man das nicht, wenn man aber Spaß dran hat bestimmte Zustände und werte an seinem Bus im Auge zu behalten ist es dann auch nützlich
    Eigentlich braucht man ja den ganzen Bus auch nicht? ;)

    leoforio


    schone Umwelt, spar Verdruss, fahr mit dem Bus... :D

  • Hallo zusammen,


    wir müssen bei der Diskussion das Thema anscheinend ein wenig weiter zerlegen.
    Je nach Anwendungsfall muss man sich für bestimmte Ansätze/Technologien entscheiden. Beinahe wie auf einer Riesigen bunt gemischten Blumenwiese mit der Qual der Wahl.
    ...(Ein spontaner Gedanke dazu....) "gegen jeden Kummer ist ein Kraut gewachsen" :)


    So ist es auch hier beim Thema "Bordcomputer selbst gemacht". Es gibt unzählige Möglichkeiten wie man was machen soll oder machen kann oder will.
    Am Anfang stelle ich mir immer die Frage... Was ist das Ziel?


    Oft fehlt mir dann vor lauter Zielen die sich ergeben der eine Startpunkt. Den gibt es meiner Meinung nach hier nicht.
    Viel wichtiger ist es mir für eins dieser Ziele den Optimalen Start zu suchen.


    Das bedeutet ich habe unterschiedlichste komplett Lösungen geistig umgesetzt und bin zu der Erkenntnis gekommen, dass mir ein bunter Wiesenstrauß am besten gefällt.
    Er gibt mir maximale Flexibilität und Freiheit. Er kostet weniger wie der Rosenstrauß aus der Zucht.
    Man bleibt Herstellerunabhängig, hat aber mehr Aufwand. Wiederum versteht man was man gemacht hat.


    Nun zurück zum Zerlegen vom Thema.
    Wir vermischen Messwerterfassung …
    die sich unterteilt in:
    Messwerte von Hersteller Geräten mit eigener Schnittstelle (Laderegler mit Serial Output/ ModBus/ Can Bus)
    Messwerte von eigenen Sensoren (Temperatur, Umdrehung, Helligkeit, Geschwindigkeit)
    Messwerten von uns selbst (getankte Liter, eigenes Stimmungsbild, heute gesehene Ampeln)
    Messwerte von anderen (Spritpreise, Wetterprognosen…)


    … mit Aktionen (Schalthandlungen)
    die sich wiederum unterteilen in
    Schalthandlungen von Hersteller Geräten mit eigener Logik (Heizungssteuerung)
    Schalthandlungen von eigenen Geräten (Licht, Kompressor…)
    Schalthandlungen von uns selbst (Lichtschalter… will ich das mein Bordcomputer das auch weiß?
    Schalthandlungen von anderen (will ich das überhaupt???)


    …obwohl es einfacher wäre es als getrennte Themen zu betrachten.
    Denn Messwerte müssen am Objekt erfasst werden. Dezentrale Erfassung zu einem Zentralen Controller bedeutet hoher Verkabelungsaufwand und mögliche Störungen… Daher nutze ich hier die Vorteile von Funk (WLAN usw…)
    Controller mit Messsensor sitzt bei mir in der Nähe vom Messobjekt und Pusht seine Daten raus.


    Bei Aktionen (Schalthandlungen) ist es genau andersrum. Hier werden die Geräte von einer Zentralen stelle aus mit der benötigten Energie Versorgt. Sie treffen sich alle irgendwo im Fahrzeug. Meist bei der zentralen Absicherung… ? Also hier der Ansatz Zentrale Steuerung dezentrale Aktionen.
    Dabei kann man es noch so gestalten, dass der Komfort der Manuellen Schaltung nicht verloren geht und der Zentrale „Bordschaltoperator“ lediglich den von außen getriggerten zustand mitbekommt.


    Der nächste Themenstrang wäre dann, wie alles zusammenlaufen soll oder kann (ich meine Damit wie kann ich es schaffen einen Überblick über alle Messwerte zu bekommen und vor allem wie können daraus automatische sichere Aktionen entstehen… Hier gibt es eine ähnlich bunte Blumenwiese… Lokal, Cloud oder Beides. Von außen Schaltbar oder nicht? Sicherheit, Stabilität…
    Aber dazu kommen wir sicher später….



    Zitat

    Das finde ich recht attraktiv da ich dann an beliebigen Stellen Microcontroller mit dem MAX485 platzieren kann und damit die Kabelwege sehr kurz halte


    Bei MAX485 bleiben die Kabelwege oder ich habe deine Idee nicht verstanden? Max 485 macht Sinn wenn du Geräte von Herstellern verbaust die Modbus 485 im Bauch haben. Ansonsten kannst du dir die MAX485 sparen und machst es mit Serial… Hatten wir schon CAN BUS?
    (Grafik: Modbus / Serial)


    Schreib doch mal eins deiner Ziele oder wenn du magst dein Endziel in Stichpunkten auf. Vielleicht wird es einfacher, wenn wir uns darauf mal fokussieren.


    Das ganze hier braucht zwar die Menschheit ähnlich wie eine Tankanzeige nicht, ist aber dennoch Sommerblumenbunt und spannend. Das kann aber muss man nicht verstehen.



    Viele Grüße Daniel

    Einmal editiert, zuletzt von LIND_buzzz ()

  • Bei MAX485 bleiben die Kabelwege oder ich habe deine Idee nicht verstanden? Max 485 macht Sinn wenn du Geräte von Herstellern verbaust die Modbus 485 im Bauch haben. Ansonsten kannst du dir die MAX485 sparen und machst es mit Serial… Hatten wir schon CAN BUS?


    Nicht ganz. Mit Serial (RS232) kann nur ein Gerät "sprechen". Mit RS485 können mehr Geräte "sprechen", allerdings nicht gleichzeitig. RS485 ist ein symmetrisches Signal (+ und - statt + und masse) und deswegen weniger störanfällig. Im Bus würde ich deswegen lieber RS485 statt RS232 benutzen, auch wenn es sich nur um zwei Geräte handelt. Es sei denn, die Kabellänge beträgt nur wenige Zentimeter.



    MAX485 ist der chip der die umwandlung macht von RS232-TTL (5V) nach RS485. Für 3.3v Mikrocontroller (ESP8266, ESP32, manche Arduino's) braucht man der MAX3485.



    https://de.wikipedia.org/wiki/EIA-485

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!