PCA9530 i inne dimmer LED

PCA9530 i inne dimmer LED
Oceń opis

Bardzo ciekawe, zarazem proste w obsłudze, oraz wygodne w użyciu, mógłbym tak długo … Generalnie chodzi mi o rodzinę układów scalonych będącymi „sterownikami PWM” do obsługi źródeł światła LED, lub po prostu samych LED itp. Generalnie zostały zaprojektowane przez producenta jako I/O expander, zoptymalizowane do dimmer LED.

Kiedyś dla odciążenia/uproszczenia kodu, który pisałem dla µC AT89C2051, postanowiłem zapoznać się z  fajnym układem PCA9530D (NXP Semiconductors), który to jest: 2-bit LED dimmer 25mA, I²C, 2.3/5.5V DC. Jest na tyle sympatyczny i prosty do nauczenia, że będąc wtedy początkującym, „rozkminiłem” go stosunkowo szybko. Był to koniec 2012 roku, zdaje się sierpień.

dimmer w układzie na płytce stykowej

dimmer w układzie na płytce stykowej

Wracając do tematu, układ jest przystosowany do bezpośredniego sterowania diodami LED prądem do 25mA na pin dzięki wyjściom „open-drain”. Częstotliwość PWM na wyjściu jest większa od 100Hz w związku z czym nie zobaczymy migania.
Scalak posiada wejście adresowe A0, dwa piny GPIO będące też wyjściami do sterowania LED, dwa piny do obsługi standardowej magistrali I²C (SDA i SCL), pin RESET (active LOW) i piny „zasilające” Vss oraz Vdd. Układ może pracować w zakresie napięć od 2,3V do 5,5V. Jego magistrala I²C pracuje do częstotliwości 400MHz. Wypełnienie przebiegu prostokątnego (jasność świecenia) na wyjściu można kontrolować w 256 krokach, a częstotliwość (mruganie) uzależniona jest od ustawień preskalera, oba parametry indywidualnie dla każdego z kanałów. Dzięki takim możliwością sterowana dioda LED może świecić z ustawioną jasnością, mrugać lub być wyłączona. Po użyciu sygnału reset, LED pozostaje w stanie OFF. Ciekawostką jest to, że układ ma wsparcie dla „hot insertion” czyli do działającego układu można podłączać LEDy bez obawy na uszkodzenie czegokolwiek, oraz to, że układ ma funkcję power-on reset. Dodatkowo pin nie używany do sterowania LED może z łatwością zostać wykorzystany jako GPIO.

Gdy chcemy taki pin wykorzystać jako wejście, ustawiamy go w stan wysokiej impedancji (00), po czym można odczytywać jego stan z rejestru input. Natomiast gdy ma być sterowany jako wyjście, należy zastosować odpowiedni rezystor pull-up. Stan wysoki otrzymamy ustawiając wysoką impedancję przez rejestr „LED selektor”, a stan niski ustawiając na tym wyjściu logiczne zero. Akurat z tej funkcjonalności nie korzystałem.
Układ może występować w różnych wersjach różniących się ilością wyprowadzeń do sterowania LED. I tak np:
PCA9530 – 2 wyjścia,
PCA9531 – 8 wyjść,
PCA9532 – 16 wyjść,
PCA9533 – 4 wyjścia.

Sterowanie czy ustawianie funkcjonalności odbywa się dzięki sześciu rejestrom:
INPUT – Input register
używamy gdy korzystamy z funkcjonalności GPIO,
PCS0 – Frequency Prescaler 0
określa szybkość migania kanału 0, z nastawioną jasnością PWM0,
PWM0 – Pulse Width Modulation 0
określa jasność świecenia kanału nr 0,
PCS1 – Frequency Prescaler 1
określa szybkość migania kanału 1, z nastawioną jasnością PWM1,
PWM1 – Pulse Width Modulation 1
określa jasność świecenia kanału nr 1,
LS0 – LED selector
określa stan LEDa, wpisanie 00 ustawia na wyjściach stan wysokiej impedancji – LED off – nastawa domyślna; wpisanie 01 ustawia na wyjściach stan niski – LED on; wpisanie 10 uaktywnia świecenie/mruganie LED0 z jasnością określoną przez PWM0; wpisanie 11 analogicznie dla kanału drugiego.

podstawowy schemat zastosowania dimmera

podstawowy schemat zastosowania dimmera

Dla aplikacji, które mają być energooszczędne przy zasilaniu ze wspólnego źródła producent zaleca stosowanie rezystora o dużej wartości równoległego do LED , lub aby napięcie zasilające LED było wyższe o co najmniej 1,2V niż napięcie zasilające USC. Szczegóły na stronie 10 załączonej noty. Na kolejnej stronie jest „pięknie” przedstawiony sposób programowania zamierzonych zachowań wyjść. Myślę że opis nie wymaga dodatkowego komentarza. Programowanie i obsługa jest jeszcze prostsza przy uaktywnieniu flagi Auto-Increment podczas adresowania „control register” i sprowadza się da zapisu na szynę i²C wybranych wartości.

A.D. 2015-02-10 Trochę już czasu upłynęło, odkąd powstał ten artykuł. Kilka dni temu trafiłem na prawdziwy kombajn związany z tematem i postanowiłem o nim wspomnieć ;-Dmoduł z PCA9685PCB zawiera układ scalony PCA9685, o funkcjonalności: 16-channel, 12-bit PWM I2C-bus LED controller. Wooww ;-D
Fotka pochodzi z internetowej wyszukiwarki.


Nota katalogowa PCA9530.pdf (184 pobrania)
Nota katalogowa PCA9533.pdf (177 pobrań)

Share Button
Tagi , , , , , , , , .Dodaj do zakładek Link.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

ten − 4 =