Skocz do zawartości
Zaloguj się, aby obserwować  
Wojtek

WYśietlacz LCD z 3,3 V na linaich danych.

Pomocna odpowiedź

Wojtek, przecież ja nie wiem czego Ty tam chcesz użyć do generacji PWMa. Wymyśliłem na poczekaniu jakiś filtr i podałem Ci go jako przykład wraz z jego stałą czasową. Musi być ona wielokrotnie większa niż okres powtarzania PWM - wtedy filtr działa dobrze i z prostokąta robi mniej lub bardziej wygładzone napięcie stałe. Im stała czasowa dłuższa - tym wygładzanie lepsze, to proste. Do sprzętowego PWM filtr 2k/1uF jest OK ale jeśli chcesz przebieg robić programowo i np. więcej jak 50Hz nie wyciągniesz, po prostu sam policz inny filtr - nic więcej. Zrób stałą czasową rzędu np. pół sekundy i będzie OK.

W dużych stałych jest tylko problem, że albo kondensatory zaczynają być absurdalnie duże (np. 220uF/1.5k=0.5s) albo opornik robi się za duży (1uF/330k=0.5s). Wydawałoby się, że duży opornik to żaden problem, bo gabarytowo 100k nie jest większe niż 1k ale w układzie, gdzie na wyjściu wykorzystywany jest nie sygnał napięciowy ale gdy filtr jest źródłem mocy (jak zasilanie LCD) - opornik ma znaczenie. To przez niego właśnie matryca LCD będzie de facto zasilana i spadek napięcia na oporniku będzie się objawiał błędem napięcia wyjściowego. Przy prądzie zasilania wypływającym z Vo np. 100uA opornik 10k da już błąd 1V a to oznacza, że nawet jeśli Twój procesor zrobi PWM o wypełnieniu 0% chcąc wymusić maksymalny kontrast, to na Vo będzie już 1V a to już może dać ledwo widoczne litery. Nie wiem co możesz zrobić w swoim układzie więc trudno mi wymyślać za Ciebie. Sam musisz wybrać dobry kompromis między obciążeniem procesora a rozsądnymi wartościami elementów.

Oczywiście sprawę ratuje użycie wzmacniacza operacyjnego lub od biedy nawet tranzystora jako wtórnika napięcia. Wtedy możesz dać duży opornik w filtrze a wtórnik nie obciąży jego wyjścia i wszystko będzie OK 🙂

O ile pamiętam, przerwanie od przepełnienia działa w trybie PWM i zgłaszane jest co okres przebiegu wyjściowego.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
np. 2k a kondensator 1u to stała czasowa takiego układu będzie ok. 12ms

Nie żebym się czepiał ale mi wychodzi 2 ms 😃 . W tablicy znalazłem wzór na filtr dolnoprzepustowy T = RC = 2000 * 0,000001 = 0,002 (działania na mianach pomine 🙂 ).

Coś jest nie tak z tym wzorem?

Z tego co ja wyliczyłem to by mi odpowiadał taki zestaw:

kondensator 100uF(mam ich pod dostatkiem) x rezystor 100ohm = okres 10ms

Udostępnij ten post


Link to post
Share on other sites

Wojtek, zobacz dokładnie jakie bity są w rejestrach, bo chyba da się generować na 1 timerze pwm i przerwanie przy przepełnieniu jednocześnie.

Udostępnij ten post


Link to post
Share on other sites

tak, oczywiście da się

Elementy R i C mogą mieć w filtrze takie wartości jak podałem?

Udostępnij ten post


Link to post
Share on other sites

Masz rację, pisałem nieprecyzyjnie. Gdy myślę o "filtrach w krainie PWM" to raczej oceniam je w dziedzinie częstotliwości a tam głównym parametrem jest częstotliwość środkowa Fo, przy której amplituda sygnału spada o 3dB. To jej wielkość w stosunku do częstotliwości sygnału wejściowego określa tłumienie filtra. Ponieważ Fo=1/(2*Pi*R*C) to różnimy się właśnie o współczynnik 6.28 🙂 W dziedzinie czasu tzw. stała czasowa RC to czas ładowania kondensatora od zera do ok. 0.63 napięcia wejściowego i to jest po prostu R*C - raczej mało użyteczne przy filtrowaniu PWM. Wyrażenie "stała czasowa" wydało mi się prostsze niż "odwrotność częstotliwości odcięcia" ale powinienem przynajmniej przytoczyć wzór, żeby nie było niejasności.

EDIT: Nie, opornik 100R jest stanowczo za mały. Wyobraź sobie, że dla każdego zbocza sygnału PWM kondensator jest zwarciem. Czy chciałbyś obciążyć wyjście procesora opornikiem 100R? To daje prąd 50mA przy 5V zasilania. Proponuję poruszać się w zakresie kiloomów.

Udostępnij ten post


Link to post
Share on other sites

czyli ty mówiłeś o granicznym okresie a ja o środkowym. Mam rozumieć że mi jest potrzebny środkowy.

Mam nadzieję że tak będzie dobrze: 10uF(tych też mam dużo) x 1kohm

Udostępnij ten post


Link to post
Share on other sites

Mówimy o filtrowaniu więc poruszajmy się w dziedzinie częstotliwości. Nie można tu dzielić włosa na czworo bo i tak nie wiesz jakie są dopuszczalne tętnienia zasilania LCD takie, żebyś już nie widział ich efektów.

Załóżmy, że pełną zmianę kontrastu uzyskujesz dla napięć Vo między 0 a 1.5V, czyli mamy 1.5V rozpiętości. Czy możemy przyjąć, że 0.1V tętnień nie zaszkodzi? Chyba tak. Czyli na wejściu mamy (dla uproszczenia) sygnał o amplitudzie 5V a na wyjściu może go być co najwyżej 0.1V. Potrzebujemy tłumienia min. 50 razy czyli 34dB. Mając filtr RC pierwszego rzędu dostajesz opadanie powyżej Fo z szybkością 6dB/oktawę a to znaczy, że Fo Twojego filtra musi być prawie 6 oktaw niższa niż częstotliwość PWM. Dla PWM=50Hz musisz zrobić filtr zaczynający ciąć od 1Hz. Dla kondensatora 47uF wychodzi mi opornik 3.3k. Sprawdź to, bo zrobiłem wczoraj i dziś na rowerze prawie 300km i mogę już pisać głupoty, przepraszam.

  • Lubię! 2

Udostępnij ten post


Link to post
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!

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.

Zaloguj się, aby obserwować  

×
×
  • Utwórz nowe...