Skocz do zawartości
IGNOROWANY

Poziom LPG na zegarach i przycisk.


ama11deus

Rekomendowane odpowiedzi

Witam wszystkich, 

Bardzo nie podoba mi się jak wygląda przycisk od LPG i postanowiłem zrobić coś bardziej na wzór oryginalnego wyposażenia w aucie. Oto efekty:

Przycisk (świeci się na zielono jak LPG włączone):

IMG_20220326_155817.thumb.jpg.1a719ed2147f3356cca194a102e9ba27.jpg

I poziom LPG:

278424913_1075414123189948_1744662170154934580_n.thumb.jpg.52f6e6b55a471df7120f4ceae3ab5dab.jpg

Zależnie od poziomu pokazuje LPG R, 1/4, 1/2, 3/4, FULL

Wiadomo na tym ekraniku można napisać cokolwiek się chce, ja na razie wybrałem gaz, bo więcej dodatkowych czujników w aucie nie mam. Jak kogoś interesuje jak to zrobiłem mogę dać trochę wskazówek.

 

  • Pomoc techniczna 3
Odnośnik do komentarza
Udostępnij na innych stronach

Jestem ciekaw jak ogarnąłeś te napisy.

Czy używałeś arduino i komunikację CAN do całości czy jeszcze coś innego?

Jeśli Twój projekt nie jest tajemnicą to chętnie poznał bym know-how.

Odnośnik do komentarza
Udostępnij na innych stronach

No szczerze przydałaby mi się taka informacja na FIS, bo czujnik mam ukryty, bo szpecił i niewygodnie teraz sprawdzić ile gazu jest. Z miłą chęcią chciałbym się dowiedzieć jak to zrobić :)

Edytowane przez szpakuziom
Odnośnik do komentarza
Udostępnij na innych stronach

Cześć. Ta reszta rezanych czujników to od czego? Też poproszę info co j jak.

Odnośnik do komentarza
Udostępnij na innych stronach

23 godziny temu, MaTeo85 napisał:

Jestem ciekaw jak ogarnąłeś te napisy.

Czy używałeś arduino i komunikację CAN do całości czy jeszcze coś innego?

Jeśli Twój projekt nie jest tajemnicą to chętnie poznał bym know-how.

W środku jest arduino UNO i moduł can MCP2515. No i od sterownika gazu jest podłączony też pozioi z butli.

10 godzin temu, bobx napisał:

Cześć. Ta reszta rezanych czujników to od czego? Też poproszę info co j jak.

Masz na myśli te przyciski? Od lewej do prawej: ESP, Turbo flutter, przepustnica, LPG.

Schematy:

Potrzebne jest arduino, ja wybrałem UNO. Moduł CAN arduino, mój jest na MCP2515 i polecam też taki bo jest bardzo fajna biblioteka do niego. 

Tutaj schemat połączenia arduino:

image.png.2c849ddabf145f3687dfef05a7d7d448.png

CAN High i CAN Low podłączamy do canów za radiem. 

Jeśli chcemy pokazywać poziom gazu do musimy też podłączyć przewód poziomu LPG z butli. Wiadomo trzeba też podłączyć arduino do zasilania z auta, w moim przypadku podłączyłem po USB, bo jak podpinałem pod 12v z auta to nie chciało działać poprawnie (Muszę jeszcze dojść do tego czemu).

Programowanie:

Ja używam Visual Studio Code z PlatformIO IDE, do MCP2515 używałem biblioteki autowp-mcp2515 by autowp.

Odczytując dane z Canbusów zobaczymy grupy bitów przypisane do adresów, wygląda to np. tak:

0x261 8 0x43 0x44 0x43 0x1C 0x34 0x1C 0x1C 0x1C

Czytając od lewej do prawej W adresie 261 ma być 8 bitów, i to te bity: 43 44 43 1C 34 1C 1C 1C. Wszystko poza 8 jest napisane w HEX(Hexadecimal), czyli  0x261 to 609 w normalnych liczbach(DEC, decimal).

Adresy które znalazłem:

0x261 - górna linijka, 0x1C to spacja

0x263 - dolna linijka, 0x1C to spacja

0x635 -  drugi bit to podswietlenie radia (0-off,64-on)

Jak pisać tekst?

Musimy wysyłać własne dane na adresy 0x261 i 0x263. Każda linijka ma po 8 znaków. Jeden bit to jeden znak. Musimy użyć jakiegoś online convertera HEX to ASCII. Nie wiem czy mogę wkleić link to tego, który polecam.

Przykładowo: Chcemy wysłać do górnej linijki "  Audi  "

#include <Arduino.h>

#include <SPI.h>

#include <mcp2515.h>

MCP2515 mcp2515(10);

void setup() {

  Serial.begin(9600);

  mcp2515.reset();

  mcp2515.setBitrate(CAN_100KBPS, MCP_8MHZ);

  mcp2515.setNormalMode();

struct can_frame upperLine;

}

void loop() {

upperLine.can_id  = 0x261;

upperLine.can_dlc = 8;

upperLine.data[0] = 0x1C;

upperLine.data[1] = 0x1C;

upperLine.data[2] = 0x41;

upperLine.data[3] = 0x55;

upperLine.data[4] = 0x44;

upperLine.data[5] = 0x49;

upperLine.data[6] = 0x1C;

upperLine.data[7] = 0x1C;

mcp2515.sendMessage(&upperLine);

delay(5);

}

Tutaj kawałek najprostszego kodu, jak ktoś miał styczność z jakimś programowaniem to naprawde nie jest to skomplikowane. Na razie nie mam czasu nic poprawiać w moim małym projekcie, ale jak się znowu za to zabiorę to może uda się znaleźć więcej adresów i brać jakieś dane z ECU. Chciałem bardzo zrobić test wskazówek od zegarów, ale czujnik paliwa sprawia mi duży problem :c. 

W każdym razie jesli jest więcej pytań to śmiało, nie jest to żaden sekret :D

  • Pomoc techniczna 2
Odnośnik do komentarza
Udostępnij na innych stronach

dzięki za podstawowe informacje co i jak

Mam w domu Ardu uno i can shielda więc będzie kiedyś okazja się pobawić i zobaczyć co z tego wyjdzie :)

 

 

 

W dniu 19.04.2022 o 20:13, ama11deus napisał(a):

Jeśli chcemy pokazywać poziom gazu do musimy też podłączyć przewód poziomu LPG z butli. Wiadomo trzeba też podłączyć arduino do zasilania z auta, w moim przypadku podłączyłem po USB, bo jak podpinałem pod 12v z auta to nie chciało działać poprawnie (Muszę jeszcze dojść do tego czemu).

 

Arduino jest przystosowane do zasilania z 5V, podobno 9V to max, a przy 12V można bardzo łatwo uszkodzić mikrokontroler. Więc lepiej nie podpinać do ardu nic co ma więcej jak 9 albo stosować jakieś rozwiązania obniżające napięcia podawane na wejścia ardu.

dobrze też wspomnieć że sama linia CAN nie powinna mieć zainstalowanego rezystora 120 om (na gotowych płytkach z MPC czy shieldach często jest on w standardzie)

 

mam jeszcze pytanie czy ramki CAN z "poziomem lpg" są wpuszczane na szynę jednostkowo czy z jakimś stałym odstępem czasu? możesz coś na ten temat napisać?

  • Pomoc techniczna 1
Odnośnik do komentarza
Udostępnij na innych stronach

 

21 minut temu, MaTeo85 napisał:

Arduino jest przystosowane do zasilania z 5V, podobno 9V to max, a przy 12V można bardzo łatwo uszkodzić mikrokontroler. Więc lepiej nie podpinać do ardu nic co ma więcej jak 9 albo stosować jakieś rozwiązania obniżające napięcia podawane na wejścia ardu.

dobrze też wspomnieć że sama linia CAN nie powinna mieć zainstalowanego rezystora 120 om (na gotowych płytkach z MPC czy shieldach często jest on w standardzie)

 

mam jeszcze pytanie czy ramki CAN z "poziomem lpg" są wpuszczane na szynę jednostkowo czy z jakimś stałym odstępem czasu? możesz coś na ten temat napisać?

Arduino UNO Rev3 ma wejście do zasilania 6-20V, ale zalecane napięcie to 12V,  5V jest z USB. Co do rezystora to prawda, w moim przypadku nie była założona zworka na niego, więc troche zapomniało mi się napisać. Mój poziom LPG z butli to napięcia 0-5V czyli dokładnie takie jakie mogą czytać piny analogowe arduino. 

Wydaje mi się, że powinno się zastosować dwa moduły CAN, jeden od strony radia, drugi od strony zegarów i "przechwytywać" sygnał z radia, edytować go i przesyłać do zegarów. Ja zrobiłem to tak, że jest jeden moduł i wysyła po prostu częsciej informacje niż radio, przez co na zegarach pokazuje się to co chce :D Te ramki wpuszczane są co 5ms, sprawdzałem różne czasy i ten był najmniejszym, przy którym wyświetlacz na zegarach nie zgasał i wiadomości z radia się nie pokazywały. 

Jak będziesz miał jakieś problemy to śmiało pisz, chętnie pomogę jak będę w stanie.

 

Odnośnik do komentarza
Udostępnij na innych stronach

To może trochę dodam od siebie bo zrobiłem sobie coś podobnego do wyświetlania kilku przydatnych parametrów na FIS typu boost, temperatura oleju, kąt wyprzedzenia zapłonu, IAT, MAF, STFT a w planach jeszcze pare parametrów ;) (coś a'la VFIZ tylko bieda wersja  na 2 wiersze :D ). 

 

image.png.c7901c30e5c3b713b7cd05b2a573920d.png

38 minut temu, MaTeo85 napisał:

na gotowych płytkach z MPC czy shieldach często jest on w standardzie

Słuszna uwaga, ja w swiom projekcie je wylutowałem.

 

Godzinę temu, ama11deus napisał:

Adresy które znalazłem:

0x261 - górna linijka, 0x1C to spacja

0x263 - dolna linijka, 0x1C to spacja

0x635 -  drugi bit to podswietlenie radia (0-off,64-on)

W linku poniżej jest sporo adresów a jeżeli ktoś jest mocno zainteresowany to mam dość dużego spreadsheeta z 'kilometrami' logów z magistrali CAN ;)

WWW.AUDIFORUM.US

 

Tutaj projekt który również może sie okazać pomocny dla tych, którzy będą chcieli spróbować swoich sił:

WWW.HACKSTER.IO

Implementing Arduino CAN bus shield and digital speedometer to car's LCD-display in instrument cluster.

 

Godzinę temu, ama11deus napisał:

CAN High i CAN Low podłączamy do canów za radiem.

U mnie występował problem z miganiem napisu kiedy podszywałem sie pod radio nawet na bardzo wysokim odświeżaniu więc przerzuciłem się na podszywanie pod moduł telefonu. Dzięki temu mogę się też przełączać miedzy zwykłym widokiem stacji a moim komputerem za pomocą MF :) 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Ja u siebie chciałbym ogarnąć info na fis (kolorowy fis) z temperaturą oleju w skrzyni biegów. Najpierw muszę ogarnąć czy w ogóle sterownik multiteonica wysyła po CANie info do sterownika silnika z temp oleju, jeśli tak to fajnie, jak nie to będzie trudniej ale chyba by się dało coś ala vcds czytać po Lini K jeden blok pomiarowy? No ale to jest przyszłość, najpierw trzeba znaleźć trochę czasu.

Druga sprawa do której chciałbym zaprzęgnąć ardu to składanie lusterek po zamknięciu auta plus sterowanie ledami w blendach dla clh, ale to już raczej dla zabawy i samego siebie, trzeba mieć jakiś cel żeby była motywacja do nauki :)

 

Co do zasilania to faktycznie niby do 20v ardu uno r3 można zasilać, ale i tak napięcie jest obniżane do 5V.

Odnośnik do komentarza
Udostępnij na innych stronach

29 minut temu, Skowrix napisał:

To może trochę dodam od siebie bo zrobiłem sobie coś podobnego do wyświetlania kilku przydatnych parametrów na FIS typu boost, temperatura oleju, kąt wyprzedzenia zapłonu, IAT, MAF, STFT a w planach jeszcze pare parametrów ;) (coś a'la VFIZ tylko bieda wersja  na 2 wiersze :D ). 

 

image.png.c7901c30e5c3b713b7cd05b2a573920d.png

Słuszna uwaga, ja w swiom projekcie je wylutowałem.

 

W linku poniżej jest sporo adresów a jeżeli ktoś jest mocno zainteresowany to mam dość dużego spreadsheeta z 'kilometrami' logów z magistrali CAN ;)

WWW.AUDIFORUM.US

 

Tutaj projekt który również może sie okazać pomocny dla tych, którzy będą chcieli spróbować swoich sił:

WWW.HACKSTER.IO

Implementing Arduino CAN bus shield and digital speedometer to car's LCD-display in instrument cluster.

 

U mnie występował problem z miganiem napisu kiedy podszywałem sie pod radio nawet na bardzo wysokim odświeżaniu więc przerzuciłem się na podszywanie pod moduł telefonu. Dzięki temu mogę się też przełączać miedzy zwykłym widokiem stacji a moim komputerem za pomocą MF :) 

 

Dziekuje bardzo za tą listę przyda się bardzo do dalszych modyfikacji :D Jeśli mogę zapytać co to MF? Jak wygląda to przełączanie widoków? A tego excela jeśli możesz przysłać to na pewno się przyda. 

Odnośnik do komentarza
Udostępnij na innych stronach

MF - kierownica multifunkcyjna. Przyciskiem MODE włączam sobie mój 'komputerek' a rolką zmieniam prametry. Poniżej filmik jak to wygląda w praktyce.

12 godzin temu, MaTeo85 napisał:

składanie lusterek po zamknięciu auta plus sterowanie ledami w blendach dla clh

Też mam to w planach, graty leżą już z pół roku w kartonie tylko właśnie ciągle brak czasu...

Odnośnik do komentarza
Udostępnij na innych stronach

16 minut temu, Skowrix napisał:

MF - kierownica multifunkcyjna. Przyciskiem MODE włączam sobie mój 'komputerek' a rolką zmieniam prametry. Poniżej filmik jak to wygląda w praktyce.

Też mam to w planach, graty leżą już z pół roku w kartonie tylko właśnie ciągle brak czasu.

Świetnie to zrobiłeś z tym MODE i rolką.

Mam u siebie VFIZ, jednak jego działanie w przypadku mojego silnika jest fatalne, tak samo nie mam w nim temperatury oleju w skrzyni więc tak naprawdę jest tylko zabawką. Stąd plany żeby kiedyś rozpracować tą temperaturę oleju ze skrzyni.

Co do lusterek, to mam na szczeście u siebie domuły kolegi kkam i działają jak należy, ale tak mi chodziło po głowie żeby zrobić to troszkę inaczej, może kiedyś się uda :)

Chętnie też popatrzył bym w Twój kod z arduino, w celach naukowych (nie jestem programistą ani elektronikiem, raczej takie mam małe hobby od czasu do czasu) oczywiście jeśli masz ochotę udostępnić Twoją pracę, nie nalegam bo wiem że człowiek zawsze trochę życia spędza przy tego typu projektach.

Odnośnik do komentarza
Udostępnij na innych stronach

Ja też nie jestem programistą mimo tego ze od 7 lat pracuje w IT a Arduino dłubię chyba z 10 :D Co do kodu to moge Ci podesłać wieczorem bo mam go na innym lapku a jakbym zapomniał to pisz PW ;)  

Odnośnik do komentarza
Udostępnij na innych stronach

12 minut temu, Skowrix napisał:

... Co do kodu to moge Ci podesłać wieczorem bo mam go na innym lapku a jakbym zapomniał to pisz PW ;)  

Super będę bardzo wdzięczny.

Ja kompletnie nie siedzę w IT, bardziej w silnikach, ale takich trochę większych niż samochodowe. :)

Odnośnik do komentarza
Udostępnij na innych stronach

@ama11deus sprzedajesz takie cudo jako gotowy produkt, żeby móc sobie zamontować i uzyskać taki poziom gazu wyświetlany na FIS?

Odnośnik do komentarza
Udostępnij na innych stronach

Mógłbym coś wymyślić, ale to każdy komp od gazu raczej będzie inaczej ten poziom gazu przesyłał na stacyjke(chyba że się myle), więc musiałbym to jakoś na aucie najpierw potestować

  • Lubię to 1
Odnośnik do komentarza
Udostępnij na innych stronach

W interfejsie od AG mam 7 rodzajów czujników. Róznice jakie widzę to:

- zakres napięcia sygnału (nazwijmy je Vmin i Vmax) 0-1V, 0-2.5V, 0.5-4.5V, itd.

- 'polaryzacja' - czyli dla jednego np. Vmin to zbiornik pusty a Vmax to zbiornik pełny a dla innego odwrotnie, Vmax to pusty a Vmin pełny. 

 

Najprościej chyba można to zrobić dodając 2 guziki do programowania stanów zbiornika "Pusty" i "Pełny". Użytkownik po zamontowaniu będzie musiał skalibrować urządzenie do swojego czujnika przez kliknięcie odpowiedniego guzika przy pustej i pełnej butli, arduino zapisze sobie wartości skrajne do eeprom i na ich podstawie będzie obliczać i wyświetlać aktualny stan. Prostszej opcji nie widzę ;) 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...