Для начала у вас есть обратные параметры функций. Open () принимает значение char меньше 256, а Set () принимает 10-битное число.
Тем не менее, вы выбрали наибольшее значение (255), которое дает наименьшую частоту. Как поясняется в таблице, функция Open () принимает значение периода в качестве параметра. Более высокая частота эквивалентна более короткому периоду, и наоборот.
Наконец, зачем вам 100% рабочий цикл? Это то же самое, что всегда держать булавку высоко. В этом случае частота вообще не имеет значения. Просто включите контакт и вообще не используйте ШИМ.
Вы не сказали, что вы ведете с этим ШИМ, но, вообще говоря, слишком высокая частота может вызвать проблемы. Это может вызвать радиопомехи, перегрев и т. Д.
Ваш вопрос указывает на то, что вы неправильно понимаете цель ШИМ и то, к чему относятся эти термины, так что вот tl; dr.
ШИМ имитирует напряжение между 0 и Vcc путем быстрого переключения вывода на высокий и низкий уровень. Смоделированное напряжение пропорционально time_high / (time_high + time_low). Процент времени, в течение которого вывод находится в состоянии Vcc, называется рабочим циклом. (Таким образом, 100% -ный режим всегда включен, что дает напряжение Vcc. 0% -ный режим всегда выключен, что дает 0 В.)
Скорость, с которой повторяется этот цикл включения / выключения, называется частотой ШИМ. Если частота слишком мала (период слишком большой), нагрузка будет замечать колебания напряжения на контакте. Цель состоит в том, чтобы запустить ШИМ достаточно быстро, чтобы сгладить напряжение, которое видит нагрузка, но не так быстро, чтобы вызвать другие проблемы. Доступные частоты подходят для большинства приложений. Также обратите внимание, что установка высокого значения частоты (малого периода) также снизит точность рабочего цикла. Это объясняется в таблице данных. Причина в основном в том, что рабочий цикл в конечном итоге должен быть преобразован в такты часов, а не такты часов. Чем выше частота, тем меньше способов разделить такты часов в каждом цикле.
person
uncleO
schedule
07.05.2014
OpenTimer2(TIMER_INT_OFF & T2_PS_1_16 & T2_POST_1_16);
Так что теперь мне просто нужно увеличить частоту ШИМ до 1 кГц. Кстати, это нормально, что частота ШИМ не меняется при изменении рабочего цикла, верно? - person Ammar   schedule 07.05.2014