SamochodyElektryczne.org - Forum
SamochodyElektryczne.org

Samochody elektryczne - Nissan Leaf - Zdalne załączenie klimatyzacji/ogrzewania DIY

vwir - 2018-02-26, 10:40
Temat postu: Nissan Leaf - Zdalne załączenie klimatyzacji/ogrzewania DIY
+----------------------------------------------------------------------+
Edit: Temat wydzielony z wątku Leaf problem z Carwings, instrukcja obsługi, nawigacja...80%
+----------------------------------------------------------------------+


Nudziłem się w weekend i zrobiłem sobie taki... carwings dla ubogich ;) Generalnie załączenie klimatyzacji/ogrzewanie w leafie to kwestia dwóch prostych komend wysłanych po szynie CAN. Proste jak budowa cepa. Jedynie pozostaje kwestia jakiejś łączności z modułem, który te komendy wyśle. Ja wykorzystałem.. stary telefon siemens C75 walający się po szufladzie ;) Generalnie zrobiłem tak, że gdy zadzwonimy na ten telefon to leaf po 3 sygnałach odrzuci połączenie (żebyśmy wiedzieli, że przyjął komendę) i załączy klimatyzację/ogrzewanie. Później drugi raz możemy zadzwonić i wtedy leaf odrzuci połączenie po jednym sygnale i wyłączy ogrzewanie. Po 15 minutach ogrzewanie samo się wyłącza, żeby zapobiec sytuacji gdy zapomnimy je wyłączyć. Oczywiście nadal działają standardowe zabezpiecznienia - na przykład nie można załączyć ogrzewania gdy stan akumulatora jest zbyt niski. No i przyjmuje komendy tylko od określonych numerów telefonów (żeby nam telefon od biura obsługi nie załączał ogrzewania w aucie).

Koszt - akurat w moim przypadku zero pln, bo wszystkie elementy walały się po szufladach. Jeśli ktoś będzie chciał je wykonać samemu to:
- arduino nano albo mini pro (ok. 14PLN w PL, połowa z tego u chińczyków)
- shield dla szyny CAN. Ja użyłem MCP2515 (ok. 14PLN w PL lub 6PLN u chińczyków)
- przetwornica step-down (u nas ok. 4PLN, u chińczyków ok. 2PLN)
- stary telefon (zero PLN) lub moduł GSM (próbowałem się bawić z modułami SIM800L i średnio mi to szło - stary telefon sprawuje się znacznie lepiej). Telefon został pozbawiony baterii i jest zasilany bezpośrednio z instalacji samochodowej.
Do testów potrzebowałem jeszcze wtyczkę OBDII ale docelowo nie jest ona potrzebna, bo moduł wyląduje w miejscu w którym standardowo znajduje się moduł carwings.

Jeśli ktoś jest zainteresowany to dajcie znać - podrzucę schemat i kod pod arduino.

Torres - 2018-02-26, 15:12

Ja jestem bardzo ale to bardzo zainteresowany. Podrzuć schemat z opisem co i jak. Nie jestem wprawdzie elektronikiem, ale kolega mi pomoże.
Z góry serdeczne dzięki.

vwir - 2018-02-26, 15:16

Nie ma problemu, ogarnę to jakoś w tygodniu.
Torres - 2018-02-26, 15:18

Bardzo fajnie. Z góry dziękuję.
jas_pik - 2018-02-26, 15:36

vwir napisał/a:
Jeśli ktoś jest zainteresowany to dajcie znać - podrzucę schemat i kod pod arduino.

Podziel się ze wszystkimi :idea:

vwir - 2018-02-26, 16:25

Wiem wiem, wrzucę tutaj. Tylko muszę jakiś schemat rozrysować, bo na razie to jest kabelkologia stosowana ;) Nie miałem akurat konektorów dla arduino (wszystkie 'wyszły') a chciałem mieć układ 'na już' wiec wszystko lutowałem zwykłymi kabelkami.
krawcu - 2018-02-27, 22:49

Też byłbym zainteresowany takim sterowaniem :)
vwir - 2018-03-02, 08:12

Na początek uwaga:
Ten schemat bez żadnych zmian zadziała w poliftowych leafach z roku produkcji do 2015 włącznie. Innymi słowy bez żadnychy zmian zadziała w autach z rocznika 2013, 2014 i 2015.
Da się go też nieco zmienić, żeby zadziałał w rocznikach 2011 i 2012 (przedliftach) ale jako iż nie mam na czym testować, to wymagałoby to bliższej współpracy z posiadaczem przedlifta.

Lista części, z których ja korzystałem. Podaję linki z pierwszego lepszego sklepu, który mi wyskoczył w google. Oczywiście na allegro lub u chińczyków można znaleźć znacznie taniej:
- arduino nano:
https://abc-rc.pl/Arduino-NANO-V3-CH340

- shield dla szyny CAN MCP2515
https://abc-rc.pl/modul-can-bus-mcp2515

- przetwornica DC/DC step-down
https://abc-rc.pl/Przetwornica-DC-DC-3-35

- telefon siemens C75

- rezystory:
2 sztuki 2K7
1 sztuka 3K3

- płytka uniwersalna

Zaczynamy nietypowo, bo od wgrania kodu na arduino:
https://pastebin.com/nvfyauX5

Zauważcie, że kod wymaga zmian, przed wrzuceniem na arduino. Pod zmienną numbersCount jest zapisana liczba numerów telefonów, które będą mogły załączyć ogrzewanie. Połączenia z innych numerów będą ignorowane. Zmienna phoneNumbers[] ma wymienione te numery. Jeśli nie mieszkacie w Polsce i macie inna długość numerów telefonu, to musicie też zaktualizować zmienną phoneNumberLength.
Zmienna climateControlThreshold definiuje po jakim czasie od włączenia ogrzewanie ma się samoczynnie wyłączyć. Domyślnie jest to 15 minut.
Aby poprawnie wgrać kod musimy jeszcze dołożyć tą bilbiotekę do arduino: https://github.com/coryjfowler/MCP_CAN_lib

No dobra, to teraz lutownica w dłoń i zaczynamy zabawę. MCP2515 łączymy z arduino zgodnie z tym schematem:
http://ota.net.br/wp-cont...nbus_schema.png

UWAGA! Przetwornicy DC/DC (step down) na razie nie podłączamy.

Następny krok to przygotowanie przetwornicy DC/DC. Do jej wejścia (IN) podłączamy 12V (może być bezpośrednio z akumulatora samochodowego). Kręcimy potencjometrem tak, żeby na wyjściu (OUT) uzyskać ok. 4,1-4,2V. Odpinamy przetwornicę od akumulatora i podłączamy wyjście przetwornicy (OUT) do arduino. Ale NIE podłączamy jej tak jak na powyższym schemacie, tylko podłączamy ją do złącz GND i +5V (zamiast VIN) w arduino. Z tego właśnie powodu musimy przygotować przetwornicę wcześniej i ustawić poprawne napięcie. Gdybyśmy najpierw ją podpięli do arduino a później wtedy zaczęli ustawiać napięcie, to moglibyśmy uszkodzić arduino.
Teraz słowo wyjaśnienia: dlaczego 4,1V? Otóż potrzebujemy w zasadzie dwóch napięć: 5V dla arduino i 3,7V dla telefonu (żeby się pozbyć baterii). Tak naprawdę w pełni naładowana bateria w telefonie może osiągnąć maksymalnie 4,1-4,2V, więc tyle możemy bezpiecznie mu podać. Jest to też napięcie w zupełności wystarczające do poprawnego działania arduino. Więc żeby się pozbyć dwóch różnych przetwornic i 2 różnych napięć to ustawiamy wszystko na 4,1V.
Arduino i MCP2515 możemy umieścić na płytce uniwersalnej. MCP2515 nie do końca pasuje (musiałem usunąć niebieskie złącze ze śrubkami, bo i tak go nie wykorzystujemy) ale nie jest najgorzej. Tak to finalnie wygląda:
http://i67.tinypic.com/312d8uu.jpg

Ostatnim krokiem jest podłączenie telefonu. Generalnie robimy to podobnie jak na tym schemacie: https://sites.google.com/site/carlosoliveiraprojects/_/rsrc/1342727600100/home/arduino/gsm-and-arduino/esquema.png

Z drobnymi zmianami. Oczywiście ignorujemy wszystko to, co jest po lewej stronie arduino na tymże schemacie. Interesuje nas jedynie to co po prawej. Zamiast wykorzystywać złącza D2 i D3 w arduino, wykorzystujemy złącza D7 i D8. Ponadto do pinu 1 w telefonie podpinamy +5V z arduino (zamiast tajemniczego 'mobile power supply').

Pozostaje nam pozbycie się baterii z telefonu. To akurat żaden problem - po prostu przylutowujemy kabelki do złącza baterii w telefonie i podłączamy się albo do +5V i GND w arduino, albo bezpośrednio na wyjściu przetwornicy DC/DC. U nas jest tam 4,1V, więc dość bezpiecznie dla telefonu.

No i już możemy przystąpić do testów. Na początek odłączamy istniejący moduł carwings. Najwygodniej zrobić to po zdemontowaniu schowka pasażera. Tutaj jest to dokładnie wyjaśnione: http://www.arachnon.de/wb...an-leaf/tcu.php
Po co? Ano gdy tylko załączymy ogrzewanie naszym układem to oryginalny układ będzie wysyłał komendę po szynie CAN i z powrotem je wyłączał. Teoretycznie czytałem o tym, że można po prostu w kółko wysyłać wiadomości załączające ogrzewanie (częściej niż oryginalny carwings je anuluje) ale mnie to nie działało. Zresztą docelowo mój układ wyląduje w miejscu oryginalnego modułu carwings.

Następnie podpinamy nasz układ do instalacji. Na początek podpinamy się do złącza OBD (bo jest łatwo dostępne). No i tak:
PIN 16 OBD podpinamy do wejścia przetwornicy DC/DC (+12V)
PIN 4 lub 5 OBD podpinamy do wejścia przetwornicy DC/DC (masa)
PIN 12 OBD podpinamy do MCP2515 (L)
PIN 13 OBD podpinamy do MCP2515 (H)

Teraz możemy już włączyć telefon. Wyłączamy dzwonek, możemy też wyłączyć podświetlenie ekranu. Pamiętajmy o wyłączeniu poczty głosowej u operatora. Ja korzystam z karty 'play na kartę - rok ważności konta'. Wystarczy ją raz na rok doładować kwotą 5PLN i to koniec kosztów naszego 'abonamentu'.
Na koniec restartujemy arduino przyciskiem 'reset'. No i to by było na tyle - próbujemy zadzwonić do leafa. Powinien po 3 sygnałach odrzucić połączenie i załączyć ogrzewanie. Wyłączy się po 15 minutach lub po kolejnym telefonie do leafa.

Wszystko działa poprawnie? No to wpinamy się do wtyczki, którą odpięliśmy z oryginalnego modułu carwings. Pin 1 to 12V, pin 2 to masa, pin 9 to H dla szyny CAN, pin 10 to L dla szyny CAN.

Oczywiście możecie użyć dowolnego telefonu, który pozwala na komunikację komendami AT i ma wyprowadzone TX i RX (to co podłączyliśmy do D7 i D8 w arduino). Ja użyłem siemensa C75, bo leżał sprawny w szufladzie.

Dlaczego arduino nano, a nie mini pro? Z prostej przyczyny - jeśli kiedyś zmienicie numer telefonu lub będziecie chcieli dać komuś innemu dostęp do załączania ogrzewania, to w arduino nano od razu macie port usb, wiec tylko kwestia podpięcia kabelka i zaprogramowania dodatkowej osoby. W przypadku mini pro trzebaby się bawić w podpinanie konwertera USB. Pamiętajcie tylko o jednym: nasz telefon niekoniecznie polubi 5V z USB w miejsce baterii 3,7V. Dlatego też programowaliśmy sam goły układ, bez podpiętego telefonu. W moim układzie dołożyłem wyłącznik na zasilaniu telefonu. Dzięki czemu mogę fizycznie odłączyć telefon na czas programowania układu.

vwir - 2018-03-06, 11:25

No i pojawiły się oficjalne ceny ovms w wersji 3.1. Zmieniono nieco układ i samo ovms to osobny moduł, a tor radiowy jest do niego dołączany. Dzięki temu można będzie uniknąć takich problemów jak z V2, które to ludzie muszą wymieniać, bo niektóre kraje zrezygnowały z telefonii 2G. W nowym ovms w takiej sytuacji wymienimy tylko tor radiowy i tyle.

https://dexters-web.de/v3-price-and-technical-data-text_88.en.htm

Ja chyba sobie odpuszczę - moje rozwiązanie sprawuje się nad wyraz dobrze i w zasadzie brakuje mi tylko zdalnej kontroli stanu naładowania baterii. A na to już mam pomysł i gdy go zrealizuję to się pochwalę.

krawcu - 2018-03-06, 12:01

Bardzo ładny, fajny opis. W wolnej chwili spróbuję zrobić coś takiego do wersji europejskiej bez carwings.
PatrykS - 2018-03-06, 17:57

Od paru miesięcy bawię się Arduino i jestem pod wrażeniem łatwości prototypowania na tej platformie - na Allegro czy w Chinach sprzęt za grosze, dowolne peryferia jak LCD z przyciskami, modem GSM z/bez GPS, Bluetooth, miernik prądu/napięcia/mocy też za grosze plus często w formie po prostu wtykanej w UNO załatwiając przy okazji część mechaniczną prototypu. Gotowe biblioteki i przykłady działają z reguły out of the box, jak coś nie działa to wystarczy zapytać Google'a i problem przeważnie rozwiązuje pierwszy wynik wyszukiwania. Miernik DC (prąd +-800,0A, napięcie 0..26,00V, do tego moc w W, energia w Wh i pojemność w mAh) zrobiłem za 22zł (Arduino UNO R3) + 21zł (LCD z przyciskami) + 13zł (płytka z INA219) + 8zł (bocznik 150A/60mV) plus z 10zł za jakieś drobiazgi (w tym trzy przewody z krokodylkami).
Mmisiu - 2018-03-14, 14:24

vwir napisał/a:
No i pojawiły się oficjalne ceny ovms w wersji 3.1. Zmieniono nieco układ i samo ovms to osobny moduł, a tor radiowy jest do niego dołączany. Dzięki temu można będzie uniknąć takich problemów jak z V2, które to ludzie muszą wymieniać, bo niektóre kraje zrezygnowały z telefonii 2G. W nowym ovms w takiej sytuacji wymienimy tylko tor radiowy i tyle.

https://dexters-web.de/v3-price-and-technical-data-text_88.en.htm

Ja chyba sobie odpuszczę - moje rozwiązanie sprawuje się nad wyraz dobrze i w zasadzie brakuje mi tylko zdalnej kontroli stanu naładowania baterii. A na to już mam pomysł i gdy go zrealizuję to się pochwalę.


Z niecierpliwością wyczekuje tego pomysłu na zdalna kontrolę stanu batrerii, życzę powodzenia.

vwir - 2018-03-14, 14:43

OVMS w tej wersji jak najbardziej na to pozwala, ale tak jak jest tam napisane - w obecnej formie przeznaczone jest dla programistów i osób biegłych technicznie. Okres stabilizacji najczęściej wynosi kilka miesięcy. Dam znac gdy się zakończy.
rarek - 2018-10-10, 09:21

Czy próbowałeś włączyć grzałki akumulatorów przez can?
vwir - 2018-10-10, 09:56

Nie. Po co? Przecież samochód sam to robi w razie potrzeby.
rarek - 2018-10-10, 20:03

Robi tylko od -25
Byłoby lepiej gdyby trzymał 20 na plusie

apw911 - 2018-11-20, 17:04

Dzięki za temat - całkiem ciekawy.

Swoją drogą przydała by się nowa kategoria na forum - DIY.

vwir - 2018-11-20, 17:42

W sumie nie zaszkodziłoby. Mamy tutaj mnóstwo DIY odnośnie trojaczków, leafa, vectrixa, golfa, etc.
rafalkac - 2018-12-14, 17:13

Mam i ja :-)

Zainspirowany dziełem kolegi vwir i dzięki jego pomocy zrobiłem wersję dla swojego Leaf-a. W moim Gen1 trzeba było dodać przekaźnik podający +12V na pin 11 aby wybudzić VCM.

vwir - 2018-12-14, 17:33

No, widzę, że części w końcu dotarły ;) Podajesz +12V tylko na czas załączenia ogrzewania?

U siebie jeszcze dołożyłem na wejściu układ, który odłącza całe urządzenie gdy napięcie na akumulatorze spadnie poniżej zadanej wartości (żeby ciągle pracujący telefon nie rozładował mi nadmiernie akumulatora 12V).

rafalkac - 2018-12-14, 17:46

Tak +12V jest załączane tylko na czas grzania.
norusia - 2019-01-21, 09:26

Witam:)Czy ktoś może mi pomóc w uruchomieniu carwings w nissanie leaf 2015.Jak wykasować dane poprzedniego właściciela?Z góry dziękuję i pozdrawiam ;)
vwir - 2019-01-21, 10:47

Wersja US czy EU?
thravis - 2019-01-22, 18:04

MUsi być EU, USA z oczywistych względów nie pójdzie...
vwir - 2019-01-23, 09:53

Wszystko się da zrobić (jak zresztą widać w tym wątku) ale najpierw potrzeba informacje z czym mamy do czynienia. Dlatego też zadałem pytanie takie jakie zadałem, ale na razie brak jakiejkolwiek odpowiedzi. Zamiast tego kolejne identyczne pytanie w kolejnym miejscu...
szakal333 - 2019-05-03, 13:15

Da się ten moduł użyć do wzbudzenia klimatyzacji?

O ile ustawiając climate control na zadaną godzinę lub zostawiając auto załączone bez możliwości jazdy (zielony symbol gotowości do jazdy się nie świeci) ) np na parkingu pod sklepem jestem w stanie samochód ogrzewać to chyba jedynym sposobem z niedziałającym carwings na pozostawienie auta z pracującą klimatyzacją jest pozostawienie go w gotowości do jazdy. Niestety pomimo oddalenia się z kluczykiem od auta samochodem da się odjechać (pomijamy całkowicie fakt, że pojazdu gotowego do jazdy zostawiać bez nadzoru nie wolno).

vwir - 2019-05-03, 22:26

No przecież do tego ten moduł służy... Załączy klimę lub ogrzewanie, w zależności od potrzeb.
PatrykS - 2019-05-05, 14:01

szakal333 napisał/a:
Niestety pomimo oddalenia się z kluczykiem od auta samochodem da się odjechać (pomijamy całkowicie fakt, że pojazdu gotowego do jazdy zostawiać bez nadzoru nie wolno).
No ale drzwi zamknąć chyba możesz?

Powered by phpBB modified by Przemo © 2003 phpBB Group