Mundarija:

Bir nechta elektron shamlar: 3 qadam
Bir nechta elektron shamlar: 3 qadam

Video: Bir nechta elektron shamlar: 3 qadam

Video: Bir nechta elektron shamlar: 3 qadam
Video: Ногиронлар жинсий эҳтиёжини қандай қондиради? 2024, Noyabr
Anonim
Ko'p elektronli shamlar
Ko'p elektronli shamlar

Elektron shamlar Instructables -da ko'p marta joylashtirilgan, shuning uchun nima uchun?

Uyda menda LED yoritgichli va kichik batareyali yarim shaffof Rojdestvo uylari bor. Ba'zi uylarda sham effektli LEDlar, ba'zilari esa yonib turgan LEDlar mavjud. Kichik batareyalar nisbatan tez bo'shashadi va men hamma uylarda sham effektiga ega bo'lishni xohlaganim uchun uni PIC loyihasi qilishga qaror qildim. Albatta, siz uni Arduino loyihasiga aylantira olasiz.

Xo'sh, bu elektron sham nimasi bilan ajralib turadi? PIC va Arduino -ning bortida LED yordamida sham effektini yaratish uchun ishlatilishi mumkin bo'lgan Pulse Width Modulation (PWM) uskunasi bor, lekin menimcha, bitta boshqaruvchi yordamida 5 ta mustaqil elektron shamga ega bo'lishni xohlardim, lekin u yo'q buni men bilaman. Men foydalangan yechim - bu beshta mustaqil PWM signalini to'liq dasturiy ta'minotda yaratish.

1 -qadam: dasturiy ta'minotda puls kengligi modulyatsiyasi

Puls kengligi modulyatsiyasi bir necha bor tasvirlangan, masalan. ushbu Arduino maqolasida:

PIC va Arduino -da maxsus PWM uskunalari bor, bu PWM signalini ishlab chiqarishni osonlashtiradi. Agar biz dasturiy ta'minotda bir yoki bir nechta PWM signallarini yaratmoqchi bo'lsak, bizga ikkita taymer kerak:

  1. PWM chastotasini yaratish uchun ishlatiladigan bitta taymer
  2. PWM ish aylanishini yaratish uchun ishlatiladigan bitta taymer

Ikkala taymer ham tugatgandan so'ng ishlab chiqaradi va to'xtatadi, shuning uchun PWM signalini boshqarish to'liq uzilishlar bilan amalga oshiriladi. PWM chastotasi uchun men PIC ning taymerini 0 ishlataman va uning to'lib ketishiga yo'l qo'yaman. 8 MGts chastotali ichki osilatorli soat va 64 ga teng bo'lgan formulalar: Fosc / 4/256/64 = 2.000.000 / 256/64 = 122 Gts yoki 8, 2 ms. Chastotani etarlicha yuqori bo'lishi kerak, shunda inson ko'zlari uni aniqlay olmaydi. Buning uchun 122 Gts chastotasi etarli. Taymerni to'xtatish tartibi bajaradigan yagona narsa - bu yangi PWM tsikli uchun ish aylanishini nusxalash va barcha LEDlarni yoqish. Bu 5 ta LEDni mustaqil ravishda bajaradi.

PWM ish aylanishini boshqarish uchun taymerning qiymati sham effektini qanday yaratganimizga bog'liq. Men o'zimning yondashuvimda LEDning yorqinligini oshirish uchun ish tsiklini 3 ga oshirish va LEDning yorqinligini kamaytirish uchun uni 25 ga kamaytirish orqali simulyatsiya qilaman. Shu tarzda siz shamga o'xshash effekt olasiz. Men minimal 3 qiymatidan foydalanganim uchun, bitta bayt bilan to'liq ish tsiklini boshqarish uchun qadamlar soni 255/3 = 85. Bu shuni anglatadiki, PWM ish tsikli taymerining chastotasi 85 marta chastotada ishlashi kerak. PWM chastota taymerlari 85 * 122 = 10.370 Gts.

PWM ish tsikli uchun men PICning 2 -taymeridan foydalanaman. Bu avtomatik qayta yuklanadigan taymer va u quyidagi formuladan foydalanadi: Davr = (Qayta yuklash + 1) * 4 * Tosc * Taymer2 oldindan o'lchash qiymati. 191 -ni qayta yuklash va 1 -ni oldindan o'lchash bilan biz (191 + 1) * 4 * 1/8000.000 * 1 = 96 bizni yoki 10.416 Gtsni olamiz. PWM ish tsikli ish vaqtining o'tganligini tekshiradi va ish aylanishi tugagan LEDni o'chiradi. Agar ish tsikli o'tmagan bo'lsa, u ish tsikli hisoblagichini 3 ga kamaytiradi va tartibni tugatadi. Bu barcha LEDlar uchun mustaqil ravishda amalga oshiriladi. Mening holimda, bu uzilish tartibi taxminan 25 bizni oladi va har 96 bizni chaqirgani uchun, protsessorning 26% dasturiy ta'minotdagi PWM ish aylanishini boshqarishda ishlatiladi.

2 -qadam: Uskuna va kerakli komponentlar

Uskuna va kerakli komponentlar
Uskuna va kerakli komponentlar

Sxematik diagramma yakuniy natijani ko'rsatadi. Garchi men faqat 5 ta LEDni mustaqil boshqargan bo'lsam -da, men boshqa 5 ta LEDdan biri bilan birga ishlaydigan 6 -chi LEDni qo'shdim. PIC ikkita LEDni bitta port piniga ulab bo'lmagani uchun men tranzistor qo'shdim. Elektronika 6 volt / 100 mA shahar adapteri bilan oziqlanadi va barqaror 5 voltli past kuchlanishli regulyatordan foydalanadi.

Ushbu loyiha uchun sizga quyidagi komponentlar kerak bo'ladi:

  • 1 PIC mikrokontroller 12F615
  • 2 ta sopol kondansatör: 2 * 100nF
  • Rezistorlar: 1 * 33k, 6 * 120 Ohm, 1 * 4k7
  • 6 to'q sariq yoki sariq LED, yuqori nashrida
  • 1 BC557 tranzistorli yoki unga tenglashtirilgan
  • 1 elektrolitik kondansatör 100 uF / 16 V
  • 1 past tushish kuchlanish regulyatori LP2950Z

Siz sxemani non taxtasida qurishingiz mumkin va rasmda ko'rinib turganidek, ko'p joy talab qilmaydi.

3 -qadam: Qolgan dasturiy ta'minot va natija

Dasturning qolgan qismi asosiy halqa hisoblanadi. Asosiy tsikl ish tsiklini tasodifiy sozlash orqali LEDlarning yorqinligini oshiradi yoki kamaytiradi. Biz faqat 3 ga va 25 ga kamayish bilan oshirganimiz uchun, biz pasayishlar o'sish tez -tez sodir bo'lmasligiga ishonch hosil qilishimiz kerak.

Men hech qanday kutubxonadan foydalanmaganim uchun, chiziqli teskari aloqa smenali yordamida tasodifiy generator yaratishim kerak edi, qarang:

uz.wikipedia.org/wiki/Linear-feedback_shif…

Sham effektiga PWM ish aylanishining qanchalik tez o'zgarishi ta'sir qiladi, shuning uchun asosiy tsikl taxminan 10 ms kechikishni ishlatadi. Bu vaqtni sham effektini ehtiyojlaringizga moslashtirish uchun sozlashingiz mumkin.

Qo'shilgan videoda natijani ko'rsatadi, bu erda men effektni yaxshilash uchun LEDning ustki qopqog'ini ishlatganman.

Men JALni ushbu loyiha uchun dasturlash tili sifatida ishlatardim va manba faylini biriktirdim.

Buni ko'rsatmali qilishdan zavqlaning va sizning reaktsiyalaringiz va natijalaringizni kutamiz.

Tavsiya: