Что такое шим выход ардуино

Что такое ШИМ и как она используется в Arduino

Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino.

Инструкция по использованию ШИМ в Arduino

1 Общие сведенияо широтно-импульсной модуляции

Цифровые выводы Arduino могут выдавать только два значения: логический 0 (LOW, низкий уровень) и логическую 1 (HIGH, высокий). На то они и цифровые. Но есть у Ардуино «особые» выводы, которые обозначаются PWM. Их иногда обозначают волнистой чертой «

» или обводят кружочками или ещё как-то выделяют среди прочих. PWM расшифровывается как Pulse-width modulation или широтно-импульсная модуляция, ШИМ.

Что такое шим выход ардуино. 1 1. Что такое шим выход ардуино фото. Что такое шим выход ардуино-1 1. картинка Что такое шим выход ардуино. картинка 1 1. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Обозначение выходов с ШИМ на Arduino Leonardo

Если скважность равняется 100%, то всё время на цифровом выходе Arduino будет напряжение логическая «1» или 5 вольт. Если задать скважность 50%, то половину времени на выходе будет логическая «1», а половину – логический «0», и среднее напряжение будет равняться 2,5 вольтам. Ну и так далее.

Что такое шим выход ардуино. 1. Что такое шим выход ардуино фото. Что такое шим выход ардуино-1. картинка Что такое шим выход ардуино. картинка 1. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Принцип работы широтно-импульсной модуляции (ШИМ)

В программе скважность задаётся не в процентах, а числом от 0 до 255. Например, команда analogWrite(10, 64) скажет микроконтроллеру подать на цифровой PWM выход №10 сигнал со скважностью 25%.

Выводы Arduino с функцией широтно-импульсной модуляции работают на частоте около 500 Гц. Значит, период следования импульсов – около 2 миллисекунд, что и отмеряют зелёные вертикальные штрихи на рисунке. Получается, что мы можем сымитировать аналоговый сигнал на цифровом выходе! Интересно, правда?!

2 Схема для демонстрации широтно-импульсной модуляции в Arduino

Что такое шим выход ардуино. 2. Что такое шим выход ардуино фото. Что такое шим выход ардуино-2. картинка Что такое шим выход ардуино. картинка 2. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Схема для демонстрации ШИМ в Arduino

3 Пример скетча с ШИМ

Откроем из примеров скетч «Fade»: Файл Образцы 01.Basics Fade.

Что такое шим выход ардуино. 3. Что такое шим выход ардуино фото. Что такое шим выход ардуино-3. картинка Что такое шим выход ардуино. картинка 3. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Открываем скетч для Arduino с использованием ШИМ

Немного изменим его и загрузим в память Arduino.

4 Управление яркостью светодиода с помощью PWM и Arduino

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

Что такое шим выход ардуино. 5. Что такое шим выход ардуино фото. Что такое шим выход ардуино-5. картинка Что такое шим выход ардуино. картинка 5. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Управление яркостью светодиода – пример широтно-импульсной модуляции, используемой в Arduino

Посмотрите приложенные видео, где на экране осциллографа DSO138 наглядно показано изменение яркости светодиода, и как при этом меняется сигнал с Arduino.

Источник

Что такое ШИМ и как она используется в Arduino

Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino.

Инструкция по использованию ШИМ в Arduino

1 Общие сведенияо широтно-импульсной модуляции

Цифровые выводы Arduino могут выдавать только два значения: логический 0 (LOW, низкий уровень) и логическую 1 (HIGH, высокий). На то они и цифровые. Но есть у Ардуино «особые» выводы, которые обозначаются PWM. Их иногда обозначают волнистой чертой «

» или обводят кружочками или ещё как-то выделяют среди прочих. PWM расшифровывается как Pulse-width modulation или широтно-импульсная модуляция, ШИМ.

Что такое шим выход ардуино. 1 1. Что такое шим выход ардуино фото. Что такое шим выход ардуино-1 1. картинка Что такое шим выход ардуино. картинка 1 1. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Обозначение выходов с ШИМ на Arduino Leonardo

Если скважность равняется 100%, то всё время на цифровом выходе Arduino будет напряжение логическая «1» или 5 вольт. Если задать скважность 50%, то половину времени на выходе будет логическая «1», а половину – логический «0», и среднее напряжение будет равняться 2,5 вольтам. Ну и так далее.

Что такое шим выход ардуино. 1. Что такое шим выход ардуино фото. Что такое шим выход ардуино-1. картинка Что такое шим выход ардуино. картинка 1. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Принцип работы широтно-импульсной модуляции (ШИМ)

В программе скважность задаётся не в процентах, а числом от 0 до 255. Например, команда analogWrite(10, 64) скажет микроконтроллеру подать на цифровой PWM выход №10 сигнал со скважностью 25%.

Выводы Arduino с функцией широтно-импульсной модуляции работают на частоте около 500 Гц. Значит, период следования импульсов – около 2 миллисекунд, что и отмеряют зелёные вертикальные штрихи на рисунке. Получается, что мы можем сымитировать аналоговый сигнал на цифровом выходе! Интересно, правда?!

2 Схема для демонстрации широтно-импульсной модуляции в Arduino

Что такое шим выход ардуино. 2. Что такое шим выход ардуино фото. Что такое шим выход ардуино-2. картинка Что такое шим выход ардуино. картинка 2. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Схема для демонстрации ШИМ в Arduino

3 Пример скетча с ШИМ

Откроем из примеров скетч «Fade»: Файл Образцы 01.Basics Fade.

Что такое шим выход ардуино. 3. Что такое шим выход ардуино фото. Что такое шим выход ардуино-3. картинка Что такое шим выход ардуино. картинка 3. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Открываем скетч для Arduino с использованием ШИМ

Немного изменим его и загрузим в память Arduino.

4 Управление яркостью светодиода с помощью PWM и Arduino

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

Что такое шим выход ардуино. 5. Что такое шим выход ардуино фото. Что такое шим выход ардуино-5. картинка Что такое шим выход ардуино. картинка 5. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Управление яркостью светодиода – пример широтно-импульсной модуляции, используемой в Arduino

Посмотрите приложенные видео, где на экране осциллографа DSO138 наглядно показано изменение яркости светодиода, и как при этом меняется сигнал с Arduino.

Источник

ШИМ сигнал

Что такое шим выход ардуино. pwm. Что такое шим выход ардуино фото. Что такое шим выход ардуино-pwm. картинка Что такое шим выход ардуино. картинка pwm. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino.

Очень часто в робототехнике возникает необходимость плавно управлять каким-то процессом, будь то яркость светодиода, мощность обогревателя или скорость вращения моторчика. Вполне очевидно, что управление напрямую связано с изменением напряжения на потребителе: и светодиод будет по-другому светить, и моторчик крутиться с другой скоростью. Но проблема в том, что управлять напряжением может только такая штука, как ЦАП – цифро-аналоговый преобразователь, а в нашем микроконтроллере встроенного ЦАПа нет, у нас есть только цифровой сигнал, т.е. либо вкл, либо выкл: Что такое шим выход ардуино. analog digital. Что такое шим выход ардуино фото. Что такое шим выход ардуино-analog digital. картинка Что такое шим выход ардуино. картинка analog digital. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Можно ли добиться плавного управления цифровым сигналом? Оказывается можно! Представьте себе вентилятор, вращающийся на полной мощности, напряжение постоянно. Представим теперь, что секунду напряжение подаётся, и секунду – нет, и так продолжается “по кругу”. Вентилятор начнёт крутиться в два раза медленнее, но мы скорее всего будем замечать моменты включения и выключения, особенно если вентилятор маленький. Большой вентилятор более инертен и там можно даже не заметить изменений скорости в пределах двух секунд. Можно теперь включать напряжение на 0.5 секунды, а на остальные 1.5 секунды – выключать. Вентилятор будет крутиться со скоростью 25% от максимальной. Мы с вами смогли представить так называемый ШИМ сигнал, широтно-импульсную модуляцию Что такое шим выход ардуино. pwmvals. Что такое шим выход ардуино фото. Что такое шим выход ардуино-pwmvals. картинка Что такое шим выход ардуино. картинка pwmvals. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. С лампочкой накаливания оно тоже будет работать, она ведь весьма инертна, но вот со светодиодом мы будем видеть, как он включается и выключается, потому что он практически не имеет задержки включения/выключения. Что же делать? Всё очень просто, поднять частоту. В мысленном эксперименте у нас был период 2 секунды, что есть 0.5 Гц. А теперь представьте себе такой сигнал с частотой скажем 1000 Гц. Или 25’000 Гц (25 кГц). Теперь роль играет инертность глаза, он не заметит вспышек на такой частоте, для него это будет просто уменьшение яркости. Задача решена! Изменяя так называемое “заполнение” ШИМ сигнала можно менять “суммарное” напряжение (интегрированное) за некоторый период. Чем больше заполнение ШИМ, тем выше напряжение, но не выше напряжения, которое мы “ШИМим”: Что такое шим выход ардуино. Fig 1 pwm. Что такое шим выход ардуино фото. Что такое шим выход ардуино-Fig 1 pwm. картинка Что такое шим выход ардуино. картинка Fig 1 pwm. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. При помощи ШИМ сигнала можно даже модулировать сложные аналоговые сигналы, например – синусоиду. На картинке ниже показан ШИМ (снизу) и этот же ШИМ после фильтров: Что такое шим выход ардуино. Image894. Что такое шим выход ардуино фото. Что такое шим выход ардуино-Image894. картинка Что такое шим выход ардуино. картинка Image894. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Вот таким образом кстати и работают инвертеры DC-AC. Возвращаясь к свойствам ШИМ сигнала, их всего два: частота (frequency) и заполнение (duty), с ними мы разобрались. Давайте перейдём к генерации ШИМ при помощи Arduino.

Arduino и ШИМ

В уроке про функции времени я рассказывал, что у микроконтроллера есть так называемые счётчики, которые считают “пинки” от тактового генератора (кварца). Данные счётчики как раз и генерируют ШИМ сигнал, т.е. само вычислительное ядро микроконтроллера в этом не участвует. Помимо расчётов, даже вывод сигнала с ноги МК ложится на плечи счётчика. Это очень важно понимать, потому что ШИМ сигнал не тормозит выполнение кода, так как его генерацией занимается буквально “другая железка”. На платах UNO/Nano/Pro Mini у нас есть три таймера-счётчика, у каждого таймера есть по два выхода на пины МК, то есть у нас есть 2*3=6 пинов, способных генерировать ШИМ сигнал. Для генерации ШИМ у нас есть готовая функция analogWrite(pin, duty)

Совместим эти знания с прошлым уроком и попробуем менять яркость светодиода, подключенного через резистор к пину D3. Потенциометр подключен к пину A0

Примечание:

Рассмотренный пример меняет яркость светодиода в зависимости от положения рукоятки потенциометра. Пару слов о “стандартном” ШИМ сигнале – мы получаем его с такими настройками, какие нам даёт библиотека Arduino.h, а настройки эти сильно занижены по сравнению с возможностями Arduino. Про “улучшение” ШИМ мы поговорим позже, а сейчас давайте глянем на характеристики ШИМ “из коробки”:

ТаймерПиныЧастотаРазрешение
Timer 0D5 и D6976 Гц8 бит (0-255)
Timer 1D9 и D10488 Гц8 бит (0-255)
Timer 2D3 и D11488 Гц8 бит (0-255)

Это весьма плачевные цифры, особенно по частоте. Все таймеры приведены под одну гребёнку, чтобы пользователь не думал не гадал и лишнюю документацию не изучал. К изменению частоты и разрядности ШИМ мы вернёмся в отдельном уроке, а пока что можете посмотреть данный урок в видео варианте.

Видео

Источник

Что такое ШИМ и как она используется в Arduino

Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino.

Инструкция по использованию ШИМ в Arduino

1 Общие сведенияо широтно-импульсной модуляции

Цифровые выводы Arduino могут выдавать только два значения: логический 0 (LOW, низкий уровень) и логическую 1 (HIGH, высокий). На то они и цифровые. Но есть у Ардуино «особые» выводы, которые обозначаются PWM. Их иногда обозначают волнистой чертой «

» или обводят кружочками или ещё как-то выделяют среди прочих. PWM расшифровывается как Pulse-width modulation или широтно-импульсная модуляция, ШИМ.

Что такое шим выход ардуино. 1 1. Что такое шим выход ардуино фото. Что такое шим выход ардуино-1 1. картинка Что такое шим выход ардуино. картинка 1 1. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Обозначение выходов с ШИМ на Arduino Leonardo

Если скважность равняется 100%, то всё время на цифровом выходе Arduino будет напряжение логическая «1» или 5 вольт. Если задать скважность 50%, то половину времени на выходе будет логическая «1», а половину – логический «0», и среднее напряжение будет равняться 2,5 вольтам. Ну и так далее.

Что такое шим выход ардуино. 1. Что такое шим выход ардуино фото. Что такое шим выход ардуино-1. картинка Что такое шим выход ардуино. картинка 1. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Принцип работы широтно-импульсной модуляции (ШИМ)

В программе скважность задаётся не в процентах, а числом от 0 до 255. Например, команда analogWrite(10, 64) скажет микроконтроллеру подать на цифровой PWM выход №10 сигнал со скважностью 25%.

Выводы Arduino с функцией широтно-импульсной модуляции работают на частоте около 500 Гц. Значит, период следования импульсов – около 2 миллисекунд, что и отмеряют зелёные вертикальные штрихи на рисунке. Получается, что мы можем сымитировать аналоговый сигнал на цифровом выходе! Интересно, правда?!

2 Схема для демонстрации широтно-импульсной модуляции в Arduino

Что такое шим выход ардуино. 2. Что такое шим выход ардуино фото. Что такое шим выход ардуино-2. картинка Что такое шим выход ардуино. картинка 2. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Схема для демонстрации ШИМ в Arduino

3 Пример скетча с ШИМ

Откроем из примеров скетч «Fade»: Файл Образцы 01.Basics Fade.

Что такое шим выход ардуино. 3. Что такое шим выход ардуино фото. Что такое шим выход ардуино-3. картинка Что такое шим выход ардуино. картинка 3. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Открываем скетч для Arduino с использованием ШИМ

Немного изменим его и загрузим в память Arduino.

4 Управление яркостью светодиода с помощью PWM и Arduino

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

Что такое шим выход ардуино. 5. Что такое шим выход ардуино фото. Что такое шим выход ардуино-5. картинка Что такое шим выход ардуино. картинка 5. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino. Управление яркостью светодиода – пример широтно-импульсной модуляции, используемой в Arduino

Посмотрите приложенные видео, где на экране осциллографа DSO138 наглядно показано изменение яркости светодиода, и как при этом меняется сигнал с Arduino.

Источник

ОБОРУДОВАНИЕ
ТЕХНОЛОГИИ
РАЗРАБОТКИ

Блог технической поддержки моих разработок

Урок 37. Широтно-импульсная модуляция в Ардуино.

Что такое шим выход ардуино. Lesson37 7. Что такое шим выход ардуино фото. Что такое шим выход ардуино-Lesson37 7. картинка Что такое шим выход ардуино. картинка Lesson37 7. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino.

В уроке узнаем о широтно-импульсной модуляции, о реализации этого способа управления в контроллерах Ардуино, о режимах и функциях работы с ШИМ в Ардуино.

Прервемся на урок от разработки контроллера холодильника, для того чтобы научиться работать с широтно-импульсным модулятором Ардуино.

В нашей разработке используется именно такой способ регулирования мощности на элементе Пельтье.

Широтно-импульсная модуляция.

Широтно-импульсная модуляция (ШИМ) это способ управления мощностью на нагрузке с помощью изменения скважности импульсов при постоянной амплитуде и частоте импульсов.

Можно выделить две основные области применения широтно-импульсной модуляции:

Принцип регулирования с помощью ШИМ – изменение ширины импульсов при постоянной амплитуде и частоте сигнала.

Что такое шим выход ардуино. Lesson37 4. Что такое шим выход ардуино фото. Что такое шим выход ардуино-Lesson37 4. картинка Что такое шим выход ардуино. картинка Lesson37 4. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino.

На диаграмме можно увидеть основные параметры ШИМ сигнала:

Даже интуитивно понятно, что мощность на нагрузке пропорциональна соотношению времени включенного и отключенного состояния сигнала.

Это соотношение определяет коэффициент заполнения ШИМ:

Он показывает, какую часть периода сигнал находится во включенном состоянии. Может меняться:

Чаще используют процентный коэффициент заполнения. В этом случае он находится в пределах от 0 до 100%.

Что такое шим выход ардуино. Lesson37 5. Что такое шим выход ардуино фото. Что такое шим выход ардуино-Lesson37 5. картинка Что такое шим выход ардуино. картинка Lesson37 5. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino.Среднее значение электрической мощности на нагрузке строго пропорционально коэффициенту заполнения. Когда говорят, что ШИМ равен, например, 20%, то имеют в виду именно коэффициент заполнения.

Формирование аналогового сигнала.

Если сигнал ШИМ пропустить через фильтр низких частот (ФНЧ), то на выходе фильтра мы получим аналоговый сигнал, напряжение которого пропорционально коэффициенту заполнения ШИМ.

В качестве ФНЧ можно использовать простейшую RC цепочку.

Что такое шим выход ардуино. Lesson37 6. Что такое шим выход ардуино фото. Что такое шим выход ардуино-Lesson37 6. картинка Что такое шим выход ардуино. картинка Lesson37 6. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino.
Из-за неидеальной характеристики такого фильтра частота среза должна быть минимум на порядок меньше частоты ШИМ. Для простого RC фильтра частота среза вычисляется по формуле:

Из этого вытекает главный недостаток широтно-импульсной модуляции. Метод способен синтезировать только достаточно медленные аналоговые сигналы или требует применения фильтров низких частот с высокой добротностью, сложных в реализации.

Даже простейшие моделирующие программы вычисляют уровень пульсаций достаточно точно. Вот результаты моделирования на SwCAD для ШИМ частотой 500 Гц и RC фильтрами с частотами среза 500 Гц, 50 Гц и 5 Гц. Зеленым цветом показана диаграмма ШИМ, синим – напряжение на выходе RC фильтра.

Частота среза 500 Гц (10 кОм, 32 нФ).

Что такое шим выход ардуино. Lesson37 1. Что такое шим выход ардуино фото. Что такое шим выход ардуино-Lesson37 1. картинка Что такое шим выход ардуино. картинка Lesson37 1. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino.

Частота среза 50 Гц (10 кОм, 320 нФ).

Что такое шим выход ардуино. Lesson37 2. Что такое шим выход ардуино фото. Что такое шим выход ардуино-Lesson37 2. картинка Что такое шим выход ардуино. картинка Lesson37 2. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino.

Частота среза 5 Гц (10 кОм, 3,2 мкФ).

Что такое шим выход ардуино. Lesson37 3. Что такое шим выход ардуино фото. Что такое шим выход ардуино-Lesson37 3. картинка Что такое шим выход ардуино. картинка Lesson37 3. Давайте разберёмся, что скрывается за аббревиатурой ШИМ, как это работает, для чего нужно и как мы можем использовать её в работе с Arduino.

Точность преобразования широтно-импульсных модуляторов определяется погрешностью амплитуды импульсов (т.е. стабильностью питания микроконтроллера) и значением падения напряжения на ключах цифровых выходов микроконтроллера. Как правило, точность ШИМ микроконтроллеров невысока. Добиться высокой точности ШИМ преобразования можно с помощью дополнительной схемы с аналоговыми ключами и источником опорного напряжения.

К недостаткам использования широтно-импульсных модуляторов в качестве ЦАП также следует отнести высокое выходное сопротивление. Оно определяется сопротивлением резистора RC фильтра и не может быть низким из-за малой нагрузочной способности выходов микроконтроллера.

Широтно-импульсные модуляторы в Ардуино.

Платы Ардуино на базе микроконтроллеров ATmega168/328 имеют 6 аппаратных широтно-импульсных модуляторов. Сигналы ШИМ могут быть сгенерированы на выводах 3, 5, 6, 9, 10, 11.

Управление аппаратными ШИМ осуществляется с помощью системной функции analogWrite().

void analogWrite(pin, val)

Функция переводит вывод в режим ШИМ и задает для него коэффициент заполнения. Перед использованием analogWrite() функцию pinMode() для установки вывода в режим “выход” вызывать необязательно.

analogWrite(9, 25); // на выводе 9 ШИМ = 10%

Частота ШИМ Ардуино 488,28 Гц.

Для генерации ШИМ используются все три таймера Ардуино.

ТаймерИспользуется для генерации ШИМ на выводах
Таймер 0выводы 5 и 6
Таймер 1выводы 9 и 10
Таймер 2выводы 3 и 11

Если таймер используется для других целей, например для прерывания, то параметры ШИМ соответствующих выводов могут не соответствовать указанным выше.

Поэтому, при использовании библиотек MsTimer2, TimerOne или им подобных некоторые выводы в качестве ШИМ сигналов использовать нельзя.

Увеличение частоты и разрядности ШИМ Ардуино.

Система Ардуино устанавливает на всех выводах ШИМ параметры:

Очень низкая частота. Для большинства приложений совершенно не допустимая.

В разработке контроллера элемента Пельтье, начатой в предыдущем уроке, частота ШИМ должна быть не менее 30-50 кГц. В интернете достаточно много предложений по увеличению частоты ШИМВо всех описываются методы увеличения частоты до 31 кГц. В принципе приемлемый вариант, но мне захотелось большего.

Я разобрался с Таймером 1 микроконтроллера ATmega168/328, перевел ШИМ в быстродействующий режим и добился частоты ШИМ Ардуино до 62,5 кГц. Заодно я научился менять разрядность ШИМ. Чтобы в следующий раз не копаться в документации на микроконтроллеры ATmega168/328 я свел всевозможные варианты ШИМ для таймера 1 в таблицу.

Строчки из правого столбца для выбранного варианта необходимо написать в функции setup().

Варианты параметров ШИМ на выводах 9 и 10 Ардуино (таймер 1).

РазрешениеЧастота ШИМКоманды установки режима
8 бит62 500 ГцTCCR1A = TCCR1A & 0xe0 | 1;
TCCR1B = TCCR1B & 0xe0 | 0x09;
7 812,5 ГцTCCR1A = TCCR1A & 0xe0 | 1;
TCCR1B = TCCR1B & 0xe0 | 0x0a;
976,56 ГцTCCR1A = TCCR1A & 0xe0 | 1;
TCCR1B = TCCR1B & 0xe0 | 0x0b;
244,14 ГцTCCR1A = TCCR1A & 0xe0 | 1;
TCCR1B = TCCR1B & 0xe0 | 0x0c;
61,04 ГцTCCR1A = TCCR1A & 0xe0 | 1;
TCCR1B = TCCR1B & 0xe0 | 0x0d;
9 бит31 250 ГцTCCR1A = TCCR1A & 0xe0 | 2;
TCCR1B = TCCR1B & 0xe0 | 0x09;
3 906,25 ГцTCCR1A = TCCR1A & 0xe0 | 2;
TCCR1B = TCCR1B & 0xe0 | 0x0a;
488,28 ГцTCCR1A = TCCR1A & 0xe0 | 2;
TCCR1B = TCCR1B & 0xe0 | 0x0b;
122,07 ГцTCCR1A = TCCR1A & 0xe0 | 2;
TCCR1B = TCCR1B & 0xe0 | 0x0c;
30,52 ГцTCCR1A = TCCR1A & 0xe0 | 2;
TCCR1B = TCCR1B & 0xe0 | 0x0d;
10 бит1 5625 ГцTCCR1A = TCCR1A & 0xe0 | 3;
TCCR1B = TCCR1B & 0xe0 | 0x09;
1 953,13 ГцTCCR1A = TCCR1A & 0xe0 | 3;
TCCR1B = TCCR1B & 0xe0 | 0x0a;
244,14 ГцTCCR1A = TCCR1A & 0xe0 | 3;
TCCR1B = TCCR1B & 0xe0 | 0x0b;
61,04 ГцTCCR1A = TCCR1A & 0xe0 | 3;
TCCR1B = TCCR1B & 0xe0 | 0x0c;
15,26 ГцTCCR1A = TCCR1A & 0xe0 | 3;
TCCR1B = TCCR1B & 0xe0 | 0x0d;

Следующий скетч генерирует на выводе 9 ШИМ с частотой 62,5 кГц и коэффициентом заполнения примерно 10 %.

void setup() <
// ШИМ 8 разрядов, 62,5 кГц
TCCR1A = TCCR1A & 0xe0 | 1;
TCCR1B = TCCR1B & 0xe0 | 0x09;
analogWrite(9, 25); // на выводе 9 ШИМ=10%
>

Это максимально возможная частота ШИМ Ардуино для большинства плат (с частотой генератора 16 мГц).

В следующем уроке вернемся к разработке контроллера элемента Пельтье.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *