Beiträge von Aggro600

    Ich habe mir ein Schaltzentrum gekauft, das Start/Stop besitzt.
    Meins hat Sitzheizung und Heckrollo.
    Nun wollte ich die beiden zu einem machen, sodass ich einen weiteren Knopf habe. Ich habe praktisch nur den Plastik Knopf in mein Schaltzentrum eingebaut.
    Mir ist schon klar, dass ich ich nicht plötzlich die Start/Stop Funktion habe, aber ich möchte den Knopf auf dem CAN Bus auslesen.
    Es Funktionieren alle Knöfe nur der Start/Stop Knopf gibt keine Nachricht auf dem Bus ab.


    Bei dem neuen Teil Funktioniert er auch nicht. Dort klappt nicht mal die Sitzheizung richtig (nur Beifahrer wird warm und keine der 3 Status LEDs wird angesteuert).


    Hat jemand ne Idee? Muss ich noch was Codieren?

    Hier ist mal eine kleine Anleitung um einen Arduino an den Can Bus anzuschließen.


    Benötigt wird:
    - Ein Arduino Controller (Dabei ist es relativ egal welchen man benutzt ich persönlich nutze einen Leonardo Micro, da er eine Maus/Tastatur für ein Android Tablet emulieren kann. Es geht aber auch ein Arduino UNO)
    - Ein Can Bus Shield (Ich nutze das MCP2515)
    - 5V Netzteil (z.B. einen Zigarettenanzünder Adapter zu USB und dann mit einem Micro USB Kabel zum Leonardo Micro)
    - Ein paar Kabel (gut wäre ein Twisted Pair Kabel um die Störungen auf dem Can Bus zu minimieren)


    Man sucht sich nun eine Stelle aus, so man den Arduino einbauen möchte, dort sollte man auch an Strom und Can Bus kommen.
    Ein Paar möglich Ort sind:
    - Hinterm Radio am Quadlock Stecker
    - Am Klimabedienteil Stecker (Links der Schwarze)
    - Hinterm Handschuhfach
    - Am iDrive Controller Stecker
    - ...


    Die Kabel sind immer verdrillt und haben folgende Farben:
    - Can High = Orange/Grün
    - Can Low = Grün


    Die Stromversorung habe ich von der Taschenlampenvorbereitung im Handschuhfach genommen, dort liegt Spannung an sobald man das Auto aufschließt, bis es eingeschlafen ist so ca. 15 min nach dem Abschließen.


    Das Can Bus Shield MCP2515 hat 6 Anschlüsse wovon wir 5 brauchen.


    INT - wird nicht gebraucht
    SCK - 15 SCLK
    SI - 16 MOSI
    SO - 14 MISO
    CS - 10 (Pin 9 oder 10 je nach Arduino Board. Wird im Programm festgelegt)
    GND - Masse vom Arduino
    VCC - VCC vom Arduino


    Ich nutze folgende Library für das Can Bus Shield:
    https://github.com/Seeed-Studio/CAN_BUS_Shield



    Im Beispiel Code muss nun der CS Pin und folgende Zeile angepasst werden von 500 auf 200:
    while (CAN_OK != CAN.begin(CAN_500KBPS))


    while (CAN_OK != CAN.begin(CAN_200KBPS))


    Auf dem MCP2515 ist ein Quarz verbaut. Bei mir ist es 8000 MHz es kann aber auch 16000 MHz sein.


    Wir brauchen eigentlich 100KBPS aber da wird von einem 16000Mhz Quarz ausgegangen
    Hat man 8000 MHz muss man wie folgt rechnen: Statt 16 MHz : 8Mhz = 2 => 2 * 100KBPS = 200KBPS


    Der Quellcode sieht nun wie folgt aus:


    Sorry für die Formatierung, klappt irgendwie nicht

    Sammlung von Can Bus Nachrichten (fett gibt immer die CAN ID an)
    Alle Can Nachrichten sind in DEC (Dezimal)


    Schaltzentrale (Knöpfe 1-6 von links nach rechts) (Man kann die Knöpfe auch wenn man die Ausstattung nicht hat so mechanisch bearbeiten, dass sie funktionieren) evtl müssen Widerstände eingelötet werden:


    1 Sitzheizung Fahrer
    <487,253,255,>//Press
    <487,252,255,>//Release


    2 PDC?
    <791,253,255,>//Press
    <791,252,255,>//Release

    3 Heckrollo
    <621,253,255,255,>//Press
    <621,252,255,255,>//Release


    4
    <794,253,255,>//Press
    <794,252,255,>//Release


    5 Start/Stop
    <405,253,255,>//Press
    <405,252,255,>//Release

    6 Sitzheizung Beifahrer
    <488,253,255,>//Press
    <488,252,255,>//Release


    Vorfeldbeleuchtung genau wie beim aufschließen:


    Einschalten
    <1777,114,4,48,47,7,1,0,100>//Die 100 gibt die dauer an wie lange das Licht an bleibt. In dem Fall 10 Sekunden.

    Auschalten
    <1777,114,4,48,47,7,1,0,0>


    Tacho:

    Geschwindigkeitszeiger
    <1777,96,5,48,32,6,0,0,100>//0 km/h
    <1777,96,5,48,32,6,18,14,100>//260 km/h
    <1777,96,3,48,32,0,13,227,100>//Steuern aus

    Drehzahlzeiger
    <1777,96,5,48,33,6,0,0,100>//0 rpm
    <1777,96,5,48,33,6,18,55,100>//7500 rpm
    <1777,96,3,48,33,0,2,109,100>//Steuern aus


    Tankzeiger
    <1777,96,5,48,34,6,0,0,100>//0
    <1777,96,5,48,34,6,7,82,100>//100
    <1777,96,3,48,34,0,2,109,100>//Steuern aus


    KVA (Momentanverbrauch)
    <1777,96, 5, 48, 35, 6, 0, 0, 100>//0
    <1777,96, 5, 48, 35, 6, 7, 21, 100>//10
    <1777,96, 3, 48, 35, 0, 13, 227, 100>//Steuern aus



    Schlüssel/Zündung:

    Schlüssel drin
    <304,65,...>//Kommt zyklisch


    Schlüssel draußen
    <304,64,...>//Kommt zyklisch

    Zündung an
    <304,69,...>//Kommt zyklisch


    MFL (Multifunktionstasten am Lenkrad):

    <470,192,12,...>//Keine Taste gedrückt kommt ca. alle 100ms

    <470,192,13,...>//Sprechen Taste gedrückt
    <470,192,28,...>//Stern Taste gedrückt
    <470,192,76,...>//Raute Taste gedrückt
    <470,200,...>//Vol + Taste gedrückt
    <470,196,...>//Vol - Taste gedrückt
    <470,193,...>//Telefonhöhrer Taste gedrückt
    <470,224,...>//Pfeil Hoch Taste gedrückt
    <470,208,...>//Pfeil Runter Taste gedrückt



    Fernbedieung (Zentralverriegelung):


    <304,64,...>//Aufschließen
    <304,65,...>//Abschließen
    <304,69,...>//Kofferraum für 3 Sekunden gedrückt


    Gang:


    Rückwärtsgang
    <944,253,...>//Nicht Eingelegt
    <944,254,...>//Eingelegt




    Was noch kommen soll:



    Testen:

    - Alle Fenster komplett hochfahren ohne Zündung (so wie beim gedrückt halten der Fernbedienung)

    Geht nur mit kleiner Unterbrechung beim Hochfahren:
    <622,0,27,63,2,255,255,255,255,>//Hinten
    <622,27,27,63,2,255,255,255,255,>//Vorne


    - Das reagieren vom Auto auf MFL Tasten ausschalten wobei Tasten vom Schaltzentrum (Sitzheizung usw.) noch funktionieren

    CCC Datenverkehr Einschalten
    <1777,160,2,41,1,21,7,4,0,>//Ungetestet
    CCC Datenverkehr Ausschalten
    <1777,160,2,40,1,21,7,4,0,>//Klappt iDrive und Lautstärke Drehknopf werden auch abgeschaltet

    - CCC Quelle umschalten (AUX/CD/RADIO)

    Aux
    <1777,160,4,46,249,2,9,4,0,>//Ungetestet
    evtl. <1777,160,3,34,249,2...
    Radio
    <1777,160,4,46,249,2,1,4,0,>//Ungetestet
    evtl. <1777,160,3,34,249,2...

    CD
    <1777,160,4,46,249,2,3,4,0,>//Ungetestet
    evtl. <1777,160,3,34,249,2...


    - CCC Lautstärke
    Mute
    <1777,160,4,46,249,1,0,4,0,>//Ungetestet

    15
    <1777,160,4,46,249,1,15,4,0,>//Ungetestet

    16
    <1777,160,4,46,249,1,16,4,0,>//Ungetestet

    18
    <1777,160,4,46,249,1,18,4,0,>//Ungetestet

    geht in 2er Schritten weiter bis 62
    Lautstärke MAX gibt es auch noch


    Herrausfinden/ToDo:


    - CCC Einschalten ohne Zündung bzw Schlüssel im Schloss

    - Bordsteinfunktion der Seitenspiegel (Bei Rückwärtsgang Rechten Spiegel nach unten fahren) nachrüsten mit ein/ausschalten per Spiegelwahlschalter


    - Evtl. Hupen beim Auf-/Abschließen


    - Autobahnlicht = Anhebung der LWR bei schneller Fahrt z.B. > 130km/h


    - Alle Fenster Hochfahren wenn abgeschlossen wird per Fernbedienung, ohne das man sie gedrückt halten muss

    - Tablet steuern per iDrive/MFL z.B. Lautstärke/Nächstes Lied usw.

    Es gibt einen Stecker mit 6 Anschlüssen
    Wenn man von innen auf die 3. Bremsleuchte guckt sag ich mal ist die Reihenfolge
    - Links 1 2 3 4 5 6 Rechts-
    Und auf Pin 2 ist die Antenne bei der Limousine.
    Dort habe ich zum Testen ein Kabel dran gehangen und es nach außen geführt. Nur eine Verbesserung der Reichweite konnte ich nicht feststellen.

    Ich werde mal im CCC nachgucken ob ich da was ausschalten kann.


    Ist das bei den Fensterhebern eigentlich normal, dass ich die vorderen am FRM und die hinteren am JBB anspreche?


    Und gibt es ne Möglichkeit von dem _TEL_ANTWORT = 7 Bytes0000 : 83 F1 72 7F 30 22 B7 ?ñr0" oder dem gesendeten Auftrag irgendwie auf die Can Bus Nachricht schließen? Ich habe zb. beim JBB noch nicht meine steuer Befehle ruasfinden können.