Решил сделать блок:
Название :Блок ШИМ 10Бит
Разрядностью 10Бит (0-1023)
Период можно настраивать
Получилось два блока.
Описание:
PWM_CONST_(CODE)
СпойлерПоказать
Блок ШИМ
Разрядностью 10Бит (0-1023)
Период можно настраивать
!!!!Возможны конфликты с блоками где используется Timer1 (из известных мне Rremote, Servo)
Входа
PWM_1, PWM_2, PWM_3 - задается скважность ШИМ в виде значений 0-1023
Параметры
period – Период ШИМ в микросекундах
меньше 100 лучше не ставить
Верхний предел 8388480 (8,4секунды)
pin_1, pin_2, pin_3 - номер пина соответствующего входам PWM_1, PWM_2, PWM_3
Если вход не используется, то надо выставлять 0.
Возможно использовать для следующих пинов
Arduino Uno 9, 10
Arduino Leonardo 9, 10, 11
Arduino Mega 11, 12, 13
encoder - Совместно сблоком Энкодер_С
Сделал для возможности использовать ШИМ, при примении блока Энкодер_С, в этом режиме параметр period неиспользуется
Период ШИМ будет равен значению period из блока Энкодер_С
! Блок Энкодер_С должен размещятся в проекте раньше Блок ШИМ
Разрядностью 10Бит (0-1023)
Период можно настраивать
!!!!Возможны конфликты с блоками где используется Timer1 (из известных мне Rremote, Servo)
Входа
PWM_1, PWM_2, PWM_3 - задается скважность ШИМ в виде значений 0-1023
Параметры
period – Период ШИМ в микросекундах
меньше 100 лучше не ставить
Верхний предел 8388480 (8,4секунды)
pin_1, pin_2, pin_3 - номер пина соответствующего входам PWM_1, PWM_2, PWM_3
Если вход не используется, то надо выставлять 0.
Возможно использовать для следующих пинов
Arduino Uno 9, 10
Arduino Leonardo 9, 10, 11
Arduino Mega 11, 12, 13
encoder - Совместно сблоком Энкодер_С
Сделал для возможности использовать ШИМ, при примении блока Энкодер_С, в этом режиме параметр period неиспользуется
Период ШИМ будет равен значению period из блока Энкодер_С
! Блок Энкодер_С должен размещятся в проекте раньше Блок ШИМ
СпойлерПоказать
Блок ШИМ
Разрядностью 10Бит (0-1023)
Период можно настраивать
!!!!Возможны конфликты с блоками где используется Timer1 (из известных мне Rremote, Servo)
Входа
PWM_1, PWM_2, PWM_3 - задается скважность ШИМ в виде значений 0-1023
period – Период ШИМ в микросекундах (если оставить пустым будет период 2000мкс)
Меньше 100 лучше не ставить (хотя это надо тестировать)
Верхний предел 8388480 (8,4секунды)
Параметры
pin_1, pin_2, pin_3 - номер пина соответствующего входам PWM_1, PWM_2, PWM_3
Если вход не используется, то надо выставлять 0.
Возможно использовать для следующих пинов
Arduino Uno 9, 10
Arduino Leonardo 9, 10, 11
Arduino Mega 11, 12, 13
Разрядностью 10Бит (0-1023)
Период можно настраивать
!!!!Возможны конфликты с блоками где используется Timer1 (из известных мне Rremote, Servo)
Входа
PWM_1, PWM_2, PWM_3 - задается скважность ШИМ в виде значений 0-1023
period – Период ШИМ в микросекундах (если оставить пустым будет период 2000мкс)
Меньше 100 лучше не ставить (хотя это надо тестировать)
Верхний предел 8388480 (8,4секунды)
Параметры
pin_1, pin_2, pin_3 - номер пина соответствующего входам PWM_1, PWM_2, PWM_3
Если вход не используется, то надо выставлять 0.
Возможно использовать для следующих пинов
Arduino Uno 9, 10
Arduino Leonardo 9, 10, 11
Arduino Mega 11, 12, 13
Arduino Uno 9, 10
ArduinoLeonardo 9, 10, 11
ArduinoMega 11, 12, 13
!!!!Возможны конфликты с блоками где используется Timer1 (из известных мне Rremote, Servo)
Еще два блока полный аналог предыдущих, только используется Timer3 (есть только в ArduinoLeonardo ArduinoMega)
PWM_CONST_T3
PWM_REG_T3-CODE
Возможно использовать для следующих пинов
Arduino Leonardo 5
Arduino Mega 2, 3, 5
Если у кого есть осциллограф (и не лень), проверти правильность работы и минимальной возможный период.
Обновление
Добавил второй вариант с заданием Периода через вход блока, т.е можно регулировать Период ШИМ по ходу выполнения программы.
Актуальные версии блоков находятся ШИМ 10 БИТ с изменяемым периодом
Все вопросы и предложения в эту тему.