Недавно делал проект, в котором нужно было регулировать напряжение на выходе с точностью до 0,01 В. При этом у заказчика кроме Arduino UNO ничего не было в наличии. Пришлось работать с тем, что было.
Решить поставленную задачу можно используя ESP32, так как разрядность ШИМ 16 бит. Но в моем случае не было возможности использовать данную отладочную плату. Поэтому пришлось искать вариант регулирования напряжения с заданной точностью с помощью Arduino UNO.
С решением данной задачи помогла статья AlexGyver «Увеличение частоты ШИМ». Если вам не интересно разбираться в данной теме, у AlexGyver есть библиотека, которая поможет изменять частоту и разрядность PWM «GyverPWM».
В описании библиотеки есть таблица, которая поможет сориентироваться с настройками.
Я использовал 12 bit ШИМ при регулировке напряжения 5 В и 16 bit ШИМ при регулировке 12 В.
Более подробное описание тут.
И еще несколько фото данного проекта.
Надеюсь моя информация будет полезной.
Спасибо! Всем добра!