Частота ШИМ не определяется софтом и на него не влияет. ШИМ - это аппаратная функция МК и зависит только от тактовой частоты процессора и разрядности ШИМ. Собственно, если используем энергию для нагревателя, то частота особо не волнует. Второй вариант - это превратить выходную последовательность импульсов в постоянное напряжение, установив после ключа фильтр. Получаем меняющееся по величине выходное напряжение, которое затем обрабатываем с помощью чисто аппаратных средств - DC/DC конверторов. Если используем для работы с АКБ, то тоже частота ШИМ нас не должна особо заботить, просто контролируем параметры батареи и стреляем в неё импульсами. Если же предусмотрено подключение Grid Tie, то на него подаём постоянное напряжение прямо с фильтра, нужно быть лишь уверенным в том, что выбранный нами инвертор сможет работать в диапазоне этих напряжений. Такие вот мысли. Возможно и не совсем верные...
А вот кусочек работы ШИМа, только сильно не плюйтесь - снимал мобильником с маленького расстояния, а тот немного дрожал в руке. Есть у него такое свойство - дрожать...