PWM аббревиатурасының артында не тұрғанын, ол қалай жұмыс істейтінін, не үшін қажет екенін және оны Arduino-мен жұмыс жасағанда қалай қолдануға болатындығын анықтайық.
Қажетті
- - Ардуино;
- - жарық шығаратын диод;
- - кедергісі 200 Ом резистор;
- - компьютер.
Нұсқаулық
1-қадам
Arduino сандық түйреуіштері тек екі мән бере алады: логика 0 (LOW) және logic 1 (HIGH). Сондықтан олар цифрлы болып табылады. Бірақ Ардуинода «ерекше» тұжырымдар бар, олар PWM болып белгіленеді. Оларды кейде «~» толқынды сызықпен белгілейді немесе айналдыра немесе басқалардан қандай да бір жолмен ерекшеленеді. PWM - «импульстің енін модуляциялау» немесе импульстің енін модуляциялау, PWM.
Импульстің ені бойынша модуляцияланған сигнал - бұл тұрақты жиіліктегі импульстік сигнал, бірақ айнымалы жұмыс циклі (импульстің ұзақтығының оның қайталану кезеңіне қатынасы). Табиғаттағы физикалық процестердің біршама инерциясы болғандықтан, кернеудің 1-ден 0-ге дейін төмендеуі орташа мәнге ие бола отырып тегістеледі. Жұмыс циклін орнату арқылы сіз PWM шығысындағы орташа кернеуді өзгерте аласыз.
Егер жұмыс циклі 100% болса, онда Arduino цифрлық шығысында барлық уақытта логикалық кернеу «1» немесе 5 вольт болады. Егер сіз жұмыс циклін 50% деңгейіне қойсаңыз, онда шығудың уақытының жартысы логикалық «1», ал жартысы логикалық «0» болады, ал орташа кернеу 2,5 вольтты құрайды. Және тағы басқа.
Бағдарламада жұмыс циклі пайызбен емес, 0-ден 255-ке дейінгі санмен белгіленеді. Мысалы, «analogWrite (10, 64)» командасы микроконтроллерге жұмыс циклі 25 болатын сигнал жіберуді айтады. % 10 сандық PWM шығысына%.
Импульс енін модуляциялау функциясы бар Arduino түйреуіштері шамамен 500 Гц жиілікте жұмыс істейді. Бұл импульсті қайталау кезеңі шамамен 2 миллисекундты құрайды, бұл суреттегі жасыл тік соққылармен өлшенеді.
Біз аналогтық сигналды сандық шығуда модельдей аламыз! Қызықты, иә?!
Мұны қалай қолдануға болады? Өтініштер өте көп! Мысалы, бұл жарық диодты жарықтылықты басқару, қозғалтқыштың жылдамдығын басқару, транзисторлық токты басқару, пьезо-эмитенттен дыбыс шығару …
2-қадам
Ең қарапайым мысалды қарастырайық - жарық диоды жарықтығын PWM көмегімен басқару. Классикалық схеманы біріктірейік.
3-қадам
Мысалдардан «Өшіп кету» эскизін ашайық: Файл -> Үлгілер -> 01. Негіздер -> Өшу.
4-қадам
Оны сәл өзгертіп, Arduino жадына жүктейік.
5-қадам
Біз қуатты қосамыз. Жарықдиод біртіндеп жарықтығын жоғарылатады, содан кейін біртіндеп азаяды. Біз импульстің енін модуляциялау арқылы сандық шығуда аналогтық сигналды имитацияладық.