LED lámpa modul fejlesztés

Felkérést kaptam egy design lámpa elektronikai moduljának tervezésére és prototípusának elkészítésére. A kor követelményeinek megfelelően természetesen LED alapú fényforrásról van szó. Korábban foglalkoztam már LED lámpákkal, ám a beépíteni kívánt extra funkcióknak köszönhetően most ez egy kicsit több, mint egy sima fényforrás. Érintés nélkül történő ki/be kapcsolás és vezérelhető fényerő szerepelt az igények között.

A lámpamodul tervezésénél figyelembe kellett vennem a beépítési körülményeket, hiszen a megkeresés idején már volt egyértelmű koncepció a teljes lámpa kialakítását illetően, valamint mintaként gyártott mechanikai elemek is. Ezek a feltételek behatárolták a modul alakját, maximális kiterjedését, valamint a ráépített alkatrészek nagyjából történő elrendezését.

Műszaki oldalról, csak néhány működési paraméter volt adott, a megvalósítás módját és az ehhez szükséges alkatrészeket magam válogathattam össze. A vezérlést mikrovezérlővel valósítottam meg a vezérléshez szükséges szenzor kommunikációs módja miatt. Ezzel nagyban egyszerűsödött a hardveres felépítés, valamint sokkal nagyobb rugalmasságot adott a szoftveres alapon történő megvalósítás, hiszen nagyon jól paraméterezhetőek így az egyes funkciók, valamint későbbi módosításra is egyszerűbb megoldás kínálkozik.

A működésről

A megvalósítással kapcsolatosan megfogalmazott igények az alábbiak voltak:

  • A lámpa 24V egyenfeszültségű tápegységtől kapja az energiaellátást.
  • Elektromos teljesítménye 6W legyen.
  • 3200K körüli színhőmérséklet.
  • Készenléti fogyasztás nem lehet több, mint 300mW.
  • 1W-os LED-ekből szükséges kialakítani a fényemittáló részt, értelemszerűen így 6db LED kerül majd felhasználásra.
  • A lámpát gesztusérzékelővel kell ellátni a vezérléshez.

A gesztusérzékelővel megvalósított funkciók.

  • Egy közelítés, majd gyors kézelvétel hatására a lámpa bekapcsol.
  • Bekapcsolt állapotban egy újabb rövid közelítés hatására a lámpa kikapcsol.
  • Bekapcsolt állapotban hosszan az érzékelő alatt tartva a kezet kis várakozás után a fényerőt el kell kezdeni csökkenteni. A kezet elvéve az érzékelő alól a fényerő változtatása az adott ponton megáll.
  • Ismételt fényerő szabályozási szándék jelzésére a fényerőt növelni kell, majd a kezet elvéve a csökkentéshez hasonló módon az adott fényerőt kell alkalmazni.
  • Ha a fényerő skála elérte valamelyik végpontját, egy rövid bevillanással jelezni kell, majd kis várakozás után a szabályozást ellentétes irányba kell folytatni.
  • Kikapcsolás, bekapcsolás rövid idejű elsötétítéssel, kivilágosítással történjen és ne hirtelen.

Tervezés

A fejlesztés elsőként az energiafelhasználási igények felmérésével kezdtem. Ennek folyamán jutottam el a teljesítményvezérlési egységig, majd onnan a vezérlőig. A LED-ek kapcsolását, valamint a fényerő vezérlését impulzusszélesség modulált jellel tökéletesen meg lehet oldani oly módon, hogy kevés melegedéssel kellően nagy hatásfokkal tudjon üzemelni az egység. Mivel aránylag kicsi teljesítményről volt szó, úgy számoltam, hogy egy általános SOT23 tokozású MOSFET elegendő lehet mint kapcsolóelem. Az áramkör kialakítására szánt terület a panelen viszonylag kicsi volt, így a teljesítménykapcsoló félvezető meghajtására egy MOSFET driver chipet láttam megfelelőnek alkalmazni. A PWM jel előállítására nagyon széles eszköztár állt rendelkezésemre, de figyelembe kellett vennem azt, hogy a lámpát gesztusérzékelővel kívánja vezérelni a megrendelő, így mielőtt kiválasztottam volna a megfelelő chipet, felmértem az aktuális gesztusérzékelő kínálatot. Némi válogatás után az Avago által gyártott APDS90xx sorozat mellett döntöttem. Mivel ez egy I2C buszon kommunikáló érzékelő, így egyértelmű, hogy a működtetéséhez mikrokontrollerre lesz szükség. Ha már mikrokontroller, akkor PWM jel előállító képessége is legyen és a teljes vezérlést szoftveresen meg tudom valósítani egyetlen chipben némi járulékos alkatrésszel és természetesen a szükséges perifériákkal kiegészítve. A vezérlés PIC18F14K22 mikrovezérlőre épült, melyet korábban már más projektnél én is alkalmaztam, így nem volt ismeretlen számomra ez a típus. Az egész áramkör tápellátást szükségeltetett még megtervezni. Mivel csak a vezérlő része igényelt külön tápfeszültséget a modulnak és a bemeneti tápellátás 24V DC külső táppal volt tervezve, így egy aránylag kicsi méretben, néhány alkatrésszel felépített DC/DC konverterre volt már csak szükség. Feszültségkonverterként szintén egy már korábban alkalmazott típust használtam. Már csak a LED-ek típusának kiválasztása maradt.

LED ügyben több gyártót is megnéztem. Elsődleges szempont volt a teljesítmény, színhőmérséklet és beszerezhetőség. Mivel sorozatgyártásban is kell gondolkodni, olyan gyártót kellett választanom, akinek a termékei több kereskedőnél is elérhetőek, illetve azért valamit ad a minőségre is, valamint árban sem horror. Hosszas kutakodás után végül a Cree Xlamp sorozata mellett döntöttem. Egyetlen nem passzoló adat a teljesítmény volt, ugyanis a gyártói adatlap szerint a választott LED-ek kicsivel több, mint 1W-osak. Ez még nem probléma, hiszen kicsit kíméletesebben hajtva a teljesítményen lehet csökkenteni, ami az élettartam szempontjából még előnyös is.

A választott típus a warm white 2600-3700K fok közötti színhőmérséklettel rendelkezett. Fényereje 25C fok esetén 107lm, 85C fok esetén már csak 93,9lm 350mA üzemi áram mellett, mikor a nyitóirányú feszültség az adatlap szerint 2,9V.
Ebből a típusból célszerűen sorba kapcsolva a 6 darab LED-et 17,4V lesz a rajtuk eső feszültség. Ha a tápfeszültség 24V, akkor 6,6V-ot még le kell „szedni” a 100% fényerőn való üzemeltetéshez. Ezt egy megfelelően méretezett ellenállással meg lehet tenni, viszont a számításaim szerint túl nagy teljesítményű ellenállásra lett volna szükség, ami nem fért volna be a lámpatestbe, illetve hát gondot jelentett volna a beszerelésnél.

Szerencsére a működési feszültség ugyan adott volt, de nem volt kőbe vésve, így a megrendelővel történt egyeztetés után megváltoztattam 12V-ra, így már csak 3,3V-ot kellett csökkenteni a beérkező feszültségből és 2x3db sorba kapcsolt LED-del és fele akkor ellenállás teljesítménnyel kivitelezhető lett a LED áramköre.
A tápfeszültséget feszültségre stabilizált tápegység biztosítja, lévén, hogy ilyen típusokra jobban lehet építeni olyan szempontból, hogy több van belőlük a piacon. Szempont ugye az is, bár nem írtam, hogy kereskedelemben kapható tápegységről kell működnie a lámpának. Dugasztápból pedig hamarabb találni legalább 50 félét 12VDC 1-2A kimeneti árammal, mint 350mA konstans áramút. Mivel a tápfeszültség feszültségre stabilizált, ezt kihasználva egyszerűbb áramkorlátozó ellenállásokkal beállítani a LED-ek maximális áramát, nem pedig áramszabályozást megvalósítani.

Miután összeálltak az építőelemek, elkészítettem a végleges kapcsolási rajzot, valamint elkezdtem megtervezni a panelt. A kialakításhoz, illetve a méretek pontos betartásához szerencsére kaptam egy műszaki rajzot, így csak néhány dolog lemérésére volt szükség. Miután elkészült a NYÁK panel, elvégeztem a beültetést és az élesztést.

Szoftveres fejlesztése

A hardver összeállt, az élesztés során megtörtént a tápfeszültségek pontos beállítása, valamint a LED-ek áramainak beállítása az áramkorlátozó ellenállások pontosításával. Kezdetét vette a szoftveres munka.

A PIC szoftverét MPLABX-ben írtam, C nyelven. Mivel korábban már volt dolgom ezzel a kontrollerrel, így alapul vettem az akkori szoftverben használni inicializálási kódot, ami némi átalakítással tökéletesen felhasználható volt. Na nem mintha gondot jelentene megírni, de ha már kész van, akkor minek tölteni az időt újraírással. Elég újdonság volt az Avago szenzor, elegendő volt ahhoz elkészíteni a megfelelő függvényeket. Találtam Arduino-ra írt rutinokat APDS9030-az típushoz, de mivel egész értelmes az alkatrész adatlapja, gondoltam talán egyszerűbb, ha én írok egy saját kis függvénytárat az érzékelőhöz, mintsem más kódját portoljam át PIC projektbe és még az sem biztos, hogy az jól fog működni.

Miután felélesztettem a szenzort, konfiguráltam valamennyi perifériaegységet és elkezdtem megvalósítani azokat a funkciókat, melyek meghatározták az elvárt működést. Amint végeztem a munkával jó alaposan átteszteltem a modult és apró javítások, finomítások után végül átadtam a megrendelőmnek. Tőlem a szükséges dokumentációkat is megkapta, így most már nyugodt lehet, hogy tudja gyártani a modulokat akár nélkülem is.

Végül néhány fotó a kész prototípusról.

LED modul előlnézet

LED modul alulnézet=

Az alábbi képen pedig a modul fogyasztása látható kikapcsolt állapotban. A mikrokontroller és az optikai érzékelő ebben az állapotban is működik, tehát nem használtam elalvas/ébresztés funkciókat. Egyrészt az idő rövidsége miatt ezt már nem tudtam volna leprogramozni, másrészt az elvárt készenléti áramfelvétel maximum értékéhez képest ez a fogyasztás bőven lent van, gyakorlatilag így nincs ennek jelentősége. A hardver egyébként úgy lett tervezve, hogy lehetővé tegye az elalvás utáni ébresztést is, tehát csak a szoftveren múlik, hogy ez később bekerüljön, illetve a megrendelői igényen.

LED modul fogyasztása