디지털 출력으로 LED를 켜거나 끄는 하드웨어 솔루션


11

디지털 핀에서 LED가 희미 해 지도록하는 하드웨어 기반 솔루션을 찾고 싶습니다. 즉, 켜거나 끄는 대신 최대 밝기로 천천히 페이딩 (500ms)합니다. 작은 캐패시터가 방전하는 데 0.5 초가 걸리는 것을 상상할 수 없습니다 ... 이상적으로는 멋진 DIP16 패키지에 포함되어있어 페이딩 LED 배열을 얻을 수 있습니다. 내 꿈의 구성 요소가 존재합니까?


삼각파 발진기에서 LED를 구동 하시겠습니까?
비트 렉스

1
이를 위해 마이크로 컨트롤러를 프로그래밍하고 패키지에 자체 부품 번호를 입력 한 후 판매하면 하드웨어 솔루션으로 간주됩니까?
gbarry

1
PWM 스크립트를 판매하기 위해 하루 종일 시간을 내 주셔서 감사하지만, 어떤 형태의 발진없이 500ms 이상의 디지털 신호를 반올림 할 수있는 구성 요소가 있는지 궁금합니다.
rom

이론적입니다. 나는 같은 생각을 겪고 궁극적으로 어떤 수준에서는 칩이 칩이라는 것을 깨달았습니다. 그러나 진동을 원하지 않으므로 질문 범위가 좁아집니다.
gbarry 2019

왜 진동이 없는가?
starblue

답변:


14

이를 수행하는 일반적인 방법은 PWM (Pulse Width Modulation)을 사용하는 것입니다.

최신 마이크로 컨트롤러에는 이러한 목적으로 설정할 수있는 PWM 주변 장치가 있습니다. 마이크로 컨트롤러를 사용하지 않으려는 경우 전용 PWM IC 또는 유비쿼터스 555와 같은 타이머 IC를 사용할 수 있습니다.

프로세스는 간단하고 펄스 주파수가 충분히 빠르게 설정되어 사람의 눈이 깜박임을 감지 할 수 없으며 (일반적으로 25Hz 이상- 지속성 참조 ) 시간 대 켜짐 시간은 100 % 켜짐 (최대 밝기)에서 50 % 켜짐까지 다양합니다. 50 % off (반 밝기) ~ 0 % on (off)
어레이에 쉽게 사용할 수 있습니다. PWM을 모든 LED 드라이버 트랜지스터에 공급하기 만하면됩니다 (베이스 전류가 바이폴라에 적합한 지 확인하거나 MOSFET을 사용하십시오) 디자인 선택은 어떤 유형의 LED, 고 / 저 전류에 따라 달라집니다)

인터넷에서 "555 LED Fade"를 확인하면 많은 결과를 얻을 수 있습니다. 여기에 하나에서 무작위로 고른 것 여기에 (내가 제대로 작동 확인할 수 있도록 체크하지 않은 경우) :

LED 페이드

또는 타이밍의 절대 정확도가 그다지 중요하지 않은 경우 간단한 옵션은 RC 필터와 트랜지스터 스위치를 사용하는 것입니다. 이러한 방식으로 캡은 LED 전류를 공급할 필요가없고베이스 전류 만 공급할 수 있습니다. 이 같은:

페이드 회로

시뮬레이션:

페이드 회로 시뮬레이션

모든 범용 NPN이 수행해야하며 R 및 C 값을 적절하게 조정할 수 있습니다.

이 옵션은 opamp를 추가하여 현재 미러 어레이로 쉽게 확장 할 수 있습니다. 이 회로는 트랜지스터가 모두 같은 유형 (공급 전원은 + 5V) 인 한 잘 작동합니다.

LED 페이드 어레이

시뮬레이션:

LED 페이드 어레이 시뮬레이션

공급 전압이 충분히 높은 경우 LED는 다음과 같이 직렬로 연결될 수 있습니다 (공급은 + 10V 임).

Opamp LED 페이드 시리즈

시뮬레이션:

Opamp LED Fade 시리즈 시뮬레이션

또는 공급 전압이 낮지 만 LED를 직렬로 구동하려는 경우 CAT4238 과 같은 저렴한 부스트 IC가 많이 있습니다. 이 부분은 PWM 또는 다양한 DC 전압을 사용하여 LED를 흐리게 할 수 있습니다 (자세한 내용은 데이터 시트 참조)

LED 부스트 IC


포괄적 인 답변, 감사합니다. RC 설정은 내가 찾고있는 것과 가장 비슷하지만 이상한 밝기 레벨과 동기화되지 않은 LED는 유망한 소리가 아닙니다. 이 권리가 있다면 RC 값을 변경하고 궁극적으로 페이딩 시간을 조정하기 위해 가변 저항으로 자체 포함 IC를 제조 할 수 없습니까?
rom

1
@rom-트랜지스터가 동일한 유형이고 꽤 잘 일치하는 한 회로는 정상적으로 작동해야합니다. 그러나 이것에 대해 걱정한다면 조금만 시간을 내면이 문제가 발생하지 않고 페이딩 시간 동안 가변 저항으로 제어되는 유사한 옵션을 게시 할 것입니다 (페이드를 선형으로 만들 수도 있습니다).
Oli Glaser

1
@rom-더 안정적인 버전을 위해 회로를 변경했습니다. 이들 중 어느 것이나 적합해야합니다. 공급 헤드 룸이있는 경우 직렬 옵션이 가장 좋은 옵션이지만, 동일한 트랜지스터를 사용하는 경우 합당한 이득을 얻을 수있는 한 병렬 전류 소스는 양호합니다 (트랜지스터 테스터가있는 경우 수동으로 선택할 수 있음) 당신이 원하지만, 현재의 차이는 어쨌든 작고, 눈에 띄지 않을 것입니다.) IC 예제를 추가했습니다- 다른 모든 옵션을 살펴보고 싶을 수도 있습니다.
Oli Glaser

10

어때?

FAN5646은 깜박임 / 페이딩 LED를위한 유연하고 컴팩트 한 솔루션입니다.

일반적인 응용 회로

FAN5646 데이터 시트


그것은 흥미로운 칩입니다. 나는 그것을 샘플링해야 할 것이다. 달콤한 찾기 덱스터
통행인

3

작은 캡 + 큰 저항을 사용하여 멋진 긴 충전 특성 (t = RC)을 생성 한 다음이를 트랜지스터베이스에 공급하고 거기서 LED를 구동 할 수 있습니다.

이는 LED를 통한 전류가 저항 크기에 의해 제한되지 않기 때문에 더 큰 저항을 허용하며 작은 캡을 사용할 수 있습니다.

증폭기로 사용되도록 트랜지스터를 바이어스해야합니다 (포화에 부딪히면 LED는 계속 켜져 있습니다).


1

디지털 핀으로 일부 유형의 프로세서에서 출력을 사용하는 경우 펌웨어의 밝기를 변경할 수 있습니다. 핀의 듀티 사이클을 변경하면 눈은 필터처럼 작동하며 밝기가 어두워 짐에 따라 시간이 짧아집니다.

1-디지털 GPIO 핀 대신 PWM 핀 출력을 사용하십시오. 몇 개의 레지스터를 변경하면 LED의 켜짐 시간과 밝기를 변경할 수 있습니다.

2-타이머 (폴링 또는 인터럽트)를 사용하여 핀 상태를 변경하십시오.

3-외부 시프트 레지스터 IC를 사용하여 n LED의 켜짐 / 꺼짐 시간을 래치하십시오. 이를 위해서는 더 많은 프로그래밍 노력이 필요하지만 확장 가능하고 (1) 및 (2)보다 적은 GPIO 핀을 사용합니다.


0

PWM LED 드라이버. 그래도 마이크로 컨트롤러에서 구성해야합니다. 555 타이머 + 몇 개의 저항과 캡은 소프트웨어 없이도 동일하게 수행 할 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.