PWM Expansion позволяет генерировать до 16 разных ШИМ (широтно-импульсная модулированных) для управления любыми устройствами: диодов, сервоприводов и т.д.
Вы можете узнать больше о PWM Expansion в обзоре.
ШИМ - это метод управления выходной мощностью цепи. Рассмотрим аналогию, чтобы объяснить, как это работает. Допустим, вы поливаете несколько цветов в саду. Вы можете быть в следующих состояниях:
PWM - это техника быстрого включения и выключения шланга, так что шланг действует как легкий опрыскиватель. Например, это можно использовать для изменения яркости светодиода, заставляя его затухать, а не просто мигать.
Серводвигатели используют ШИМ-сигналы для других целей. Они анализируют длину каждого импульса и используют ее для того, чтобы определить, на какой угол они должны повернуться.
ШИМ-сигналы могут быть описаны рабочим циклом или периодами.
Показывает сколько процентов времени сигнал включен или имеет высокое напряжение. Таким образом, ШИМ-сигнал с рабочим циклом 25% будет с высоким напряжением в течение 25% времени и с низким в течение 75% времени. Рабочий цикл можно рассчитать следующим образом:
Период - это количество времени, необходимое для завершения одного цикла. В командной строке используются миллисекунды.
Время в состоянии ON, Ton на предыдущей диаграмме - это время, когда уровень сигнала высокий. Также это время называют шириной импульса.
Аналогично, Toff - это время, когда уровень сигнала низкий.
Время полного цикла соответствует общему периоду сигнала ШИМ и эквивалентно сумме Тon и Тoff
Частота ШИМ-сигнала - это количество циклов, которое проходит сигнал в секунду, и обратная величина периода:
Единица измерения частоты - Герц (Гц).
Убедитесь, что на вашем 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.
При настройке сигнала на основе периода частота зависит от общего периода:
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%:
Для первых 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 с помощью ваших собственных программ. Смотрите инструкции ниже для более подробной информации:
г. Москва, Пятницкое ш. д. 18, пав. 566
zakaz@compacttool.ru
8-495-752-55-22
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2015 - 2024г https://compacttool.ru