Skocz do zawartości

Multiplexer wykorzystywany w elektronice samochodowej


Pomocna odpowiedź

Witajcie.
Na wstępie chciałbym się podzielić pomysłem zaprojektowania tzw multiplexera uniwersalnego znajdującego zastosowanie
w pracowni każdego elektronika samochodowego.
Głównym celem urządzenia jest możliwość podłączenia "na stole" różnego rodzaju sterowników samochodowych (slinika, Airbag, ABS, liczników itp) w
celu sprawdzenia komunikacji, uszkodzeń, programowania lub testu po jego  naprawie.
Może trochę opisu.
urządzenie w podstawowej wersji będzie miało przewód uniwersalny do połączenia ze sterownikiem:

- zasilanie stałe
- zasilanie po zapłonie
- dwa przewody komunikacyjne (przełączane na różne piny wyjściowe w gnieździe obd2-o tym niżej)
- dwa przewody z sygnałami wejściowymi do muliteplexera (test załączania kontrolek, przekaźników przez sterownik)

Wyjście z multipleksera będzie stanowiło gniazdo obd2 (takie jak jest montowane w obecnych pojazdach).
Głównym zadaniem multiplexera będzie przełączanie dwóch pinów komunikacyjnych ze sterownika na odpowiednio ustawione
przez operatora piny na złączu obd2, za pomocą dwóch enkoderów lub switch y na zasadzie "góra" "dół" z informacja na wyświetlaczu
który przewód na jakim wyjściu na gnieździe obd2 jest aktywny.
Elementem wykonawczym dla multiplexera ma byc blok przekaźników.
Urządzenie chciałbym wyposażyć w dwa wyświetlacze LCD (20x4) na których będą wyświetlane m.in. :

- dwa przewody komunikacyjne ( na którym obecnie znajdują się w złączu obd2)
- załączanie zacisków stałego zasilania i napięcia zapłonu na sterownik,
- informacja o stanie zasilania sterownika ( napięcie , prąd , moc)
- informacja o dodatkowych wyjściach ze sterownika,
- dodatkowy rezystor CAN (w niektórych sterownikach potrzebny jest rezystor ok 120om pomiędzy liniami komunikacyjnymi aby ona
  poprawnie przebiegała)
- i różne inne w miarę rozbudowywania urządzenia ( np rozpoznanie gotowego kabla z wtyczka pod konkretny sterownik i na tej podstawie
 automatyczna konfiguracja urządzenia).
Urządzenie tez chciałbym wyposażyć w regulowany zasilacz (15v 5A).
Do regulacji można by zastosować coś na atmedze lub osobny moduł ( nie są drogie ale w tym momencie chciałbym zaoszczędzić miejsca na obudowie).
Urządzenie będzie podczas montowania rozwijania o rózne pomysły ( emulatory immo , rygla, zapalników poduszek itp).
Panel przedni oczywiście - złącza wejście/ wyjście , dodatkowe zaciski zasilające, kilka switch-y do obsługi ale to już w innej części projektu.

Na początku chciałem się skupić nad multiplexerem czyli odpowiednim sterowaniem dwoma w/w przewodami komunikacyjnymi aby kazy mógł byc przelaczany
na jeden z 13 pinów na złączu obd2 ( piny 4,5 i 16 za na stale zarezerwowane jako masy i zasilanie więc te pomijamy) przez dwa enkodery (jeden do jednego
, drugi do drugiego przewodu).
elementem wykonawczym miałby byc blok przekaźników które załączane by były z płytki.
Z racji tego , ze moja przygoda z ardiuno zaczela sie niedawno i z prostymi rzeczami sobie radze w tym wypadku bede potrzebował pomocy bardziej doświadczonych kolegów
Zaznaczę, że nie chce mieć niczego podanego na tacy bo to zabija całą zabawę a jakieś szkice, lub pomoc w napisaniu jakiegoś "szkieletu " programu do tego.

W związku z tym mam prośbę o pomoc w napisaniu odpowiedniego programu obsługującego na początek multiplexer , wyświetlacz i enkoder.
Pierwsze szkice chciałbym testować na 328 jednak docelowo chciałbym wrzucić na 2560.
Jeżeli będzie jakieś zainteresowanie tym z Waszej strony o postępach będę oczywiście informował na bieżąco -w miarę wolnego czasu.
Proszę o jakieś Wasze sugestie lub podpowiedzi oraz pomysły.
Jeżeli coś chaotycznie napisane - chętnie wytłumaczę.

Link do komentarza
Share on other sites

@M-Car witam na forum 🙂 Projekt wygląda na dość rozbudowany. Jakiej dokładnie pomocy oczekujesz? 

13 godzin temu, M-Car napisał:

W związku z tym mam prośbę o pomoc w napisaniu odpowiedniego programu obsługującego na początek multiplexer , wyświetlacz i enkoder.

Masz jakiś konkretne problemy z tymi podzespołami czy nie wiesz nawet jak ruszyć?

Link do komentarza
Share on other sites

Witaj.

Dziekuje za odp.

Projekt faktycznie rozbudowany i znajac wyobraźnie pewnie to nie bedzie jego koniec.

Na chwile obecną zastanawiam się jak w ogóle podejść do tego mulitplexera bo myśle, że w tym urządzeniu to będzie najbardziej skomplikowane.

Który sposób byłby najlepszy. Czy "oddać" mikrokontrolerowi całość w obsłudze począwszy od sterowania jak i odczyt czy przełączanie pinów zrobić analogowo a prockiem zrobić tylko odczyt stanów na LCD no i ew jakieś tam sterowanie prostym zasilaczem - ale to już na samym końcu.

Szczerze to na chwilę obecną nie wiem jak się do tego zabrać bo nie znam pełnych możliwości. Chętnie bym właśnie skorzystał z jakiś podpowiedzi ( nie gotowców) jak to widzą ludzie bardziej doświadczeni, a później starałbym jakoś to "pchać" po swojemu oczywiście informując o efektach.

Jutro jak będe w pracowni zrobię może dla zobrazowania fotkę jakiego dotychczas używam podobnego urządzenia tez własnej konstrukcji.

Robiąc przełączanie pinów mechanicznie na podwójnych przełącznikach obrotowych zamiast enkoderów zyskujemy sporo miejsca bo odpadają nam bloki z przekaźnikami i na jednej sekcji przełącznika robimy bezpośrednio przełączanie z wej na wyjście obd2 a druga sekcja zostaje nam na informacje do mikrokontrolera w jakim polozeniu jest przełącznik a co za tym idzie który pin jest aktywny.

Plusem tego rozwiązania jest to ze przełączanie jest bezpośrednio na piny wiec prawdopodobnie mało awaryjne a jeżeli już do łatwa diagnoza,

Minusem to ze obecnie dostępne przełączniki jakie są z dwoma sekcjami to 2x6 wiec zostaje nam zrobić tak, ze jeden kabel obsługuje górny rzad gniazda 1-8 ,

drugi 9-15 ( braknie nam w dolnym rzędzie obsługi jednego pinu ale z tym sobie tez jestem w stanie jakoś poradzić.

I teraz powstaje pytanie czy zrobić wszystko na mikrokontrolerze czy jednak zrobić cześć mechanicznego załączania? czy jest w ogóle gra warta świeczki ?

 

Link do komentarza
Share on other sites

Witam.

Wstępny projekt z lcd i wyjściami mam przygotowany i teraz próbuje opanować temat enkodera.

O ile z stanami na wyjściach sobie poradzę, nie potrafię "ujarzmić" zakresu a powinien być w przedziale 1-15.

Chciałbym aby "dojeżdżając " do "15" pchając enkoder dalej licznik stawał na 15 i reagował dopiero na przeciwny kierunek az do 1

I co wazne-chciałbym aby enkoder pomijał w liczniku 4 i 5.

Czy mogę liczyć na jakąś podpowiedź?

#define PinA 2  
#define PinB 3  


unsigned long time = 0; 
long ilosc_impulsow = 0; 
long licznik = 0;


void setup()
{
  Serial.begin(9600);
pinMode(4, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);

  pinMode(PinA,INPUT); 
  pinMode(PinB,INPUT); 

  attachInterrupt(0, blinkA, LOW);  
  attachInterrupt(1, blinkB, LOW);  

  time = millis(); 
}

void loop()


{

if(licznik == 1)
{ digitalWrite(4, HIGH);}
else 
{digitalWrite(4, LOW);}

if(licznik == 2)
{ digitalWrite(5, HIGH);}
else 
{digitalWrite(5, LOW);}

if(licznik == 3)
{ digitalWrite(6, HIGH);}
else 
{digitalWrite(6, LOW);}

if(licznik == 4)
{ digitalWrite(7, HIGH);}
else 
{digitalWrite(7, LOW);}



 
  while (licznik != ilosc_impulsow)
  {
    licznik = ilosc_impulsow;
    Serial.println(licznik);
  }
}

void blinkA()
{
  if ((millis() - time) > 3)
        ilosc_impulsow--; 
        
  time = millis();
}

void blinkB()
{
  if ((millis() - time) > 3)  
        ilosc_impulsow++ ;
  time = millis();
}

 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.