Skocz do zawartości

Wskaźnik Biegów Do Bandita (Własna Konstrukcja).


Tarru
 Share

Rekomendowane odpowiedzi

Rob foty i opisz dokladnie ktore zlacze i w ktorym miejscu. Takze info, gdzie jest ten czujnik schowany bo brak mi wiedzy, ze w ogole taki istnieje.

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

Całkiem ciekawe rozwiązanie. Zrób dokładne foty i opis , a na pewno się przyda.

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

tam jak pamiętam jest transmisja szeregowa.

podzielisz się wiedzą o szczegółach?

tzn jak robisz odczyt, czy dajesz jakiś komunikat żądania danych, jaki dostajesz format danych etc.

 

dlaczego pytam - bo to ciekawy punkt wejścia dla danych i chętnie sam bym spróbował odczytać conieco (chociaż jeszcze nie wiem do czego może mi się to przydać ale wiedzy nigdy mało)

Odnośnik do komentarza
Udostępnij na innych stronach

Ciekawe rozwiazanie ,jak masz zamiar wieksza serie wyprodukowac to napewno znalazlo by sie wiecej chetnych.

:zeby:  :jupi:

Odnośnik do komentarza
Udostępnij na innych stronach

Myślę, że na tym forum znajdzie się sporo dłubaczy i okaże się zaraz że każdy może kawałek u siebie zrobić a potem na zlocie wszyscy wymienią się swoimi kawałkami i nastąpi wielki montaż :P

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 month later...

Znalazłem coś takiego tylko nie wiem czy to rzeczywiście będzie działać - sprzedawca podaje, że wystarczy podłączyć pod ECU, ale czy na pewno

http://www.ebay.pl/itm/FOR-Suzuki-GSF650-Bandit-2007-2008-Plug-play-Gear-Indicator-/122005949508?hash=item1c681f0c44:g:R6YAAOSw9mFWLaqC

Odnośnik do komentarza
Udostępnij na innych stronach

  • 8 months later...

Cześć, witam wszystkich. 

 

Trochę czasu minęło, ale dużo pracuję (etat + własna firma), moto stał całą jesień i zimę i naprawdę nie miałem kiedy się za to zabrać :) Wiecie jak jest. 

 

Jeśli jeszcze to kogoś interesuję to w sumie wrzucę tu wszystko. Mam nadzieję, że ktoś tego nie skopiuje i nie będzie na tym zarabiał kokosów :)

 

Po pierwsze, pod siedzeniem jest wtyczka diagnostyczna, która wygląda tak (oczywiście bez tego niebieskiego kabelka):

post-10643-0-96416900-1499957778_thumb.jpg

 

(zdjęcie zapożyczone z neta)

 

Do całości wykorzystałem Arduino Nano - klon, do kupienia na allegro za jakieś 14zł.

post-10643-0-12820100-1499957777_thumb.png

(zdjęcie zapożyczone z neta)

 
Do podłączenia się do ECU trzeba zrobić mały adapter z tego schematu:
post-10643-0-46644900-1499957819_thumb.gif
(zdjęcie zapożyczone z neta)

Adapter jest tak malutki, że zrobiłem go na płytce wielkości paznokcia, zamknąłem w obudowie i wpiąłem we wtyczkę pod siedzeniem. Z adaptera wychodzi jeden przewód z sygnałami RX, TX, ja wziąłem jeszcze GND.

 

Następnie z adaptera powyżej podłączamy RX do pinu 19-A5 Arduino, TX do pinu 18-A4 Arduino, GND go GND w Arduino, +12V do VIN Arduino (to Arduino ma wbudowany stabilizator i ogarnia do 20VDC). 

ALE... trzeba sprawdzić czy ten pin B+ we wtyczce diagnostycznej jest wyłączany po zgaszeniu zapłonu, bo inaczej diody będą świeci się ciągle :o W skrócie - zasilanie musi być "po stacyjcie". 

 

Żeby wiedzieć co gdzie wpiąć we wtyku w moto tutaj ściąga. Dla jasności: Czerwony przewód czyli B+ to +12V na schemacie powyżej, Szary przewód czyli GND to GND (musi być podłączone z GND Arduino), Niebieski przewód K-LINE to K-LINE na schemacie. 

post-10643-0-48397500-1499957778_thumb.jpg

(zdjęcie zapożyczone z neta)

 

Do Arduino mamy już podłaczone TX i RX oraz masę i +12V z adaptera tak jak pisałem powyżej. Dalej podłączamy do Arduino:

PIN 12 - dioda biegu 1

PIN 11 - dioda biegu 2

PIN 10 - dioda biegu 3

PIN 9 - dioda biegu 4

PIN 8 - dioda biegu 5

PIN 7 - dioda biegu 6

 

PIN 2 do PIN 6 - diody do podświetlania cyfr 8 do 12, dla wskazania temperatury silnika.

Trzeba pamiętać o rezystorach dla diod! Ja zastosowałem ultrajasne diody czerwone z mocowaniem wyciętym na laserze z plexii, na poprzedniej stronie są zdjęcia mocowania diod. Diody 5mm z niskim łbem. Rezystor dla każdej diody to 220R lub więcej. (Tak bezpiecznie). 

 

Na koniec wrzucamy do Arduino wsad który wrzuciłem w załączniku i wszystko działa. Program starałem się opisać komentarzami tak żeby każdy go zrozumiał. 

 

Samo arduino mi się pięknie zmieściło w zegarach więc tam tylko taśma z podłączeniem każdej diody z osobna. 

 

Może ktoś kiedyś piwo postawi za to :P

Bandit_zegary.zip

Edytowane przez Tarru
  • Upvote 3
Odnośnik do komentarza
Udostępnij na innych stronach

Aha no i kod nie jest idealny, nie miałem czasu dorobić płynnego przejścia (przygaszania i rozjaśniania diod) i takich bajerów. Ważne, że działa, używam i się przydaje. Przy zmianie biegu jest opóźnienie jakieś 0.5-1s przy zapalaniu kolejnej diody, dołożone specjalnie, dobrane doświadczalnie, bo ECU przy zmianie biegu wyrzuca czasem bzdury (np. wbijając z 2 na 3 przez ułamek sekundy pokazuje 6 bieg), może to wynika z zabrudzonego czujnika biegów u mnie. Po to to opóźnienie.

 

No ale działa.  

Odnośnik do komentarza
Udostępnij na innych stronach

u mnie masz nawet wódkę (zapraszam na zlot)

 

a teraz pytanko ( na razie elektroniczne):

 

TXD w stanie wysokim daje na K-line

stan wysoki ale 12V

 

nie znam zabezpieczeń portu w nano - ale 12V (przy pracy prawie15V) przez te 10K odparuje mi jednoukładowca

(jeśli linia K-line nie ma jakiegoś innego zbicia do 5V)

port jednoukładowca to zasilanie +0,5V czyli max 5,5V

 

mierzyłeś napięcie na RXD? w stanie wysokim TXD? (chyba dałbym transila 5V między RXD a masę)

 

edit:

w tablica[21] masz poziom temperatury

0xB3 to 82stopni (Decimal: 179)

0xAF to 80stopni (Decimal: 175)

 

jaki wzór masz na określenie temperatury?

 

no i - czy masz info o pozostałych wartościach pozyskanych z ecu (tablica[1-20,22-25,27-100]?

Edytowane przez syku
  • Upvote 1
Odnośnik do komentarza
Udostępnij na innych stronach

Tak, tak masz rację! Bardzo dobrze, że zobaczyłeś temat zanim ktoś to pierwszy zbudował. 

 

Posta pisałem z pamięci, a układ uruchamiany chyba rok temu. Teraz dokładnie nie pamiętam czy robiłem konwerter logiczny napięć, czy po prostu ecu w moto daje sygnał 5V. Zejdę do moto i zmierzę, albo uda mi się sprawdzić tę PCB z "adapterem" - o ile nie zalałem sylikonem. 

 

Co do wartości temperatury to wzór jest taki: temp© = DEC*160/255-30. A jak chodzi o inne odczyty z ECU, to znalazłem kiedyś jakieś info szczątkowe na necie, podpiąłem się do moto i sczytałem ramkę. 

 

Ogólnie ten interfejs w Suzuki nazywa się SDS - możesz po tym szukać. 

 

W załączniku przesyłam to co mam, dużo tam nie ma :)

 

EDIT: 

Heh, odpisałem na szybko, bo pytanie rzeczowe, a się nie zastanowiłem. Wszystko jest jak najbardziej OK. Strona RXD i TXD to strona Arduino. Arduino daje 5V na pin TXD (czyli Transceive - transmisja Z procka) na tranzystor, co całkowicie wystarcza żeby wysterować tranzystor, w tym momencie mamy na lini K-Line sygnały 0-12V (nie 12V tylko napięcie baterii, ale się nie czepiajmy :) ).

 

W drugą stronę, kiedy moto coś transmituje, to na K-Line mamy 12V, ale po drodze mamy rezystor.  Na płytce Arduino nie mamy żadnego konwertera, ale wszystkie procki Atmega mają wewnątrz diody do VCC i GND zabezpieczające przed napięciami powyżej 5.5V i poniżej -0,5V (jeśli procek zasilany z 5V), więc przez ten rezystor możemy wpiąć bezpośrednio do Arduino sygnał, rezystor do ograniczenia prądu - wszystko będzie działać i działa tak u mnie. Jeśli się stresujesz, możesz dla spokoju ducha wrzucić między linię RXD a masę jeszcze rezystor 4k7 albo zenerkę 5v1, ale to tylko dodatkowe zabezpieczenie i wersja z posta powyżej też będzie działać. 

 

K-Line w tym interfejsie to taka linia USART tylko że 1 żyłowa, raz nadaje a raz nasłuchuje, dlatego działa transmisja z USART w procku, na prędkośći 10400bps. Część rzeczy jak opóźnienia itd. testowałem po prostu samemu i dochodziłem do tego. 

 

Pozdro!

ramka moto.rtf

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

dzięki
ale ja bym jednak ochraniał ten tor RXD
może faktycznie transil to przegięcie, ale zenerka 5,1V jak najbardziej

przejrzałem na szybko nawet datasheet atmegi
http://www.atmel.com/Images/Atmel-8159-8-bit-AVR-microcontroller-ATmega8A_datasheet.pdf
ale info o tym zabazpieczeniu wejścia nie znalazłem (może że za szybko i niedokładnie lukałem)

natomiast miałem taki przypadek że przy programowaniu procka pomyliłem pin resetu z pinem zasilania (14,5V wpuściłem na programator spodziewając się że w tym miejscu jest pin procka RESET)
programator odleciał (znaczy atmega która w nim siedziała). Być może przegrzał się bo dostał 14,5V bez rezystorów a podany przez Ciebie schemat ma w końcu 20K w szeregu, ale być może się przebił napięciowo.

a te 12V to napięcie układu motocykla (czyli 12-15V) czy stałe 12V (i tyle ma być)?

nie było pytania, znalazłem że to z pinu wtyczki diagnostycznej

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

W Twoim Datasheecie - Figure 18-1. "Diody zabezpieczające" - ale dając rezystor w szeregu sprawnie zbijają napięcie i wszystko działa. Temat tych diod był kiedyś mocno rozbudowany chyba na elektrodzie (I braku potrzeby dawania diody zenera na wejście), no ale nic nie szkodzi dodać. Tak jak mówiłem, możesz nawet zrobić dzielnik na rezystorach i też będzie dobrze - robiłem tak dziesiątki razy. 

 

Co do zasilania Arduino - https://www.arduino.cc/en/uploads/Main/ArduinoNano30Schematic.pdf

Arduino ma na zasilaniu klasyczny 78M05, który wg. noty może mieć nawet i 35V na wejściu, ale zważając na straty i ciepło lepiej nie przekraczać 15V-20V. Tak czy siak - ja podłączałem bezpośrednio do Aku, i tutaj i kilkukrotnie w samochodzie itd. kiedy robiłem jakieś małe mody, mierzyłem temperaturę stabilizatora i wszystko w normie, więc nie ma powodu dokładać kolejnych układów. 

 

EDIT:

ALE... trzeba sprawdzić czy ten pin B+ we wtyczce diagnostycznej jest wyłączany po zgaszeniu zapłonu, bo inaczej diody będą świeci się ciągle :o W skrócie - zasilanie musi być "po stacyjcie". U mnie było trochę inaczej, bo ja to montowałem w zegarach i wziąłem sobie z zasilania zegarów. Sprawdźcie to. 

 

W razie pytań piszcie dalej. Siedzę w tym kilkanaście lat więc coś tam wiem... 

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

OOOOOOOOOOOOOOO co ja widzę kolejny maniak arduino :zeby:  Brawo pomysłu

ja mam plotera cnc na tym podzespole :oki:

Odnośnik do komentarza
Udostępnij na innych stronach

Tarru jak byś mieszkał w Warszawie to jeszcze dzisiaj bym ci przywiózł zimną wódkę :) Wielkie dzięki. Jak będziesz przejeżdżał przez Warszawę to zawsze możesz odebrać :)

 

A może masz gdzieś rysunki tego adaptera z pleksy pod diody?

Odnośnik do komentarza
Udostępnij na innych stronach

Cześć, 

 

Kurcze no przeszukałem komputery w pracy i w domu 3 razy i nie mam tego pliku. Musiał polecieć przy formacie. 

 

Musisz się posiłkować drugim zdjęciem z poprzedniej strony i narysować od nowa. Jako punkt odniesienia możesz przyjąć średnicę diod - 5mm i obrysowywać zdjęcie, oprócz rozstawów samych otworów na śruby reszta nie jest tam taka "krytyczna".

 

Ewentualnie jak coś to pomoże to znalazłem jeszcze takie 2 zdjęcia jak niżej. Jak odpowiednio wyskalujesz zdjęcia (najłatwiej po DPI, wtedy powinny się wymiary zgadzać) to w CADzie możesz to dość łatwo przerysować. 

 

Mógłbym to zrobić jak znajdę chwilę, ale to może być za tydzień :D

 

eb211ea0f3a8.jpg

456d44b5c3a0.jpg

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

a ja mam pytanie w temacie wsadu procka

masz tam dwa ustawienia prędkości transmisji 19200 i 10400 (jedna uart druga serial - jeśli dobrze odczytałem kod - bo C jest dla mnie nieznane)

(ta druga wartość jakaś dziwna (nie powinno być 14400?)

Odnośnik do komentarza
Udostępnij na innych stronach

No właśnie nie :)

 

Ta prędkość 19200 to prędkość komunikacji Arduino z PC, ta linijka jest niepotrzebna, to pozostałość po testach. 

 

Właśnie właściwa prędkość komunikacji Arduino z ECU moto to 10400, ponieważ protokół Suzuki SDS to tak naprawdę protokół KWP2000. Więcej tutaj: https://en.wikipedia.org/wiki/Keyword_Protocol_2000

 

Jak widać - "The data rate is between 1.2 and 10.4 kilobaud, and a message may contain up to 255 bytes in the data field."

 

A co Syku - podłączyłeś i coś nie działa, czy tak po prostu się zastanawiasz skąd co się wzięło? 

Odnośnik do komentarza
Udostępnij na innych stronach

nie - ja nie programuję w arduino i Twój kod jest dla mnie inspiracją.

jako ekonomista stosuję programowanie w bascomie :P - bo ze mnie dupa a nie programista

(poznałem go przez przypadek a jako wychowanemu na "bejziku" był mi prostszy do zrozumienia

 

starałem się dzisiaj zrozumieć gdzie zaczyna się program główny a gdzie są jego funkcje/procedury z których korzysta

 

mam tam wątpliwości po co stosujesz kawałek kodu w pętli "łail" (ale to dopiero jak sam rozgryzę conieco)

Odnośnik do komentarza
Udostępnij na innych stronach

Syku ja korzystałem z tej serii (o ile dobrze pamiętam), 

 

widzę że pojawił się też jakiś edytor WEB https://id.arduino.cc/cas/login;jsessionid=1ohpj18cezzc02kv6nh5sjszf?service=https%3A%2F%2Fid.arduino.cc%2Fcas%2Foauth2.0%2FcallbackAuthorize

tylko trzeba się zarejestrować pewnie. 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Syku ja korzystałem z tej serii (o ile dobrze pamiętam), 

(...)

widzę że pojawił się też jakiś edytor WEB https://id.arduino.cc/cas/login;jsessionid=1ohpj18cezzc02kv6nh5sjszf?service=https%3A%2F%2Fid.arduino.cc%2Fcas%2Foauth2.0%2FcallbackAuthorize

 

tylko trzeba się zarejestrować pewnie. 

 

 

 

zostanę przy bascomie i własnym kodzie

i tak chciałem wrzucić to na wyświelacz

poza tym wolę mieć własną płytkę pod wymiar i powywalać zbędne peryferia a dodać te które potrzebuję

Odnośnik do komentarza
Udostępnij na innych stronach

arduino to tylko narzędzie do prototypownia.

ten sam kod możesz wrzucić to jakiejś ATmega, a resztę otoczki też dorobisz

 

ale pewnie są mądrzejsi ode mnie w tym temacie na PBC :)  

Odnośnik do komentarza
Udostępnij na innych stronach

Jak najbardziej. Ja użyłem Arduino tylko przez to, że to był projekt "na popołudnie" - nie chciałem czekać na PCB z fabryki, tylko wziąłem to co mam pod ręką dostępne i złożyłem. Tak bym sobie zrobił pewnie płytkę PCB z diodami ułożonymi pod tarczę i prockiem i wszystkim innym od razu na niej :)

 

Syku -> Robię krótki opis kodu, żeby było Ci łatwiej :)

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

 Share

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystając ze strony akceptujesz regulamin oraz politykę prywatności.Regulamin Polityka prywatnościUmieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.