Приветствие

Мир вам! Совсем скоро - 1 сентября - начнется долгожданный учебный год! Приветствую вас наилучшим приветствием на нашем сайте! Внимательно изучайте материал, и правильно выполните задания. Старайтесь! Ребята, каждый из вас как бриллиант в руках мастера, старайтесь, сделайте так как нужно, станьте золотым фондом школы и пусть у вас дай Бог всё получиться! Школа и учителя - это родной дом. Постоянно учитесь. Ни на минуту ни прекращайте учить себя. Любите свою Родину, мечтайте, проявляйте интерес и побеждайте! Хочу сказать о важности воспитания уважения в педагогической среде. Вот несколько причин, почему уважение важно в классе: Создает безопасное и инклюзивное пространство. Уважение помогает создать безопасную и инклюзивную учебную среду, в которой все учащиеся чувствуют, что их ценят и принимают. Когда ученики чувствуют уважение, они с большей вероятностью выражают свои идеи и мнения, даже если они отличаются от своих одноклассников, что может привести к богатому обмену идеями. Способствует положительным отношениям: уважительное общение между учителями и учениками, а также между самими учениками может способствовать положительным отношениям и чувству общности в классе. Это может привести к более благоприятной и совместной учебной среде. Улучшает успеваемость: когда учащиеся могут уважительно относиться друг к другу, они с большей вероятностью положительно реагируют на указания и инструкции, что может привести к улучшению успеваемости. Развивает социально-эмоциональные навыки: обучение уважению в классе может помочь учащимся развить социально-эмоциональные навыки, такие как эмпатия, понимание и разрешение конфликтов, которые имеют решающее значение для успеха в школе, на работе и в личных отношениях. Повышает эффективность учителя: уважение в классе может повысить эффективность учителя и поощрять активное и надлежащее участие в занятиях в классе. В целом, воспитание уважения в педагогической среде имеет важное значение для создания безопасной, инклюзивной и поддерживающей среды обучения, которая способствует позитивным отношениям, академическим успехам и социально-эмоциональному развитию.

Поиск по базе данных сайта

22 ноября 2022 г.

ШИМ СИГНАЛ

 

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

Задача решена! Изменяя так называемое “заполнение” ШИМ сигнала можно менять “суммарное” (интегрированное) напряжение за некоторый период. Чем больше заполнение ШИМ, тем выше напряжение. Но не выше напряжения, которое мы “ШИМим”:При помощи ШИМ сигнала можно даже модулировать сложные аналоговые сигналы, например – синусоиду. На картинке ниже показан ШИМ (снизу) и этот же ШИМ после фильтров:Вот таким образом кстати и работают инвертеры DC-AC. Возвращаясь к свойствам ШИМ сигнала, их всего два: частота (frequency) и заполнение (duty), с ними мы разобрались. Давайте перейдём к генерации ШИМ при помощи Arduino.

ШИМ пины


Взглянем на распиновку популярных плат Arduino Nano и Wemos Mini:

Пины, на которых можно запустить ШИМ сигнал стандартными средствами Arduino, помечены как PWM:

  • На Arduino Nano есть 6 таких пинов. Дело в том, что ШИМ сигнал генерируется отдельными аппаратными блоками (таймерами), поэтому их количество ограничено. В то же время генерация ШИМ на повышенной частоте не нагружает микроконтроллер, сигнал генерируется самостоятельно.
  • На Wemos Mini можно запустить ШИМ на любом пине, кроме GPIO16. Здесь генерация ШИМ реализована программно, поэтому работает на любом пине, но использование одновременно нескольких пинов на повышенной частоте будет тормозить работу микроконтроллера.

Включаем ШИМ


Для генерации ШИМ у нас есть готовая функция 

analogWrite(pin, duty)
:

  • pin
     – PWM пин (см. распиновку выше). Нумерация пинов такая же, как в уроке про цифровые пины.
  • duty
     – заполнение ШИМ сигнала. По умолчанию имеет разрядность 8 бит, то есть принимает значение 0.. 255Примечание: у esp8266 на версии ядра до 3.0 разрядность была 10 бит, то есть 0.. 1023.

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

void setup() {
}
void loop() {
// ШИМ на 3 пин, 1023/4 = 255 - перевели диапазон
analogWrite(3, analogRead(0) / 4);
}

Рассмотренный пример меняет яркость светодиода в зависимости от положения рукоятки потенциометра.

Особенности Arduino Nano


Стандартные параметры ШИМ сигнала:

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

Про изменение частоты и разрядности мы поговорим в отдельном уроке.

Особенности Wemos Mini


Частота ШИМ по умолчанию 1 кГц.

  • Частоту можно настроить в 
    analogWriteFreq(100.. 40000 Гц)
    .

Разрядность ШИМ по умолчанию 8 бит (0.. 255) на версиях ядра 3.x. На ранних версиях – 10 бит (0.. 1023). Скажем спасибо индусам за совместимость.

  • Разрядность можно настроить в 
    analogWriteResolution(4...16 бит)
    .

Программный ШИМ


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

Видео


Полезные страницы


  • Набор GyverKIT – большой стартовый набор Arduino моей разработки, продаётся в России
  • Каталог ссылок на дешёвые Ардуины, датчики, модули и прочие железки с AliExpress у проверенных продавцов
  • Подборка библиотек для Arduino, самых интересных и полезных, официальных и не очень
  • Полная документация по языку Ардуино, все встроенные функции и макросы, все доступные типы данных
  • Сборник полезных алгоритмов для написания скетчей: структура кода, таймеры, фильтры, парсинг данных
  • Видео уроки по программированию Arduino с канала “Заметки Ардуинщика” – одни из самых подробных в рунете
  • Поддержать автора за работу над уроками
  • Обратная связь – сообщить об ошибке в уроке или предложить дополнение по тексту (alex@alexgyver.ru)

Комментариев нет:

Отправить комментарий

Цитата:

Учитель воспитывает ученика, а воспитанный ученик в свою очередь воспитывает другого ученика. - Если тот, кто получил воспитание, находится на начальном уровне. - То тот, кто воспитан и воспитывает других, находится на высоком уровне.