- o ten analizator ScanaLogic ma protokół LIN.
- czyli można podejrzeć co robi IPS z danymi z akumulatora Giulietty i dlaczego nie działa Start & Stop od tygodnia.
- scalalogic: zmiana poziomów nowe, konfiguruj wejście, konfiguruj poziomy.
- o ten analizator ScanaLogic ma protokół LIN.
- czyli można podejrzeć co robi IPS z danymi z akumulatora Giulietty i dlaczego nie działa Start & Stop od tygodnia.
- scalalogic: zmiana poziomów nowe, konfiguruj wejście, konfiguruj poziomy.
Na ulotce jest jeszcze jakaś starsza wersja programu, bo widnieje chyba v 0.5. Zwykle help nie nadąża.
Raczej powinien sam rozpoznać te poziomy logiczne, ale czy to działa, to nie wiem. Czy będzie umiał różnicować na kanałach i w ogóle czy to działa, to ciężko mi stwierdzić po rozmowie z przedstawicielem producenta. Raczej to trzeba sprawdzić chyba pod kontrolą oscyloskopu dla sygnałów o różnych napięciach. Poziomy logiczne napięciowe to połowa napięcia, od którego rozpozna zawsze bit == 1. Dlatego chyba rejestruje tylko L, bo H i L to sygnały jakby różnicowe. To samo 0 i/lub 1 == inne przeciwne napięcie. I jest zgrzyt. Ustawialne poziomy logiczne ma pokazana przez Ciebie wersja dla droższego analizatora – ScanaPlus, 9 kanałowego. Scanlogic ma 4 kanały i jest mniej estetyczny.
Cały układ jest trochę do luftu, bo są dwa nadajniko/odbiorniki, a nie ma kontrolera, ani sterownika. Analizator CAN generuje inne napięcia niż prawdziwa magistrala. Dlatego wnioskuję, że on odbiera i nadaje ramki, niezależnie od napięcia tylko w inny sposób. W jaki to jeszcze nie wiem. W GT nie wiem, jak to będzie wyglądało zwłaszcza dla linii B.
Te linie C i B – one są w innym standardzie, szczerze mówiąc nie wiem w jakim do końca. Niby są dane w elearn, ale tego co mi potrzeba nie ma tam.
Inna sprawa, że na linii H powstawały też impulsy czasem, ale nie rejestrowałam z oscyloskopem, to nie można zobaczyć.
- Badają coś innego niż oscyloskop – badają informację. Oscyloskop bada także zakłócenia i inne zmiany napięciowe – zależne, które nie muszą wpływać na informację kodowaną. Nie wiem, czy to, że coś nie łączy się z czymś w GT, zależy od pierwszego zjawiska czy drugiego.
- w GT na pewno są zakłócenia np.: z układu wtryskowego, co wynika z trudności z badaniem balansu cylindrów picoscopem.
Nad resztą to się muszę zastanowić, narysować sobie bity różnicowe dla B i C-CAN, doczytać i wyobrazić. I powtórzyć może kilka testów. Dla B, chyba 4,6 i 2,2 a dla C, chyba 0-0,9 do 2V.
Przecież mogę analizator wysłać do Was, jeśli chcecie go potestować. Chcecie? Tak, sama to może latami będę prowadzić badania nad jednym przewodem. Gdybyście wzięli picscopa to nie byłabym tak zła na siebie, że nie wykorzystałam jego możliwości.
ja dziękuje za analizator wpadła mi fucha muszę uruchomić maszyne rife'a, na razie walczę z ropieniami i ze swoją znajomościa języka angielskiego w medycynie.... na zrzucie Spooky2 w działaniu, no w konfiguracji....
- lepsza jest maszyna Douga ale dość duża i energo żerna.
- a ta maszyna Rifa ma lampę plazmową czy tylko paletki jak Zapper.
- otrzymałem zamówiony analizator UPA-USB CAN firmy ElraSoft.
- dzisiaj będę go uruchamiał zobaczę co jest wart.
bez lampy plazmowej, sama lampa + wzmacniacz to wydatek 550 USD..... tyle pieniędzy to klient nie ma....na razie po uruchomieniu zestawu z pomoca spooky2 pulse należy sprawdzić co jest klientowi i go "podleczyc".....
- UPA-USB CAN w działaniu, dośc szybki jest ten analizator.
- jak na razie nie zawiesił sie ani razu.
- poniższe pliki działają z wersją demo pobraną ze strony Elrasoft.
- widać na zrzucie jak powstaje bład crc error oraz Staff error podczas startu analizatora.
- ten analizator daje sobie z tym radę.
P.S.
- analizator został wyrzucony z obudowy "firmowej " i wsadzony do obudowy Hammonda.
- jak na razie znalazłem problem, że maska i filtr w trybie extended nie działają (być może że ja nie umiem tego ustawić).
- filtr programowy w tym trybie działa.
- kilka logów z body komputera bez kluczyka, klimatyzacja oraz ECU na 500000 bodach.
- can analizator to UPA-USB CAN.
Euroscan - przecież nie musisz walczyć sam. Wrzucaj, co tam masz.
Bubu - po co wsadziłeś go do puszki? I czemu tego, a nie modernsoft’a?
Wersja demo UPA-USB CAN analizatora chyba nie pozwala na zobaczenie wszystkiego, bo np.: nie widzę parametrów rejestracji ramek. Zawsze tak samo pokazuje w opcjach, nie wiem, czy to są ustawienia domyślne? Nie mogłam skorzystać też, np.: z opcji sortowania?
- W scanlogic – nie muszę pisać, ani jakie nastawy, ani jakie prędkości, widać w wersji demo.
- z tym, że 10MHz w scanlogic to będą raptem 4 ramki. A ten UPA-USB CAN rejestruje dużo.
Scanlogic2 – wg mnie pokazuje to samo, tylko, że czasem podaje różne informacje, na temat przyczyny nieprawidłowej informacji. W większości jest to także stuffing error, czasem overloaded, a czasem tylko zła suma kontrolna. Jeszcze nie zastanawiałam się co to znaczy, że raz tak, a raz tak. Tak jak u Ciebie dotyczy to ramki początkowej, zwykle jest ucięta i mimo, że próbowałam ustawiać różne czasy wyzwalania, opóźnienie, to wstrzelić się jest b. ciężko. I ramki końcowej, kiedy już przestaje rejestrować.
- nie zwracałam uwagi na te błędy, widziałam, że uciął ramki. CAN analizator modernsoft też czasem pokazuje błędy, są podane wartości progowe i jeśli nie są przekroczone działa. Dlatego napisałam, że pokazuje dobrze i to samo.
- inna sprawa, że analizator CAN pokazuje błąd nadawania, a scanlogic, wykrywa poprawnie?
- przy częstotliwości 50kHZ – to dziwna rzecz, że zawsze w tym samym momencie wyrzuca overloaded, a po zakończonym zapisie i dekodowaniu pojawia się na moment komunikat, że urządzenie odłączone.
- nie można filtrować ramek.
- ostatecznie, zakładam, że można napisać skrypt, który pokaże w ramce to co chcemy i jak chcemy. Tylko, że na razie to nic nie wiem na ten temat.
Dla CAN w tych warunkach co mam, ustaliłam:
- że odczyt danych CAN jest prawidłowy od 100 kHZ i analogiczny z tym przy 10, 20 MHz. Tylko ramek jest więcej. Musiałam to ustalić z konieczności.
- maksymalna prędkość nadawania analizatora CAN modernsoft wynosi 125000, odbierał w samochodzie także 500 000.
- scanlogic2 ma maksymalną częstotliwość nadawania 10MHz. Jak to praktycznie będzie wyglądało to muszę zobaczyć w samochodzie. Tak się nie da nadawać, bo nic nie odbiera.
Ciężko powiedzieć czy i jak się sprawdzi w samochodzie, gdzie dochodzą – ramki (przerwy) w nadawaniu informacji. Ale mam nadzieję, że do odczytu danych z interfejsu wystarczy i nadawanych przez CAN analizator modernsoft.
- nie wiem też jak będzie z B-CAN. Scanlogic2 nadaje ramki w formacie czy standardzie jak dla C-CAN, niezależnie, czy nadaje ramkę z B-CAN, czy C-CAN. Tzn.: poziomy napięć dla bezczynności są zbliżone. Na B-CAN jest inaczej – są rozbieżne od 0 do 5V. Nie wiem, jak z tym sobie poradzi, ale może adapter to jakoś przetworzy. Bez adaptera – będzie przeskok na 2.1 i 3 V, teoretycznie prawie w punktach opisanych chyba. Nie wiem jak będzie z tymi poziomami logicznymi w samochodzie. Dla C-CAN narysowałam sobie zakresy dla bitów, biorąc pod uwagę napięcia różnicowe, ale dla B-CAN nie potrafię.
- Zmiana napięcia poziomu logicznego, przeskoku – domyślnie 0,5 napięcia. Wtedy pokazuje zawsze == 1. W picoscopie można to było ustawić manualnie, domyślnie ustawiał na 2.1 i 3 V dla H i L. Tutaj nie można. Nie mam przekonania, że scanaplus pokaże dwie linie CAN.
---- na myszy miałam Dplus i Dminus oraz LED. Oscyloskop pokazał odpowiednio: 3,4-0V, 0-3,4V oraz 0-5V, scanlogic2 wykrył zmiany. Więc teoretycznie się przełącza, ale nie rozumiem tego do końca. Dobrze, że euroscan zwrócił mi na to uwagę, ale może moglibyście mi to wytłuamaczyć?
- na CAN, to gorzej wychodzi dekodowanie UART. Tego nie potrafię pokonać, ponieważ wciąż wyrzuca czasem Missing stop.
W 156TS M1.5.5. dla K-line ustaliłam, może niepoprawnie?:
- że odczyt danych – dekodowanie po UART, jest prawidłowe od 100 - 250 kHZ, do chyba 1 MHz. Potem za małe próbkowanie, za krótki czas rejestracji. Informacja jest taka sama, w tym w.w zakresie Hz. Czy dobra, nie wiem, bo TS nie łączył się przez terminal. W GT to będę mogła sprawdzić na terminalu.
- Optymalnie jest wg mnie dla 500 kHz.
--- to dane dla jednego parametru lub 1 testu. Ile max parametrów złapie, to nie sprawdziłam jeszcze.
--- na początek robiłam screening na 10kHz, patrzyłam, które ramki są inne i łapałam je z wyższą częstotliwością.
- generalnie wydaje mi się, że dla CAN i K-line jest tak, że jeśli w skrypcie dekodującym pojawia się poprawna domyślna wartość prędkości rzeczywistej lub większa – dekodowanie będzie poprawne, bez względu na częstotliwość (MHz).
- prędkość ustawiałam na 9600. Nie wiem, czy dobrze. Ale wtedy zapytanie i odpowiedź układały się w pewien logiczny - dla mnie ciąg liczb. Nie wiem jak to odczytać, ale tak mi pasowało. Na 33800, 4800 – te dane już były inne.
- wyszło mi, że zapytanie to 6 bitów, a odpowiedź 8 bitów.
- nie wiem czy daje radę K-line.
Opcja BUS w scanlogic2. Nie mogę z tego skorzystać, bo chyba ma coś porównywać między bus-ami na liniach. Tego nie rozumiem. Może ktoś popatrzeć i wyjaśnić?
Więc od czasów picoscope mam problem z opcją – wyzwalanie. Tu widać, że z opóźnieniem zaczyna rejestrować, ale jak tego używać i czy tylko przy nadawaniu, czy też odbiorze? Opcje: wyzwalania – zmiana stanu logicznego, zbocze opadające, zbocze narastające. Też nie wiem co znaczą?
Lepiej, gdyby miał większe próbkowanie. Poza tym, nie wiem jeszcze jak go używać, a o Tsie to mało wiem. Chciałam analizator logiczny, żeby zobaczyć różne protokoły. Czy to się uda – nie wiem. Na razie mam średnie pomysły na inne protokoły, a SPI nie bardzo wiem, jak zrealizować praktycznie. RS485 jak czytam to pewnie nie wykorzystam. Na razie chcę zobaczyć co nadaje do magistrali w GT analizator CAN i może poznać znaczenie TBD.
- K-Line ostatnie są generowanie przez alfaOBD, wcześniejsze przez MES.
- modernsoftowy to u mnie nie chodzi, zawiesza się i wywala wszystkie moduły po podłączeniu.Cytat:
po co wsadziłeś go do puszki? I czemu tego, a nie modernsoft’a?
- nie działa na XP ani na vin7.
- dla UPA-USB CAN obudowa była koszmarna, prymitywna i bez możliwosci zainstalowania moich interfejsów CAN.
- lubię mieć wszystko w obudowie z jednakowymi złączkami pod CAN.
- wyzwalanie pod sygnały CAN to ja zawsze daję na zbocze opadające, to wtedy to jest sygnał Start dla CAN.
- dla UART-a i magistrali z linii K, to bym dał 10400 a nie 9600 lub auto.
- z wykresu linii CAN B ewidentnie coś zwiera poprzez opornik do masy.
- sygnał startuje z 0 v i podczas sygnału dochodzi do spoczynkowego + 2.5 V, tak nie może być.
- dlatego co jakis czas masz Stuff error
Dziękuję, że wrzuciłeś ramki. Tylko, że wszystko jest na 10 MHz. Chciałam zobaczyć przy innych częstotliwościach. Możesz mi to pokazać?
To raczej rodzaj zwarcia między CANH i L. Wykresy nakładają się na siebie. W GT występuje to na C-CAN w czasie zasypiania sieci. Tylko są inne wartości napięć dla bitów czynnych na liniach.
Co wtedy zrobiłam, nie wiem, ale zwarłam modernsofta inaczej. Chyba nie ma związku z tym, że dokładnie w tym samym miejscu wrzuca błędy w czasie rejestracji na 50kHz i rozłącza urządzenie? Nagrałam to, abyście zobaczyli + poprawność podłączeń.
Tak się zastanawiałam, czy modernsoft w G powinien zwierać linie. Bo zakładałam, że zwiera mi na B-CAN ze względu na różne poziomy napięć bezczynności w magistrali i na krokodylkach wyjść. modernsofta. Na zasadzie, że rozpoznaje bity czynne zamiast bezczynnych i dlatego wszystko fiksuje. Zwłaszcza, że linii C-CAN nie zwierał, a miały zgodne poziomy napięć bezczynności. Jednak B-CAN nie zwiera, gdy zainicjalizuję program modernsofta. I to nie pasuje na napięcia. Zrobiłam test – film.
K-line:
Tak, masz rację, bubu. Dzięki. Sprawdzałam różne prędkości, ale 10400 akurat nie sprawdziłam. Na auto pokazuje dwie, trzeba wybrać jakąś. To już wygląda bardziej znajomo, bo jest 3E i 7E. Z nastawnikiem TP miałam problem, potem się poddałam. Wrócę do K-line w TSie w weekend.
- dekoduje tak samo, powyżej 50kHZ, niezależnie od częstotliwości. Tylko czasy zapytania i odpowiedzi są inne, w zależności od częstotliwości. Info jest taka sama. To samo chyba jest na CAN.
CAN:
No, niech będzie UPA-CAN - nie pokazuje tak samo. Nie popatrzyłam na wszystko. Pokazuje błędy na uciętej ramce, tylko wtedy, gdy zmienić mu prędkość na niepoprawną. A przy poprawnej pomija tą ramkę, jak picoscope, który pisał – unknown, jak była ucięta. Picoscope nie analizaował ramek, gdy prędkość była niepoprawna – pisał wtedy, że ma za mało danych do analizy. Picoscope też pokazywał ramki – przerwy, jako poziomy napięciowe wyłącznie.
Nie wiem, czy to lepiej. Na ten moment to raczej wolę, aby pokazywał wszystkie błędy i nie decydował za mnie, ze względów dydaktycznych. Można prześledzić czemu pokazuje błędy. W GT to pewnie w przyszłym tygodniu będzie możliwe.
Sprawa wyzwalania nadal jest dla mnie tajemnicą, ale zrobiłam mało prób i nie poczytałam.
Suma kontrolna – pokazują taką samą, czyli liczą tak samo. Próbowałam się nauczyć to liczyć na piechotę. Znalazłam metodę, ale trzeba dzielić wielomian w kodzie binarnym, przez inny wielomian równie długi. Jest tak długi dla 8 bajtów danych, że zniechęciło mnie to na razie. Mam za małą kartkę i liczb jest za dużo. Jak nie zrobię sama, to nie będę wiedziała czemu program liczy tak, a nie inaczej. Do obliczenia trzeba wziąć całą ramkę binarną – SOF (0) + ID(różnie) +DLC(0001 do 1000)+RTR(0 lub 1)+dane(różnie)+15zer(000000000000000). Potem podzielić to w strasznym słupku poprzez binarne 4599 (100010110011001) i reszta co zostanie to suma kontrolna ramki CAN. Na hex to nie wiem, jak policzyć, ale liczb byłoby mniej. Bo tak, to nie wiem kiedy obliczę dla 1 ramki – albo kartka za mała, albo się pomylę, albo coś innego. Dlatego chwilowo się poddałam.
Odczytać CRC15 można z okna hex, tylko, że wartość jest odwrócona – CRC15 == 57CF
Tak samo ID jest odwrócone ID == 07C0, DLC == 08, dane == f1 20 39 33 34 33 34 20. Brakuje SOF==00, RTR==00?
Załącznik 132952
Ale jak liczyć? Znalazłam kalkulator:
http://www.zorc.breitbandkatze.de/crc.html
Ale znowu nie wiem co tam wpisać dokładnie. CRC = 15, CRCpolynom == 4599, te pozostałe to nie wiem. W skrypcie występuje jeszcze wartość 4FFF. Niektóre wartości ma odwrócić. Może jak w scanlogic, ale nie wychodzi mi.
http://youtu.be/Ht7U1XZqFQw
http://youtu.be/2k_ShaAF1yU
http://youtu.be/5J7ammeBuSQ
http://youtu.be/lcyCRqZH2RQ
Za dużo prób nie zrobiłam, osc ważą. Byłam chora i padało.
Załącznik 132943
Załącznik 132944
video bardzo poglądowe, tylko jedna uwaga: nie 50 kHz, tylko 50 kbps (chyba że to było podane dla skanera logicznego ) !!!!!.....
Tak – 50kHz było podane dla scanlogic2, przy 50 kbps. Przy 125 kbps – 50kHz w scanlogic to za mało.
Prawie wszystkie parametry + nastawnik TP, pod kontrolą autoscope. Sukcesywnie będę dorabiać. Chyba idzie zapytanie z MESa, a nie ma odpowiedzi z ECU?
Nie jest tak różowo, bo przy 4 parametrach widać, że czasy mają duże znaczenie. Nie wiem czy to jest dobrze. Nie starczyło mi już czasu żeby spróbować odczytać te kody.
Zaczęłam inne moduły ABS, ale miałam problem z połączeniem poprzez ELM327 i adapter 1 + kabel Y. Łączył się tylko przez KKL, ale MES pokazywał coś z czasem, na dole okna. Coś jest nie tak, ale nie wiem co. Czy możliwe, że inne prędkości ma na liniach 1, 3 i 9? Coś zrobiłam źle?
Nadawanie CAN – scanlogic2:
- niestety chyba adapter ma jednostronną komunikację, ponieważ mam tylko ramkę na CH1 na wyjściu scanlogic, a na wyjściu adaptera mam napięcie stałe == ok. 2,5V (jak nic nie jest podłączone – to jest górne, ok. 5V). Na tym z nóżkami w adapterze, na nóżce 2 od prawej, też nie ma ramki, a jak sygnał wchodzi to jest. Może coś zrobiłam źle, bo mam wrażenie, że w opisie do adaptera CAN, było napisane, że można nadawać ramki.
- - tak się zastanawiałam, czy go nie otworzyć i nie zobaczyć co jest w środku.
- można nadawać po jednej linii – L, z użyciem łączówki z chwytaczkami.
- jak podać napięcie 0 na linię h modernsofta, a na L ramkę to modernsoft alarmuje o błędzie. To chyba stan jak przy jakimś zwarciu z masą? Muszę sprawdzić, nie pamiętam.
- modernsoft się gubi czasem. Coś z tym jest, że coś tam pamięta, co było wcześniej. Producent chyba może poprawić program?, bo jakoś mi nie pasuje, że trzeba go resetować przed nadaniem kolejnej ramki. Aby nie było, że trzeba też przed odebraniem.
http://youtu.be/ADkHY51gOF0
http://youtu.be/ngaUk4iq_Dw
http://youtu.be/opCyjfoMuBw
http://youtu.be/-dPuttwv7f0
http://youtu.be/aL_ZSDzBCI8
http://youtu.be/yXJ8srcT6ek
Nie wiem, jak zrobić, żeby były 3 wejścia i 1 wyjście. SPI – tam musi być chyba jedno wyjście?
Załącznik 133122
Są inne prędkości w tym moim TS. Zapomniało mi się, że alfaOBD podaje adres i prędkość. 4800 dla wszystkich, czyli totalne dno.
Generalnie K-line są bardziej upierdliwe od CAN. Może dlatego, że CAN mogłam nadawać i obserwować co się dzieje, a tu raczej nie mam takiej możliwości.
Nie udało mi się prawie nic z modułami. Zniechęciłam się i nie podłączałam oscyloskopu.
- łączę się z ABS, klimą i ASR poprzez MES (oprócz klimy) i alfaOBD oraz kabel Y, ale tylko wtedy, gdy nie podłączę scnalogic2. Gdy obydwa są podłączone to nie łączy się z modułami, tylko pisze, że nie odpowiedziało ECU. Próbowałam go oszukać i podłączać scanlogic dopiero jak jestem połączona z MES, ale jak scanlogic zaczyna rejestrować, to MES traci łączność.
- alfaOBD, nieco lepiej było. Tylko, że w sumie udało mi się poprawnie zarejestrować tylko dane sterownika ABS – widać w ASCII.
- reszta parametrów, pojedynczych testów – raczej klapa. Widać, że zmienia się info, ale kody są dziwne i nie odnajduję w nich adresów z alfaOBD.
- prędkości fiksują – te odczytane przez scanlogic, chyba niezależnie od xHz.
- raczej na niskich częstotliwościach trzeba łapać – 10kHZ. Na wyższych to już chyba za krótko.
- chyba te nieudane odczyty są spowodowane prędkościami, bo silnik, ECU można odczytać.
- testy raczej uważam za nieudane. Większości nie zapisywałam, nie było co.
- Nie wiem czy dam temu radę.
Czy możliwe jest, że coś się dzieje z takim powolnym sygnałem, jak jest dzielony przez kabel Y? Jak temu zaradzić? Czy coś zmieni jak wezmę z multipleksera sygnały na interfejs i na adapter K-line? Wg mnie coś się dzieje z tymi sygnałami. Muszę chyba sprawdzić oscyloskopem.
Chyba już wiem, jak zrobić, aby mieć dwie linie CAN L i H na analizatorze. Może jak go oszukam i CAN H podam poprzez adapter, a CAN-L bezpośrednio na analizator, to wtedy zobaczę dwie? Z adaptera CAN można sygnał wziąć na analizator z pierwszej nóżki na dowolny kanał, z pominięciem łączówki. Analizator nic innego nie pobiera na pozostałe nóżki. GND i 12V jest potrzebne dla adaptera tylko. Sygnały z dwóch linii CAN będą analogiczne, ale może wtedy mogłabym jednocześnie nadawać i odbierać? A nie GNFD muszę dać na pin 5 analizatora.
Jeszcze ma jedno pytanie – nastawnik. Jeśli nie ma odpowiedzi, to albo to ECU nie obsługuje tego, albo coś nie działa? Reset nastawnik – tester pokazuje jako udany. Jak sprawdzić, że się dokonał? Bo parametry TP się nie zmieniają. Nie patrzyłam jeszcze resetów poprzez scanlogic2, bo trzeba potem adaptować z zimnego silnika.
Załącznik 133471
Można uzyskać dwie linie CAN na scanlogic, jak go oszukać. Obie są takie same, tak samo spolaryzowane, ale to wiedziałam. Niemniej jednak tak myślę, że może gdyby na jednej linii się coś działo, to w ten sposób analizatorem można wykryć ewentualne usterki – różnice na liniach.
Niestety, nie można uzyskać dwukierunkowej transmisji między scanlogic a modernsoftem. Tego się spodziewałam, bo jeden nadaje i odbiera na innych liniach, a drugi nadaje na obu i jest kolizja. Nadawałam z ciekawości to co wpierw zarejestrowałam bezpośrednio z scanlogic obie linie. Jednak CAN L nadaje, a na CAN H robi się efekt podobny do zwarcia – napięcia się chyba sumują i taki efekt, jakby podać mu stałe napięcie na CAN H lub, gdyby CAN H trwało w stanie bezczynności. Efekt jest analogiczny jak podać mu sygnał == 0V na CAN H – modernsoft alarmuje, że są błędy i przestaje działać. Widać na oscylogramie co tam się zadziało.
Jednak ten eksperymet odpowiedział częściowo na moje pytania na temat wyzwalania i nadawania. Wyzwalać trzeba wszystkie kanały, na których rejestrujemy, czy odbieramu i nadajemy – wtedy sygnały są analogiczne, jednoczasowe, nie ma przesunięć. Dopóki nie odbierze sygnału na wejściu, dopóty będzie czekał na wyzwolenie – za pierwszym razem właśnie taki błąd popełniłam, z bezmyślności. Ale zbocza … są dla mnie nadal czarną magią.
W GT może w weekend zobaczę, jeśli odbiorę GT w terminie, już zresztą przesuniętym… Zobaczymy jak tam to będzie wyglądało. Nie wiem, czy w prawdziwej magistrali będzie możliwe użycie obydwu analizatorów? Chociaż i tak najpierw będę musiała sprawdzić logi zwyczajowo.
Z TSem to nie wiem, z tymi liniami K. Muszę mieć więcej czasu, żeby posprawdzać różne rzeczy.Patrzę sobie różne rzeczy, nim podłączę się do GT. Chociaż nastawnik mnie akurat irytuje. Zapytałam, bo „problem” z okazjonalnym przypadaniem rpm zainicjowałam dwoma działaniami:
- nabili klimę, nie było czynnika jak ją kupiłam. Sprężarka ma chyba za duży pobór prądu, bo jest może stara. Błąd klimy był spowodowany brakiem czynnika. A aktualnie taki sam – faktem, że odłączyłam sprężarkę.
- robiąc jego reset. Zrobiłam ten reset, mimo, że bubu napisał, że mam zrobić tylko restet p.a.
- jakoś specjalnie nie zamierzam drążyć tematu, bo przypadają teraz okazjonalnie, można przywyknąć.
Odszukałam w elearn rozpiskę pinów na łączówce immo. Tylko, że tam są trzy zasilania. Jest zasilanie plus i minus z anteny na pinach 1 i 3 oraz zasilanie od wł. zapłonu na pinie 8. Na razie podałam napięcie zasilania i GND na łączówkę 8-pinową, odpowiednio na pin 3 i 6. Ale na nóżkach było tylko napięcie stałe, nie rejestrowałam. Mysz musiała działać, żeby były zmiany napięcia, a w tym to nie wiem jak zrobić. To może być dla mnie za trudny obiekt do badania. Tylko, że chciałam zobaczyć SPI. Tylko chciałam zobaczyć. Może poczytam i zrobię drugie podejście. Trochę mi szkoda się poddać, ponieważ to mnie ciekawi. Tylko, że zamiast mieć mniej do czytania, mam coraz więcej.
Szkoda, że nikt nie chce mi pomóc z liniami K i SPI, i innymi protokołami. Tak, bez podp0wedzi, to będę wszystko sprawdzać b. długo, nim zobaczę różne rzeczy i się zorientuję. Raczej jestem gapowata.
Załącznik 133581
- filozofia wyzwalania jest taka że jest tworzony iloczyn z ustawionych sygnałów do wyzwalania.Cytat:
Dopóki nie odbierze sygnału na wejściu, dopóty będzie czekał na wyzwolenie...
- nie ma żadnych opóżnień w sygnałach, przesunięc fazowych.
- z powodu tego iloczynu lepiej jest dawac sygnał wyzwalania tylko w jednym kanale, zazwyczaj wyzwalamy od zbocza sygnału, nie od poziomu logicznego.
- tam gdzie jest CAN wyzwalanie ma być od sygnału start , czyli od zbocza ujemnego, od 1 do 0 logicznego.
jeszcze bym dodał że wyzwalamy się od przebiegu najwolniejszego...
Dzięki. No nie jest to wcale łatwo się w tym rozeznać, zwłaszcza jak się nic nie wie.
W scanlogic to jednak jest różnie. Tak to wygląda, zwłaszcza podczas nadawanie i odbierania jednocześnie lub podczas obserwacji jakiejś reakcji na działanie. Na stanach logicznych wyzwala na każdym oraz na wszystkich, na zboczach tylko na pojedynczych kanałach, a wtedy czeka na pojawienie się zmiany na tym kanale.
Podczas nadawania to raczej trzeba na wszystkie.
To popatrzcie nagrałam dla CAN (modernsoft). A dla mysza nie nagrałam, ale zrobiłam zrzuty i zapisałam pliki przed nadaniem i po nadaniu.
Z prędkościami to na myszy mogłam patrzeć tylko, bo modernsoft nadaje tak samo. A w scanlogic mogę nadać na razie tylko to zarejestruję lub przebieg wykonany wizardem. To ostatnie to nie można zrobić różnych bitów, tylko można ustawić częstotliwość i cykle, a wtedy wychodzą stałe wykresy. Pewnie trzeba skrypt napisać, ale nie umiem na razie. Może trzeba na 1 dawać konkretny przebieg? Nadawałam na mysz tylko LED i button. Reakcja była taka, że zapalał LED.
Ale za to ciekawie to wygląda i chyba ma znaczenie jak to będziemy wyzwalać i w którym momencie, bo może nas interesować co się dzieje przed wyzwoleniem? Można tak może badać usterki, sygnały o charakterze pasożytniczym, nieplanowane jakby? Nie mam na razie na to pomysłu, ale tak przeczuwam.
W autoscope nigdy tego nie próbowałam, zwykle chyba na auto rejestrowałam. Zobaczę w samochodzie. A picoscope miał taki żółty rąbik, który mnie zastanawiał. Ale raz tylko udało mi się przypadkiem coś z nim zrobić, że wtryski szły jeden w ramce. A ten rąbik to chyba napięcie lub zakres napięć mógł pokazywać dla przeskoku. Fajny byłby zakres napięć, bo wtedy dla sygnałów nieprostokątnych mógłby może się przydać.
A właśnie – sinusoidalny sygnał z CKP, różnicowy. Co się stanie jak podam go na adapter RS485? Jak badać stany logiczne na takich sygnałach?
Zdekodowałam mysza, poprzez DMX-512, to znaczy pin CLK. W myszy chyba nic innego nie zobaczę? Przynajmniej nie potrafię. Ale nie wiem czy dobrze? W każdym razie pokazuje adresy jakieś. Są jednak różne dla różnych częstotliwości. Z tym mam problem jak dobrać częstotliwość? Ostatecznie skłaniam się ku 100kHz, ale to raczej strzelam. Na MHz nie próbowałam.
---- raczej w myszy jest źle, bo w szczegółach pokazuje stop missing.
Jest chyba problem – podczas nadawania CAN na modersofta, jest taki moment, chyba jak przekazuje dane do scanlogic, że napięcie na wyjściach spada do 0. W GT to zewrze chyba B-CAN i liczydło będzie fiksować. Nie wiem, czy uda się coś nadać? Chyba, że zdąży wrócić do stanu poprawnego i nie zawiesi w międzyczasie analizatora.
Mam taką płytkę, z różnymi takimi drucikami i innymi elementami. Zestaw kosztował kilkadziesiąt złotych, ale jest używany i nie wiadomo, czy działa. A nawet jak działa to nie wiem, czy go uruchomię. Chciałam mieć napięcie na płytce, w dziurkach. Ale jak czytam to, to ma większe możliwości. Może można zobaczyć SPI. Znalazłam linki jak spowodować aby było napięcie:
https://www.youtube.com/watch?v=ufQZnAAxZ7A
https://www.youtube.com/watch?v=muP1dp73Mdg
Na razie tylko to obejrzę. Może w ogóle jednak odpuszczę, nie wiem póki co, co jest czym. Pomożecie mi to uruchomić?
Na razie tylko to, wrzucam pliki i dwa flmy. Jak się załaduje reszta to dorzucę.
http://youtu.be/5TOJbGONvkY
http://youtu.be/kVeW4voKlGA
Załącznik 133819
nie rozumiem, masz Arduino, czy płytkę uniwersalną z drucikami ?....
http://youtu.be/O1vo-Cg56F4
http://youtu.be/qdsUFVEX__o
http://youtu.be/FXOMMYsNQ5E
Mam arduino, płytkę i różne takie, jak na filmie. Nie mam chyba tylko zasilacza i tego z nóżkami, co jest wsadzony na płytkę w 2 filmie. Nie mam też instrukcji. Nie mam też pojęcia co robić. Jeśli rozumiem dobrze, to zamiast tego z nóżkami mogę podczepić swój badany obiekt z nóżkami?
Niemniej jednak chciałam zobaczyć SPI oraz żeby modrsoft odbierał i nadawał w domu ramki. Poza tym mogę wtedy analizatorem zobaczyć równocześnie. Nie piszą, aby tam były wyjścia/wejścia dla CAN. Bubu patrzył CAN. Co jest mi jeszcze potrzebne?
Problem jest taki, że skoro nie mogę dać rady myszy, to pewnie temu też nie dam. No chyba, że mi pomożecie?
--------------
W tamtej, poprzedniej wersji scanlogic można sobie skopiować jedną ramkę i wkleić na inny kanał. Można też wyeksportować funkcję dla tego przebiegu w jakimś nieznanym mi formacie. Tylko, że mają różne częstotliwości. Ale wersje nie są kompatybilne, nawet jak zapiszę, to ni otworzę w nowej i nie wiem jak wygenerować ramkę w nowej wersji. Nie umiem napisać skryptu, czy funkcji w nowej wersji, jak wiesz. A przez to nie mogę zobaczyć różnych rzeczy…
niby w Arduino jest oprogramowanie do interfejsu SPI jak i CAN ale należy mieć urzadzenia odbiorcze, kiepsko to widzę....
Oj, no jak nie dam rady, to nic się nie stanie. Tyle, że zadam pewnie milion głupich pytań i zrobię jeszcze więcej głupich działań, ale myślę, że to nikomu nie zaszkodzi. Kwestia przyzwyczajenia.
Ok, już wiem, że trzeba patrzeć i sprawdzić, co jest na płytce. Gdybym to zrobiła, wiedziałabym, że adapter CAN do scanlogic ma tylko jednego z nóżkami – dlatego tylko odbiera.
- w adapterze CAN jest tylko transceiver CAN MCP2551.
Potrzebny mi kontroler CAN MCP2515 oraz transeiver CAN MCP2551.
Takie znalazłam kontrolery MCP2515, poprzez SPI i/lub 1-wire, jak piszą.
http://www.tme.eu/pl/katalog/#id_cat...1552%2C1225%3B
oraz trnaceivery CAN 2550,
http://www.tme.eu/pl/katalog/#search...=112853&page=1
Musiałabym stworzyć na płytce analogiczny obwód? Są tanie. Ale jak się pomylę i nie tak powsadzam, to czy coś zniszczę?
Całe płytki, które zawierają obydwa:
http://www.tme.eu/pl/katalog/#search...=100636&page=1
http://www.tme.eu/pl/katalog/#search...=100636&page=1
http://www.tme.eu/pl/katalog/#search...=112853&page=1
Piszą, że arduino ma wejście/wyjście SPI na 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Nie ma protokołu, czy biblioteki dla CAN, ale znalazłam w sieci jakieś kody dla tego: https://www.sparkfun.com/products/10039 Czy te inne będą współpracowały z arduino? Czy musi być ten akurat. Czy może być inny byle miał SPI? Wiesz nie mogę zdecydować sama jednak. Co byś wybrał?
Zainstalowałam drivery i uruchomiłam program. No. Trochę kiepsko… Nie będzie wykresów tylko same kody i ewentualnie liczby. Mogę coś spróbować jak mam tylko, to co mam?
PS)
1. Z tym, że ten na filmach długi z nóżkami to ATMEGA328 taki sam jak jest na płytce Arduino. Są jednak na obydwu filmach. Robi się jego klon, czy jak? Bo na płytce jest jeszcze jeden, ale nie mogę go odczytać dzisiaj. Czy on/ one są mi potrzebne?
2. W immo ten jeden źle odczytałam, nie mogłam go znaleźć i coś innego oglądałam, tam nie zobaczę tego co chcę. Muszę znaleźć może inny obiekt do badania.
3. Ale na razie to idę spać, bo już mam dość czytania danych technicznych. Może skoro Ty czytasz, to ja już nie muszę?
linki jakie podałaś nigdzie nie prowadzą w TME.... ja bym zakupił ten moduł i miał z głowy.... pasuje do arduino Uno , do jego wtyków... -- http://allegro.pl/can-bus-shield-dla...298447561.html... z CAN to może bubu się odezwie bo on w końcu na arduino zrobił analizator, czyli musi mieć bibliotekę CAN z MCP2515/ MCP2551.... a tutaj na elektrodzie link do biblioteki CAN z 2014 roku....
-- http://www.elektroda.pl/rtvforum/vie...c6aaf629b035b6......
tutaj oryginal.......
http://forum.arduino.cc/index.php?topic=152145.0
Dzięki.
Przecież poczekam na to, co napisze bubu. W ogóle poczekam, co jeszcze napiszecie. Nigdzie mi się nie spieszy. W samochodzie to lepiej taki shield. Z tym, że myślałam, że płytkę można wykorzystać, aby mieć kilka kontrolerów CAN w domu. One nie są drogie, te z nóżkami. Nie mam tego przemyślanego. Jest modrensoft i jego jakoś trzeba podłączyć. Trzeba mieć pseudo magistralę jakoś. Poza tym, gdym mogła scanlogic podłączyć przez kontroler CAN, to może by nadawał? Nie mam jednak pewności.
- nie chcę ruszyć na próby od razu do samochodu. Wygodniej będzie w domu.
- poza tym, na razie mam GT, a tam muszę się łączyć z canH i L oddzielnie przez multiplekser. A ten akurad shield sparkfun, nie ma zacisków do podłączania bezpośrednio canH i l. Chyba przez interfejs trzeba. Albo do nóżek, co w samochodzie nie będzie takie fajne. Nie wiem jak z tym będzie, bo w GT to interfejs łączy linie w jedną i nie wiem, czy to nie jest przeszkoda? Modernsoft nie widzi sygnałów z interfejsu.
Znalazłam jeszcze takie z zaciskami dla linii h i l, co pasują do wtyków arduino:
- http://www.robotshop.com/en/can-bus-shield-arduino.html
- http://www.tme.eu/pl/details/tdgl006...digilent-inc/#
- http://www.tme.eu/pl/details/tdgl003.../digilent-inc/
(tylko te mają chyba I2C i UART, a nie ma SPI). I tylko ten pierwszy ma zaciski dla H i L.
No, nic poczekam.
--------------------------
OK. Załadowałam bibliotekę. Dodałam ten kod z linku – jako „example”. Chyba działają, przy każdym zapalały się trzy diody na arduino – L, Tx, Rx (nie jednocześnie).
Tylko, że w głównym folderze biblioteki CAN, są jakieś poprawki naniesione i są dwa pliki podrzędne z rozszerzeniem .h Example odnoszą się do pliku „mcp_can.h”, który powstał wcześniej. Plik „mcp_can_dfs.h” powstał miesiąc później, tak jak i plik nadrzędny o rozszerzeniu .cpp Jednak zarówno on jak i example odnoszą się do pliku starszego „mcp_can.h”. W tym „mcp_can_dfs.h” są inne informacje. Nie wiem co z tym zrobić? Ten example, który dodałam też się odnosił do tego pliku wcześniejszego. W pliku „mcp_can_dfs.h” są jakieś odniesienia do jakiś rejestrów, nie widzę tego w pliku .cpp Jeszcze popatrzę jutro, ale raczej nie wpadnę na to, co z tym zrobić.
No, kiepsko, bo trzeba pisać example do tych bibliotek. One są jakby programami. Nie można raczej ode mnie oczekiwać, że coś takiego napiszę… Nawet, nadal nie wiem jak policzyć CRC CAN. Mniej więcej wiem, co chcę zobaczyć. Jednak za dużo rzeczy widzę pierwszy raz.
Szczerze mówiąc też mi przeszkadza w wyobrażeniu to, że nie mogę zobaczyć zwrotnych informacji. Możecie mi pokazać jakoś?
Zobaczenie innych protokołów w scanlogic jest mi potrzebne, żeby wyobrazić sobie jak to razem działa. Chyba muszę zobaczyć. Nie mogę wyobrazić sobie eepromu. Tzn. widziałam z ECU GT, ale nie potrafię wyobrazić sobie tego w powiązaniu z komunikacją. Ale jak mi pokażecie to odpuszczę może.
- Jutro otworzę scanlogic i zobaczę, co jest w środku. Może jak będzie podłączony i będzie pracował, to sam z siebie zdejmie jakieś sygnały. A może to głupi pomysł, ale jest późno, Dzisiaj nic już nie widzę.
- mam też mysza bezprzewodowego, może on ma eeprom wewnętrzny? Tylko, nie wiem, czy go się da otworzyć.
- Nie mam jeszcze GT, więc skończę jakoś TSa, bo nie wiem, czy przypadkiem za wolny przepływ info na K-line nie może być przyczyną tego, że ECU nie odpowiada? Że może nastawnik reaguje z opóźnieniem.
- CRC dla CAN pomin, szkoda czasu.
- eeprom dla GT, myszy pomijamy , szkoda czasu.
- prawdziwy problem jest w GT, jej magistrali CAN, na tym bym się skupił i na stworzeniu sobie laboratorium CAN, magistrali do testów.
- pamiętaj tylko że aby był ACK musi byc w sieci drugi moduł do kontroli ACK., modern soft tego nie robi.
- inaczej twój nadajnik bedzie nadawał jedno i to samo w kółko. !!!, nie bedzie miał potwierdzenia że wysłał ramki dobrze.
- ja robiłem magistralę w ten sposób że miałem dwa arduino z can shieldem.
- jeden odbierał wszystko co leci, a drugi był do testów.
- zrezygnowałem tylko z monitora szeregowego z arduino, poniewaz funkcje tego monitora sa dość skape.
- w to miejsce użyłem terminala v1.9b 20100630B by Br@y++.
- kod example nie bedzie działał jesli nie masz shielda dla CAN.
- jest podglad tego co robi program, uruchamiasz monitor szeregowy, wcześniej wybierz numer portu szeregowego, jak bedzie zle arduino poda komuniakat.
- ponizej urywek programu i takie komunikaty beda na monitorze szeregowym.
Cytat:
stan = CAN0.sendMsgBuf(0x18DA10F1, 1, 8, stmp);
Serial.print(" 1 stan: ");
Serial.print(stan, BIN);
delay(t);
stan = CAN0.sendMsgBuf(0x18DAF110, 1, 8, stmp);
Serial.print(" 2 stan: ");
Serial.print(stan, HEX);
delay(t);
Dzięki.
Elektryk pomylił przewody w lampie i świeciły odwrotnie światła. W ten oto sposób wciąż czekam…
W scanlogic2 jest ATMEGA168PA-AU 1323, ale buntuje się jak chce się, żeby sam sobie czytał z siebie dane, podczas odbierania danych z modrensofta. Pokazuje stałe napięcia. Oscyloskop pokazywał zmienny przebieg na jednym pinie. Ale odpuściłam, tak to się raczej nie da.
Z modrensofta to nie chcę rezygnować. Już tyle z tymi zwarciami miałam i skoro jakoś dał się poskromić, to nie chcę zrezygnować. Inna sprawa, że program producent powinien poprawić. Bo jak ja widzę pasek do nadawania, to myślę, że będzie w różnym czasie nadawał ramki, a on nadaje cały czas tak samo, co widać w oscylogramach. Ta opcja nie działa,
- Modersoft chyba nadaje z ACK == 1. No chyba, że scanlogic potwierdza?
Właściwie w GT, to ja nie mam multisesji. Tam nie ma na co zakładać maski. Najwyżej można filtrować. Tylko, że shield jest dla CAN 2.0B, a nie 2.0A… Może w GT nie zadziałać, albo będzie trzeba coś zrobić, jeśli to jest możliwe.
- Tak, czy owak, wiedząc to wszystko, na razie zamówiłam jeden shield z seedstudio, ze względu na zacisk dla can h i l. Po prostu wiem, jak je podłączyć bezpośrednio. Jak się nie da 2.0A, to najwyżej w domu popatrzę. A jak nie, to będzie do kolejnego samochodu. Gdyby coś wyszło zamówię drugi, może ten sparkfun. Arduino drugie to nie wiem. Może można jednak go sklonować na płytkę i jakoś podłączyć drugiego shiekda. Nie wiem, ale skoro mam płytkę, to można chyba spróbować. Na razie muszę zobaczyć, czy w ogóle to zadziała.
- czy można na płytce zwiększyć bufor w scanlogic2 używając płytki?
Terminal z linku nie działa u mnie jak należy, zawiesza się. Jakieś ma takie przerwy. Nie można swobodnie korzystać z opcji, które ma.
- nie ma danych to testy są jakie są, wyświetla na początku …library filed…
- W terminalach, to raz mi się pojawiały Data == puste, a czasem pokazywały się dane fałszywe. A czasem same ID. Ale z tego widzę, że pokazuje 15 bajtów, czyli 7 – innych niż dane. Czy tam będzie odczyt CRC – nie wiem. Niemniej jednak nie sprawdza czy jest ono poprawne. Nie można tego zdefiniować, nawet jakby się umiało, skoro nie wie się jak policzyć. ACK – nie pokazuje. I nie wiem, czy pokaże, bo jak dwa shieldy podłączyć to jeden będzie chyba nadawał, a drugi odbierał?
- prędkość na comie, w example i terminalu zmieniłam na 38400 i pokazywał jakieś tam dane fałszywe. Jednak jak się example ładuje, to wyświetla prędkość 11500 – jako dane, wbudowane, konfiguracyjne, zapisane w pliku .config, którego otworzyć nie można. Może być więc z tym kiepsko.
- zmieniłam HEX na BIN dla ID i data. Można sobie wyobrazić wykres.
- zrobiłam skrócony zapis ID ext.
- INT8U – w pliku .h czy. i .cpp jest == 0 dla standard, a i tak wyświetlał extended, czasem pokazał standard – jak wywaliłam maskę dla ID i zostawiłam filtr dla jednego 0x7C0, czy 0x186, to pokazywał naprzemiennie z extended.
--- nie wiem co z tym zrobić. Muszę dokładnie przeczytać bibliotekę. No, niestety, muszę poczytać. Bez podłączenia to nie wiem, jak to będzie. Powinien pokazywać ramki standard, ale chyba dla innego niż w GT standardu.
- tak, jak modernsoft – pamięta ostatnie ramki i trzeba go resetować przez wyłączenie. Przynajmniej tak bez sygnałów żadnych.
Nie wiem, co z tego wyjdzie. Będzie trudno.
Na dodatek mam kłopot z tymi pinami na arduino, jakby chcieć bez shielda coś podłączać, np.: adapter CAN. Są zdefiniowane w plikach arduino, ale nie widzę tego na razie. Muszę zobaczyć napięcia.
Załącznik 134645
piny w arduino Uno R3....
Dziękuję. Ale musiałam zobaczyć napięcia. Teraz mogę sobie częściowo wyobrazić. Najpierw sprawdzałam oscyloskopem, a potem przechwytywałam sygnały przez scanlogic2.
- oscylogramów nie rejestrowałam, bo były kiepskiej jakości, ze względu na 250kHZ max.
Jak jest tylko podłączony to są stałe napięcia, różne od 0 do 5V. Trzeba uruchomić jakieś example, aby pokazały się zmiany w przebiegach.
Uruchamiałam:
- SPI czujnik ciśnienia,
- SPI dig.pot.contr – przy czym tutaj miało być napięcie 5V na wszystkich A podane i GND na wszystkich B. Tego nie zrobiłam.
- CAN – receive, receive mask, send.
- łapałam przebiegi podczas inicjacji program, gdzie scanlogic czekał na wyzwolenie I potem jak już szło nadawanie.
- Za wyjątkiem example czujnik, gdzie CS było na p.7, to brałam CS z nóżki ATMEGA, albo z innego pinu, na którym nie było CS.
- ostatnie zapisy CAN są z wyjść dla USB i pierwsze inne SPI, pozostałe z tego dla ATMEGA.
- zapomniałam o pinie 10. Pin 10 i 2 chyba się przewijają w plikach dla CAN, ale nie pamiętam.
Tylko, że nie było MISO, bo chyba nic nie było podłączone, albo trzeba było ustawić MISO na wyjście w scanlogic2, np.: podczas example nadawania CAN? Tego nie sprawdziłam. Bez MISO to się nie da dekodować poprawnie SPI.
Ale i tak nie wiem na ten moment jak podłączyć na próbę adapter, bo nie wiem jak MOSI, MISO, CLK są skonfigurowane, są też resety. Jak czytałam normalnie MOSI to wejście danych, a MISO wyjście. Gdyby tak było to sygnał przerobiony CAN powinnam nadać na wejście – MOSI? Ale bezpośrednio ze scanlogic, bo przez adapter się nie da. Przez adapter mogę tylko coś odebrać. To się chyba nie da jednak... Nie będę eksperymetować, muszę zobaczyć napięcia z shielda. W GT mam przecież C-CAN, tam jest inny standard choć nie extended. Może chociaż to złapie.
Nie wiem na ile sygnały są poprawne, bo nie mam takich specjalnych przewodzików z końcówkami, które pasują do tych wyjść/wejść na arduino. Dlatego używałam takiego grzebienia jakby, który był w zestawie. Ale trzeba było trzymać, bo jak chwytaczki były podłączone, to nie stykał dobrze. Grzebyczek jest raczej dla płytki.
Obejrzałam wszystkie elementy z zestawu, ale niektóre to nie wiem, czym są. Jak mam je znaleźć w sieci to nie wiem. Musze wiedzieć co za elementy mam…
Najgorzej, że gdzieś przeczytałam, że jak są podłączone dwa shieldy to może istnieć konieczność usunięcia R3 i czegoś jeszcze. To by mnie jednak przerosło… Bubu – czy musiałeś coś usuwać z shieldów?
I2C nie patrzyłam.
Załącznik 134747
- R3 to chyba opornik 120 Om, terminator magistrali.
- na shieldzie musi być przełacznik do jego wyłaczenia lub zworka z do odłaczenia tego oporu.
- magistrala 50 kbps nie musi byc terminowana oporem.
- prędkośc 500kbps juz niestety wymaga tego oporu.
- ja to nie kombinuję tylko patrzę czy jest transmisja jak jej nie ma to zdejmuje jeden opornik.
Może rzeczywiście nie dam rady…
Ten przełącznik to jest wg opisu power switch, ale wydaje mi się, że jego włączenie/ wyłączenie nic nie dawało. Ale za bardzo tym się nie zajmowałam. Rejestrowałam na ON.
- dla GT i tym podobnych usuwają oporniki. I GT modernsoft zwiera na B-CAN…
- R3 lub P1. Co to jest P1?
Jest połączenie.
Ale, no, nie wiem, co napisać…
Pokazuje zupełnie inaczej na terminalu niż jak nic nie było podłączone, pokazuje jak modernsoft ID, DLC i data. Jak się przełączy na Hex to długi ciąg liczb, a to już dzisiaj nie mam siły na to patrzeć. Czemu wcześniej pokazywał 15 bajtów danych? Może modernsoft tak nadaje i dlatego? Rozczarowało mnie to, bo pomyślałam, że pokaże 15 bajtów, akurat tych co są potrzebne…
- czemu tak pokazywał?
Opcja paska w modernsoft działa jak jest jest podłączony do shielda. Widać to i w oscylogramach, i na terminalu. W samochodzie nie pamiętam jak było. A scanlogic2 – inaczej dane odbiera i inaczej wysyła. Zawsze był błąd albo odbiornika albo nadajnika. Widocznie modernsoft czyta z kontrolera bezpośrednio tak poprawnie. Ale potrafi też inaczej, z napięć może.
Udało mi się odebrać dane z modernsofta, ale wysłać mi się nie udało. Chyba nie wiem jak.
Nie wiem jak zapisać to co zarejestruje na terminalu. Tylko potrafiłam skopiować.
I2C – to na „A in” nie było napięcia, a z tymi I2C (SCL, SDA) to nie ma połączenia shield. Ma połączenie jedynie z AREF i to jest chyba coś do I2C, ale tam też nie było napięcia.
Podczas odbierania pali LED dla Tx, Rx – obie. Modrnsoft nic nie odbierał mimo, że były zmiany na MOSI i MISO. I mimo tego, że nadawał wszystkie ramki, a nie tylko jedną. Podczas nadawania (uruchomienia example) nie pali LEDów, a jak były wcześniej zapalone to je gasi. Nie ma też wtedy info na SPI.
Problem jest w tych example, one są raczej do poprawienia, mało pokazują. Nic, poczytam sobie jeszcze.
Nad SPI to się muszę zastanowić, ale może pokazuje adresy ATM328 w odniesieniu do wyjść/wejść, co tam jest połączone. Widać, też zmianę "aktywności' na MISO zależnie, czy idzie sygnał, czy nie. Musi zapytanie wypaść na dole napięciowym CS, chyba. Może powinno się ustawić dekoder dla SPI na DEC - wtedy pokazywałby od 0 - 255? Można dekodować, jak nie ma wszystkich linii, scanlogic2 pozwala nie uwzględniać MISO lub MOSI, lub CS.
Taka pierwsza próba, sam shield podłączony i CAN modernsoft –can shield + scanlogic2 w międzyczasie na SPI.
Załącznik 134905
R3 jest podczepiony do VCC. Tylko, że jak zmieniam pozycję przełącznika na OFF, to na VCC na złączu SPI dla AT328 jest tak samo, 5V. Nic się nie dzieje.
Jak na razie to udało mi się wysłać ramki jakie chciałam z shielda do modernsofta. Mam opóźnienie, bo musiałam na trochę przerwać testy, a potem udręczył mnie terminal… Zawiesił się tak, że w ogóle nie widział coma na starcie, pisał, że „is not a valid ineger value” i trwał w jakimś uruchomionym skrypcie. Nic nie dawało ponowne wgrywanie. Ostatecznie musiałam przywrócić system do wcześniejszego i poczekać, aż zainstaluje 15 aktualizacji… Ale teraz działa poprawnie, przynajmniej w zakresie, jakim go używałam, czyli małym. Choć trzeba z nim się obchodzić jak z modernsoftem i o kilku rzeczach pamiętać, ale działa.
- zapisałam do pliku, ale tworzy plik w java script.
Z tym, że w ten sposób wysylając ramki CAN, to trzaba wklepać wszystkie możliwe ramki… Z terminala bezpośrednio mi się nie udało nic wysłać. Jak wysłać z terminala?
- mam problem taki, że nie potrafię zrobić tak, żeby pokazywał ramki, które wysyła na terminalu. Pokazuje tylkokomunikat CAN init OK! co jest zadeklarowane w serial.print. Nie wiem jak ustawić serial.print, tak, żeby pokazywał co wysyła. Mam problem na początek z wyjściem cyfrowym. W receive jest ustawiony pin 2 jako input, a w send nie wiem co ustawić. W receive na pinie 2 cyfrowym (opisanym jako 1 == Tx, na shieldzie i arduino, mam ramki CAN w oscyloskopie). A w czasie wysyłania nie mam ramek CAN na żadnym pinie cyfrowym, ani żadnym innym – są na nóżkach MCP2515, z drugiej strony niż jak się odbiera. Dlatego mam problem, jak ustawić output, o ile tak trzeba zrobić. Na tym niby 2 input dla receive mam podczas wysyłania ramek napięcie wysokie. Jak to zrobić?
- wydaje mi się, że w bibliotece są zapisy dla read i write CAN, ale nie rozumiem tego do końca. Jeszcze poczytam może, choć nad czymś takim ciężko się skoncentrować…
Z receive to zaczęłam od początku, bez masek i filtrów, tak by łapała wszystko po jakimś swoim filtrze. Patrzyłam na standard. Mam pytanie – RTR – w standard i extended jest chyba inne (nie pamiętam). Jak zrobić, żeby filtrował wszystie przez RTR? No, niby jakoś filtruje jak pokazuje wszystkie, ale nie ma w example nic o RTR.
- pokazuje w BIN i skrócone ext ID, jak mu zamienić. Tylko, że tam jest napisane w receive.mask, że jak data bits jest mniejsze od 10 to ma wstawiać 0. Nie wiem, czy to robi, bo nie zmieniłam liczby bitów, w stosunku do zadanych. Próbowałam podczas nadawania definiować inną liczbę bitów niż była rzeczywiście (większą), ale wstawiał jakieś swoje wartości, a nie zera. Czemu?
Modernsoft wysyła ramki 500k i shield je odbiera, natomiast ramek 500k nie mogę wysłać do modernsofta – wyrzuca błąd na odbiorniku, a shield się zawiesza – trwale zapala mocno ledy Rx i TX jednocześnie.
Jeśli chodzi o to, że modersoft nadaje do shielda całe pakiety ramek i nie zapetla się na jednej, to nadal tego nie rozumiem. Wg oscyloskopu nie ma potwierdzenia odebrania wiadomości – ostatni bit nie jest wyższy/niższy. Na to wygląda, że coś „wyłącza” ponowną transmisję ramki w modernsofcie. Shield też nadaje wszystkie, więc to się też wyłącza, bo modersoft nie odbiera wtedy nic. Czemu tak jest?
Da się w ogóle pokazać więcej danych niż ID, DLC i DATA? Czy to ma związek z tym INT8U? Czy to można zmienić na INT16 lub 32U, i czy to coś zmieni?
Znalazłam taki, kosztuje 25 PLN i wiem jak go podłączyć do arduino po SPI. Zastanawiam się, czy taki może kupić drugi, czy kupić kontroler i transceiver i spróbować ułozyć to na płytce, wraz z AT328. Ale w sumie może być drożej, i nie ma gwarancji, że się uda. Jak myślicie?
http://arduinosolutions.com/pl/p/Mod...15-TJA1050/812
GT powinnam odebrać w piątek, może wtedy będę mogła zobaczyć już w samochodzie. Z tym, że aby odebrał wszystkie moduły na raz trzeba mu wysłać powitalne komunikaty, połączyć się z nimi. Czy to się da bez interfejsu, tylko poprzez shield? Jak to zrobić?
Na razie tylko tyle. Zamieszczam example - send i zapisy do pliku z terminala. Będę sprawdzać scanlogic2 i oscyloskopem jednocześnie sygnały podczas nadawania i odbierania, aby wyłapać różnice, albo zobaczyć ciekawe zjawiska, przydatne diagnostycznie? Wtedy wszystko udokumentuję, a nic pewnie już nie napiszę.
Generalnie, skoro już opracowaliście example, to może możecie mi je pokazać? No, skoro ja sobie nie radzę.
Załącznik 135339
- no sample to wartośc intelektualna, nie ma co pokazywać.
- ale coś wygrzebię.
- a ten moduł za 29 zł to ma taki feler że kwarc ma 8 Mhz, powinien miec 16 Mhz.
- czyli jak pracujemy na 50 kbps to kwarc ustawiamy na 100 Khz, , praca na 500kbps, kwarc na 1 Mhz.
- takie własnie moduły używam, małe poręczne z łączówka na opornik magistrali 120 Om..
Dobrze, pomyślę jeszcze, nad tym co napisałeś, ale wpierw chcę zarejestrować sygnały na tym co mam. Na raz to nie dam rady czytać, pisać i eksperymentować. Muszę patrzeć po kolei.
-----------------------------
A takie pytania inne. Wolę zapytać, jednak. Ten moduł zasilania – gdyby pasował do mojej płytki, to załatwiłby zasilanie oraz USB? Potrzebny będzie drugi COM, inaczej się zbuntują.
http://arduinosolutions.com/pl/p/Mod...35V-HY-D07/976
Czy te przewody pasują do wtyków na shieldzie, na wejściach/wyjściach?
http://arduinosolutions.com/pl/p/Prz...ie-75sztuk/318
Sam kontroler AT328. Znalazłam dwa. Czy ten pierwszy jest już zaprogramowany, tylko do wsadzenia na płytkę? Czy wręcz tylko tego zaprogramuję poprzez ISP?
http://www.tme.eu/pl/details/a000048...bootlaoder-u/#
http://www.tme.eu/pl/details/atmega3...vr-tht/atmel/#
Wiesz na shieldzie jest jeszcze wyjście/wejście, chyba UART - serial i I2C, tam niżej SPI, na dziwne łączówki. Bo stamtąd idą dróżki chyba 4, do pin 1 == Tx, z serial. To nie na tym pinie patrzyłam. To są wyjścia? Na co? Tylko, że…. No nic. Zarejestruję. Na 2 i 3, raczej idą dróżki z kontrolera CAN. Tak sobie myślę, że bez zrozumienia tych innych protokołów, to się nie da.
Niepokoi mnie to co pokazuje terminal, że inaczej niż scanlogic2 i modernsoft, to samo – jedne uważają za ASCII, a inne za Hex.
Mam inną płytkę niestety. W sumie to nie muszę mieć tego drugiego na płytce, ale może coś się nauczę. Poza tym chcę zobaczyć inne protokoły, a tak można chyba zobaczyć I2C. Na razie nie jestem gotowa, mam inne rzeczy niejasne. Ale mogę się przymierzyć przecież, jeśli mi pomożecie.
Po kolei, z tego co mam, pierwsza próba – send i receive dla wszystkich. Piny 0,1,2,3, 2-Serial, MCP51 – piny sygnałowe (moja numeracja jest odwrotna, teraz spojrzałam na schemat – moje p2 i p3 == p6 i p7 oraz moje p5 i p8 == 4 i 1), piny z wyjścia na interfejs w możliwej korelacji z SPI. Co najmniej jeden kanał za mało w scanlogic.
- przepraszam, mogą być niekiedy pomylone opisy kanałów w scanlogic, ale widać kiedy nie zmieniłam.
- send – to wg mnie tam czasem jest nieprawidłowa transmisja CAN mimo, że info są wysyłane i odbierane przez modernsofta. Ale zobaczcie sami.
- myślę, widzę, że powinien pokazać więcej danych, ale jak to mu nakazać…
- Example mam liche, a nie wiem, czy dam radę coś wymyślić. Spróbować, spróbuję, poczytam, ale co z tego wyjdzie, to nie wiem. To są same liczby, kody których nie znam… Wolę przebiegi i oscylogramy, łatwiej mi się „czyta” tą bibliotekę z przebiegów.
- nie jestem gotowa, aby ruszyć z tym do GT.
Nic więcej nie napiszę, poczekam na wskazówki. Może jednak coś wrzucicie, aby było mi łatwiej z example? Wiem, że bubu wrzucił coś z tym serial. print, ale na razie nie rozumiem tego. Nie skorzystałam też do końca z linków, które wrzucił euroscan. Pomyślę.
Załącznik 135454
Jak ustawić dobrą prędkość to robi sobie ASCII, z czytania po UART. Czasem to widać, choć testy nie do końca mi się udały. Będę powtarzać jak będę może więcej wiedzieć.
- Pokazuje poprzez UART to o co jest pytany, ale jak zapytać o coś innego to na razie nie wiem.
- w kwestii HEX i to ASCII, to z czego liczyć CRC?
Na razie koncentrowałam się na „send”, aby na terminalu było widać co wysyłam. Dlatego tylko „send” i tylko tyle. Bez dodatkowych danych, te co miał zdeklarowane. I bez masek i filtrów. Nie jest mi łatwo się w tym jednak odnaleźć. „Receive” nie zdążyłam ruszyć.
- jeśli nadawać kilka ramek to z jakiegoś powodu modernsoft mieszał mi ID z danymi ramki, na terminalu było poprawnie. Mam nadzieję, że w samochodzie nie mieszał.
- na terminalu od Was dane mi się rozjeżdżają, nie umiem tego ustawić. Mogłam patrzeć tylko na terminalu ardurino.
- t mi się dziwnie zachowuje?
- co to są te interrupt 0 i 1?
- czy można podłączyć drugiego ardurino z shieldem (lub wariant z płytką) poprzez wyjścia analogowe?
- czy można wysłać dane wprost z terminala i jak?
- Co poprawić?
Bez katalogów się nie otwiera, dlatego poprawiałam.
Załącznik 135888
- send_terminal_ext_std3 w wierszu 141 ma byc data3[] a nie data2.
- ponżzej sniffer do odbioru z magistrali CAN, korzysta z masek dla Ext i normal.
- musi mieć shield CAN z mcp2551, mcp2515.
Hey , ja wrzucę , bo siedzę i główkuję co jej jest i mam wyniki - u mnie wymiana na druga przepustnicę i objawy te same - stale - reszta OK ( tak mi się wydaje , ale może dzięki temu tu czegoś się dowiem )Robione programem FES, full version. Dziwi mnie różny przebieg km w porównaniu silnik - wskaźnik ok 60 tyś. Jakby ktoś coś zauważył i miał sugestie to poproszę.
Jeździ, czy gaśnie 2 minuty po odpaleniu? Bez tej info cała reszta jest na wyrost.
- Nie ma się co dziwić, normalnie albo ECU zostało zmienione, albo liczydło. Ostatecznie nic nie jest wieczne. Ja np.: mam teraz więcej na liczydle, a mniej na ECU, przez wzgląd na zamiany sterowników. Jak wreszcie gad zostanie naprawiony i przestanie być obiektem testowym, wtedy zrobię z tym porządek. Na razie jest mi to obojętne.
- Zrzuty - trudno powiedzieć. Ja inaczej sprawdzam samochód i zwykle załączam logi txt oraz z jazdy, i robię inne badania. Czasem z ciekawości, czasem dla wiedzy, a czasem, bo muszę.
- W sytuacji, gdy samochód jest po resecie lub po odłączeniu akumulatora to nie bardzo jest możliwe ocenienie czegokolwiek, chyba, że b. dobrze znasz samochód. Chyba, że takie są wartości p.a. po jeździe?
Takie błędy TP miałam, chyba jeden (zapamiętane) po drugi otwarciu silnika. To był raczej efekt jakiś prób mechanika. W takiej sytuacji obserwowałam. Błąd nie powrócił, a z obrotami nic się nie działo.
- ważne są warunki powstania błędu, gdyby błąd miał charakter powtarzający się. Tzn.: na jakich rpm. ECU poprzez TP koryguje MM na podstawie danych, które odczyta z MAF, etc i tak może to robić do 3000 rpm i powyżej 3000 rpm, zależnie od usterki.
- w TSie jak mi pękł katalizator, wtedy pojawiał mi się okresowo błąd nastawnika. Po wymianie katalizatora się już nie pojawił. Podejrzewałam katalizator min. dlatego, że rpm zatrzymywała na ok. 4000 rpm w teście na postoju, ale otwierał TP poprawnie, a MAF do momentu, gdy się wkręcała dawał poprawne zakresy napięciowo-przepływowe. Jak zachowa się TP elektroniczna w JTS, przy zatkanym katalizatorze, to nie wiem, ale pewnie jak będzie cofało spaliny to nie pozostanie bez wpływu na pracę silnika i dolotu.
- w JTS są sondy za katalizatorem – można zrobić test. Scanxl oraz scanmaster mają też monitory dla katalizatora. Na zrzucie na jednym masz post-cat == 0.03 a na drugim 0,33. Nie wiem czemu? Musisz dać przebieg w czasie, albo dane liczbowe w czasie.
- samą TP można badać oscyloskopem. Badałam – są wykresy prądowe i napięciowe. Nie zbierałam tylko sygnałów cyfrowych. Możliwe, że to jednak nie ma sensu.
Pooglądaj sobie logi z JTSów, które są w wątku. A jak Ci się nie chce, to nic nie poradzę.
- ja idę swoją drogą poznawczą, badania zjawisk, bo nie tyle nawet, że wierzę, ale wiem już, że to ma sens.
- na razie mam problem z wdrożeniem w example tego co widzę w bibliotece, dlatego czytam i próbuję na oślep. Teoretycznie tam są funkcje, które pozwalają na coś więcej, ale w praktyce nie umiem ich wdrożyć. Program nie działa, wrzucę jak coś zadziała. Też mam problem z tym, że ciężko sprawdzać, jeśli modernsoft, albo tylko odbiera, albo nadaje.
Za wiele nie udało mi się zrobić. Bo też nie jestem informatykiem i w ogóle mi nie idzie z tymi example.
- modernsoft odbiera i nadaje, ale co innego nadaje i odbiera.
---- poza tym przy send nie wiem jak zrobić, żeby nie wstawiał sobie wartości do 8, z kolejnych data, jeśli data jest różne od 8.
--- a też mam problem z terminalem arduino. Bo shield nadaje na raz wszystkie wiadomości, które chcę i to widać. Jednak po każdym pakiecie odbiera tylko jedną wiadomość, którą nadał modernsoft.
- maski i filtry, ale tak sobie mi to wyszło.
---- filtruje, ale albo std albo ext. Bo chyba modernsoft umie nadać albo std albo ext.
---- mam też kłopot z std, bo nie daje mi się ustawić na 7B0 i tylko łapie 7Cx… albo wszystkie łącznie z ext przerobionymi na ID std.
---- ext – mogę zmienić, aby filtrował sobie niektóre, jeśli wprowadzę zmienę na num > xx
---- jeśli cokolwiek zmienię w void setup, przed maskami i filtrami, nawet dodam serial print – to przestaje mi działać.
---- to tak sobie jest. Wiem, że muszę zainicjować bufory Rx i zastosować funkcję, tak by z nich korzystać. Ale póki co nie udało mi się to.
- ten sam problem mam z RTR, w sumie z funkcjami private z biblioteki. Nie potrafię uaktywnić setCTRL, ustawić resetu, ustawić rate, etc…
Możecie mi coś jednak podpowiedzieć? Ciężko mi będzie samej ustalić, gdzie popełniam błędy.
Załącznik 137306
Na razie mała przerwa z CAN.
Logi z jazdy – GTJTS:
- temp. oleju, na dłuższych odcinkach:
---- przy stałej jeździe na 3000 rpm dochodzi do 118st
---- w jeździe miejsko-mieszanej – różnie od 110 – 118st.
---- na 2000 rpm w stałej jeździe temp. oleju spada.
---- nie wiem, czy zrobię testy na 5000 rpm, ponieważ w czasie zbierania logów nr 2 z przejazdu dzisiejszego - temp. oleju przekroczyła 120st i zegar zapalił lamkę. Tam tylko dwa razy przyspieszałam na b.5 od 3000-4000 rpm i kawałek jechałam na 4000 rpm. Potem zatrzymałam samochód i do końca temp. była między 110 – 118 st.
- olej wymieniałam w zeszłym tygodniu po 5kkm, więc jest nowy. Zrobiłam na nim może 600 – 700 km.
- zrobię jeszcze jedną próbę, bo się nie przyłożyłam, chciałam zobaczyć więcej, ale jak temp. oleju będzie tak samo oscylowała, to zrezygnuję.
- jak to tak ma być, to nie wiem, czy nie należy rozważyć montażu chłodniczki oleju, z disla. O ile się da.
W jednym logu zerują się parametry, wystąpiło nieoczekiwane zwarcie linii CAN - licznik wszystko wyzerował na ten czas, oprócz licznika przebiegu.
Załącznik 138440
- w logach dziwne dla mnie była wartość Wentylator I - aktywny na postoju, ale potem widzę że się wyłączył.
- czy wentylator II jest czynny, pytam ponieważ widzę temperaturę wody zawsze prawie na poziomie 98 st C.(czy to tylko z powodu lata)
- błędy: P0420, P1173 oraz P0301, czyli to co było poprzednio.
- teraz tylko doszła ta temperatura oleju.
- poniżej zrzut z pracy sond lambda po katalizatorze, widac w torze sondy I dlaczego powstaje błąd wypadania zapłonu P0301.