BWM fog light after market controleris

Patarimai kaip pačiam galima pasidaryti vieną ar kitą patobulinimą, ar remontą.
Vartotojo avataras
mykolaila
Pranešimai: 592
Užsiregistravo: 2015-10-22 19:37
Karma: 348

BWM fog light after market controleris

Standartinė mykolaila » 2023-11-18 01:26

Sveiki,
Mano moce R1200RT LC nebuvo priešrūkinių. Tikslas buvo:
1. Sumontuoti originalią BMW knopkę
2. Sudėti kinietiškus fog light
3. Realizuoti, kad fog light veiktu kaip gabaritai plius papildomos funkcijos nuo ezCan. (jei neaktualu, t.y pas jus nėra papildomo priedų valdymo tada ignoruoti)

Problema: priešrūkiniai BMW moce valdomi per CAN sąsają. Todėl reikia 1. nupirkti bmw originalią knopkę (tinka ir GS), ją prijungti prie bmw pravodkės (jei nėra jau paruošta pravodkė orirignaliai) tada ją prijungti prie priekinės lempos laidų: reikalingi 3 laidai: BR, R/BL, V.
fog.png


Toliau valdymui reikia suburti kontrolerį, kuris skaitytų CAN ir atitinkamai įjungtų/išjungtų priešrūkines. Tiesa, taip pat tai reikia moco komplektacijoje base unit ir prietaisų skydelyje enablinti šias funkcijas su bmw dyleriniu softu (man kainavo 70 eur, atvažiavo ir vietoje perkodavo kompus) tam kad įjungus fog light skydelyje užsidegtų signalinė lemputė.

Toliau jungiame arduino. Reikės:
Arduino R4 minima: https://www.anodas.lt/arduino-uno-r4-mi ... 4%20minima
CAN transceiverio modulio: https://www.anodas.lt/sn65hvd230-can-pl ... HEQAvD_BwE
Arduino valdomos rėlės: https://www.lemona.lt/reles-modulis-1-k ... duino.html

Mano schema:
can.png


Kaip pajungti pravers paprasčiausias manualas: https://docs.arduino.cc/tutorials/uno-r4-minima/can

Toliau į arduino supučiam kodą(modifikuoti pagal save ir pajungimo PIN'us) :
P.S. kodas parašytas remiantis šiuo CAN manualu, turėtų tikti K51/52 modeliams: Motorrad CanBUS

Kodas į arduino:

#include <Arduino_CAN.h>

int fogStateLast = 2;
int fogStateCurrent = 0;
const int RELAY_CAN_PIN = 7;

void setup() {

Serial.begin(115200);
pinMode(RELAY_CAN_PIN, OUTPUT);

if (!CAN.begin(CanBitRate::BR_500k))
{
Serial.println("CAN.begin(...) failed.");
for (;;) {}
}
}

void loop() {
if (CAN.available())
{
CanMsg const msg = CAN.read();
if (msg.id == 720){
fogStateCurrent = msg.data[7];
if (fogStateCurrent == 2 && fogStateLast != 2){
Serial.println("Fog lights-> ON");
digitalWrite(RELAY_CAN_PIN, HIGH); // turn on fog lights
}else if (fogStateLast == 2 && fogStateCurrent != 2){
Serial.println("Fog lights-> OFF");
digitalWrite(RELAY_CAN_PIN, LOW); // turn off fog lights
}
fogStateLast = fogStateCurrent;
}
}
}


Visą konstrukciją sumontavau į dėžutę su papildoma knopke (Fog light switch) atjungti ezCan, tada kai važiuosiu į TA, kad be reikalo nesikabintų kodėl dega kaip gabaritai.

unnamed (3).jpg

unnamed (4).jpg


Darbo rezultatas:
1. Galiu jungti aftermarket (ne BMW) priešrūknius, nes jiems paduodama +12V tada, kai įjungiu juos nuo originalios BMW knopkės (tuo pačiu užsidega ir skydelyje indikatorius).
2. Kai priešrūkinių knopkė išjungta, tuomet juos valdo ezCan. t.y. pas mane pastoviai dega 10% arba reaguoja į hazard light ir mirksi priešingai. Taip pat veikia kitos papildomos ezCan funkcijos. Kam tai neaktualu tiesiog priešrūkinės bus išjungtos.
3. Turėdamas noro galiu pridėti papildomus CAN pranešimus ir valdyti kitas rėles.


Vartotojo avataras
Decoy
Pranešimai: 3532
Užsiregistravo: 2015-10-28 19:26
Karma: 1726

BWM fog light after market controleris

Standartinė Decoy » 2023-11-20 10:49

Mykolailos darbo dokumentacija:
Prikabinti failai
OIG (2).jpg
OIG (3).jpg
Drop a gear and disappear.
Vartotojo avataras
draginoid
Pranešimai: 2542
Užsiregistravo: 2015-10-26 12:46
Karma: 1007

BWM fog light after market controleris

Standartinė draginoid » 2023-11-20 13:18

Kiek kainavo viso bendrai?
Keturi ratai vežioja kuną, o du ratai - sielą.
Vartotojo avataras
mykolaila
Pranešimai: 592
Užsiregistravo: 2015-10-22 19:37
Karma: 348

BWM fog light after market controleris

Standartinė mykolaila » 2023-11-20 19:58

draginoid rašė:Žinutės nuoroda Kiek kainavo viso bendrai?

Arduino Uno R4 Minima 35 eur
CAN plokštė 7 eur
Relės modulis 3 eur
Dėžutė 6 eur
Jungiklis 1 eur
Sandarios jungtys 4 vnt. 10 eur
Kitas jungtis naudojamas vidiniam modulyje turėjau iš anksčiau, bet ten kokie max 5 eur vertė. Taip pat keletą išorinių jungčių panaudojau iš kitos donorinės bmw pravodkės.
Tai sakykime apie 60-70 eurų išėjo.

Grįžti į “Pasidaryk pats, naudingi patarimai”

Dabar prisijungę

Vartotojai naršantys šį forumą: Registruotų vartotojų nėra