Mục lục:

Hiệu chỉnh độ sáng LED: 5 bước
Hiệu chỉnh độ sáng LED: 5 bước

Video: Hiệu chỉnh độ sáng LED: 5 bước

Video: Hiệu chỉnh độ sáng LED: 5 bước
Video: Dimmer Panasonic - Chủ động linh hoạt độ sáng đèn, tối ưu trải nghiệm ánh sáng 2024, Tháng mười một
Anonim
Hiệu chỉnh độ sáng của đèn LED
Hiệu chỉnh độ sáng của đèn LED

Trong khi tôi làm đèn cổ tích, tôi nhận ra giá trị PWM tỷ lệ không tuyến tính với độ sáng của đèn LED. Nói một cách đơn giản, nếu giá trị PWM là gấp đôi thì độ sáng không phải là gấp đôi; Đặc biệt là khi PWM ở mức gần tối đa, mắt tôi không thể nhận ra bất kỳ sự thay đổi nào. Tôi nghĩ rằng nó phải là một vấn đề hiệu chuẩn đơn giản! và đó là cách tôi thực hiện dự án này! Ý tưởng là đo độ sáng của đèn LED bằng một số thiết bị (cảm biến độ sáng hoặc điện trở quang) và tìm mối tương quan giữa giá trị PWM và độ sáng. Sau đó, nếu tôi đặt độ sáng thành 50%, Arduino sẽ tính toán PWM tương ứng và điều chỉnh độ sáng của đèn LED cho phù hợp.

Do đó, tôi cần một cảm biến độ sáng và một đèn LED để đo độ sáng. Sử dụng thẻ SD, tôi sẽ lưu dữ liệu cho quy trình lắp sau này. Việc lắp sẽ được thực hiện trong Excel (hoặc bất kỳ chương trình nào khác). Phần đầu ra sẽ được sử dụng trong mã Arduino, và đó là nó! Nó nên được thực hiện một lần. Sau đó, bạn có thể sử dụng tham số hiệu chuẩn mãi mãi!

Bước 1: Các bộ phận

1- WEMOS mini D1: Aliexpress 3 €

2- TSL 2561 (Cảm biến độ sáng): Aliexpress 3 €

3- Mô-đun thẻ SD: Aliexpress 1 €

4- LED

5- Điện trở 220 ohm

6- dây

tổng chi phí: 8-10 €

Bước 2: Đấu dây

Đấu dây
Đấu dây
Đấu dây
Đấu dây
Đấu dây
Đấu dây

Không nên thay đổi mô-đun thẻ SD và dây cảm biến độ sáng (hầu hết chúng). Led nên được kết nối với một chân PWM.

Bước 3: Mã

Mã số
Mã số

Tôi đã kết hợp ba đoạn mã:

Thẻ SD: ví dụ đã sử dụng> SD> ReadWrite trong Arduino IDE

TSL 2561: Ví dụ về Thư viện Adafruit TSL2561 đã sử dụng (sensorapi); bạn sẽ tìm thấy nó trong các ví dụ, nếu bạn cài đặt thư viện (tôi cho rằng bạn biết cách cài đặt thư viện trong Arduino IDE).

Đèn LED mờ dần: các ví dụ đã sử dụng> Tương tự> mờ dần

Mã sau khi khởi tạo các mô-đun sẽ làm mờ đèn led và đọc độ sáng và lưu vào thẻ SD. bằng cách này, tôi sẽ thu thập một số dữ liệu để hiệu chuẩn.

Tôi đã thay đổi từng mã theo nhu cầu của mình. mã cuối cùng được đính kèm.

Tín hiệu sẽ giống như hình ảnh đính kèm. Rất tiếc, tôi đã quên chụp một bức ảnh nên tôi vẽ lại nó trong excel để cho bạn thấy nó phải như thế nào.

LƯU Ý: Tôi đang sử dụng wemo mini D1 thay vì Arduino. vì một số lý do mà tôi không biết, PWM nằm trong khoảng từ 0 đến 1023. Trong Arduino, nó phải nằm trong khoảng 0-255. Nếu bạn muốn sử dụng mã cho arduino, bạn nên quan tâm đến nó (dòng 90).

Bước 4: Lắp và sử dụng

Vừa vặn và sử dụng
Vừa vặn và sử dụng
Vừa vặn và sử dụng
Vừa vặn và sử dụng

Sau khi thu thập dữ liệu, tôi mở tệp trong excel và vẽ biểu đồ dữ liệu (nhìn vào hình). cột đầu tiên là giá trị PWM và cột thứ hai là lux (đọc cảm biến, đơn vị không quan trọng lắm). Do đó, hãy vẽ đồ thị lux (trục y) so với PWM (trục x). Như bạn có thể thấy, độ sáng tỷ lệ tuyến tính với giá trị PWM. Tôi đã lắp một dòng cho nó.

Để phù hợp với một dòng, hãy làm theo như sau:

1- vẽ biểu đồ dữ liệu (chèn> biểu đồ phân tán) Tôi cho rằng bạn biết cách.

2- nhấp chuột phải vào dữ liệu được vẽ

3 - nhấp vào đường xu hướng.

4- (trong excel 2013) ở bên phải một bảng hiện lên. Chọn tuyến tính. Ở dưới cùng, chọn "hiển thị phương trình trên biểu đồ".

Mối quan hệ tuyến tính khác với nhận thức của tôi. Vì vậy, tôi nghĩ rằng cần có mối quan hệ logarit giữa nhận thức của tôi và độ sáng (đây là cách đơn giản nhất mà tôi nghĩ ra!). Vì vậy, tôi đã lấy độ dốc của sự phù hợp. Việc đánh chặn không quan trọng, vì nó phụ thuộc vào ô nhiễm ánh sáng xung quanh! thay vào đó, tôi đã thêm 1. Vì Log10 (0) là vô hạn. Vì vậy, tôi cần một chốt chặn để giải quyết vấn đề. Trong trường hợp của tôi, phương trình trông như thế này:

y = Log10 (0,08 x +1), y là độ sáng và x là giá trị PWM (0-1023)

Tôi đã chuẩn hóa phương trình thành giá trị lớn nhất. thì đầu ra rang luôn nằm trong khoảng 0-100. Bằng cách này, tôi có thể yêu cầu arduino cho một độ sáng tương đối nhất định, mà không cần quan tâm đến độ sáng tuyệt đối tối đa.

y = Nhật ký10 (0,08 x +1) * 100 / 1,914

Bởi vì trong arduino đầu vào của tôi là độ sáng tương đối, tôi cần phải sắp xếp lại phương trình cho x (PWM):

x = (10 ^ (y * 1.914 / 100) - 1) / 0.08

sử dụng phương trình này trong mã, chúng ta có thể nhận được sự thay đổi độ sáng tuyến tính. Vì vậy, bạn yêu cầu arduino cho độ sáng (y) từ 0-100 và arduino tính giá trị PWM tương ứng. theo cách này, nếu độ sáng tăng gấp đôi, nhận thức của bạn cũng giống nhau.

nếu bạn muốn sử dụng nó trong mã của mình, tốt hơn bạn nên thêm các dòng này:

độ sáng = 50; // theo phần trăm

PWM = pow (10, độ sáng * 1.914 / 100) -1) /0.0793;

analogWrite (ledpin, PWM);

LƯU Ý: quá trình chuẩn hóa được thực hiện cho PWM tối đa là 1023 (đối với Wemos mini D1). Đối với Arduino PWM là từ 0-255. bạn cần phải tính toán nó cho phù hợp.

LƯU Ý 2: Tôi đã thêm một biểu đồ tuyến tính log để cho biết nhận thức của chúng ta và giá trị PWM có liên quan như thế nào. bạn không nên sử dụng nó để lắp!

Bước 5: Kết luận

hiệu chuẩn hoạt động tốt đối với tôi. Khi các giá trị PWM lớn, tôi có thể thấy sự khác biệt. Trước khi các giá trị lớn, tôi không thể thấy hiệu ứng của việc làm mờ. Về cơ bản, hầu hết các thay đổi được thực hiện trong một phạm vi nhỏ của PWM. bây giờ nó đã được hiệu chỉnh!

mỗi đèn LED, đặc biệt là các màu khác nhau, nên có các thông số hiệu chuẩn riêng. Tuy nhiên, tôi đã hiệu chỉnh đèn LED màu xanh lam và sử dụng thông số cho đèn LED màu trắng và kết quả là chấp nhận được. vì vậy có thể bạn có thể sử dụng tham số hiệu chuẩn của tôi mà không cần bận tâm !!

Đề xuất: