-
Doświadczony Użytkownik
DIY Interfejs ADS (prawie) za darmo!
Witajcie,
przymierzam się do zbudowania prostego interfejsu ADS do diagnozy INPA + DIS.
Jak wiecie, interfejs ten ma taką cechę, że jest podłączany bezpośrednio do portu COM.
Dodatkowo chciałem sobie taki jeden interfejs zostawić na stałe w aucie i wyprowadzić kabel szeregowy wewnątrz samochodu. USB już mi się uprzykrzyło. Często zdarza się, że wystarczy dotknąć kablem i transmisja umiera. Pomaga jedynie restart komputera.
No, ale do rzeczy.
Założenia są takie:
1. żeby była to maksymalnie uproszczona konstrukcja
2. żeby kosztowała (bez wtyczek) góra 10 zł (sic!)
3. żeby była do wykonania dla średnio-zaawansowanego konstruktora
4. żeby projekt oraz schemat był dostępny nieodpłatnie
Póki co skombinowałem schemat na 9 tranzystorach i 17 rezystorach.
Dzisiaj udało mi się porobić projekt płytki drukowanej (PCB).
Zdjęcie prototypu poniżej:
Załącznik 3541
Wymiary płytki to około 6,5cm x 3,5 cm
Wiem, że straszna plątanina ścieżek, ale mimo wszystko prądowi jest wsio-ryba czy skręca 8 czy 15 razy :-) Ma działać i tyle. Oglądać ścieżek nie ma nikt poza konstruktorem. W dodatku nie dałem rady na jednej warstwie dwóm ścieżynkom. I niestety będą dwa mostki.
Ostatnio edytowane przez brunoz ; 19-09-2011 o 15:09
Nein! Mein Schnitzel!
-
Doświadczony Użytkownik
Daj znac jak juz ogarniesz cos kobkretnego
-
Doświadczony Użytkownik
Dzisiaj dopracowałem wizualnie schemat i płytkę drukowaną.
Jak już wspomniałem, chcę, żeby projekt pozostał darmowy dla wszystkich (mówię o wiedzy a nie o częściach), dlatego publikuję poniżej moje wyczyny.
Schemat ideowy
Załącznik 3552
prototyp 'A' płytki drukowanej
Załącznik 3553
Jakość obrazków musiałem mocno zdegradować bo mam mało miejsca na profilu. Szkoda...
Lista komponentów
8x BC548 tranzystor NPN
1x BC559 tranzystor PNP
(właśc. to mogą być dowolne tranzystory o odpowiedniej polaryzacji np. 2N3904 i 2N3906)
7x 2,2 kΩ
2x 4,7 kΩ
1x 47 kΩ
2x 10 kΩ
1x 20 kΩ
1x 22 kΩ
3x 1 kΩ
Lokalizacje komponentów
T1 BC559
T2 BC548
T3 BC548
T4 BC548
T5 BC548
T6 BC548
T7 BC548
T8 BC548
T9 BC548
R1 2k2
R2 4k7
R3 47k
R4 10k
R5 20k
R6 22k
R7 2k2
R8 1k
R9 2k2
R10 2k2
R11 1k
R12 2k2
R13 2k2
R14 2k2
R15 1k
R16 10k
R17 4k7
I teraz najlepsze:
Koszty elementów dyskretnych
Tranzystory 9 x 0,15 zł = 1,35 zł
Rezystory 17 = 0,05 zł = 0,85 zł
SUMA = 2,20 zł
Doliczyć należy koszty cyny do lutowania (jakieś 0,20 zł)
koszt zrobienia sobie płytki drukowanej (jakiś 1 zł)
amortyzację wytrawiacza (jakieś 1 zł)
Jeśli ktoś ma takie rzeczy jak mini-wiertarkę do PCB, wiertełko 0,8mm, lutownicę, wytrawiacz, kuwetę itp. to koszty samego interfejsu zamykają się w 4,50 zł (!)
A jeśli jest się zupełnym novi, to niestety, dochodzą koszty wyposażenia warsztatu :-D
Bezpieczniej zatem będzie zlecić firmie za 10 zł przygotowanie za nas płytki. Mimo wszystko nadal opłaca się to.
Pozostaje pytanie, skąd zdobyć wtyczkę diagnostyczną oraz kabel szeregowy. Na ballegro okrągłe wtyczki do BMW 'chodzą' po 10-15 zł. A kabel szeregowy lub kabel od sieci komputerowej (2-3m za 3-4 zł) plus wtyczka DB9 za 2 zł.
Łącznie całkowity koszt budowy zestawu po najmniejszej linii oporu, tj. kupując przygotowaną płytkę oraz wszystkie komponenty:
Elementy dyskretne = 2,20 zł
Płytka drukowana = 10 zł
Wtyczki i kable = 20 zł
Obudowa uniwersalna = 5-10 zł
SUMA = 37,20 zł (nie licząc kosztów przesyłki poszczególnych komponentów)
Widać, że najwięcej kosztują obudowa, wtyczki i transport elementów. Ja natomiast mam większość z tych rzeczy dostępne a wtyczkę BMW zrobię sobie samemu z płytki drukowanej i kilku bolcy lub będę wtykał kabelki w gniazdo w aucie (przynajmniej na początku w ramach testów).
Gdyby spróbować znaleźć wielu chętnych, to koszty pojedynczego egzemplarza spadają do zdecydowanie niższych i można by założyć, że taki gotowy interfejs mógłby kosztować przy 100 egzemplarzach jakieś 30 zł za sztukę.
Nie wiem czy zdążę w robocie pobawić się w nadruk na miedź, ale postaram się :-)
Zaznaczam, że jest to prototyp i nie mam absolutnie żadnych gwarancji, że zadziała.
Ostatnio edytowane przez brunoz ; 20-09-2011 o 13:18
Nein! Mein Schnitzel!
-
Vip
Vip
Ten schemat sam wymyśliłeś czy to kopie czegoś? To się wydaje trochę za proste. Budowałem kiedyś euroscan pod visa 1.83. Mam ads i w środku jest zdecydowanie więcej elementów. Mam głupiego vaga na maxie i inne kabelki ale żeby kilka tranzystorków wystarczyło to jestem ciekaw. Ja na Twoim miejscu zaczą bym od poszukiwania dokumentacji ads a nie marnowania czasu na własnych patentach. W ads jest mały procek który coś tam robi. Tymi tranzystorkami raczej go nie zastąpisz.
Pomysł z gniazdem w środku ciekawy. Zawsze mnie wku... to bezmyślne obsadzenie gniazda pod maska tym bardziej że często jeżdżę z kompem.
Ostatnio edytowane przez seban123 ; 20-09-2011 o 17:24
-
Doświadczony Użytkownik
Taki układ mógł bym sobie bezproblemowo wykonać gdyż jakąś tam wiedze w zakresie elektroniki mam zresztą taką mam szkołe.
Ale zrobie dopiero gdy potwierdzisz działanie nie chce mi się na darmo dłubać :P
Po zatym interfejs będzie w pełni funkcjonalny?
Gniazdo obd nowszego czy starszego typu zaleznie od zastosowania wtyczki powinno działać?
Ostatnio edytowane przez ManiacDrifting ; 20-09-2011 o 19:20
-
Doświadczony Użytkownik
KaczyDJ, w projekcie oryginalnie chodzi o okrągłą wtyczkę diagnostyczną, tzw. PacMana :-D
Seban123, transmisja z samochodu jest szeregowa (linia K i linia L). Kłopotem technicznym jest tylko dopasowanie napięciowe i sygnałowe oraz uformowanie danych w zrozumiały pakiet. Standardowo protokół RS-232C zawiera negocjację parametrów (handshaking) oraz asynchroniczną transmisję szeregową, składającą się zazwyczaj z 1 bitu startu, 7 lub 8 bitów danych, bitu kontrolnego parzystości (odd/even) i bitów stopu (1, 1.5 lub 2). Jeśli wykorzystasz standaddowe API z Windows, to właśnie w takim standardzie te dane będą przesyłane, gdyż taki port pod Windows zazwyczaj służył do komunikacji modemowej. Natomiast zdolny programista jest w stanie dostać się do fizycznych rejestrów urządzenia i odczytać lub wysłać dowolną informację (dowolna długość i format informacji). I tak właśnie robi INPA. Stąd też często problemy z kabelkami na USB, które często posiadają inny adres portu niż 3F8h (COM1). Brak możliwości komunikacji inpy z takim urządzeniem leży w całości w niedoskonałości kodu aplikacji Inpa, która nie uwzględnia takich wynalazków jak COM5 o wyszukanym adresie 5D8h. Aplikacja oryginalnie była zaprojektowania do obsługi czterech podstawowych (fizycznych) portów szeregowych (zgodnych ze specyfikacją IBM z lat '80) o ściśle określonych adresach.
Dlatego uważam, że jeśli dopasuje się odpowiednio elektryczne poziomy sygnałów by były kompatybilne ze sobą oraz istnieje aplikacja, która odpowiednio uformuje dane, to komunikacja MUSI się udać. Zapewniam Ciebie, że nawet średnio zaawansowany programista były w stanie użyć portu LPT do wygenerowania sygnału analogowego m.cz. z pomocą tylko kilku rezystorów. Mimo, że pierwotnie port nie był przeznaczony do takich celów, to jednak ludzie na masową skalę potrafili sobie takie bajery robić (wiem co piszę, bo broniłem dyplom na porcie LPT co prawda nie do generowania muzyki bo to za proste ale do sterowania 64 urządzeniami cyfrowymi i wykrywaniem typu przyłączonego urządzenia).
-
Doświadczony Użytkownik
A nie lepiej poszukac juz gotowego schematu ? Poza tym ja mam i kabel usb i com i powiem szczeze ze zawsze jade na usb o wiele prostsza obsluga . Nigdy nie mialem problemu z podlaczeniem jakiegos bmw . Inpa pracuje rewelacyjnie nigdy mi nie zerwala polaczenia . A podlaczalem juz e38 e39 e65 wszyscy zawsze zadowoleni .
-
Vip
Vip
Wiem jak działa rs232 i komunikacja w samochodzie. Ale ads nie zawsze korzysta z K i L. Tylko starsze roczniki wykorzystują dwie linie do komunikacji. Od 97 roku już większość nie korzysta. Jak pogodzisz ten fakt ze sobą?
Mógł byś opisać rozpoznawanie zapłony a dokładnie które elementy za to odpowiadają i jak inpa to rozpoznaje? Jak interfejs będzie rozpoznawał czy ma odbierać dane na linii do nadawania?
-
Doświadczony Użytkownik
Bardzo prosto jest zrobione rozpoznawanie zapłonu: otóż sygnał IGN z PacMana po odpowiednim dopasowaniu jest podawany na pin RI (ring indicator) portu szeregowego. Obsługa (odczytanie stanu pinu RI) tego zdarzenia jest zaimplementowana w programie inpa.
Sprzętowo jest odpowiedzialny za to T9 który jest wprowadzany w stan przewodzenia poprzez napięcie podane na jego bazę przez R17.
A rozpoznawanie danych do nadania realizowane jest przez DSR i DTR.
Jak już wspominałem, szeregowa transmisja telegramów jest asynchroniczna, zatem nie potrzeba żadnych zegarów synchronizujących. Liczy się długość trwania bitu (określona dla danej prędkości transmisyjnej).
...W ogóle nie wiem dlaczego mnie o to pytasz? Sprawdzasz mnie?
Ostatnio edytowane przez brunoz ; 20-09-2011 o 20:28
Nein! Mein Schnitzel!
-
Vip
Vip
Nie jestem elektronikiem z wykształcenia tylko informatykiem i elektrykiem o specjalności energoelektronika. Po prostu byłem ciekawy jak to zrobili bo nigdy się w to nie zagłębiałem. Ale dalej jestem ciekaw co z rozpoznawaniem nadawania i odbierania na 20 pinie lub 17. Umiem diagnozować linie komunikacyjne ale nie znam dokładnych specyfikacji bo to nie było mi potrzebne do pracy.
Uprawnienia umieszczania postów
- Nie możesz zakładać nowych tematów
- Nie możesz pisać wiadomości
- Nie możesz dodawać załączników
- Nie możesz edytować swoich postów
-
Zasady na forum