Каталог

Использование PWM Expansion

PWM Expansion позволяет генерировать до 16 разных ШИМ (широтно-импульсная модулированных) для управления любыми устройствами: диодов, сервоприводов и т.д.

Вы можете узнать больше о PWM Expansion в обзоре.

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

ШИМ - это метод управления выходной мощностью цепи. Рассмотрим аналогию, чтобы объяснить, как это работает. Допустим, вы поливаете несколько цветов в саду. Вы можете быть в следующих состояниях:

  1. выключен
  2. включен на полную мощность, уничтожающую ваши цветы

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

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

ШИМ-сигналы могут быть описаны рабочим циклом или периодами.

рабочий цикл ШИМ сигнала

Рабочий цикл

Показывает сколько процентов времени сигнал включен или имеет высокое напряжение. Таким образом, ШИМ-сигнал с рабочим циклом 25% будет с высоким напряжением в течение 25% времени и с низким в течение 75% времени. Рабочий цикл можно рассчитать следующим образом:

dutycycle формула

Период и частота

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

Время в состоянии ON, Ton на предыдущей диаграмме - это время, когда уровень сигнала высокий. Также это время называют шириной импульса.

Аналогично, Toff - это время, когда уровень сигнала низкий.

Время полного цикла соответствует общему периоду сигнала ШИМ и эквивалентно сумме Тon и Тoff

Частота ШИМ-сигнала - это количество циклов, которое проходит сигнал в секунду, и обратная величина периода:

PWM частота сигнала

Единица измерения частоты - Герц (Гц). 

Использование командной строки

Убедитесь, что на вашем Omega установлена последняя версия прошивки!

Разработан инструмент под названием pwm-exp, который позволит генерировать ШИМ-сигналы.

Также доступны библиотека C и модуль Python, позволяющие разрабатывать собственные программы для управления сервоприводом (Servo Expansion). Смотрите руководства в нижней части этой статьи для более подробной информации.

Использование команд

Для вывода на экран использования команды запустите ее с аргументом -h:

pwm-exp -h

Инициализация

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

Чтобы выполнить инициализацию, выполните следующую команду:

pwm-exp -i

Эта команда может быть выполнена сама по себе или в сочетании с любыми командами ниже.

Настройка ШИМ на основе рабочего цикла

Команда ниже позволяет определить ШИМ-сигнал, который будет генерироваться, указав, какой канал в PWM Expansion используется и какой рабочий цикл:

pwm-exp [OPTIONS]

Примеры:

Генерация сигнала на канале 0 с рабочим циклом 10%:

pwm-exp 0 10

Генерация сигнала с частотой 100 Гц на канале 1 с рабочим циклом 33,33%:

pwm-exp -f 100 1 33.33

Выполнение инициализации, а затем генерации сигнала на канале 2 с рабочим циклом 95%:

pwm-exp -i 2 95

Обратите внимание, что рабочий цикл должен быть между 0 и 100.

Настройка ШИМ на основе периода

ШИМ-сигнал также может быть сгенерирован путем указания ширины импульса и общего периода в миллисекундах:

pwm-exp -p

Несколько примеров:

Генерация ШИМ-сигнала на основе периода на канале 3, который является высоким для 1 мс, низким для 19 мс. Это делает период равным 20 мс, соответствующий частоте 50 Гц:

pwm-exp -p 3 1 20

Генерация ШИМ-сигнала на основе периода на канале 5, который является высоким для 1,65 мс, для периода, равного 5,4 мс (соответствует 185,19 Гц)

pwm-exp -p 5 1.65 5.4

Настройка частоты ШИМ-сигнала

При настройке сигнала на основе рабочего цикла частоту можно также настроить с помощью параметра -f.

pwm-exp -f

Пример:

Генерация сигнала с частотой 220 Гц на канале 5 с рабочим циклом 15%:

pwm-exp -f 220 5 15

По умолчанию частота равна 50 Гц. Большинство сервоприводов работают на этой частоте.

Если требуемая частота отличается, она должна быть указана в каждой команде pwm-exp. В противном случае PWM Expansion будет сброшено на частоту по умолчанию. 

Обратите внимание, что все каналы работают на одной частоте. Невозможно генерировать ШИМ-сигналы с разными частотами на одном и том же Servo Expansion.

При настройке сигнала на основе периода частота зависит от общего периода:

PWM частота сигнала

Выбор канала

Servo Expansion имеет 16 каналов. pwm-exp позволяет программировать каждый из них индивидуально или все сразу.

Программирование каждого канала индивидуально:

Видно в приведенных выше примерах:

pwm-exp 12 97

pwm-exp -p 15 1.65 20

Программирование всех сразу:

Вместо указания номера канала написание all настроит сразу все каналы.

Настройка всех каналов сигнала 50% рабочего цикла с частотой 50 Гц по умолчанию:

pwm-exp all 50

Настройка сигнала на частоте 123 Гц для всех каналов с рабочим циклом 66%:

pwm-exp -f 123 all 66

Установка сигнала на основе периода на всех каналах с рабочим циклом 5% (1 мс с периодом 20 мс):

pwm-exp -p all 1 20

Настройка задержки

Также возможно создавать ШИМ-сигналы, где импульс имеет задержку.

На следующем изображении показан сигнал с рабочим циклом 20% с задержкой 10%:

Установка задержки PWM

Для первых 10% цикла сигнал низкий. Затем он высокий для 20% цикла и низким для оставшихся 70% цикла.

Установка задержки с помощью pwm-exp возможна только при настройке ШИМ-сигнала с использованием рабочего цикла:

pwm-exp

Примеры

Генерация сигнала, подобного приведенному выше, по всем каналам с рабочим циклом 20% с задержкой 10%:

pwm-exp all 20 10

Генерация сигнала на канале 9 с рабочим циклом 33% и задержкой 50%:

pwm-exp 9 33 50

Отключение генератора

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

Чтобы перевести генератор в спящий режим:

pwm-exp -s

Чтобы снова включить генератор, есть несколько способов:

Запустите инициализацию для включения генератора и генерации ШИМ-сигналов:

pwm-exp -i

Сгенерируйте ШИМ-сигнал по одному или всем каналам, и программное обеспечение обнаружит генератор

pwm-exp

или

pwm-exp -p

Использование библиотек

Библиотека C и модуль Python позволят вам управлять PWM Expansion с помощью ваших собственных программ. Смотрите инструкции ниже для более подробной информации:

  • PWM Expansion C Library
  • PWM Expansion Python Module
footer shadow
Контакты

г. Москва, Пятницкое ш. д. 18, пав. 566

zakaz@compacttool.ru

8-495-752-55-22

compacttool logoadaptive site

accepted payment systems

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !

© Все права защищены 2015 - 2024г https://compacttool.ru