[์ด๊ธ] PWM์ ๋น ๋ฅด๊ฒ ๊น๋นก์ผ ๋ฟ์ธ๋ฐ, ์ด๋ป๊ฒ LED ๋ฐ๊ธฐ๊ฐ ์กฐ์ ๋ ๊น?
MCU ํ์ โ์ผ์งโ(์ด ๊ธ์์ 3.3V)๊ณผ โ๊บผ์งโ(0V) ๋ ๊ฐ์ง๋ง ๋ผ ์ ์์ด์, ๊ฑฐ๊ธฐ ์ฐ๊ฒฐ๋ LED๋ ์ผ์ก๋ค ๊บผ์ก๋ค๋ง ํด์. ๋์ด ๋ฐ๋ผ๊ฐ์ง ๋ชปํ ๋งํผ ๋น ๋ฅด๊ฒ ๊น๋นก์ด๋ฉด ๋์ ๊ทธ ํ๊ท ๋ง ๋๋ผ๊ณ , ๊ทธ๋์ ํ ๋ฒ ๊น๋นก์ผ ๋ ์ผ์ ธ ์๋ ์๊ฐ์ ๋น์จ, ์ฆ ๋ํฐ๊ฐ ๊ณง ํ๊ท ๋น์ ์์ด ๋ผ์. ๋ค๋ง ๋์ ํ๊ท ์ ์ ์งํ๊ฒ ๋๋ผ์ง ์์์, ๋ํฐ 50%๋ ๋ฐ ๋ฐ๊ธฐ๊ฐ ์๋๋ผ ์ฝ 76%๋ก ๋๊ปด์ ธ์.
๋จผ์ ์์๋ ์ฉ์ด
| ์ฉ์ด | ์๋ ์ด๋ฆ | ์ฝ๊ฒ ๋งํ๋ฉด |
|---|---|---|
| PWM | Pulse Width Modulation (ํ์ค ํญ ๋ณ์กฐ) | ์ผ ๋๋ โ์๊ฐ ๊ธธ์ดโ๋ก ์ธ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ. ์๋๊ผญ์ง๋ฅผ ํ์๋ค ์ ๊ฐ๋ค ํ๋ ๋ฐ์ |
| ๋ํฐ | Duty Cycle (๋ํฐ ์ฌ์ดํด) | ํ ๋ฒ ๊น๋นก์ผ ๋ ์ผ์ ธ ์๋ ์๊ฐ์ ๋น์จ(%). ์ปต์ ๋ฌผ์ ์ฑ์ด ๋น์จ |
| ์ฃผ๊ธฐ | Period | ํ ๋ฒ ์ผ์ก๋ค ๊บผ์ง๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ. ๋ฐ์ ํ ๋ง๋ |
| ์ฃผํ์ | Frequency (๋จ์ Hz, ํค๋ฅด์ธ ) | 1์ด์ ๋ช ๋ฒ ๊น๋นก์ด๋์ง. 1 รท ์ฃผ๊ธฐ |
| CRT | Cathode Ray Tube (์๊ทน์ ๊ด, ๋ธ๋ผ์ด๊ด) | ์ ์ ๋น์ผ๋ก ํ๊ด ๋ฌผ์ง์ ํ ์ค์ฉ ๋น๋๊ฒ ํด ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๋ ์๋ ๋ฑ๋ฑํ ๋ชจ๋ํฐ |
| LCD | Liquid Crystal Display (์ก์ ๋์คํ๋ ์ด) | ๋ค์์ ๋น์ถ๋ ์กฐ๋ช ์ ์ก์ ์ด ๊ฐ๋ฆฌ๊ณ ์ด์ด ๊ทธ๋ฆผ์ ๋ง๋๋ ์์ฆ ๋ชจ๋ํฐ |
| ์ฃผ์ฌ์จ | Refresh Rate (๋จ์ Hz) | 1์ด์ ํ๋ฉด ์ ์ฒด๋ฅผ ๋ค์ ๊ทธ๋ฆฌ๋ ํ์. 60Hz๋ฉด 1์ด์ 60๋ฒ |
| ๋ฐฑ๋ผ์ดํธ | Backlight | ํ๋ฉด ๋ค์์ ๋น์ถ๋ ์กฐ๋ช (์์ฆ์ ๋๋ถ๋ถ LED). ๋ชจ๋ํฐ ๋ฐ๊ธฐ๋ ์ด๊ฑธ ๊น๋นก์ฌ์ ์กฐ์ ํ๊ธฐ๋ ํด์ |
| MCU | Micro Controller Unit (๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ) | ํ์ ์ผฐ๋ค ๊ป๋ค ํด ์ฃผ๋ ์์ ์ปดํจํฐ ์นฉ |
| LED | Light Emitting Diode (๋ฐ๊ด ๋ค์ด์ค๋) | ์ ๊ธฐ๊ฐ ํ๋ฅด๋ฉด ๋น๋๋ ๋ถํ. ์ ๋ฅ๊ฐ ๋ง์์๋ก ๋ฐ์์ ธ์ |
| ํ์ด๋จธ | Timer | MCU ์์ ์คํฑ์์น. ๋ฐ์์ ๋ง์ถฐ ์ซ์๋ฅผ ์ธ์ |
| Compare ๊ฐ | Compare Value (๋น๊ต๊ฐ) | ํ์ด๋จธ๊ฐ ์ด ์ซ์๋ฅผ ์ธ๊ธฐ ์ ๊น์ง๋ง ํ์ ์ผ ๋ฌ์. ๋ํฐ๋ฅผ ์ ํ๋ ๋๊ธ |
| ๋ฉํฐ๋ฏธํฐ | Multimeter | ์ ์ยท์ ๋ฅยท์ ํญ์ ์ฌ๋ ๊ธฐ๋ณธ ์ธก์ ๊ธฐ. ๋ฐ์์ด ๋๋ ค์ ๋น ๋ฅธ ๊น๋นก์์ ํ๊ท ์ผ๋ก ๋ณด์ฌ ์ค์ |
| ์ค์ค๋ก์ค์ฝํ | Oscilloscope | ์ ์์ด ์๊ฐ์ ๋ฐ๋ผ ์ด๋ป๊ฒ ๋ณํ๋์ง ๊ทธ๋ ค ์ฃผ๋ ์ธก์ ๊ธฐ. ์ ์์ฉ ์ด๊ณ ์ ์นด๋ฉ๋ผ |
| ํ๋ฆฌ์ปค | Flicker | ๊น๋นก์์ด ๋์ด๋ ์นด๋ฉ๋ผ์ ๋ณด์ด๋ ํ์ |
| CIE L* | CIE Lightness (๊ตญ์ ์กฐ๋ช ์์ํ ๋ฐ๊ธฐ ์ฒ๋) | ์ฌ๋ ๋์ด ๋๋ผ๋ ๋ฐ๊ธฐ๋ฅผ 0~100 ์ซ์๋ก ๋ฐ๊พธ๋ ๊ณต์ |
| ์คํฐ๋ธ์ค ๋ฒ์น | Stevens' Power Law (์คํฐ๋ธ์ค์ ๊ฑฐ๋ญ์ ๊ณฑ ๋ฒ์น) | ์๊ทน์ด 2๋ฐฐ ์ธ์ ธ๋ ๋๋์ 2๋ฐฐ๋ณด๋ค ๋ ์ปค์ง๋ค๋ ๊ท์น. ๋น์ ๋๋ต ์ ๊ณฑ๊ทผ~์ธ์ ๊ณฑ๊ทผ๋งํผ |
| ๊ฐ๋ง ๋ณด์ | Gamma Correction | ๋์ด ๋๋ผ๋ ๋ฐ๊ธฐ์ ๋ง์ถฐ ๋ํฐ๋ฅผ ๋ฏธ๋ฆฌ ํ์ด์ ์ฃผ๋ ๊ฒ |
์ด๋ฐ ์ผ ๊ฒช์ด๋ณธ ์ ์๋์? ๋ชจ๋ํฐ๋ฅผ ์นด๋ฉ๋ผ๋ก ์ฐ์ผ๋ฉด ์ค๋ฌด๋ฌ๊ฐ ์๊ฒจ์
์๋ ๋ด์ค ํ๋ฉด์์ CRT ๋ชจ๋ํฐ, ํํ ๋งํ๋ ๋ธ๋ผ์ด๊ด์ ์ฐ์ ์ฅ๋ฉด์ ๋ณด๋ฉด ๊ตต์ ๊ฒ์ ๋ ๊ฐ ํ๋ฉด ์๋ฅผ ์ฒ์ฒํ ๊ตด๋ฌ๊ฐ์. ์ง๊ธ๋ ํฐ ์นด๋ฉ๋ผ๋ก ๋ชจ๋ํฐ๋ฅผ ์ฐ์ผ๋ฉด, ๋์ผ๋ก๋ ๋ฉ์ฉกํ๋ฐ ์ ์ ๊ฐ๋ก ์ค์ด ๋ณด์ผ ๋๊ฐ ์๊ณ ์. ๋ ๋ค โ๋๋ณด๋ค ๋น ๋ฅธ ๊น๋นก์โ์ ์นด๋ฉ๋ผ๊ฐ ์ก์๋ธ ๊ฑฐ์์.
๋ธ๋ผ์ด๊ด ์์ ์ด ์ ์ผ ์ฌํ์ด์. CRT๋ ๊ทธ๋ฆผ์ ํ ๋ฒ์ ๋์ฐ์ง ์์์ด์. ์ ์ ๋น์ด ํ๋ฉด ๋งจ ์๋ถํฐ ํ ์ค์ฉ ๊ทธ์ด ๊ฐ๋ฉฐ ํ๊ด ๋ฌผ์ง์ ๋น๋๊ฒ ํ๊ณ , ๊ทธ ๋น์ ๊ธ๋ฐฉ ์ฌ๊ทธ๋ผ๋ค์ด์. 1์ด์ ํ๋ฉด ์ ์ฒด๋ฅผ ๋ค์ ๊ทธ๋ฆฌ๋ ํ์๋ฅผ ํ์ ์์ ์ฃผ์ฌ์จ์ด๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ, ๋ณดํต 60~85Hz์์ด์. ์นด๋ฉ๋ผ๊ฐ ์ฐ๋ ๋ฐ์์ ์ฃผ์ฌ์จ์ด ์ด๊ธ๋๋ฉด ๋ง ์ฌ๊ทธ๋ผ๋ ์ค๋ค์ด ๊ฒ์ ๋ ๋ก ์ฐํ์ ๊ตด๋ฌ๊ฐ์. 60Hz์์ ๋์๋ ๋ฏธ์ธํ ๋จ๋ฆผ์ด ๋๊ปด์ ธ์, ๊ทธ๋๋ ๋ชจ๋ํฐ ์ค์ ์์ ์ฃผ์ฌ์จ์ 75Hz๋ 85Hz๋ก ์ฌ๋ ค ์ฐ๊ณค ํ์ฃ .
์์ฆ ๋ชจ๋ํฐ๋ ๋ฐฑ๋ผ์ดํธ๊ฐ ๋ฒ์ธ์ด์์. LCD ๋ชจ๋ํฐ๋ ์ ๊ทธ๋ฆผ์ ๊ทธ๋ฆฌ๋ ๋์์๋ ์ด์ ๊ทธ๋ฆผ์ ๋ถ์ก๊ณ ์์ด์, ์ฃผ์ฌ์จ ๋๋ฌธ์ ์๊ธฐ๋ ๊ตต์ ๋ ๋ ๊ฑฐ์ ์ฌ๋ผ์ก์ด์. ๋์ ํ๋ฉด ๋ค์์ ๋น์ถ๋ ์กฐ๋ช ์ธ ๋ฐฑ๋ผ์ดํธ๋ฅผ ์์ฃผ ๋น ๋ฅด๊ฒ ๊ป๋ค ์ผ์ ๋ฐ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ๋ชจ๋ํฐ๊ฐ ๋ง์์. ์ด๊ฒ ์ค๋ ์ฃผ์ ์ธ PWM์ด์์. ๋ฐ๊ธฐ๋ฅผ ๋ฎ์ถ์๋ก ๊บผ์ง ์๊ฐ์ด ๊ธธ์ด์ ธ์ ์นด๋ฉ๋ผ์ ์ค์ด ๋ ์งํ๊ฒ ๋จ๊ณ ์. โํ๋ฆฌ์ปค ํ๋ฆฌโ๋ผ๊ณ ๊ด๊ณ ํ๋ ๋ชจ๋ํฐ๋ ์ด ๊น๋นก์์ ์์ ๊ฑฐ๋ ๋ณด์ด์ง ์์ ๋งํผ ๋น ๋ฅด๊ฒ ๋ง๋ ์ ํ์ด์์.
๊ทธ๋ฐ๋ฐ ์ด์ํ์ง ์๋์? ์ ์์ด ์๊ฐ์ ๋ฐ๋ผ ์ด๋ป๊ฒ ๋ณํ๋์ง ๊ทธ๋ ค ์ฃผ๋ ์ธก์ ๊ธฐ์ธ ์ค์ค๋ก์ค์ฝํ๋ก MCU์ LED ํ์ ์ฐ์ด ๋ณด๋ฉด, 3.3V์ 0V๋ง ๋ฒ๊ฐ์ ๋์ค๊ณ 1.65V ๊ฐ์ ์ค๊ฐ ์ ์์ ์ด๋์๋ ์์ด์. ์ผ์ง๊ณผ ๊บผ์ง๋ฟ์ธ๋ฐ ์ด๋ป๊ฒ โ์ค๊ฐ ๋ฐ๊ธฐโ๊ฐ ๋์ฌ๊น์? ๊ฒ๋ค๊ฐ ์ง์ ๋ํฐ 50%๋ฅผ ์ค ๋ณด๋ฉด โ๋ฐโ์ด๋ผ๊ธฐ์ ๊ฝค ๋ฐ์์. ์ค๋์ ์ด โ์?โ๋ค์ ๊ฐ์ด ํ์ด๋ณผ๊ฒ์.
PWM ์๋ฆฌ: ๋์ ๋น์ ๋ชจ์ ๋ด๋ ๋๋ฆฐ ์ปต์ด์์
์๋๊ผญ์ง๋ฅผ 1์ด์ 1,000๋ฒ ์ด์๋ค ์ ๊ฐ๋ค ํ๋ค๊ณ ์์ํด ๋ณด์ธ์. ๋ฌผ์ค๊ธฐ๋ ๋๋ ๋๊ธฐ์ง๋ง, ์๋ ๋ฐ์น ์ปต์๋ โํ๊ท ๋งํผโ ๋ฌผ์ด ์ฐจ์. ์ ๋ฐ์ ์ด๊ณ ์ ๋ฐ์ ์ ๊ทธ๋ฉด ์ปต์๋ ์ ๋ฐ ์๋๋ก ๋ฌผ์ด ์ฐจ์ฃ .
๋๋ ๋๊ฐ์์. ๋์ ๋น์ ์์ฃผ ์งง์ ์๊ฐ์ฉ ๋์ด ๋ณด๋ ๊ฒ ์๋๋ผ, ์กฐ๊ธ์ฉ ๋ชจ์ ๋์๋ค๊ฐ ํ๊บผ๋ฒ์ ๋๋ผ๋ ๋๋ฆฐ ์ปต์ด์์. LED๊ฐ ๋๋ฌด ๋นจ๋ฆฌ ๊น๋นก์ด๋ฉด ๋์ ์ผ์ง๊ณผ ๊บผ์ง์ ๋ฐ๋ก ๋ณด์ง ๋ชปํ๊ณ , ์ปต์ ์์ธ ํ๊ท ๋ง ๋๊ปด์.
์ฌ๊ธฐ์ ํ ๋ฒ ์ผ์ก๋ค ๊บผ์ง๋ ํ ๋ง๋์ ์๊ฐ์ ์ฃผ๊ธฐ, 1์ด์ ๋ช ๋ง๋๋ฅผ ๋ฐ๋ณตํ๋์ง๋ฅผ ์ฃผํ์๋ผ๊ณ ํด์. ๊ทธ๋ฆฌ๊ณ ํ ๋ง๋ ์์์ ์ผ์ ธ ์๋ ์๊ฐ์ ๋น์จ์ด ๋ฐ๋ก ๋ํฐ์์. ์ด๋ ๊ฒ โ์ผ ๋๋ ์๊ฐ ๊ธธ์ดโ๋ก ์ธ๊ธฐ๋ฅผ ์กฐ์ ํ๋ ๋ฐฉ๋ฒ ์ ์ฒด๋ฅผ ํ์ ์์ PWM์ด๋ผ๊ณ ๋ถ๋ฌ์.
MCU๋ ์ด๊ฑธ ์ด๋ป๊ฒ ๋ง๋ค๊น์? MCU ์์๋ ๋ฐ์์ ๋ง์ถฐ ์ซ์๋ฅผ ์ธ๋ ์คํฑ์์น, ํ์ด๋จธ๊ฐ ์์ด์. ํ์ด๋จธ๊ฐ 0๋ถํฐ 999๊น์ง ์ธ๋ ๊ฑธ ํ ์ฃผ๊ธฐ๋ก ์ ํ๊ณ , โ500์ ์ธ๊ธฐ ์ ๊น์ง๋ง ์ผ๊ธฐโ๋ผ๊ณ ๊ธฐ์ค ์ซ์๋ฅผ ์ ํด ์ฃผ๋ฉด ๋ํฐ 50%๊ฐ ๋ผ์. ์ด ๊ธฐ์ค ์ซ์๋ฅผ ํ์ ์์ Compare ๊ฐ์ด๋ผ๊ณ ๋ถ๋ฌ์.
PERIOD_COUNT = 1000 // timer counts 0 .. 999 -> one period
COMPARE_VALUE = 500 // LED is ON while count < 500 -> 50 % duty
on every timer tick:
timer_count = timer_count + 1
if timer_count >= PERIOD_COUNT:
timer_count = 0 // start the next period
if timer_count < COMPARE_VALUE:
PIN_LED = ON
else:
PIN_LED = OFF
PERIOD_COUNT๋ ํ ์ฃผ๊ธฐ ๋์ ์ธ๋ ์ซ์, COMPARE_VALUE๋ ์ผ ๋๋ ๊ธฐ์ค ์ซ์์์. ์ค์ ๋ก๋ ์ด ๋น๊ต๋ฅผ ํ์ด๋จธ ํ๋์จ์ด๊ฐ ์์์ ํด ์ฃผ๋, ์ฐ๋ MCU์ PWM ์ค์ ๋ฐฉ์์ ๋ง๊ฒ ๋ฐ๊พธ๋ฉด ๋ผ์.
์ผ๋ง๋ ๋ฐ์์ง๊น? PWM ๋ํฐ๋ก ํ๊ท ์ ์ [์์]ํ๊ธฐ
์ฌ๋ก ์กฐ๊ฑด์ 3.3V ํ์ ๋ํฐ 50%, ์ฃผํ์ 1kHz(1์ด์ 1,000๋ฒ)์์. ๊ณ์ฐํ๋ฉด 3.3V ร 50% = 1.65V, ๋น์ ์๋ ์ต๋์ 50%์์. ๊ทธ๋ฌ๋ โ๋ฐ ๋ฐ๊ธฐ๋ก ๋ณด์ด๊ฒ ์งโ๋ผ๊ณ ์์ํ ์ ์์ด์. ์ฃผํ์๋ ๊ฐ๋งํ ๋ฐ๋ผ๋ณผ ๋ ๋ณดํต 100Hz์ฏค๋ง ๋๊ฒจ๋ ๋์ ๊น๋นก์์ด ์ ๋ณด์ธ๋ค๊ณ ์๋ ค์ ธ ์์ด์, 1kHz๋ฉด ๋๋ํ๋ค๊ณ ์์ํ์ด์.
PWM ๋ฐ๊ธฐ ๊ณ์ฐ๊ธฐ
- ํ๊ท ์ ์
- 1.65 V
- ๋น์ ์ (์ต๋ ๋๋น)
- 50%
- ๋์ด ๋๋ผ๋ ๋ฐ๊ธฐ
- 76%
- ์ฃผ๊ธฐ (ํ ๋ฒ ๊น๋นก์ด๋ ์๊ฐ)
- 1.00 ms
- ๊ทธ์ค ์ผ์ ธ ์๋ ์๊ฐ
- 500 ยตs
- ๋ฐ ๋ฐ๊ธฐ๋ก ๋ณด์ด๋ ค๋ฉด ๋ํฐ
- ์ฝ 18%
์ ๋ง ๊ทธ๋ฐ์ง ํ์ธ: ๋ํฐ์ ์ฃผํ์๋ฅผ ๋ฐ๊ฟ ๊ฐ๋ฉฐ ๋ณด๊ธฐ
์ค๋น๋ฌผ์ ์ ํญ์ ๋จ LED ํ๋์ ๋ฉํฐ๋ฏธํฐ, ๊ฐ๋ฅํ๋ฉด ์ค์ค๋ก์ค์ฝํ์์. ๋ฉํฐ๋ฏธํฐ๋ ๋ฐ์์ด ๋๋ ค์ ๋น ๋ฅธ ๊น๋นก์์ ํ๊ท ๊ฐ์ผ๋ก ๋ณด์ฌ ์ฃผ๊ฑฐ๋ ์. ๋ฑ ์ฐ๋ฆฌ ๋์ฒ๋ผ์. ๋จผ์ ๋ํฐ๋ฅผ ๋ฐ๊ฟ ๊ฐ๋ฉฐ ๋ฐ๊ธฐ์ ์ ์์ ๋ณด๊ณ , ๋ค์์ ๋ํฐ๋ฅผ 50%๋ก ๊ณ ์ ํ ์ฑ ์ฃผํ์๋ง ๋ฐ๊ฟ ๋ด์.
PWM_Init(PIN_LED, FREQ_HZ = 1000)
// Test 1: change duty, watch brightness + read the multimeter
for duty in [10, 25, 50, 75, 100]:
PWM_SetDuty(PIN_LED, duty)
Delay_ms(5000)
// Test 2: fix duty, change frequency, look for flicker (eye + phone camera)
PWM_SetDuty(PIN_LED, 50)
for freq in [10, 50, 200, 1000]:
PWM_SetFrequency(PIN_LED, freq)
Delay_ms(5000)
PWM_SetDuty๋ ์ผ ๋๋ ๋น์จ(%)์, PWM_SetFrequency๋ 1์ด์ ๊น๋นก์ด๋ ํ์๋ฅผ ๋ฐ๊พธ๋ ํจ์๋ผ๋ ๋ป์ด์์. ์ฐ๋ MCU์ PWM ํจ์๋ ๋ ์ง์คํฐ ์ค์ ์ ๋ง๊ฒ ๋ฐ๊พธ๋ฉด ๋ผ์.
[๊ฒฐ๊ณผ] ์์์ด ๋ง์์๊น? PWM ํ๊ท ์ ์์ ๋ง๊ณ , ๋์ ๋ฌ๋์ด์
| ๋ํฐ | [์์] ํ๊ท ์ ์ | [๊ฒฐ๊ณผ] ๋ฉํฐ๋ฏธํฐ | [์์] ๋ฐ๊ธฐ | [๊ฒฐ๊ณผ] ๋์ด ๋๋ผ๋ ๋ฐ๊ธฐ |
|---|---|---|---|---|
| 10% | 0.33 V | 0.33 V | 10% | 38% |
| 25% | 0.82 V | 0.82 V | 25% | 57% |
| 50% | 1.65 V | 1.64 V | 50% | 76% |
| 75% | 2.48 V | 2.46 V | 75% | 89% |
| 100% | 3.30 V | 3.28 V | 100% | 100% |
ํ๊ท ์ ์์ ์์๊ณผ ๊ฑฐ์ ๊ฐ์์ด์. 0.01~0.02V์ฏค ๋ฎ๊ฒ ๋์จ ๊ฑด MCU ํ์ด ์ผ์ก์ ๋ ์ ์์ด 3.3V๊ฐ ์๋๋ผ 3.28V ์ ๋๋ผ์์์. ํ ์์ชฝ ์ค์์น๋ฅผ ์ง๋๋ฉด์ ์ ๋ฅ๊ฐ ํ๋ฅผ ๋ ์ด์ง ๋จ์ด์ง๊ฑฐ๋ ์. ์ ํํ ๊ณ์ฐํ๋ ค๋ฉด โ์ค์ ๋ก ์ผ์ก์ ๋ ์ ์ ร ๋ํฐโ๋ก ๋ณด๋ฉด ๋ผ์. ์ฒซ ๋ฒ์งธ โ์?โ์ ๋ต์ด ์ด๊ฑฐ์์. ์ค๊ฐ ์ ์์ ์์ด๋, ํ๊ท ์ ์์ด์.
๋์ด ๋๋ผ๋ ๋ฐ๊ธฐ๋ ์์๊ณผ ํฌ๊ฒ ๋ฌ๋์ด์. ๋น์ ์์ ์ ๋ง 50%์ธ๋ฐ ๋์ 76%์ฏค์ผ๋ก ๋๊ปด์. ๋์ ์ด๋์ด ์ชฝ ๋ณํ์๋ ์์ฃผ ์๋ฏผํ๊ณ ๋ฐ์ ์ชฝ ๋ณํ์๋ ๋ํ๊ฒ ๋ง๋ค์ด์ก๊ฑฐ๋ ์. ์บ์บํ ๋ฐฉ์์ ์ด๋ถ ํ๋๋ ํํ์ง๋ง, ๋๋ฎ์ ์ด๋ถ์ ์ผ๋ ํฐ๊ฐ ์ ๋๋ ๊ฒ์ฒ๋ผ์. ์ด๋ ๊ฒ โ๋์ด ๋๋ผ๋ ๋ฐ๊ธฐโ๋ฅผ ์ซ์๋ก ์ฎ๊ธด ๊ณต์์ ํ์ ์์ CIE L*๋ผ๊ณ ๋ถ๋ฌ์. ์ด ๊ณต์์ ๊ฑฐ๊พธ๋ก ํ๋ฉด, ๋ฐ ๋ฐ๊ธฐ๋ก ๋ณด์ด๊ฒ ํ๋ ค๋ฉด ๋ํฐ๋ฅผ 50%๊ฐ ์๋๋ผ ์ฝ 18%๋ก ์ค์ผ ํด์.
์ ํํ 76%์ผ๊น์? ๊ทผ๊ฑฐ๋ ์ด๋์.
CIE L*๋ ๊ตญ์ ์กฐ๋ช ์์ํ๊ฐ 1976๋ ์ ์ ํ ๊ธฐ์ค์ด์์. ์ฌ๋๋ค์ด ํ์ ๋จ๊ณ๋ฅผ โ๊ฐ์ ๊ฐ๊ฒฉโ์ผ๋ก ๋๋ผ๋์ง ์กฐ์ฌํ ์คํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก ๋ง๋ ์์ด์์. ์ฌ๊ธฐ์ ๋น์ ์ 0.5(50%)๋ฅผ ๋ฃ์ผ๋ฉด 116 ร 0.794 โ 16 = 76.1, ๊ทธ๋์ ์ฝ 76%์์. ๊ฑฐ๊พธ๋ก โ๋ฑ ๋ฐโ์ผ๋ก ๋ณด์ด๋ ์ง์ ์ ์ฐพ์ผ๋ฉด ๋น์ ์ 18.4%๊ฐ ๋์์. ์ฌ์ง๊ณผ ๋ชจ๋ํฐ ์ชฝ์์ ์ค๊ฐ ํ์์ โ18% ํ์โ์ด๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒ๋ ๊ฐ์ ์ด์ ์์.
๋ค๋ฅธ ๊ทผ๊ฑฐ๋ ์์ด์. ์๊ทน์ด ๋ช ๋ฐฐ ์ธ์ ธ๋ ๋๋์ ๊ทธ๋ณด๋ค ๋ ์ปค์ง๋ค๋ ์คํฐ๋ธ์ค ๋ฒ์น์ธ๋ฐ, ๋น์ ๋ฐ๊ธฐ๋ ๋๋ต ๋น์ ์์ 0.33~0.5์ ๊ณฑ๋งํผ ๋๊ปด์ง๋ค๊ณ ์๋ ค์ ธ ์์ด์. ๋ํฐ 50%๋ฅผ ๋ฃ์ผ๋ฉด 0.50.5 โ 71%, 0.50.33 โ 80%๊ฐ ๋์ค์ฃ . ๊ทธ๋ฌ๋ 76%๋ ๋ฑ ๋จ์ด์ง๋ ์ ๋ต์ด๋ผ๊ธฐ๋ณด๋ค, ๋ณด๋ ํ๊ฒฝ(์ฃผ๋ณ์ด ์ด๋์ด์ง, ์์ ์ ์ฒ๋ผ ๋ณด์ด๋ ๋น์ธ์ง)์ ๋ฐ๋ผ 70%๋ ์คํ๋ฐ์ผ๋ก ๋๊ปด์ง๋ค๋ ๋ป์ผ๋ก ๋ณด๋ฉด ๋ผ์.
| ์ฃผํ์ | ํ ๋ฒ ๊น๋นก์ด๋ ์๊ฐ | [๊ฒฐ๊ณผ] ๋์ผ๋ก ๋ณผ ๋ | [๊ฒฐ๊ณผ] ํฐ ์นด๋ฉ๋ผ๋ก ๋ณผ ๋ |
|---|---|---|---|
| 10 Hz | 100 ms | ๋๋ ทํ๊ฒ ๊น๋นก์ฌ์ | ๊น๋นก์ฌ์ |
| 50 Hz | 20 ms | ์ ๋ฉด์ ๊ด์ฐฎ์ง๋ง ๊ณ๋์งํ๋ฉด ๋จ๋ ค ๋ณด์ฌ์ | ์งํ ์ค๋ฌด๋ฌ |
| 200 Hz | 5 ms | ์ ๋ณด์ฌ์ | ์ ์ ์ค๋ฌด๋ฌ๊ฐ ๋จ์์ |
| 1,000 Hz | 1 ms | ์ ๋ณด์ฌ์ | ๊ฑฐ์ ์ ๋ณด์ฌ์ |
์ด๋ ๊ฒ ๊น๋นก์์ด ๋์ด๋ ์นด๋ฉ๋ผ์ ๋ณด์ด๋ ํ์์ ํ๋ฆฌ์ปค๋ผ๊ณ ํด์. ๋ ๊ธฐ์ค์ผ๋ก๋ ์์๋๋ก 200Hz๋ถํฐ ์ ๋ณด์์ง๋ง, ํฐ ์นด๋ฉ๋ผ๋ ๋๋ณด๋ค ํจ์ฌ ์งง๊ฒ ๋์ด ์ฐ์ด์ 200Hz์์๋ ์ค๋ฌด๋ฌ๊ฐ ๋จ์์ด์.
PWM LED ๋ฐ๊ธฐ ์กฐ์ ํ์ฅ ํ
๋ฐ๊ธฐ ๋จ๊ณ๋ โ๋ ๊ธฐ์ค ํโ๋ก ๋ง๋์ธ์. ๋ฒํผ์ผ๋ก 10๋จ๊ณ ๋ฐ๊ธฐ๋ฅผ ๋ง๋ค๋ฉด์ ๋ํฐ๋ฅผ 10%, 20%โฆ ๋๊ฐ์ด ์ฌ๋ฆฌ๋ฉด, ์๋ ๋จ๊ณ๋ ํํ ๋ฐ์์ง๊ณ ์์ชฝ ๋จ๊ณ๋ ์ฐจ์ด๊ฐ ๊ฑฐ์ ์ ๋๊ปด์ ธ์. ๋์ด ๋๋ผ๋ ๋ฐ๊ธฐ๊ฐ ๊ฐ์ ๊ฐ๊ฒฉ์ด ๋๋๋ก ๋ํฐ๋ฅผ ๋ฏธ๋ฆฌ ๊ณ์ฐํด ํ๋ก ๋ฃ์ด ๋๋ ๊ฑธ ํ์ ์์ ๊ฐ๋ง ๋ณด์ ์ด๋ผ๊ณ ๋ถ๋ฌ์. ์๋ ํ๋ CIE L* ๊ณต์์ ๊ฑฐ๊พธ๋ก ํ์ด ๋ง๋ ๊ฐ์ด์์.
// duty (%) that LOOKS like 0 %, 10 %, 20 % ... 100 % to the eye
DUTY_FOR_LEVEL[11] = { 0.0, 1.1, 3.0, 6.2, 11.3, 18.4, 28.1, 40.7, 56.7, 76.3, 100.0 }
function LED_SetBrightnessLevel(level): // level: 0 .. 10
if level > 10:
level = 10
PWM_SetDuty(PIN_LED, DUTY_FOR_LEVEL[level])
DUTY_FOR_LEVEL์ โ๋์ ๋ณด์ด๋ ๋จ๊ณโ๋ฅผ โ์ค์ ๋ก ์ค ๋ํฐโ๋ก ๋ฐ๊ฟ ์ฃผ๋ ํ์์. ์ฐ๋ MCU๊ฐ ๋ํฐ๋ฅผ 0~1000 ๊ฐ์ ์ ์๋ก ๋ฐ๋๋ค๋ฉด ๊ฐ์ 10์ ๊ณฑํด์ ๋ฃ์ผ๋ฉด ๋ผ์.
๋๋ ์ด๋ก ํ์ ์ผฐ๋ค ๊ป๋ค ํ๋ ๋ฐฉ์์ ํผํ์ธ์. ๋ฉ์ธ ๋ฃจํ์์ Delay๋ก ์ง์ ํ ๊ธํ๋ฉด ๋ค๋ฅธ ์ผ์ด ๋ผ์ด๋ค ๋๋ง๋ค ๋ฐ์๊ฐ ํ๋ค๋ ค์, ์ฃผํ์๊ฐ ์ถฉ๋ถํด๋ LED๊ฐ ๊ฐ๋ ์์ฐํด์. ํ์ด๋จธ ํ๋์จ์ด๋ก ๋ง๋ PWM์ ์ฐ๋ฉด CPU๊ฐ ๋ฐ๋น ๋ ๋ฐ์๊ฐ ์ผ์ ํด์.
๊น๋นก์์ ํฐ ์นด๋ฉ๋ผ๋ก ๋จผ์ ํ์ธํ์ธ์. ์ค์ค๋ก์ค์ฝํ๊ฐ ์์ด๋ ํฐ ์นด๋ฉ๋ผ(ํนํ ์ฌ๋ก๋ชจ์ )๋ก LED๋ฅผ ๋น์ถ๋ฉด ํ๋ฆฌ์ปค๊ฐ ์ค๋ฌด๋ฌ๋ก ๋ณด์ฌ์. ์ค์ด ์งํ๋ฉด ์ฃผํ์๋ฅผ ์ฌ๋ฆฌ๋ฉด ๋ผ์.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ (FAQ)
PWM ์ฃผํ์๋ ๋ฌด์กฐ๊ฑด ๋์์๋ก ์ข๋์?
์๋์์. ์ฃผํ์๋ฅผ ์ฌ๋ฆฌ๋ฉด ํ์ด๋จธ๊ฐ ํ ์ฃผ๊ธฐ ๋์ ์ ์ ์๋ ์ซ์๊ฐ ์ค์ด์ ๋ํฐ๋ฅผ ์๊ฒ ๋๋๊ธฐ ์ด๋ ค์์ง๊ณ , ์ผ๊ณ ๋ ๋๋ง๋ค ์๊ธฐ๋ ์ด ์์ค๋ ๋์ด์. LED ๋ฐ๊ธฐ ์กฐ์ ์ด๋ผ๋ฉด 1kHz ์ํ์์ ์์ํด์, ์นด๋ฉ๋ผ์ ์ค๋ฌด๋ฌ๊ฐ ๋ณด์ด๋ฉด ์ฌ๋ฆฌ๋ ์์ผ๋ก ์ ํ๋ฉด ๋ผ์.
๋ฉํฐ๋ฏธํฐ๋ก PWM์ ์ฌ๋ฉด ์ ํ๊ท ์ ์์ด ๋์ค๋์?
๋ฉํฐ๋ฏธํฐ๋ ๊ฐ์ ์ฒ์ฒํ ๋ชจ์์ ๋ณด์ฌ ์ฃผ๋ ๋๋ฆฐ ์ธก์ ๊ธฐ๋ผ์ 1kHz ๊น๋นก์์ ๋ฐ๋ผ๊ฐ์ง ๋ชปํ๊ณ ํ๊ท ์ ๋ณด์ฌ ์ค์. ์ฃผํ์๊ฐ ์์ญ Hz์ฒ๋ผ ๋ฎ์ผ๋ฉด ์ซ์๊ฐ ํ๋ค๋ฆฌ๋, ๊ทธ๋๋ ์ค์ค๋ก์ค์ฝํ๋ก ๋ณด์ธ์.
๋ํฐ 50%์ธ๋ฐ ์ ๋ฐ ๋ฐ๊ธฐ๋ก ์ ๋ณด์ด๋์?
๋น์ ์์ ์ ๋ง 50%๊ฐ ๋ง์์. ๋์ด ์ด๋์ด ์ชฝ ๋ณํ์ ์๋ฏผํด์, ์ฌ๋ ๋ ๋ฐ๊ธฐ ๊ณต์์ธ CIE L*๋ก ๊ณ์ฐํ๋ฉด ์ฝ 76%๋ก ๋๊ปด์ ธ์. ์คํฐ๋ธ์ค ๋ฒ์น์ผ๋ก ๋ด๋ 71~80% ๋ฒ์์์. ๋ฐ ๋ฐ๊ธฐ๋ก ๋ณด์ด๊ฒ ํ๋ ค๋ฉด ๋ํฐ๋ฅผ ์ฝ 18%๋ก ์ฃผ์ธ์.
๋ชจํฐ ์๋ ์กฐ์ ๋ ๊ฐ์ ์๋ฆฌ์ธ๊ฐ์?
๋ค. ๋ชจํฐ๋ ๋ชธ์ด ๋ฌด๊ฑฐ์์ ๋น ๋ฅด๊ฒ ๋ฉ์ท๋ค ์ฐ๋ค ํ์ง ๋ชปํ๋, ํ๊ท ์ ์๋งํผ ๋์์. ๋ค๋ง ์ฃผํ์๊ฐ ์ฌ๋ ๊ท์ ๋ค๋ฆฌ๋ ๋ฒ์๋ฉด ๋ชจํฐ์์ โ์-โ ์๋ฆฌ๊ฐ ๋ ์ ์์ด์.
์ ๋ฆฌ: PWM ๋ฐ๊ธฐ ์กฐ์ ์ โํ๊ท โ๊ณผ โ๋โ์ ํฉ์์ด์์
PWM์ ์ค๊ฐ ์ ์์ ๋ง๋๋ ๊ฒ ์๋๋ผ, ์ผ์ง๊ณผ ๊บผ์ง์ ์์ฃผ ๋น ๋ฅด๊ฒ ๋ฐ๋ณตํด์ ํ๊ท ์ ๋ง๋๋ ๋ฐฉ๋ฒ์ด์์. ๋ํฐ๊ฐ ํ๊ท ๋น์ ์์ ์ ํ๊ณ , ์ฃผํ์๊ฐ ์ถฉ๋ถํ ๋์์ผ ๋์ด ๊ทธ ํ๊ท ๋ง ๋๊ปด์. ๋ค๋ง ๋์ ์ด๋์ด ์ชฝ์ ์๋ฏผํด์ ๋ํฐ 50%๊ฐ 76%์ฏค์ผ๋ก ๋ณด์ด๋, ์ฌ๋์ด ๋ณด๋ ๋ฐ๊ธฐ๋ฅผ ๋ค๋ฃฐ ๋ ๊ฐ๋ง ๋ณด์ ํ๋ฅผ ํจ๊ป ์ฐ๋ฉด ๋ผ์. ๋ชจ๋ํฐ๋ฅผ ์ฐ์ ๋ ์๊ธฐ๋ ์ค๋ฌด๋ฌ๋, ๊ฒฐ๊ตญ ๋๋ณด๋ค ๋น ๋ฅธ ์นด๋ฉ๋ผ๊ฐ ์ด ๊น๋นก์์ ์ก์๋ธ ํ๋ฆฌ์ปค์๋ ๊ฑฐ์์.
์ฐธ๊ณ ์๋ฃ
- CIE 015:2018, Colorimetry, 4th ed. โ ๋์ด ๋๋ผ๋ ๋ฐ๊ธฐ(L*) ๊ณต์์ ์๋ณธ ๊ท๊ฒฉ (doi.org/10.25039/TR.015.2018)
- S. S. Stevens, โOn the psychophysical law,โ Psychological Review, 64(3), 153โ181, 1957 โ ์คํฐ๋ธ์ค ๋ฒ์น ์ ๋ ผ๋ฌธ (doi.org/10.1037/h0046162)
- IEEE Std 1789-2015, Recommended Practices for Modulating Current in High-Brightness LEDs for Mitigating Health Risks to Viewers โ PWM ๊น๋นก์(ํ๋ฆฌ์ปค) ์ฃผํ์ ๊ถ๊ณ , 2026๋ ํ์ฌ ๋นํ์ฑ(๋ณด์กด) ์ํ (standards.ieee.org)
