Какво е ШИМ и как се използва в Arduino

Съдържание:

Какво е ШИМ и как се използва в Arduino
Какво е ШИМ и как се използва в Arduino

Видео: Какво е ШИМ и как се използва в Arduino

Видео: Какво е ШИМ и как се използва в Arduino
Видео: Разгон ШИМ Arduino 2024, Ноември
Anonim

Нека да разберем какво се крие зад ШИМ съкращението, как работи, за какво служи и как можем да го използваме в работата с 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

Нека да разгледаме най-основния пример - контролиране на яркостта на светодиода с помощта на ШИМ. Нека съставим класическа схема.

Верига за демонстриране на ШИМ в Arduino
Верига за демонстриране на ШИМ в Arduino

Стъпка 3

Нека отворим скицата „Fade“от примерите: Файл -> Проби -> 01. Основни положения -> Избледняване.

Отваряне на проба за демонстриране на ШИМ в Arduino
Отваряне на проба за демонстриране на ШИМ в Arduino

Стъпка 4

Нека го променим малко и да го заредим в паметта на Arduino.

Демонстрационна скица на ШИМ
Демонстрационна скица на ШИМ

Стъпка 5

Включваме захранването. Светодиодът постепенно увеличава яркостта и след това постепенно намалява. Симулирахме аналогов сигнал на цифровия изход, използвайки импулсна широчинна модулация.

Препоръчано: