Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Potrzebny pilnie mikrokontroler do przełączania pomiędzy 27 kanałami analogowymi

30 Cze 2020 00:23 405 14
  • Specjalista - DAF Trucks
    Cześć forumowicze,
    Pierwszy raz tutaj w pokoju DIY konstrukcje i potrzebuję waszej pomocy.

    Mam mały projekt i pomyślałem, że część tego projektu może być zrealizowana za pośrednictwem mikrokontrolera.

    Chodzi o to, że mam system który musi się przełączać pomiędzy 27 prostymi obwodami tak, aby dwoma potencjometrami zwiększać (szeregowo) lub zmniejszać (równolegle) rezystancję tych indywidualnych rezystorów w każdym z 27 obwodów 3.5 ohm w każdym.
    Mam tylko dwa potencjometry, tak więc zwiększanie lub zmniejszanie rezystancji może wystąpić tylko w jednym obwodzie na raz.
    Obwody które nie są w danej chwili podłączone do systemu dodatkowych potencjometrów aby zwiększyć lub zmniejszyć ich rezystancję muszą w tym czasie pozostać w stanie przewodzenia (czyli wejście idzie na wyjście).
    Przełączanie pomiędzy poszczególnymi 27 obwodami raczej dowolne, ale może być przycisk który będzie w obudowie do przełączania się pomiędzy poszczególnymi obwodami i powiedzmy 27 LEDów podpisanych od 1 do 27 albo wyświetlacz LED który będzie wyświetlał cyfrę od 1 do 27 żeby pokazać na którym z 27 obwodów jest teraz system potencjometrów i tego to obwód rezystancja jest właśnie "zakłócana".
    Wyświetlana cyfra oznacza dany odwód, do którego jest podłączony mój system z potencjometrem szeregowym (zwiększenie rezystancji rezystora zewnętrznego - poza układem, nominalnie 3.5 ohm) lub zmniejszenie jego rezystancji poniżej 3.5 ohm. Wybór czy ma być zmniejszenie czy zwiększenie poprzez przełącznik 3-pozycyjny (rezystancja mniej lub równe 3.5 ohm, normalny - bez zmiany rezystancji, i w trzecim położeniu - rezystancja większa niż 3.5 ohm). Dostępne 12-14v pod ręką. każde z tych 27 obwodów reprezentuje indywidualny obwód w którym jest rezystor 3.5 ohm i symuluje on rezystancję poduszek powietrznych samochodu. A że maksymalnie w samochodzie jest 27 poduszek powietrznych i każdy ma swój obwód - każdy musi mieć indywidualny rezystor który jest poza układem. Ja jego rezystancję tylko "zakłócam"...
    Rezystancję całkowitą obwodu mogę zmienić poniżej i powyżej 3.5 ohm właśnie włączając w tym danym obwodzie szeregowo lub równolegle potencjometry.
    Płynna zmiana rezystancji potencjometrami ma na celu sprawdzenia, przy jakiej rezystancji progowej sterownik od poduszek powietrznych wywala kod błędu o otwartym obwodzie lub o zwarciu na obwodzie.
    Tak jak napisałem - pozostałe obwody nie będące w danej chwili podłączone przez 3-pozycyjny przełącznik do potencjometrów muszą być na stałe zamknięte, czyli co wchodzi pinem analogowym A musi wychodzić pinem B i tak 26 par.
    Jakieś propozycje?
    Chętnie się skontaktuję z kimś kto ma pomysł jak to ogarnąć...

    Dzięki wielkie za uwagę,

    Moderowany przez Marek_Skalski:

    Przeniosłem temat i poprawiłem pisownię. Jeżeli Kolega chce zlecić wykonanie urządzenia, to może lepszym działem będzie: Projektowanie_Bazar_Zlecę

  • Poziom 16  
    Ja stawiałbym raczej na zastosowanie potencjometrów cyfrowych w każdym obwodzie i przełączał ich sterowanie zamiast przełączać analogowo. Tylko ta rezystancja 3.5ohm? Jak to wygląda? Taki 3.5 ohmowy potencjometr?
  • Poziom 38  
    jousto napisał:
    Ja stawiałbym raczej na zastosowanie potencjometrów cyfrowych w każdym obwodzie i przełączał ich sterowanie zamiast przełączać analogowo. Tylko ta rezystancja 3.5ohm? Jak to wygląda? Taki 3.5 ohmowy potencjometr?

    Potencjometry cyfrowe mają pewne ograniczenia napięciowe więc pomysł nie jest dobry.
    Pozostają przekaźniki, którymi mogą być przełączane poszczególne obwody.
    Ewentualnie klucze z tranzystorów mosfet.
  • Poziom 16  
    a może spróbować wykorzystać multipleksery analogowe?
  • Specjalista - DAF Trucks
    Zrobiłem dwa schematy. Pierwszy przedstawia system bez żadnych ingerencji - tak jak ma to miejsce w systemach samochodów.
    Drugi przedstawia mój system który np. za pomocą mikrokontrolera przełaczałby to, co jest wewnątrz przerywanej linii (przełacznik 3-pozycyjny I dwa potencjometry - to już mam!) pomiędzy każdym z obwodów.
    Zmiana rezystorów 3.5 ohm na końcu każdego z obwodów nie wchodzi w rachubę.
    Tylko w jeden obwód na raz - pozostałe w tym czasie pozostałyby w stanie połączenia.

    /1/

    Potrzebny pilnie mikrokontroler do przełączania pomiędzy 27 kanałami analogowymi

    /2/


    Potrzebny pilnie mikrokontroler do przełączania pomiędzy 27 kanałami analogowymi
  • Poziom 28  
    A co ze stanami przejściowymi podczas przełączania?
    O ile samo załączanie dodatkowych potencjometrów da się łatwo zrobić, to już przełączanie "aktywnego kanalu" będzie raczej problematyczne.

    Chociaż, dając 2 przekaźniki na kanał + proste sterowanie chyba da się to rozwiązać w miarę bezkonfliktowo.

    Przekaźniki musiały by być do tego o bardzo niskiej rezystancja styków.
  • Poziom 16  
    Szanowny Panie! Jeśli się mylę, to proszę mnie poprawić. Wg mnie to jedna końcówka każdego opornika jest na masie, a druga jest aktywna. To mi przypomina schemat czujników z wyjściem prądowym np. 20 mA. Są one przyłaczone do wejścia przetwornika ADC w mikrokontrolerze. Oznacza to, że jeśli wszystko jest w porządku to np. na wejściu pomiarowym jest 3,5 Ohma x 30 mA = 70 mV. Jeśli jest awaria np. na stykach to wtedy mamy 0 V i jest to stan awaryjny - "brak czujnika", jeśli czujnik działa prawidłowo to jest jakieś napięcie, np proporcjonalne do "czegoś tam".
  • Specjalista - DAF Trucks
    dobre pytanie - już to opanowałem. Czas kwalifikacji do wygenerowania kodów błędów w obwodach (usterki typu zwarcie do masy, zwarcie do zasilania, zwarcie na obwodzie , otwarty obwód, skrzyżowanie dwóch obwódów) wynosi 5 sekund - powinno wystarczyć na stan prejściowy który pry zastosowaniu mikrokontrolera trwa mili - o ile nie mikrosekundy...

    Dodano po 10 [minuty]:

    wawxx napisał:
    Szanowny Panie! Jeśli się mylę, to proszę mnie poprawić. Wg mnie to jedna końcówka każdego opornika jest na masie, a druga jest aktywna. To mi przypomina schemat czujników z wyjściem prądowym np. 20 mA. Są one przyłaczone do wejścia przetwornika ADC w mikrokontrolerze. Oznacza to, że jeśli wszystko jest w porządku to np. na wejściu pomiarowym jest 3,5 Ohma x 30 mA = 70 mV. Jeśli jest awaria np. na stykach to wtedy mamy 0 V i jest to stan awaryjny - "brak czujnika", jeśli czujnik działa prawidłowo to jest jakieś napięcie, np proporcjonalne do "czegoś tam".


    Każda końcówka opornika jest na masie, ale żeby uniknąć ofsetu pomiędzy masą opornikó a masą w zasilaniu, każdy opornik musi mieć osobną masę.
    Ponadto napięcia I prądy do samodiagnozy (określenia rezystancji) nie jest w sposób ciągły tak jak w czujnikach np. temperatury czy też ciśnienia. Ze względu na to że sterownik diagnozuje poduszkę powietrzną z wbudowanym rezystorem 3.5 Ohm, sterownik wysyła krótkie (mikrosekundy) impulsy prądowe/napięciowe. Inaczej poduszka w wyniku nagromadzenia energii elektrycznej mogłaby wystrzelić od samej samodiagnozy. Prądy impulsu twają 4-8 mikrosekund co jakieś 500 milisekund (0.5 sekundy) I wynoszą miliampery. Nie za bardzo można diagnozować rezystancję takich obwodów bo zdarzało się nawet e wytrzeliwały poduszki od samych multimetrów, stąd we wtyczkach poduszek jest zwora któa zwiera piny jak jest odpięta. Określenie rezystancji polega na zczytaniu urządzeniem diagnostycznym wartości rezystancji z danego DID-a i po zmianie z postaci HEX na decimal (resolution = X 1000) mozna zczytać aktualną rezystancję obwodu. Multimetr odpada, no chyba że mierzysz napięcie na obwodzie...
  • Poziom 16  
    na początek proponuje zapoznać się z możliwościami przełączniki analogowego CD4016/66, jeśli by zdał egzamin to potem są wersje z multipleksowaniem nawet 1 : 16. Wtedy podłączony pod te same linie adresowe dodatkowy multiplekser cyfrowy pokazywał by zapalające się diody led lub mikrokontroler na wyświetlaczu pokazywałby, który obwód jest aktualnie testowany. Wejścia ENBL pozwala dokładnie wysterować czas i moment załączenia obwodu do testowania. Wersje CMOS chodzą do 15 V. Zwracam uwagę, ze tak krótkie impulsy w przypadku zastosowania przekaźników mogą być podatne na zakłócenia pochodzące od drgań styków.
  • Specjalista - DAF Trucks
    Dzięki wielkie. Zakłócenia od drgań styków stanowiły by problem jeżeli trwałyby dłuzej niż 5 sekund. Pojedyńcze lub bardzo krótka seria drgań które występują jedynie przy załączeniu i rozłączeniu nie wpłynie na generowanie jakiegokolwiek kodu błędu.

    Dodano po 21 [minuty]:

    wawxx napisał:
    na początek proponuje zapoznać się z możliwościami przełączniki analogowego CD4016/66

    Sprawdzałem, i wynika z jego sposobu działania, że jeśli nie ma napięcia sterowania na dany switch wewnątrz CD4016/66, to normalnie obwód pozostaje otwarty. A tu musi być normalnie zamknięty.
  • Poziom 28  
    Skoro stany przejsciowe nie sa problemem,
    Tak bym to widzial.

    Potrzebny pilnie mikrokontroler do przełączania pomiędzy 27 kanałami analogowymi

    Jest to tylko 1 kanal bez sterowania.

    2 popularne przekazniki DPDT typu FRT5 lub podobne na kanal + oczywiscie jakis uklad sterowania, diody itd.+ mikrokontroller + ew multiplexer i moze jakas logika zabezpieczajaca przez zalaczeniem wiecej niz 1 kanalu na raz. To juz zalezy od wyobrazni i potrzeb.
  • Specjalista - DAF Trucks
    OK, dzięki. Myślałem nad tym. Tyle, ze wymagało by to... 52 Przekaźniki?
    Ponadto, jesteś w stanie określić stratę rezystancji na kontaktach w prtzekaźnikach? 1 Ohm robi kolosalną różnicę...
    Finalnie - cały czas zachodzi pytanie jak sterować jedną parę przekaźników na raz. (tylko jeden na raz może być w pozycji ON- drugi musi być w ppozycji przeciwnej, czyli w tym przypadku OFF). Czyli wybór zasilania tylko jednego przekażnika na raz załatwisz przełącznikiem wyboru (taki jak na moim odręcznym schemacie), ale tylko jeden z 27 kanałów może być uruchomiony na raz...
  • Poziom 38  
    krisbrumm napisał:
    wymagało by to... 52 Przekaźniki?

    krisbrumm napisał:
    Ponadto, jesteś w stanie określić stratę rezystancji na kontaktach w prtzekaźnikach? 1 Ohm robi kolosalną różnicę...

    Za pomocą takiego drivera
    https://www.vishay.com/docs/83469/vom1271.pdf
    oraz dwóch tranzystorów mosfet możesz zbudować dwukierunkowy klucz, napięcia są w miarę niskie, współczesne n-mosfety na niskie napięcia mają dość niską rezystancję kanału i niewielkie rozmiary oraz niską cenę.
  • Poziom 28  
    Juz wyjasniam.

    Wyjscie z mikrokontrolera musialo by byc 5 bitowe i podlaczone do dekodera 1z32. + 1 pin sygnal wyporu plus/minus. Dalej prosty uklad na 3 bramkach dekodujacy ktory przekaznik zalaczyc.

    Ewentualnie 54 wyjsc mikrokontrolera i sterowac wszystkim programowo.


    Rezystancja stykow takich przekaznikow jest podawana przez producenta jak 0.1Ohm, ale sa tez wersje 0.05Ohm - mysle ze powinno byc to do zaakceptowania.

    Mam jeszcze jedna uwage.
    Z racji nieliniowej rezystancji w ukladzie rownoleglym 2 rezystorow i komplikacji ukladu takim jak jest w tej chwili, moze latwiej by bylo przelaczac staly rezystor 3.5Ohm na potencjometr np 7 czy 10 Ohm i tylko nim regulowac ?? Bedzie wtedy tylko 1 przekaznik na kanal a caly uklad bedzie znacznie prostszy !
  • Specjalista - DAF Trucks
    Wyeliminowanie przekaźników mechanicznych przekaźnikiem solid state zdecydowanie ma sens bo przede wszystkim zmniejszyło by to gabaryty systemu.
    willyvmm napisał:
    Ewentualnie 54 wyjsc mikrokontrolera i sterowac wszystkim programowo.

    własnie o takim czymś od początku myślałem.
    5 bit w zupełności wystarczy żeby pokryć wszystkie możliwości/kombinacje załączeń. plus wejścia z potencjometrów.

    Nieliniowośc połączenia równoległego z rezystorem stałym 3.5 ohm jest dopuszczalne bo i tak kręciłbym go ręcznie. W tym celu myślałem żeby wziąć dwa poty a nie jeden - i połączyć te dwa poty szeregowo (np. 25 Ohm i 100 Ohm). Całość przy rozkręceniu na max i podłaczeniu tego 125 Ohm równolegle z 3.5 Ohm da w przybliżeniu te ~3.2 Ohm co jest dopuszczalne.
    Dalej, skręcając jeden z potów (powiedzmy ten 100Ohm) do zera - jako precyzer i tym drugim 25Ohm (zgrubsza regulacja) też do zera zmieni proporcje do tego stopnia, że cąłkowita rezystancja na pewno znajdzie się w okolich 1.33Ohm kiedy to sterownik wywali kod błędu mówiący o zwarciu... Czyli nieliniowość jest dopuszczalna.

    Tak jak powiedziałem, rezystor 3.5 Ohm jest niezmienny i nie można go wymienić na inny.