Используя micro python на ESP32, как получить 2 PWM контакта с разными частотами? - PullRequest
1 голос
/ 23 апреля 2020

Когда я инициализирую два контакта PWM на ESP32 с помощью micro python, я обнаружил, что два контакта всегда находятся на одной частоте PWM.

motorPin1 = machine.PWM(Pin(21, mode=Pin.OUT))
motorPin1.duty(512)
motorPin1.freq(10)
motorPin2 = machine.PWM(Pin(22, mode=Pin.OUT))
motorPin2.duty(300)
motorPin2.freq(200)

В приведенном выше примере оба motorPin1 и motorPin2 заканчиваются на такая же частота. Также, если частота на одном выводе обновляется, она также обновляет частоту на другом (до той же частоты). Рабочий цикл можно контролировать отдельно, но не по частоте.

В конце концов я обнаружил, что ESP32 имеет «каналы» ШИМ, которые управляются / синхронизируются парами. Так, например, если у вас есть два контакта PWM, назначенные каналам 0 и 1, они всегда будут работать на одной частоте. Интерфейс микро python ШИМ не отображает канал ШИМ, назначенный на вывод.

Как люди устанавливают выводы ШИМ в микро python с соответствующими каналами ШИМ для отдельного управления частотой?

...