Нека да разберем какво се крие зад ШИМ съкращението, как работи, за какво служи и как можем да го използваме в работата с Arduino.
Необходимо
- - Arduino;
- - Светодиод;
- - резистор с съпротивление 200 Ohm;
- - компютър.
Инструкции
Етап 1
Цифровите щифтове на Arduino могат да дават само две стойности: логика 0 (LOW) и логика 1 (HIGH). Ето защо те са цифрови. Но Arduino има "специални" заключения, които са обозначени като ШИМ. Понякога се означават с вълнообразна линия "~" или се кръжат или по някакъв начин се различават от другите. PWM означава „модулация с широчина на импулса“или модулация с широчина на импулса, PWM.
Модулираният с широчина на импулса сигнал е импулсен сигнал с постоянна честота, но с променлив работен цикъл (съотношението на продължителността на импулса към неговия период на повторение). Поради факта, че повечето физически процеси в природата имат известна инерция, рязките спадове на напрежението от 1 до 0 ще бъдат изгладени, като вземат някаква средна стойност. Чрез задаване на работен цикъл можете да промените средното напрежение на ШИМ изхода.
Ако работният цикъл е 100%, тогава през цялото време на цифровия изход на Arduino ще има логическо напрежение "1" или 5 волта. Ако зададете работен цикъл на 50%, тогава половината от времето на изхода ще бъде логично "1", а половината - логично "0", а средното напрежение ще бъде 2,5 волта. И така нататък.
В програмата работният цикъл се задава не като процент, а като число от 0 до 255. Например командата "analogWrite (10, 64)" ще каже на микроконтролера да изпрати сигнал с работен цикъл от 25 % към цифров ШИМ изход # 10.
Arduino щифтовете с функция за широчинно-импулсна модулация работят на честота около 500 Hz. Това означава, че периодът на повторение на импулса е около 2 милисекунди, което се измерва със зелените вертикални щрихи на фигурата.
Оказва се, че можем да симулираме аналогов сигнал на цифровия изход! Интересно, нали ?!
Как можем да използваме това? Има много приложения! Например това са LED контрол на яркостта, контрол на скоростта на двигателя, управление на тока на транзистора, извличане на звук от пиезоизлъчвател …
Стъпка 2
Нека да разгледаме най-основния пример - контролиране на яркостта на светодиода с помощта на ШИМ. Нека съставим класическа схема.
Стъпка 3
Нека отворим скицата „Fade“от примерите: Файл -> Проби -> 01. Основни положения -> Избледняване.
Стъпка 4
Нека го променим малко и да го заредим в паметта на Arduino.
Стъпка 5
Включваме захранването. Светодиодът постепенно увеличава яркостта и след това постепенно намалява. Симулирахме аналогов сигнал на цифровия изход, използвайки импулсна широчинна модулация.