Fiat Punto :: Forum
https://fiatpunto.com.pl/

Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield
http://fiatpunto.com.pl/topic59422.html
Strona 1 z 5

Autor:  kris84 [ 06 Sty 2019, 15:39 ]
Temat postu:  Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Czesc,
zaczynam zabawe z szyna CAN w Grande :jupi:
Czy ktos juz ma jakies doswiadczenia w tej tematyce?
Szukam osob chetnych do wymiany doswiadczen i wiedzy, ciezko samemu odkrywac wszystko od zera. :E

Poki co, udalo mi sie ustalic kilka faktow dotyczacych lini CAN w Grande.
Zgodnie z eLearn, w aucie sa dwie linie CAN, linia wolna Can-A/Can-B oraz linia szyba Can-L/Can-H.
Linia wolna pracuje z predkoscia 50kbps (tzw. BaudRate definiowany w programie do Arduino)
Najprawdopodobniej linia szybka, pracuje na 500kbps (wg. informacji znalezionych w necie).

Poniewaz mam swoj stary licznik na polce, postanowilem zebrac troche sprzetu i sprobowac polaczyc to w jedna calosc.
Pierwsze efekty sa takie:
https://www.youtube.com/watch?v=ci6VZVJtsuI

Przykladowe dane jakie wypluwa z siebie licznik sa takie:
ID: C214003 Message: 0,26,1,1,20,3;
ID: 6314003 Message: A2,90,70,0,A2,0,0,0;
ID: C014003 Message: 10,2,64,85,88,0,0,0;
ID: C114003 Message: 10,C,0,0,0,20,0,0;
ID: C194003 Message: 10,C,9E,D0,42,39,2C,0;
ID: C214003 Message: 0,26,1,1,20,3;
ID: C2D4003 Message: 0,0,2,0,0,0,0,0;
ID: C7D4003 Message: D7,0,D7,5,D7,24,E0,C0;
ID: C114003 Message: 10,C,0,0,0,20,0,0;
ID: C2D4003 Message: 0,0,2,0,0,0,0,0;
ID: C394003 Message: 30,0,0,10,0;
ID: E094003 Message: 0,7E;
ID: 6314003 Message: A2,90,70,0,A2,0,0,0;
ID: C214003 Message: 0,26,1,1,20,3;
ID: C014003 Message: 10,2,64,85,88,0,0,0;

Co warto wiedziec a nie jest oczywiste a bez tego ani rusz:
- zeby zlozone stanowisko dzialalo, konieczne jest wspolne uziemienie (GND) pomiedzy plytka CAN Shield a licznikiem
- koniecznie trzeba pracowac na 50kbps baud rate (inne predkosci nie daja zadnego znaku zycia plytki, zadne diody kontrolne nie mrugaja)
- trzeba rozkminic czy dany Shield ma/nie ma wbudowany rezystor 120ohm, w moim wypadku plytka go ma, ale mam wrazenie ze pola lutownicze ktora go lacza z obwodem sa puste i przygotowane do zlutowania, generalnie dziala (nie probowalem podpinac tego zestawu w aucie, wiec tam moze byc problem czy rezestyr ma byc w obwodzie czy nie, metoda prob i bledow dojde do tego w przyszlosci ;) )
- pin 0 licznika to GND
- pin 1 to +12V na stale
- pin 2 to +12V po zaplonie
oba plusy musza byc podpiete (minus wspolny z minusem plytki shield, tak jak wspominalem wyzej)
- pin 5 - linia Can-A
- pin 6 - linia Can-B

Załączniki:


Autor:  misci [ 06 Sty 2019, 21:23 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Bardzo fajny projekt, dający duże możliwości. Jakby tak tylko wiedzieć co znaczą te literki i cyferki. To taka nowoczesna ENIGMA. No ale w końcu ENIGMĘ złamano.

Autor:  radex324 [ 07 Sty 2019, 08:07 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Fajnie ze juz zacząłeś się tym bawić, trzymam kciuki za ciebie :D

Autor:  kris84 [ 19 Sty 2019, 19:48 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Mały kroczek do przodu, ale niestety z licznikiem z Fiata Linea który ma adresowanie ID na 11bitach.
Licznik z Grande ma 29bitowe adresy ID i mam z tym problem, bez podpięcia do auta nie da rady, muszę mieć "live data" żeby rozkminić adresy poszczególnych ID.
Dobre wieści są też takie że ponoć licznik z EVO też ma 11bit ID, nic tylko hakować EVOki, kod udostępnię za free :)

https://www.youtube.com/watch?v=oZuTfn5pq9I

Autor:  radex324 [ 20 Sty 2019, 09:38 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Świetna robota trochę powalczysz i uda ci się zrobić coś ciekawego, ja bym sobie dodał na arduino opcje zamykania /otwierania szyb jak w oryginalne czyli trzymanie przycisku na pilocie 3s i otwiera lub zamyka, może kiedyś się uda wziąć za to choć arduino nie umiem :P

Autor:  kris84 [ 17 Lut 2019, 20:10 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Udało się poczynić małe postępy, licznik z Grande powoli zaczyna mnie słuchać :mrgreen:
https://www.youtube.com/watch?v=BsgjFz7l1b0

[ Dodano: 17 Lut 2019 19:10 ]

UPDATE informacji na ten moment:
Poprawiam rozpiskę pinów, bo gniazdo zaczyna się od pinu 1 a nie 0, poprawna rozpiska jest taka:
- pin 1 licznika to GND
- pin 2 to +12V na stale
- pin 3 to +12V po zaplonie
- pin 5 - linia Can-A
- pin 6 - linia Can-B

Do odczytania danych z auta jak i z licznika na stole w module CanBus nie można używać rezystora identyfikującego końcowy węzeł sieci.
Występują moduły w których ten rezystor można włączyć zworką, albo jest to kwestia rozlutowania lub zlutowania odpowiednich pól lutowniczych.
Indywidualnie trzeba podejść do tematu.

Potwierdzam też fakt, że Grande Punto model "2Y", czyli auta 2005-2007 mają kodowanie adresów ID 29bit.

Załączniki:


Autor:  radex324 [ 17 Lut 2019, 22:19 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Ja mogę napisać tyle że tanie moduły 2515 z klonem 2551 o oznaczeniu tja1050 nie współpracują z linią can bus.

Autor:  kris84 [ 18 Lut 2019, 22:44 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Szlaki rozkodowania magistarli CAN-A/CAN-B można uznać za przetarte :mrgreen:
Efekty poniżej:
https://www.youtube.com/watch?v=BDkBd6--ePc
https://www.youtube.com/watch?v=ddYPbhFVrSs

Załączniki:


Autor:  Brutal123 [ 19 Lut 2019, 00:30 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Szaczun za wiedzę . Masz jakieś konkretne plany jak to wszystko wykorzystać ? co tym można ulepszyć ?

Autor:  kris84 [ 19 Lut 2019, 19:46 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Nie mam konkretnych planów, raczej luźne pomysły.
Np. dodanie funkcjonalności tzw. triplinka czyli potrójnego mrugnięcia kierunkowskazem przy chwilowym przytrzymaniu dźwigienki, ma to nowszy model, a Grande tylko po lifcie elektryki.
Można też dodać mruganie awaryjnymi przy gwałtownym hamowaniu, to też ma nowszy model.
Generalnie... sky is the limit ;)

Autor:  żeliwny [ 20 Lut 2019, 14:05 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

działaj Kris, działaj ...
:D
szczególnie ten pierwszy patent mnie interesuje - z kierunkowskazem
:D

Autor:  pmx007p1 [ 20 Lut 2019, 16:20 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Przydałaby się możliwość podglądu parametrów z OBD2 na LCD zegarów (temperatury, ciśnienia, napięcia sond itp.).
Oraz dołożenie przetwornika (nie "czujnika") ciśnienia oleju i wyświetlanie (LCD albo wykorzystać obrotomierz).
Albo poziom LPG wskazywać jakoś na zegarach, jak fabrycznie miały wersje Fiatów z CNG, albo np. zamiast benzyny.
Załącznik:
Komentarz do pliku: Fabryczne CNG, poziom gazu na zegarach.


Autor:  kris84 [ 20 Lut 2019, 23:39 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

pmx007p1 napisał(a):
Albo poziom LPG wskazywać jakoś na zegarach, jak fabrycznie miały wersje Fiatów z CNG, albo np. zamiast benzyny.
[/attachment]

Ooo... to tam taki fajny bajer dodali... no fajne, tylko zwykły wyswietlacz tego nie wyswietli.
Trzebaby miec akurat ten konkretny model wyswietlacza pokazujacego te ikonki z CNG, wtedy tak... w innym wypadku, nie da rady ;)

Załączniki:


Autor:  radex324 [ 21 Lut 2019, 10:27 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Ja bym tam OLED dał zamiast fabrycznego wyświetlacza :)

Autor:  kris84 [ 21 Lut 2019, 12:07 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

radex324 napisał(a):
Ja bym tam OLED dał zamiast fabrycznego wyświetlacza :)

Wtedy mozna zaprojektowac samemu caly interfejs i grafike jaka tam sie bedzie wyswietlac co jest jak najbardziej mozliwe :mrgreen:

Autor:  radex324 [ 21 Lut 2019, 20:47 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Damy radę, jeszcze chwila jeszcze momencik :D

Autor:  misci [ 21 Lut 2019, 23:24 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Czy licznik wysyła jakieś zapytania do innych modułów?

Autor:  MarianKoniuszko [ 22 Lut 2019, 08:45 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Kawał dobrej roboty, szacun, że Ci się chciało :salut:
Kiedyś też miałem taki plan, tym bardziej, że w robocie mam dostęp do plików .dbc (Datenbasis fur CAN) od FCA do rodziny 500 i Alfy Romeo. Niestety, niewiele to ma wspólnego z GP, więc zostaje reverse engeneering jak u Ciebie...
No i zawsze brakuje czasu i chęci na takie zabawy we własnym garażu.

kris84 napisał(a):
dodanie funkcjonalności tzw. triplinka czyli potrójnego mrugnięcia kierunkowskazem przy chwilowym przytrzymaniu dźwigienki
A to przypadkiem nie jest "ficzer" BCMa? Manetka wysyła sygnał elektryczny do BCMa (kostka D), a ten interpretuje napięcia na konkretne polecenia. Co mają zegary do tego (poza zapalaniem kontrolki)?

Zegary w architekturze systemowej Automotive są zawsze elementem MMI (Man-Machine Interface) i działają reaktywnie. Są karmione danymi z BCMa oraz np. z Infotainmentu (przez CAN gateway). Same natomiast nie mają za wiele logiki (poza tą związaną z prezentacją danych kierowcy) i odpowiadając na pytanie:
misci napisał(a):
Czy licznik wysyła jakieś zapytania do innych modułów?
Jakieś tam zapytania może wysyłać, na pewno podczas startu po podaniu sygnałów ze stacyjki CL15/CL30 musi "odświeżyć" informacje. Ale poźniej w trakcie jazdy raczej już tylko powinien nasłuchiwać. Choć mogę się mylić :roll:
Co innego nowe klastry typu Active Display - bo to już całe kombajny, często pracujące na tym samym sprzęcie co Infotainment.

Autor:  radex324 [ 22 Lut 2019, 23:02 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Licznik wysyła ciągle dane do różnych modułów, z kolegą kris84, mamy już trochę rozpracowane kodu. Wszystko wymaga czasu teraz będzie najtrudniejsze zadanie bo trzeba wyjść z domu i w aucie wszystko testować.

[ Dodano: 22 Lut 2019, 23:02 ]

No niestety sprawa jest bardziej skomplikowana niż myśleliśmy, komunikaty do licznika i sterowanie kierunkowskazów jest prawdopodobnie na osobnych liniach. Na filmiku steruje kierunkowskazami przez arduino ale działają tylko na liczniku.
https://youtu.be/2_Pd4W-EmY8

Autor:  kris84 [ 03 Mar 2019, 15:31 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

MarianKoniuszko napisał(a):
Kawał dobrej roboty, szacun, że Ci się chciało :salut:

Dzięki, ciekawska dusza zawsze wymyśli jakieś dziwne wyzwanie z którym się trzeba zmierzyć :P

Zatem mówisz że licznik to tylko element reaktywny służący do wyświetlania danych, z jednej strony fajnie, z drugiej gorzej, bo myślałem przez moment że da radę nim wysterować kilka rzeczy.
Mnie interesuje sytuacja w której to samemu, programowo mogę zmusić auto do mrugnięcia kierunkowskazami czy też awaryjnymi.
Da się to zrobić z poziomu programu MultiECUScan i wydawało mi się że to właśnie działa poprzez przesłanie odpowiedniej ramki na szynie CAN.

[ Dodano: 03 Mar 2019 14:31 ]

Są pewne postępy :mrgreen:
Udało mi się dostosować na potrzeby Grande Punto skrypt napisany w pythonie pana Alexandre Blin'a który stworzył bardzo ładny mod do swojej 207ki.
https://medium.com/@alexandreblin/can-b ... 27f2b1709a

Działa to całkiem sprawnie, uruchamiałem pod win7 i win10, oryginał działał pod linuxem.
Pod windą trzeba sobie poradzić z instalacją środowiska python i dodatkowymi bibliotekami, ale nie jest to jakoś kosmiczne trudno, skoro laik (ale z pomocą) dał radę ;)

W związku z powyższym, podpiąłem do auta ELM'a z MES'em poprzez OBD2 a bezpośrednio do kabelków lini CAN A/B przy pomocy krokodylków, podpiąłem Arduino+Shield z odpowiednio spreparowanym szkicem.
Przykładowe zdjęcie odczytu testowego z samego licznika poniżej ale najciekawszy będzie filmik z pracy w aucie.
https://www.youtube.com/watch?v=bvx4J4wqfCA&t=1s

W tak wyposażony sprzęt i soft, udało mi się przechwycić komunikację MES<->body otrzymując dane jakie MES wysyła do body gdy robimy np. aktywacje kierunkowskazów, świateł przeciwmgielnych itp. rzeczy na które pozwala MES.
I tutaj rodzi się pewna obawa... czy aby na pewno takie gmeranie w linii CAN auta jest bezpieczne?
Na ten moment nie próbowałem samemu wstrzykiwać ramek sterujących do systemu.
Bo o ile odczyt jest całkowicie bezpieczny, tak już wysyłanie różnych rzeczy bezpośrednio do ECU w body podczas jazy budzi pewne moje obawy.
Ktoś potrafi się wypowiedzieć w tej tematyce :?: :?: :?:

Załączniki:


Autor:  żeliwny [ 06 Mar 2019, 12:59 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

radex324 napisał(a):
No niestety sprawa jest bardziej skomplikowana niż myśleliśmy, komunikaty do licznika i sterowanie kierunkowskazów jest prawdopodobnie na osobnych liniach.


Dodatkowo licznik powinien sygnalizować, że kierunkowskazy są uszkodzone.

Autor:  radex324 [ 06 Mar 2019, 20:34 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Nie pokaże bo wysłałem tylko komunikat o zapalenie kierunkowskazu w liczniku, kris już temat rozpracował i za niedługo będzie wszystko skończone.

Autor:  kris84 [ 07 Mar 2019, 21:20 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

W między czasie pobawiłem się sposobem kodowania tekstu na wyświetlaczu.
Generalnie zasada jest wspólna dla wszystkich dodatkowych komunikatów, czy to RDS z radia, czy też nazwy MP3 przesyłane z B&M.
Teksty grupuje się w znaki po 4sztuki a każda czwórka jest kodowana na 3 bitach.

https://www.youtube.com/watch?v=44tAWCbJjPg

Załączniki:


Autor:  theprolukasz [ 19 Mar 2019, 14:35 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Witam, też zaczynam się bawić z licznikiem i Can'em, aktualnie próbuję na zegarach od Punto 2 i szukam pinów od CAN póki co
PIN 1 +12V
PIN 2 +12V
PIN 7 GND

jakby ktoś coś już wiedział to z miłą chęcią łykne podpowiedzi
Potem przesiadka na Bravo 2 więc na następnym liczniku też będę działał.
Ja operuję licznik za pomocą zestawu Raspberry Pi 3 B+ i Modułu MCP2515

Pozdrowionka miło że na polskim forum coś sie w temacie rusza.

[ Dodano: 19 Mar 2019, 14:35 ]

Także mam do dyspozycji Arduino z CanShield'em
Jakby ktoś kiedyś potrzebował to wypisuje potrzebne piny do licznika od Punto 2

PIN 1 +12V
PIN 2 +12V
PIN 3 CANL
PIN 4 CANH
PIN 7 GND

W licznku siedzi układ TJA1054T od Philipsa
Z jego wyprowadzeń odnalazłem piny do CAN które wychodzą do gniazda w liczniku
Max prędkość układu to 125kBd

Autor:  kris84 [ 14 Maj 2019, 20:51 ]
Temat postu:  Re: Grande Punto CAN BUS (Can-A/Can-B) - Arduino + Shield

Małe odświeżenie tematu... są pewne postępy które można już pokazać.

Krótki filmik pokazujący jaki można zrobić użytek z danych latających po wolnej linii can (50kbps) w grande:
- odczyt poziomu podświetlenia (do dyspozycji jest 8 poziomów)
- odczyt stanu zapięcia pasa kierowcy (zapięty/niezapięty)
- odczyt stanu otwartych drzwi (kierowcy/pasażera/obu i bagażnika też jakby kto potrzebował ;) )

https://www.youtube.com/watch?v=MwXoGMFf3nU

[ Dodano: 14 Maj 2019 19:51 ]

Dodatkowo, zrobiłem sobie ekran pokazujący poziom doładowania który można odczytać z szybkiej linii can (500kbps):
Ten ekran w t-jet jest dostępny w formie gotowego wskaźnika który pewnie większość z Was kojarzy.
Natomiast w dieslu konfiguracja nie przewiduje jego wyświetlania, stąd pomysł aby obejść ten "problem" i zrobić własny ekran,
który może też być zaczątkiem szerszego menu diagnostycznego w aucie.

https://www.youtube.com/watch?v=Rx1srOY6HOM

Załączniki:



Strona 1 z 5 Wszystkie czasy w strefie UTC + 1 godzina (czas letni)
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/