Изменение частоты генерируемого ШИМом сигнала
- Сообщения: 1
- Зарегистрирован: Пн фев 13, 2012 14:50:11
Уважаемые господа специалисты подскажите чайнику такую штуку. Задача собрать (или попытаться хотя бы
) простой инвертор 220 1ф в 220 3ф. Много материалов перечитано, принцип работы понятен. Есть толь ко одно но, как регулировать частоту генерируемого сигнала имея одну таблицу синусов. В примерах встречал используют 16 разрядный таймер-счетчик1 (речь идет об авр),но как это работает не пойму. Если есть у кого соображения поделитесь!!!!!! Проект не коммерческий (самоделка для гаража). Всем буду очень признотелен.
- Реклама
Вас интересует как работает ШИМ на основе таймера, как ним задать синусоиду или что?
- Сообщения: 119
- Зарегистрирован: Пн окт 05, 2009 20:01:20
Например, есть таблица синусов с 1000 значений синуса. если брать каждое значение из таблицы, при частоте работы таймера 1 МГц получим частоту синуса 1 000 000 / 1 000 = 1000 Гц. Если будем брать каждое второе значение из таблицы, то получим частоту 2000 Гц, каждое третье - 3000 Гц, ну и так далее. Также можно менять частоту сигнала, изменяя время выборки каждого следующего значения из таблицы. Таймер используется для задания частоты выборки из таблицы. Поищите в интернете по запросу "Цифровой вычислительный синтезатор", или "Direct digital synthesizer". Информации для того, чтобы понять принцип действия, достаточно.как регулировать частоту генерируемого сигнала имея одну таблицу синусов
Вы верно всё понимаете, за исключением нескольких мелочей:
1) при частоте тактирования в 1 мгц и 8-битном таймере, частота выборок будет 1000/255 = ~ 3.9 кГц. Т.к. прерывание у вас будет осуществляться при переполнении счётчика.
2) вы не учли времени на обработку команд, они несколько снизят частоту. Правда, врятли вам нужна высокая точность.
Как я понимаю, у вас частота определяет скорость вращения вала синхронного двигателя. И вам нужна формула для вычисления частоты.
F = Fosc /(δTCNT), где
F - частота дискретизации
Fosc - частота тактового сигнала таймера
δTCNT - изменение значения счётчика ( напирмер счётчик 8 бит, TCNT = 127, δTCNT = (2^8)-1 - 127 = 256-1 - 127 = 128)
1) при частоте тактирования в 1 мгц и 8-битном таймере, частота выборок будет 1000/255 = ~ 3.9 кГц. Т.к. прерывание у вас будет осуществляться при переполнении счётчика.
2) вы не учли времени на обработку команд, они несколько снизят частоту. Правда, врятли вам нужна высокая точность.
Как я понимаю, у вас частота определяет скорость вращения вала синхронного двигателя. И вам нужна формула для вычисления частоты.
F = Fosc /(δTCNT), где
F - частота дискретизации
Fosc - частота тактового сигнала таймера
δTCNT - изменение значения счётчика ( напирмер счётчик 8 бит, TCNT = 127, δTCNT = (2^8)-1 - 127 = 256-1 - 127 = 128)
- Сообщения: 119
- Зарегистрирован: Пн окт 05, 2009 20:01:20
Да я просто объяснил автору принцип регулирования частоты. И правда, я ошибся, не учел, что частота тактирования делится на таймере.
- Реклама

