FőoldalKonstruktőrAz RGB LED-ek kimenetének színhelyes keverése PIC12 processzorral
2015. március 11., szerda ::

Az RGB LED-ek kimenetének színhelyes keverése PIC12 processzorral

A grafikusok olyan színösszeállítások megtalálásában érdekeltek, amelyekkel alkotásuk művészeti lényegét és a márkaépítési szempontokat egyaránt érvényesíthetik. A színek pontos reprezentálása különböző eszközökön és médiumok segítségével azonban mindig komoly kihívást jelentett. A színértékek pontos kifejezésére több lehetőség áll rendelkezésre: ilyenek pl. a CMYK, RGB, CIE vagy a HunterLab formátumok. Három változó segítségével bármely szín pontosan leírható

A színek reprezentálásának egyik kedvelt módja a CIE 1931 XYZ színtérdiagram, amelyben az Y a fénysűrűséget (luminanciát), X és Z pedig a színértéket, színességet írja le. A szürke és fehér szín esetében például a színérték megegyezik, azonban a fénysűrűség eltérő. A reprezentáció eredménye egy háromdimenziós színtér, amely lefedi az emberi szem által érzékelni képes színek mindegyikét.

A piros, zöld és kék LED-ek színek széles skáláját képesek reprodukálni, ám az egyedi színeknél probléma lehet a finom színátmenetek nehézségei miatt. A fejlett mikrokontrollerek azonban programozhatók úgy, hogy egy csúszka vagy a CIE 1931 színtérdiagram (lásd 1. ábra) segítségével a legtöbb elérhető színt képesek legyenek reprodukálni. A diagram egy lényeges jellemzője, hogy ha két színt egy egyenessel összekötünk, a színek különböző arányú keverésével a vonal mentén bármely szín előállítható. Ez az oka annak, hogy a kék LED-eket sárga foszforral keverik, így képessé válnak a fehér fény előállítására.

1. ábra. A CIE 1931 színtér-diagram

Ha a színháromszögben foglaltatott színeket RGB komponensekkel kívánjuk reprodukálni, az elérhető színek skálája az 1. ábrán is látható háromszög, az ún. Maxwell-háromszög által lefedett tartományra korlátozódik. Az elő­állítható színek halmazát gamutnak nevezik. A pontosság tehát például nem teljes akkor, ha a színdiagramot egy számítógép-monitor képernyőjén nézzük, hiszen ilyenkor a monitor gamutja korlátozó tényezőként viselkedik. A középpontban lévő fehér folt apró, ezért a tiszta fehér fény elő­állításának képessége jó következtetést enged arra nézve, hogy a színkeverés megfelelő volt.

Színkeverés

A színkeverés megvalósítható például a Microchip-féle PIC12F1572 processzorral, amely rendelkezik három 16 bites impulzusszélesség-modulátorral (PWM-mel), amelyek lehetővé teszik az RGB LED-ek nagy pontosságú vezérlését és a finom színátmenetek elérését még alacsony fényesség esetén is. A színkeverő szoftverrel a tervező előállíthatja a kívánt színeket, a számítási feladatokat már a processzor végzi el.

A fejlesztők támogatására elérhető olyan demókártya is, amely ezt a felhasználási módot egy HSVW-csúszkával segíti, mely a színezet (H – Hue), színtelítettség (S – Saturation) és színérték (V – Value) szabályozására alkalmas, továbbá kiegészítették a fehérrel (W – White). A rendszer átkonfigurálható egy másik üzemmódba is, amelyben egy színháromszöget hívtak segítségül. A fejlesztőkártya vázlatos blokkdiagramja a 2. ábrán látható. Tápellátása USB-n keresztül, egy 3 V-os lítium gombelemmel vagy egy AAAA-típusú szárazelemmel oldható meg.

2. ábra. HSVW csúszkás színkeverő demókártya

Bekapcsolást követően a csúszkás módba konfigurált kártya végigmegy a HSVW beállításokon. Bizonyos idő elteltével a LED-ek energiatakarékossági okokból villogni kezdenek. A kártya szélén található csúszkával kiválasztható a megjelenítendő szín. A 3. ábra a fehér hozzáadásával módosított színkereket mutatja.

3. ábra. A HSVW csúszka

Ebben az üzemmódban a 2. ábrán látható RA0 és RA1 csatlakozók kapacitív csúszkával kerülnek implementálásra, amely a különböző színértékek közötti váltást ujjráhelyezéssel és –mozgatással egy dimenzióban teszi lehetővé. A második, alternatív üzemmódban a színt egy megjelenített színháromszögről származtatják, mint amilyen pl. az 1. ábrán látható. Az RA0 és RA1 csatlakozók támogatják az EUSART soros interfészt, amelyek az USB soros kapcsolat segítségével visznek át adatot; a PIC16F1455 mikrovezérlő az USB-üzeneteket EUSART 9600 baudos formátumra konvertálja. Ezen üzemmód elrendezését a 4. ábra mutatja.

4. ábra. Színháromszög-választóval konfigurált színkeverő-demonstrációs kártya

Ha olyan szín kerül kiválasztásra, amely kívül esik a LED-ek színgamutján, a függvény hibával tér vissza, a színkimenet pedig nem frissül. Ha a kiválasztott szín a LED-ek színgamutjának fedésében van, az új szín megjelenik.

Hangolás

Az ellenállásértékeket úgy kell megválasztani, hogy minden szín ugyanannyi lumennel jelenjen meg. A példához használt demórendszer esetében a pirosra 202 Ω, a zöldre 325 Ω, a kékre pedig 61 Ω ellenállásértéket határoztak meg. Minden LED-et színértékmérővel ellenőriztek. A fényerősség változhat a hőmérséklet függvényében is, amely LED-től függően akár jelentős is lehet. A célalkalmazás függvényében ezt a faktort is figyelembe kell venni, különösen akkor, ha kültéri rendszerről van szó.

Az emberi szem a villódzást kb. 200 Hz frekvencián érzékeli, keresztmoduláció jelentkezhet 50 és 60 Hz frekvenciájú világításnál is. Ennek fényében ajánlott, hogy a LED-világításnál a kapcsolási frekvencia 200 Hz felett legyen. A PIC12F1572 mikrovezérlő PWM perifériái esetében a villódzásmentesség a frekvenciáknak hála bőven garantált. A PWM periféria a terhelés bekapcsolt állapotban töltött idejének hosszúságát befolyásolja. A bekapcsolt állapotban töltött idő a PWM periódushoz viszonyított arányát kitöltési tényezőnek nevezik, amely megfelel a terhelésre jutó teljesítmény százalékának. A PWM-es teljesítményszabályozás elismerten pontos és jó hatásfokú módja a teljesítménykimenet szabályozásának.

Színháromszög

A kártya képes tehát a színháromszög által tartalmazott színek reprodukálására. A színháromszög értékeit a rendszer RGB-értékekre konvertálja, amelyek színkeverést követően adják ki a kívánt színt. A PWM perifériák szabályozzák az egyedi piros, zöld és kék LED-ek kitöltési tényezőjét vagy fényerősségét. Minden PWM egyenként 16-bites felbontással rendelkezik, amely még nagyon alacsony kitöltési tényező mellett is finom színátmenetek elérését teszi lehetővé.

A soros üzenetek értelmezésére alkalmas szoftver a ColorMix színkeverő rutint táplálja meg az adatokkal. Ez egy viszonylag számításigényes rutin, hiszen a PWM-értékek kiszámításához 16 MHz órajel mellett kb. 7,7 ms idő szükséges. Ha folyamatos színváltoztatás mellett ez a rutin végezné a PWM-értékek számítását, akkor a frissítési ráta 130 Hz-re esne vissza, amely jelentősen csorbítaná a folytonosság élményét.

A ColorMix rutint C kódban fejlesztették ki. A PIC végzi el a mátrix invertálását, szorzását és skálázását a megfelelő szín előállításához. Minden számítás egész számokban történik. A skálázás folyamatos, így az értékek a 32 bites hosszú változótípuson sosem fognak túlcsordulni.

Hardverkonfiguráció

A demókártya gyárilag csúszkás üzemre van felkészítve konfiguráció és programozás vonatkozásában. Az ebben az üzemmódban történő működtetéshez a PIC12F1572-t az RGBSlider szoftverrel kell programozni, a PIC16F1455-öt pedig törölni kell. Az alternatív, színháromszöges működtetési módhoz a PIC12F1572-t az RGBChroma szoftverrel, a PIC16F1455-öt pedig az RGBChroma USB szoftverrel kell programozni.

Konklúzió

A digitális hirdetőtáblás és hasonló médiaipari alkalmazásokban felhasznált LED-eknél a színhelyesség egyre nagyobb szerephez jut, mivel ez lényeges pontja a márkaépítésnek. A cikk alapján láthattuk, hogyan lehet egy egyszerű, PIC12F1572 és PIC16F1455 mikrokontrollereket tartalmazó demókártya segítségével a megfelelő színkeveréket előállítani, és miképpen segítheti a fejlesztőket a rendszer.

A Microchip honlapja

Tudomány / Alapkutatás

tudomany

CAD/CAM

cad

Járműelektronika

jarmuelektronika

Rendezvények / Kiállítások

Mostanában nincsenek események
Nincs megjeleníthető esemény