Ye Olde Phashioned способ сделать ШИМ с аналоговым управляемым рабочим циклом, это сравнить аналоговый сигнал управления с треугольной волной. Вы делаете генератор треугольных волн, который работает на желаемой частоте ШИМ. Он подается на отрицательный вход компаратора, а аналоговый сигнал управления на положительный вход. Результатом является либо полный максимум, либо полный минимум, но коэффициент заполнения линейно пропорционален управляющему сигналу. Например, ранние аудиоусилители класса D работали по этому принципу.
Во многих случаях ШИМ не обязательно должен быть суперлинейным, поэтому треугольная волна не обязательно должна иметь идеально ровные края. Позволяя им быть немного экспоненциальными, можно упростить схему.
Добавлено:
Марк Рэйджес отметил, что когда вы говорите «серводвигатель», вы можете иметь в виду маленькие двигатели-хобби с контролем положения, используемые в модельных самолетах и тому подобное. Мой ответ относится к управлению двигателем, предполагая, что у вас есть аналоговое напряжение, пропорциональное тому, как сильно вы хотите управлять двигателем. Это не относится к этим "хобби серво". Они управляются не ШИМ в обычном смысле этого слова, а шириной импульсов, которые обычно должны повторяться от 1 до 2 мс каждые 20-50 мс или около того. Если этот вопрос действительно касается хобби-сервоприводов, то это нужно исправить, чтобы прояснить это.