Мазмұны:

Бірнеше электронды шам: 3 қадам
Бірнеше электронды шам: 3 қадам

Бейне: Бірнеше электронды шам: 3 қадам

Бейне: Бірнеше электронды шам: 3 қадам
Бейне: ЕКАТЕРИНА ШУЛЬМАН: о старом и новом Казахстане, домашнем насилии и борьбе за лучшее будущее 2024, Қараша
Anonim
Бірнеше электронды шам
Бірнеше электронды шам

Электрондық шамдар Instructables -те бірнеше рет орналастырылған, сондықтан неге бұл?

Үйде менде жарық диодты жарықтандырғыш пен шағын батареясы бар шағын мөлдір Рождестволық үйлер бар. Кейбір үйлерде шам әсері бар светодиоды бар, ал кейбірінде жарық диодтары бар. Кішкентай аккумуляторлар тез бос болады, сондықтан мен барлық үйлерде шам әсерін тигізгім келгендіктен, мен оны PIC жобасы етіп жасауға шешім қабылдадым. Әрине, сіз оны Arduino жобасына айналдыра аласыз.

Сонымен, бұл электронды шамның ерекшелігі неде? PIC және Arduino -ның барлығында светодиодты қолдану арқылы шам әсерін жасауға болатын импульстік ені модуляциясы (PWM) аппаратурасы бар, бірақ менің жағдайда мен бір контроллердің көмегімен 5 тәуелсіз электрондық шамды алғым келді, бірақ ол жоқ мен білетінім. Мен қолданған шешім - бұл бес тәуелсіз PWM сигналын толығымен бағдарламалық қамтамасыз ету.

1 -қадам: Бағдарламалық жасақтамадағы импульстік ен модуляциясы

Импульстің ені модуляциясы бірнеше рет сипатталған, мысалы. осы Arduino мақаласында:

PIC және Arduino бортында арнайы PWM қондырғылары бар, бұл PWM сигналын шығаруды жеңілдетеді. Егер біз бағдарламалық қамтамасыз етуде бір немесе бірнеше PWM сигналдарын жасағымыз келсе, бізге екі таймер қажет:

  1. PWM жиілігін генерациялау үшін қолданылатын бір таймер
  2. PWM жұмыс циклін құру үшін қолданылатын бір таймер

Таймердің екеуі де аяқталғаннан кейін генерациялайды және тоқтатады, сондықтан PWM сигналын өңдеу толық үзіліспен жүзеге асырылады. PWM жиілігі үшін мен PIC 0 таймерін қолданамын және оның толып кетуіне жол беремін. Ішкі осциллятордың сағаты 8 МГц және 64 -тің алдын ала шкаласы бар формула: Fosc / 4/256/64 = 2.000.000 / 256/64 = 122 Гц немесе 8, 2 мс. Адамның көзі оны анықтай алмайтындай жиілік жеткілікті жоғары болуы керек. Бұл үшін 122 Гц жиілігі жеткілікті. Таймердің үзіліс тәртібінің жалғыз әрекеті - жаңа PWM циклінің жұмыс циклін көшіру және барлық жарық диодтарын қосу. Ол мұны барлық 5 жарықдиодты дербес жасайды.

PWM жұмыс циклін басқаратын таймердің мәні шам әсерін қалай жасайтынымызға байланысты. Мен бұл әсерді жарық диодты жарықтылығын арттыру үшін жұмыс циклін 3 мәніне ұлғайту және жарық диодты жарықтылықты азайту үшін 25 мәнімен азайту арқылы модельдеймін. Осылайша сіз шамға ұқсас әсер аласыз. Мен минималды 3 мәнін қолданатындықтан, бір байтпен толық жұмыс циклін басқаруға арналған қадамдар саны 255/3 = 85. Бұл PWM жұмыс циклінің таймері жиіліктің 85 есе жиілігімен жұмыс істеуі керек дегенді білдіреді. PWM жиілік таймері 85 * 122 = 10.370 Гц.

PWM жұмыс циклі үшін мен PIC 2 таймерін қолданамын. Бұл автоматты түрде қайта жүктелетін таймер және ол келесі формуланы қолданады: Мерзім = (Қайта жүктеу + 1) * 4 * Tosc * Timer2 алдын ала бағалау мәні. 191 -ді қайта жүктегенде және 1 -ді алдын ала есептегенде бізде (191 + 1) * 4 * 1/8.000.000 * 1 = 96 бізге немесе 10.416 Гц. PWM жұмыс циклінің үзіліс режимі жұмыс циклінің өткенін тексереді және жұмыс циклы аяқталған жарық диодты өшіреді. Егер жұмыс циклы өтпесе, ол жұмыс циклінің есептегішін 3 -ке азайтады және режимді аяқтайды. Ол мұны барлық светодиодтар үшін дербес жасайды. Менің жағдайда, бұл үзіліс тәртібі шамамен 25 адамды алады және оны әр 96 адам деп атайтындықтан, процессордың 26% -ы бағдарламалық қамтамасыз етудегі PWM жұмыс циклін басқару үшін пайдаланылады.

2 -қадам: Жабдық және қажетті компоненттер

Аппараттық құралдар мен қажетті компоненттер
Аппараттық құралдар мен қажетті компоненттер

Схемалық диаграмма соңғы нәтижені көрсетеді. Мен тек 5 жарықдиодты дербес басқаратын болсам да, мен басқа 5 жарық диодының бірімен бірге жұмыс істейтін 6 -шы диодты қостым. PIC екі светодиодты бір портқа тірей алмайтындықтан, мен транзистор қостым. Электроника 6 вольт / 100 мА тұрақты ток адаптерімен қоректенеді және тұрақты 5 вольтты жасау үшін төмен түсетін кернеу реттегішін қолданады.

Бұл жоба үшін сізге келесі компоненттер қажет:

  • 1 PIC микроконтроллері 12F615
  • 2 керамикалық конденсаторлар: 2 * 100nF
  • Резисторлар: 1 * 33к, 6 * 120 Ом, 1 * 4к7
  • 6 Қызғылт сары немесе сары жарық диодтары, жоғары жарықтық
  • 1 BC557 транзисторы немесе эквиваленті
  • 1 электролиттік конденсатор 100 uF / 16 V
  • LP2950Z төмен кернеу реттегіші

Сіз схеманы нан тақтасында құра аласыз және көп орын қажет емес, суретте көрсетілгендей.

3 -қадам: Қалған бағдарламалық қамтамасыз ету және нәтиже

Бағдарламалық қамтамасыз етудің қалған бөлігі негізгі цикл болып табылады. Негізгі цикл жұмыс циклін кездейсоқ реттеу арқылы светодиодтардың жарықтығын арттырады немесе азайтады. Біз тек 3 мәнімен және 25 мәнімен азайту арқылы ғана өсім беретіндіктен, азайтудың көбейген сайын жиі қайталанбайтынына көз жеткізуіміз керек.

Мен ешқандай кітапхананы пайдаланбағандықтан, кері байланыстың ауысу регистрі арқылы кездейсоқ генератор жасауға тура келді, қараңыз:

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

Шам әсеріне PWM жұмыс циклінің қаншалықты тез өзгеруі әсер етеді, сондықтан негізгі цикл шамамен 10 мс кідірісті қолданады. Сіз бұл уақытты шам әсерін сіздің қажеттіліктеріңізге өзгерту үшін реттей аласыз.

Қосылған бейнеде нәтижені жақсарту үшін жарықдиодты қақпақты қолданған соңғы нәтиже көрсетілген.

Мен бұл жобаға JAL бағдарламалау тілі ретінде қолдандым және бастапқы файлды тіркедім.

Мұны нұсқаулыққа айналдырып, сіздің реакцияларыңыз бен нәтижелеріңізді күтіңіз.

Ұсынылған: