Цифровое умножение частоты ШИМ-сигнала

Здесь обсуждаем устройства на МК и программы для них
Ответить
ElectroWave
Читатель
Читатель
Сообщения: 2
Зарегистрирован: 17 июл 2015, 13:51
фанатичный радиохламер

Цифровое умножение частоты ШИМ-сигнала

Сообщение ElectroWave » 17 июл 2015, 14:21

Здравствуйте, в процессе поиска решения моей задачи наткнулся на вашу статью на сайте (http://radiohlam.ru/program/shim_mul.htm). Впринципе это то что мне нужно, но есть несколько "Но".
1. Можно ли задать увеличение\уменьшение входной частоты скажем каким либо коэффициентом отличным от 2
2. Можно ли изменять только скважность сигнала не изменяя длительности самого импульса или наоборот
3. Можно ли изменить программу и внести константу которая будет управлять частотой\скважностью\длительностью импульса
Я пробовал изменять параметры находящиеся в процедуре CalcToutIout, но при попытке увеличить или уменьшить значения регистров на выходе сигнал пропадает, я так понимаю, что выше где то идет сравнение регистров Tout и Iout (возможно в пунктах NotFull b Next2). Помогите плиз пролить свет на данный проект, я только учусь программированию поэтому сам пока все догнать не могу :D Хотелось бы организовать данную программу с изменяющимся коэффициентом по возможности :)

Все это необходимо для проекта универсального преобразователя импульсов для приборных досок авто, я нашел один проект (http://club.azlk.ru/index.php3?mode=article&id=57922), но хотелось бы для самообразования сделать что то подобное на МК. Заранее спасибо!!!!

Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 2962
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
фанатичный радиохламер
Контактная информация:

Re: Цифровое умножение частоты ШИМ-сигнала

Сообщение rhf-admin » 19 июл 2015, 11:03

Да, это в принципе можно, но вычислительных возможностей надо побольше (частота, разрешение таймеров). Так очень узкий диапазон получается. Сейчас пока некогда, но позже я эту планирую на stm32 переделать.
С уважением, администрация сайта.

ElectroWave
Читатель
Читатель
Сообщения: 2
Зарегистрирован: 17 июл 2015, 13:51
фанатичный радиохламер

Re: Цифровое умножение частоты ШИМ-сигнала

Сообщение ElectroWave » 20 июл 2015, 12:33

В принципе я хотел это как то для атмеги 8 приспособить, но может вы подскажете куда копать, а именно как просто забить входные параметры в регистры, потом соль манипуляций я понял, просто меня насторожил момент что при изменении параметров входного сигнала в регистрах на выходе прерывается сигнал ((((
Может тут просто дописать можно пару строк и поставить пару кнопок для инкремента\декремента частоты сигнала или тоже самое для скважности ну или как то так ;)

Аватара пользователя
rhf-admin
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
Сообщения: 2962
Зарегистрирован: 25 авг 2009, 23:19
Откуда: Уфа
фанатичный радиохламер
Контактная информация:

Re: Цифровое умножение частоты ШИМ-сигнала

Сообщение rhf-admin » 21 июл 2015, 08:44

Прикол в том, что при умножении на 2 началу периода входного импульса всегда будет соответствовать начало периода какого-то выходного импульса, а концу периода входного импульса всегда будет соответствовать конец периода какого-то выходного импульса (потому что входная частота кратна выходной). Если множитель сделать произвольным, то такого совпадения не будет. В этом случае нужно делать совершенно отдельные и независимые процедуры оцифровки входной частоты и генерирования выходной.
То есть помимо точек 1-5 нужно будет ещё определять отдельно конец периода выходного импульса, определять, есть ли новые вычисленные значения выходных параметров и генерить новый выходной импульс в соответствии с этими новыми значениями. Точек разных будет больше и процедур разных будет больше...
Вот как-то так.
С уважением, администрация сайта.

Ответить

Вернуться в «Устройства на микроконтроллерах»