ШИМ микроконтроллера PIC16F887
|
|
| Пт, 04.07.2014, 18:00 | Сообщение # 1
|
Egour
Постов: 916
Друзья |
Проконсультируйте, пожалуйста, по узлу широтно-импульсного модулятора микроконтроллера PIC16F887. Сможет ли он выдавать меандр с частотой от 9 до 11 килогерц с шагом 1 герц? Контроллер планируется тактировать внешним сигналом с частотой 1 МГц.
Конструирую сейчас прибор для домашней лаборатории, задача оказалась не из простых и времени разбираться с МК пока нет, а нужно точно знать, справится микроконтроллер с генерацией меандра с необходимыми параметрами или нет, от этого зависит схема того узла, который как раз сейчас разрабатываю.
|
|
| Пт, 04.07.2014, 18:13 | Сообщение # 2
|
N-удалён
Постов: 2270
Х |
По моему твой вопрос легко решаем шарющим человеком. На форуме есть пользователь pictele обратись к нему , он шарит PIC контроллерах.
|
|
| Вт, 08.07.2014, 20:27 | Сообщение # 3
|
Vladimir1983
Постов: 2
ОК |
да сможет. Будет сложновато наладить способ изменения частоты ШИМ
|
|
| Ср, 09.07.2014, 03:53 | Сообщение # 4
|
Egour
Постов: 916
Друзья |
Цитата Vladimir1983 ( ) да сможет. Это хорошо, схема значительно упрощается. Спасибо.
А насчет сложности изменения частоты - есть какие-то нюансы? Если что, мне частоту сигнала на выходе просто переключать время от времени, то есть, установить, скажем, ровно 10 килогерц и пусть она так и стоит на 10 КГц на время порядка единиц секунд. Потом 9501 герц, например, на то же время. Будут какие-то трудности? МК в это время только динамической индикацией заниматься будет, опросом клавиатуры и валкодера, особой нагрузки на вычислительные ресурсы микроконтроллера не предполагается.
|
|
| Ср, 09.07.2014, 16:15 | Сообщение # 5
|
Vladimir1983
Постов: 2
ОК |
Я как то собирал ШИМ генератор на PIC16. В нем я с кнопок изменял частоту в приделах от 5000 гц до 30000гц и скважность тоже с кнопок отдельных. У меня правда шаг был по 1000 гц. Использовал в программе готовую функцию на C++ писал в MicroC Pro. Читай даташит на свою модель МК.
|
|
| Чт, 28.08.2014, 16:17 | Сообщение # 6
|
Egour
Постов: 916
Друзья |
Так, на всякий случай, может кому пригодится. Не сможет ШИМ контроллера шагать с шагом 1 герц на частотах порядка десятков килогерц. Чтобы МК смог обеспечить такой шаг, он должен тактироваться частотой минимум 100 МГц, а это невозможно. Печально, увы...
|
|
| Чт, 28.08.2014, 16:52 | Сообщение # 7
|
Витинари
Постов: 1503
Друзья |
Цитата Egour ( ) Не сможет ШИМ контроллера шагать с шагом 1 герц на частотах порядка десятков килогерц. Что-то не смог врубиться в эту фразу. Что имеется в виду под словом "шаг"? Килогерцы где должны быть? Объясните, плз.Добавлено (28.08.2014, 17:52) --------------------------------------------- Я правильно понял, что ШИМ должен выдавать меандр в десяток кГц, потом ждать одну секунду, опять выдавать меандр и т.д., да?
|
|
| Пт, 29.08.2014, 06:41 | Сообщение # 8
|
Egour
Постов: 916
Друзья |
Ну, частота, это просто частота, а шаг, это дискретность изменения частоты. Например, нужно мне менять частоту от 10 до 11 килогерц с шагом 1 герц, то есть 10 000 герц, 10 001 герц, 10 002 герца и т.д. вплоть до 11 килогерц.
Но, при тактовой частоте микроконтроллера в 4 МГц я смогу менять частоту минимум через 25 герц - 10 000 Гц, 10 025 Гц, 10 050 Гц и т.д.
Перестраивать частоту по 25 герц слишком грубо для моих целей.
|
|
| Пт, 29.08.2014, 12:20 | Сообщение # 9
|
Витинари
Постов: 1503
Друзья |
Egour, а, все понял, спасибо. Сам с похожей фигней столкнулся, когда делал несущую в 36 кГц для ДУ. Никак частота не хотела в нужный диапазон попадать - или 32, или сразу 40 - еле настроил.Добавлено (29.08.2014, 13:20) --------------------------------------------- К слову, более-менее точно частота настроилась не через прерывания таймеров, а через обычный delay_uS, благо, было не критично, что МК "задумывается" на этой функции.
|
|