Daftar Isi:

Mengkalibrasi Kecerahan LED: 5 Langkah
Mengkalibrasi Kecerahan LED: 5 Langkah

Video: Mengkalibrasi Kecerahan LED: 5 Langkah

Video: Mengkalibrasi Kecerahan LED: 5 Langkah
Video: Mengatasi AMD Freesync Not Available di Monitor Samsung, Adjust Response Time, Brightness & Contrast 2024, November
Anonim
Mengkalibrasi Kecerahan LED
Mengkalibrasi Kecerahan LED

Saat saya membuat lampu peri, saya menyadari bahwa nilai PWM tidak berbanding lurus dengan kecerahan LED. Sederhananya, jika nilai PWM dua kali lipat kecerahannya tidak dua kali lipat; khusus ketika PWM mendekati maksimum, perubahan apa pun tidak dapat dikenali oleh mata saya. Saya pikir itu harus menjadi masalah kalibrasi sederhana! dan begitulah cara saya membuat proyek ini! Idenya adalah untuk mengukur kecerahan LED dengan beberapa perangkat (sensor luminositas atau fotoresistor) dan menemukan korelasi antara nilai PWM dan kecerahan. Kemudian nanti Jika saya mengatur kecerahan ke 50%, Arduino akan menghitung PWM yang sesuai dan meredupkan LED yang sesuai.

Oleh karena itu, saya memerlukan sensor luminositas dan LED untuk mengukur kecerahan. Menggunakan kartu SD, saya akan menyimpan data untuk prosedur pemasangan nanti. Pemasangan akan dilakukan di Excel (atau program lainnya). Keluaran akan digunakan dalam kode Arduino, dan hanya itu! Itu harus dilakukan sekali. Maka Anda dapat menggunakan parameter kalibrasi selamanya!

Langkah 1: Bagian

1- WEMOS mini D1: Aliexpress 3€

2- TSL 2561 (Sensor luminositas): Aliexpress 3€

3- Modul kartu SD: Aliexpress 1€

4- LED

5- Resistor 220 ohm

6- kabel

total biaya: 8 -10 €

Langkah 2: Pengkabelan

Pengkabelan
Pengkabelan
Pengkabelan
Pengkabelan
Pengkabelan
Pengkabelan

Modul kartu SD dan kabel sensor luminositas tidak boleh diubah (kebanyakan). Led harus terhubung ke pin PWM.

Langkah 3: Kode

Kode
Kode

Saya menggabungkan tiga bagian kode:

Kartu SD: contoh yang digunakan >SD > ReadWrite di Arduino IDE

TSL 2561: menggunakan Contoh Library Adafruit TSL2561 (sensorapi); Anda akan menemukannya dalam contoh, jika Anda menginstal perpustakaan (saya berasumsi Anda tahu cara menginstal perpustakaan di Arduino IDE).

LED fading: contoh yang digunakan > Analog > fading

Kode, setelah menginisialisasi modul, akan meredupkan led dan membaca kecerahan dan menyimpannya di kartu SD. dengan cara ini saya akan mengumpulkan beberapa data untuk kalibrasi.

Saya mengubah setiap kode sesuai dengan kebutuhan saya. kode terakhir terlampir.

Sinyal akan terlihat seperti gambar terlampir. Sayangnya saya lupa untuk mengambil foto jadi saya replot di excel untuk menunjukkan kepada Anda bagaimana seharusnya.

CATATAN: Saya menggunakan wemo mini D1 bukan Arduino. untuk beberapa alasan yang saya tidak tahu, PWM antara 0 dan 1023. Di Arduino harus antara 0-255. Jika Anda ingin menggunakan kode untuk arduino, Anda harus mengurusnya (baris 90).

Langkah 4: Memasang, dan Menggunakan

Pas, dan Menggunakan
Pas, dan Menggunakan
Pas, dan Menggunakan
Pas, dan Menggunakan

setelah mengumpulkan data, saya membuka file di excel dan memplot datanya (lihat gambar). kolom pertama adalah nilai PWM dan yang kedua adalah lux (pembacaan sensor, unit tidak terlalu penting). Oleh karena itu, plot lux (sumbu y) vs. PWM (sumbu x). Seperti yang Anda lihat, kecerahan berbanding lurus dengan nilai PWM. Saya memasang garis untuk itu.

Untuk menyesuaikan garis ikuti sebagai:

1- plot data (insert> scatter plot) saya berasumsi Anda tahu caranya.

2- klik kanan pada data yang diplot

3- klik pada garis tren.

4- (di excel 2013) di sisi kanan sebuah panel muncul. Pilih linier. Di bagian bawah pilih "tampilkan persamaan pada grafik".

Hubungan linier berbeda dari persepsi saya. Oleh karena itu saya pikir harus ada hubungan logaritmik antara persepsi saya dan kecerahan (ini adalah cara paling sederhana yang terlintas dalam pikiran saya!). Jadi saya mengambil kemiringan yang pas. Cegat tidak penting, karena tergantung pada polusi cahaya di sekitarnya! sebagai gantinya, saya menambahkan 1. Karena Log10(0) tidak terbatas. Jadi saya perlu intersep untuk menyelesaikan masalah. Dalam kasus saya, persamaannya terlihat seperti ini:

y =Log10(0.08 x +1), y adalah kecerahan dan x adalah nilai PWM (0-1023)

Saya menormalkan persamaan ke nilai maksimum. maka output rang selalu antara 0-100. dengan cara ini saya dapat meminta arduino untuk kecerahan relatif tertentu, tanpa memperhatikan kecerahan absolut maksimum.

y =Log10(0,08 x +1)*100/1,914

Karena di arduino input saya adalah kecerahan relatif, saya perlu mengatur ulang persamaan untuk x (PWM):

x = (10^(y*1,914/100) - 1) / 0,08

menggunakan persamaan ini dalam kode kita bisa mendapatkan perubahan kecerahan linier. Jadi Anda meminta arduino untuk kecerahan (y) antara 0-100, dan arduino menghitung nilai PWM yang sesuai. dengan cara ini, jika kecerahannya dua kali lipat, persepsi Anda juga sama.

jika Anda ingin menggunakannya dalam kode Anda, Anda sebaiknya menambahkan baris ini:

kecerahan = 50; // dalam persentase

PWM = pow(10, kecerahan*1,914/100)-1)/0,0793;

analogWrite(ledpin, PWM);

CATATAN: normalisasi dilakukan untuk PWM maksimum 1023 (untuk Wemos mini D1). Untuk Arduino PWM adalah antara 0-255. Anda perlu menghitungnya sesuai.

CATATAN2: Saya menambahkan plot log-linear untuk menunjukkan bagaimana persepsi kita dan nilai PWM terkait. Anda tidak harus menggunakannya untuk pas!

Langkah 5: Kesimpulan

kalibrasi bekerja dengan baik untuk saya. Ketika nilai PWM besar, saya bisa melihat perbedaannya. Sebelumnya sebagai nilai besar saya tidak bisa melihat efek peredupan. Pada dasarnya sebagian besar perubahan dilakukan dalam rentang kecil PWM. sekarang dikalibrasi!

setiap LED, khususnya warna yang berbeda, harus memiliki parameter kalibrasi sendiri. Namun saya mengkalibrasi LED biru dan menggunakan parameter untuk LED putih dan hasilnya dapat diterima. jadi mungkin Anda bisa menggunakan parameter kalibrasi saya tanpa mengganggu diri sendiri!!

Direkomendasikan: