Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
NOVATEK-ELECTRO POLSKA SP. Z O.O.NOVATEK-ELECTRO POLSKA SP. Z O.O.
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Regulacja jasności podświetlenia - charakterystyka potencjometru

29 Nov 2018 21:03 891 28
  • Level 9  
    Witajcie. Planuję sobie zrobić fizyczny sterownik do LED RGB adresowalnych (WS2812B) oparty na Arduino. Oprócz przełącznika wyboru trybu itp będzie potencjometr do sterowania jasnością podświetlenia.
    Moje pytanie dotyczy właśnie tego potencjometru: jaką charakterystykę wybrać? Liniową czy logarytmiczną? Wiem czym się różnią, ale nie wiem, która w przypadku oświetlenia będzie bardziej naturalna? Bo o ile przy dźwięku o wiele bardziej "logiczna" jest charakterystyka logarytmiczna, o tyle przy oświetleniu nie mam pojęcia.
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
  • NOVATEK-ELECTRO POLSKA SP. Z O.O.NOVATEK-ELECTRO POLSKA SP. Z O.O.
  • Level 9  
    @kacpo1 ogólnie to będzie tylko podświetlenie biurka, więc nie zawsze będę potrzebował kto wie jakiej jasności, szczególnie, że będzie 60 diod na metr.
    Czy w takim przypadku jak podałeś, że poniżej 25% są bezużyteczne, to nie byłby lepszy potencjometr liniowy lub wykładniczy? Bo tak to logarytmiczny przez większość obrotu sterowałby właśnie tymi 25% jasności
  • Helpful post
    Electronics specialist
    A do czego ma być podłączony ten potencjometr? Bo jeśli do Arduino, żeby program odczytywał nastawienia (używając ADC) i według tego sterował LED-ami, to liniowy, i niech Arduino ustala zależność prądu od nastawienia; a jeśli do nastawiania napięcia, które byłoby podawane na układ analogowy, który dawałby prąd proporcjonalny do tego napięcia, to wykładniczy.

    Nie wiem, jak obecnie, ale kiedyś w PRL-u liniowe to były A, wykładnicze C, logarytmiczne B, i te B podobnie jak C miały najpierw wolniejsze, a potem szybsze narastanie oporności - logarytmiczną zależność od nastawienia miała oporność suwak-koniec, a dla C wykładniczą zależność miała oporność początek-suwak - i taka by pasowała do regulacji analogowej.
  • Level 9  
    @_jta_ wszystko będzie pod Arduino jako odczyt napięcia. Ogólnie będzie to wyglądać tak, że będzie pokrętło z wyborem trybu, potencjometr (lub dwa - bo chcę taśmę oprogramować w dwóch kawałkach jakby) do jasności, potencjometr do prędkości efektu i trzy potencjometry suwakowe odpowiadające za sterowanie kolorem (każdy będzie odpowiadał za 1 składową). O ile prędkość efektu i kolor to na pewno charakterystyka liniowa, o tyle nie wiedziałem jak to będzie przy jasności oświetlenia.
  • Level 33  
    irocket wrote:
    Bo tak to logarytmiczny przez większość obrotu sterowałby właśnie tymi 25% jasności

    Wróć. Potencjometr o charakterystyce wykładniczej.

    _jta_ wrote:
    Nie wiem, jak obecnie, ale kiedyś w PRL-u liniowe to były A, wykładnicze C, logarytmiczne B, i te B podobnie jak C miały najpierw wolniejsze, a potem szybsze narastanie oporności - logarytmiczną zależność od nastawienia miała oporność suwak-koniec, a dla C wykładniczą zależność miała oporność początek-suwak - i taka by pasowała do regulacji analogowej.

    Z doświadczenia wiem, że teraz można kupić potencjometr o oznaczeniu A i można tylko zgadywać czy jest to liniowy, wykładniczy czy logarytmiczny.

    Dodano po 4 [minuty]:

    irocket wrote:
    O ile prędkość efektu i kolor to na pewno charakterystyka liniowa, o tyle nie wiedziałem jak to będzie przy jasności oświetlenia.

    W przypadku sterowania za pomocą Arduino, wybierz liniowy. Dzięki temu za pomocą kodu możesz pozbyć się tego lekkiego świecenia i wykorzystać to do dokładniejszej regulacji jasności.
  • Level 9  
    Dobra, czyli wezmę liniowe. Zwykłe 10k wystarczą żeby mieć pełne "spektrum" regulacji? W tutorialu do Arduino piszą, żeby zewnętrzne nóżki podłączyć pod 5V i GND, a ze środkowej odczytywać
  • NOVATEK-ELECTRO POLSKA SP. Z O.O.NOVATEK-ELECTRO POLSKA SP. Z O.O.
  • Helpful post
    Level 33  
    Tak, 10k Ohm będzie dobre (choć ten sam efekt uzyskałbyć używając 47k, 33k czy jakiejkolwiek innej wartości).
    irocket wrote:
    W tutorialu do Arduino piszą, żeby zewnętrzne nóżki podłączyć pod 5V i GND, a ze środkowej odczytywać

    Zgadza się, w takim połączeniu potencjometr działa jak dzielnik napięcia. W zależności od ustawienia pokrętła, będzie zmieniało się napięcie na środkowej nóżce.
  • Level 9  
    A jeszcze jedno - za wybór trybu będzie odpowiadać przełącznik obrotowy, gdzie do każdej z nóżek będzie dołączony rezystor o unikatowej rezystancji, po czym wszystkie będą łączyć się w jednym miejscu. Czy wystarczy, że podam 5V na wejście przełącznika, a wyjście (5V - to, co się odłoży na rezystorze) odczytam w Arduino, czy dobrze by było / trzeba dodać jeszcze przed przełącznikiem jakiś rezystor do masy (w sensie między masą a 5V)?
  • Level 33  
    irocket wrote:
    czy dobrze by było / trzeba dodać jeszcze przed przełącznikiem jakiś rezystor do masy (w sensie między masą a 5V)?

    Zdecydowanie tak byłoby lepiej, wtedy utworzy się dzielnik napięcia.
    Jeden rezystor wejściowy, przed przełącznikiem, i na każdą nóżkę przełącznika rezystor do masy. Arduino wpinasz między nóżkę przełącznika a rezystor do masy.
  • Level 9  
    Czyli coś takiego będzie ok? Przełącznik będzie BBM, więc zawsze tylko jedno wyjście będzie zamknięte.
    Regulacja jasności podświetlenia - charakterystyka potencjometru
  • Helpful post
    Level 33  
    Hmm, jeśli w taki sposób chcesz to podłączyć, to trzeba to zrobić trochę inaczej.
    Regulacja jasności podświetlenia - charakterystyka potencjometru
    Rezystory muszą mieć tę samą wartość (najlepiej 1k). W pozycji nr. 1 - otrzymasz 5V, nr. 2 - 2/3 z 5V a nr. 3 = 1/3 z 5V.
    Oraz na wejściu rezystor pull down, aby pin nigdy nie "wisiał w powietrzu", jego wartość to 10k Ohm i więcej.
  • Level 9  
    Czyli jakbym chciał użyć np 10 pozycji przełącznika, to buduję jakby drabinę z 10 rezystorów łącząc je szeregowo, przy czym pomiędzy rezystorami wyprowadzam na piny przełącznika? To może łatwiej będzie jakiś enkoder znaleźć i oprogramować?
  • Level 33  
    irocket wrote:
    Czyli jakbym chciał użyć np 10 pozycji przełącznika, to buduję jakby drabinę z 10 rezystorów łącząc je szeregowo, przy czym pomiędzy rezystorami wyprowadzam na piny przełącznika?

    Zgadza się, tylko pamiętaj o tym, że pierwszy pin idzie do 5V a ostatni musi mieć jeszcze rezystor do masy.

    irocket wrote:
    To może łatwiej będzie jakiś enkoder znaleźć i oprogramować?

    To już zależy od Ciebie. Przełącznik daje Ci trzy stałe, niezmienne wartości które już na zawsze możesz do czegoś przypisać. Enkoder daje Ci tylko informacje o kierunku obrotu i o tym ile "kroków" zrobiło pokrętło. Także wszystko za co odpowiada enkoder, jest względne.
  • Level 9  
    Dobra, na razie dziękuję, ale tematu nie zamykam, jak przyjdą taśmy z Chin i będę miał jakieś problemy, to się odezwę.
  • Electronics specialist
    No, nie całkiem - R powinien być między GND, a WE. Można jeszcze rozważyć użycie czegoś dającego sygnał cyfrowy przy obracaniu (na Allegro np. Moduł impulsator enkoder sterowanie arduino, ceny od około 3zł) - wymaga użycia 2 pinów cyfrowych zamiast 1 analogowego (z ADC).
  • Level 9  
    Witam ponownie po dłuższej przerwie. Dotarły do mnie LEDy i komponenty do podłączenia wszystkiego. Niemniej może powinienem o to zapytać gdzieś indziej, ale w ramach kontynuacji niech będzie tu tutaj.
    Mianowicie do zasilania całego tego majdanu planuję użyć zasilacza ATX, w którymi linię 5V można obciążyć teoretycznie do 38A, linię 3,3V do 28A (przy czym łączone 3,3+5V to max 230W) i linię 12V do 20A. Bez obciążenia jest 5,1V na linii 5V i 11,3V na linii 12V, pod obciążeniem (podłączone 5m taśmy na 1/3 "mocy") odpowiednio 4,6V i 11,9V. Obawiam się, że przy większych mocach lub po podłączeniu jeszcze dodatkowego kawałka taśmy (potrzebuję około 6m) może być zbyt duży spadek napięcia na linii 5V, przez co ani Arduino, ani LEDy nie będą pracować poprawnie.
    W związku z tym moje pytanie: jak "dociążyć" zasilacz, żeby dostać wyższe napięcie na 5V? Czy zrobić to na linii 3,3V czy 12V? I jak to zrobić, żeby było efektywnie, ale nie efektownie?
  • Level 33  
    Przeważnie linia 5V jest podłączona do sprzężenia zwrotnego, i to ją w pierwszej kolejności trzeba obciążyć.
    Skoro u Ciebie napięcie na niej jest tak niskie, to coś jest nie tak... Choć teoretycznie może to wynikać z pulsacji napięcia na wyjściu i błędnym odczytu miernika.
    Polecam zmierzyć prąd jaki pobierają LED'y, oraz sprawdzić do jakiego poziomu spadnie napięcie na pełnej mocy taśmy.
  • Level 9  
    Teoretycznie przy pełnej jasności przy efekcie "tęczy" pobiera do 1,15A, przy kolorze białym na 30% jasności jest to jakieś 1,05A, przy 60% dochodzi do 1,20A, ale widać, że kolor diod blaknie i świecą co raz bardziej na czerwono.
    Na pełnej jasności przy 5m taśmy przy efekcie tęczy napięcie na 5V spada do 4,3V, na 3,3V do 3V, a na 12V mam 11,9V. Jutro poszukam żarówek 55W i spróbuję podłączyć pod 12V, żeby zobaczyć, jak wtedy będzie, ale w ogólnym rozrachunku chciałbym uniknąć używania tego typu obciążenia.
  • Level 9  
    Taśma ma na końcu gniazdo 3 pin (+5V, masa i sterowanie) i dwa dodatkowe przewody (5V i masa). Do tych dodatkowych przewodów dołączyłem zasilacz, a poprzez główne gniazdo podłączone jest klon arduino nano do 5V, GND i pinu D7 cyfrowego. Używam biblioteki Adafruit NeoPixel.
  • Electronics specialist
    Być może ten zasilacz nie ma kondensatorów na wyjściu (albo uległy uszkodzeniu). Przy zasilaniu komputera są kondensatory na płycie głównej, może w twoim układzie trzeba je dodać? Uwaga: do tego stosuje się kondensator Low-ESR, takie zwykłe długo nie podziałają, za to może dadzą efekty pirotechniczne.
  • Level 9  
    Tego nie wykluczam, że zasilacz może nie posiadać takich kondensatorów. Biorąc pod uwagę, że powinienem pisać "zasilacz", bo to bliżej nieokreślony chińczyk (prawdopodobnie Akyga). Tak jak pisałem, spróbuję jutro obciążyć dodatkowo linię 12V i zobaczyć, czy to coś pomoże (bo na pewno obciążenie 5V poprawiło (a w zasadzie unormowało) napięcie na linii 12V.

    Dodano po 11 [godziny] 27 [minuty]:

    Sytuacja wygląda następująco - zrobiłem krok w przód i dwa w tył. Podłączenie żarówki 55W pod 12V sprawiło, że przy jasności 30% napięcie na linii 5V wzrosło z 4,6V do prawie 5V. Pomyślałem, że spróbuję tego samego przy 100% jasności, ale gdy tylko podłączyłem żarówkę zasilacz się wyłączył i nie chce się włączyć. Na pierwszy rzut oka nic nie wybuchło, możliwe, że zadziałało jakieś OCP albo OLP
  • Level 9  
    Teraz już tak i działa. Przy 100% jasności w trybie tęczy jest 4,7V bez dołączonej żarówki i 4,75V z dołączoną. Także trochę to daje, ale widocznie jeszcze jest za mało obciążenia na 12V. Nie wiem też czy zasilacz się nie "rozrzuszał", bo wczoraj na tym samym trybie świecenia było 4,3V, a dziś jest 4,7V. Ewentualnie czy to przeciążenie nie "odblokowało" w nim czegoś, bo jak pisałem wcześniej, przy 30% jasności było 4,6V (5V z obciążeniem na 12V) a teraz jest jakieś 4,85V
  • Level 9  
    Mały odkop - w końcu się zabrałem za te ledy, podłączyłem potencjometry do ustawiania koloru (3 suwakowe) i chciałbym się jeszcze upewnić raz, co do poprawności tutaj rzeczy. Mianowicie, czy schemat podany niżej przez @kacpo1 jest ok? W sensie, co do prawej strony - mam 12 "wejść" w przełączniku, to łączę w szereg 12 rezystorów i odpowiednio podłączam, tu wszytko ogarniam. Tylko nurtuje mnie lewa strona - "wyjście" podłączam do masy i do pinu w Arduino? Czy wtedy jak np będzie wybrana pozycja 3, to napięcie na Arduino będzie 10/12*5V (czyli analogRead() zwróci około 850), a przy przełączaniu na 4 lub 2, po rozłączeniu 3 rezystor podłączony do masy na wyjściu zadziała na takiej zasadzie, że będzie 0V na pinie w Arduino? A jakby jego nie było, to by były "krzaki"?
    kacpo1 wrote:
    Hmm, jeśli w taki sposób chcesz to podłączyć, to trzeba to zrobić trochę inaczej.
    Regulacja jasności podświetlenia - charakterystyka potencjometru
    Rezystory muszą mieć tę samą wartość (najlepiej 1k). W pozycji nr. 1 - otrzymasz 5V, nr. 2 - 2/3 z 5V a nr. 3 = 1/3 z 5V.
    Oraz na wejściu rezystor pull down, aby pin nigdy nie "wisiał w powietrzu", jego wartość to 10k Ohm i więcej.
  • Level 9  
    @kacpo1 ok, dzięki, jutro zabieram się za lutowanie :) Mam gdzieś rezystor 47k, to jego użyję, a jakby było mało, to dołożę jeszcze kilka 10k.
  • Level 9  
    Sprawa wygląda następująco - zlutowałem wszystko według schematu, podłączyłem do Arduino, sczytałem wartości z wyjścia analogRead'em, oprogramowałem to, wszystko wyglądało ok, do czasu. Po podłączeniu tego pod zasilacz wszystko zaczęło wariować, mrugać itp. Próbowałem modyfikować kod dopasowując odpowiednie wartości, jednak nie byłem w stanie nad tym zapanować.
    Dla przełącznika ustawionego w pozycji 1 (przed rezystorem) analogRead zwraca 1023 - czyli tak jak być powinno. Dla przełącznika w pozycji 2 (za jednym rezystorem) na sucho było to 920, po podłączeniu do "zestawu" nie można było tego znaleźć. Pomyślałem, że podłączę Arduino z zestawem pod USB i sobie sprawdzę na porcie szeregowym co i jak - o dziwo, wtedy większość "programów" zaczęła działać jak powinna, po odłączeniu USB nadal "krzaki". Prawdopodobnie Arduino dostało 5V na USB (a nie jak wcześniej ~4,8V na pinie 5V), co "pomogło" w odczycie (chociaż przełącznik nie jest zasilany bezpośrednio z Arduino).
    Następnie postanowiłem odłączyć rezystor na wyjściu przełącznika (ten pull-down, 47k ma) i okazało się, że pierwsze 7 z 12 programów działają idealnie, tylko są "przesunięte", czyli złe wartości po prostu w ifach.
    Po przydługawym opisie pytania: czy ten rezystor 47k to za mało? Czy dolutować do niego jeszcze jakieś (mam 10k, może znajdę jeszcze inne)? Czy spróbować zasilać Arduino poprzez VIN 12V z zasilacza? Czy po prostu pozbyć się tego rezystora pull-down?

    EDIT: podłączyłem przełącznik zamiast pod +5V z zasilacza to pod pin Arduino z ustawionym stanem wysokim. Udało mi się wtedy ogarnąć 8 z 12 pozycji przełącznika, pozostałe 4 na razie zostaną nieużywane. Wyczytałem też, że Arduino Nano (a dokładniej jego stabilizator) nie lub napięcia 12V, tylko najlepiej 9V. Zobaczę co uda mi się ogarnąć jeszcze, a na razie zostawiam tak, jak jest.