Skocz do zawartości

Wysterowanie wskaźnika paliwa poprzez Arduino


Yarokot

Pomocna odpowiedź

Planuje wysterować samochodowy wskaźnik paliwa. Jest on bezpośrednio podłączony w liczniku pod +10 V ze stabilizatora a następnie do pływaka pracującego w zakresie od 210 Ohm(pusty) do 47 Ohm(pełny). Chce zastosować Arduino Nano do podania sygnału na ten wskaźnik. Domyślam się, że wskaźnik działa na zasadzie pomiaru prądu płynącego w obwodzie. Myślałem nad zastosowaniem tranzystora, który by mi regulował napięcie na rezystorze a tym samym płynący prąd. Rezystor też musiałbym zastosować jakiejś większej mocy, ponieważ jak testowałem wskaźnik to prąd wynosił około 200mA dla pełnego baku. Zastanawiam się czy to ma sens, a może jest jakiś inny lepszy lub w ogóle działający w porównaniu do tego co zaproponowałem.

Link do komentarza
Share on other sites

Jeżeli chcesz sterować prądem to masz dwa wyjścia:

  • albo robisz źródło prądu czyli układ który niezależnie od tego co do niego podłączysz wypuszcza taki prąd jaki potrzebujesz (tj. taki jaki ustawi Arduino)
  • albo robisz źródło napięcia i dajesz szeregowy rezystor (stały) ustawiony tak, by przy konkretnej rezystancji obciążenia (czyli rezystancji uzwojenia wskaźnika) płynęło tyle co chcesz. 

Tranzystor sam z siebie nie jest źródłem napięcia a źródłem prądu jest wtedy gdy sterujesz go prądem więc masło maślane plus dodatkowo działanie zależy od wzmocnienia i punktu pracy. Jeżeli przy oporniku 47Ω w obwodzie wskaźnika płynie ok. 200mA to znaczy, że rezystancja uzwojenia jest stosunkowo mała (np. kilkanaście omów) i jest szansa, że poprawne sterowanie możesz osiągnąć nie uciekając się do wysokich (dla Arduino) napięć. Prostota i ostateczny kształt Twojego układu zależy od tego, czy ten wzkaźnik da się napędzać z 5V albo lepiej z 4V. Jeżeli tak, schemat sprowadzi się do prostego filtra RC i jednego trnazystora w układzie wtórnika napięciowego z ew. dodatkowym rezystorem szeregowym. Natomiast jeśli okaże się,  że wskaźnik ma więcej niż 20Ω to niestety musisz go sterować z wyższcyh niż 4V napięć a to już oznacza wstawienie jakiegoś wzmacniacza sygnału.

Na szczęście jest jeszcze trzecie rozwiąznie: portraktowanie wzkaźnika jak typowego.. silnika i sterowanie nim za pomocą tranzystora, ale pracującego impulsowo. Wtedy w ogóle odpada sprawa jakichkolwiek filtrów, wzmocnień, sprzężeń zwrotnych itp magii a zostaje jeden tranzystor podączony przez opornik do wyjścia procesora i wzkaźnk w kolektorze podpięty do np. +10 czy +12V zależy co tam masz blisko. Wołając fukcję analogWrite() ustawiasz wypełnienie sygnału PWM a fizyka prądu i bezwładność mechaniki zrobią resztę. Pozostaje kwestia wyskalowania tego czegoś, ale przecież procesory nie takie rzeczy robią.. 

  • Lubię! 1
Link do komentarza
Share on other sites

Finalnie znalazłem czas tym się zająć i układ znajduje się już w samochodzie razem z uruchomieniem wejścia audio zmieniarki w radiu. Pojawił się problem zakłóceń. Najprawdopodobniej należy dobrać odpowiednie kondensatory na zasilaniu. W zestawie z atmegą 328p dostałem 0,1 uF (na wyjściu stabilizatora LM7805) oraz 0,33 uF (na wejściu stabilizatora). Zakłócenia nie pochodzą z wyjść atmegi podłączonych do radia, ponieważ na odłączonych przewodach od radia problem nadal występuje. Wciśnięcie przycisku reset przy atmedze powoduje ustanie na moment zakłóceń do czasu ponownego załadowania programu w atmedze. Do momentu jak działałem jeszcze na oryginalnym Arduino Uno zakłócenia nie występowały. Zwiększać pojemność kondensatorów do momentu ustania zakłóceń? 

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

Tak jak mi odpisano w tym temacie

Dnia 8.12.2019 o 23:20, marek1707 napisał:

Na szczęście jest jeszcze trzecie rozwiąznie: portraktowanie wzkaźnika jak typowego.. silnika i sterowanie nim za pomocą tranzystora, ale pracującego impulsowo. Wtedy w ogóle odpada sprawa jakichkolwiek filtrów, wzmocnień, sprzężeń zwrotnych itp magii a zostaje jeden tranzystor podączony przez opornik do wyjścia procesora i wzkaźnk w kolektorze podpięty do np. +10 czy +12V zależy co tam masz blisko. Wołając fukcję analogWrite() ustawiasz wypełnienie sygnału PWM a fizyka prądu i bezwładność mechaniki zrobią resztę. Pozostaje kwestia wyskalowania tego czegoś, ale przecież procesory nie takie rzeczy robią.. 

Na wyskalowanie już nie ma instrukcji. Trzeba to zrobić doświadczalnie.

Link do komentarza
Share on other sites

Czyli ty nie masz wskaźnika paliwa z licznika samochodowego, ale chcesz go stworzyć. W takim razie moje szkice na nic ci się zdadzą. Najpierw napisz co masz do wykorzystania. Jaki czujnik poziomu paliwa, jak chcesz to wyświetlać, co masz do dyspozycji w związku z tym (elementy elektroniczne itd.). Wtedy będzie łatwiej pomóc.

Link do komentarza
Share on other sites

Wskaźnik będzie skakał. Możesz zrobić odczyt co jakiś określony czas, ale jest szansa że trafi akurat na odczytaną wartość podczas zabujania i będziesz miał przez dany czas zakłamany poziom paliwa. Lepiej uśrednić pomiary i wyświetlić. Zwykła pętla for wystarczy (no chyba że program wykonuje jeszcze inne operacje to wtedy nie bardzo, bo będą przerwy w działaniu innych funkcji programu, ponieważ będzie zajęty obliczaniem średniej) albo lepszą opcją jest tablica danych. Jeśli chodzi o uśrednianie pomiarów to tutaj masz opisane co i jak: 

 

  • Lubię! 1
Link do komentarza
Share on other sites

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!

Gość
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.