multilanguage

wtorek, 19 maja 2015

CAN2USB


Potrzebowałem urządzenia które pozwala na komunikację z magistralą CAN.
Do tej pory wykorzystywałem analizator stanów logicznych lub Beagle Bone Black więc prosty interfejs ułatwiłby mi pracę. Najpierw projektowałem sam, powstał nawet prototyp, ale zabrakło czasu na programowanie. Przeglądając internet natrafiłem na http://www.fischl.de/usbtin/ postanowiłem wykorzystać ten projekt zamiast budować mój niemalże identyczny od początku.


Zmodyfikowałem lekko ten projekt, dodałem diody led do sygnalizacji odbioru i nadawania, oraz zamieniłem wszystkie części na SMD. Zamiast złącz śrubowych zastosowałem złącze DB9.
Powstała taka mała płytka:


Niestety jak to zwykle bywa zrobiłem kilka bugów na płytce. Po pierwsze nie zastosowałem idealnych footprintów do zastosowanych komponentów (błąd w bibliotekach kicada). Po drugie pomyliłem linie Tx z Rx.
Na szczęście obie usterki można było obejść i urządzenie udało się uruchomić.
Pomyliłem się ustawiając złącze DB9 i przez to zamocowane jest ono w lustrzanym odbiciu - tragedii nie ma, ale bezpośrednio do standardowych złącz przemysłowych się już nie podepnę.

Zastosowałem oryginalny soft przy czym miałem problem z bootloaderem który znalazłem dopiero tutaj: https://github.com/GBert/USBtinClone

Gdy znajdę chwilę poprawie bugi na płytce i dodam pełną galwanizację (razem z zasilaniem) oraz zabezpieczę wyjścia, tak aby całość była idioto odporna :)
Chciałbym też dorobić jakąś obudowę do urządzenia, abym mógł je wykorzystywać bez obaw o zwarcie.

Przydatne linki:

3 komentarze:

  1. Hey
    zrobiłem sobie ten przydatny sprzęt na płytce uniwersalnej wykorzystując gotowy interface CAN :) Interface działa bo podpinałem go do Arduino, PICa zaprogramowałem HEXem ze strony, mam PICkit2 więc wgrałem do PICa HEXa ze strony, programator potwierdził poprawność ale wstawił jakiś warning o braku pliku konfiguracyjnego. Urządzenie nie jest widziane na USB :( , nie znam PICów, czy ten program musi być ładowany przez bootloader? Którą wersję programu załadowałeś?
    Pozdrawiam

    OdpowiedzUsuń
  2. Warning wrzuc w googla, bo czasami trzeba jakas opcje przy programowaniu dorzucic. Co do osobnej plytki z CAN to moze nie zadziałać, bo zauważ, że sygnał zegarowy do procka jest brany z układu CAN. Myślę, że tam masz problem.

    OdpowiedzUsuń
  3. Dzięki za szybką reakcję :) oczywiście pamiętałem o 3 sygnałach które musiałem podpiąć wprost do nóżek MCP i te połączenia mam. Problem był z bootloaderem, po jego wgraniu wszystko działa. Pozdrawiam

    OdpowiedzUsuń