Изменение частоты генерируемого ШИМом сигнала
Изменение частоты генерируемого ШИМом сигнала
Уважаемые господа специалисты подскажите чайнику такую штуку. Задача собрать (или попытаться хотя бы
) простой инвертор 220 1ф в 220 3ф. Много материалов перечитано, принцип работы понятен. Есть толь ко одно но, как регулировать частоту генерируемого сигнала имея одну таблицу синусов. В примерах встречал используют 16 разрядный таймер-счетчик1 (речь идет об авр),но как это работает не пойму. Если есть у кого соображения поделитесь!!!!!! Проект не коммерческий (самоделка для гаража). Всем буду очень признотелен.
- Реклама
- Antifritz
- Прорезались зубы
- Сообщения: 222
- Зарегистрирован: Чт июл 08, 2010 01:03:40
- Откуда: Украина, Киев
Re: Изменение частоты генерируемого ШИМом сигнала
Вас интересует как работает ШИМ на основе таймера, как ним задать синусоиду или что?
Re: Изменение частоты генерируемого ШИМом сигнала
Например, есть таблица синусов с 1000 значений синуса. если брать каждое значение из таблицы, при частоте работы таймера 1 МГц получим частоту синуса 1 000 000 / 1 000 = 1000 Гц. Если будем брать каждое второе значение из таблицы, то получим частоту 2000 Гц, каждое третье - 3000 Гц, ну и так далее. Также можно менять частоту сигнала, изменяя время выборки каждого следующего значения из таблицы. Таймер используется для задания частоты выборки из таблицы. Поищите в интернете по запросу "Цифровой вычислительный синтезатор", или "Direct digital synthesizer". Информации для того, чтобы понять принцип действия, достаточно.как регулировать частоту генерируемого сигнала имея одну таблицу синусов
- Shapa
- Встал на лапы
- Сообщения: 127
- Зарегистрирован: Пт июн 20, 2008 09:38:05
- Откуда: Харьков
- Контактная информация:
Re: Изменение частоты генерируемого ШИМом сигнала
Вы верно всё понимаете, за исключением нескольких мелочей:
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)
Re: Изменение частоты генерируемого ШИМом сигнала
Да я просто объяснил автору принцип регулирования частоты. И правда, я ошибся, не учел, что частота тактирования делится на таймере.
- Реклама

