Страница 1 из 1

Помогите разобратся с ШИМ.

Добавлено: Сб дек 31, 2011 02:42:41
fzr400gr
Помогите разобратся с ШИМ. Пока ни в железе ни в симуляторе не пробовал ШИМ, не было надобности, а вот теперь понадобилось. Вобщем как получить синус на АВР мне понятно а как изменять его частоту и уровень используя одну таблицу, не совсем понятно. Если кому не лень, обьясните мне какими способами это можно сделать, желательно на пальцах.

Re: Помогите разобратся с ШИМ.

Добавлено: Сб дек 31, 2011 10:46:42
Аlex
как изменять его частоту и уровень используя одну таблицу, не совсем понятно.
Ну Вы же можете получить синус. Он уже значит имеет какую-то частоту. Как Вы её расчитывали ?
Если таблица содержит в себе один период, то частота синуса будет = частота выборки / кол-во выборок (кол-во значений в таблице). Ну а уровень менять проще - умножайте значения из таблицы на коэффециент, если процессорного времени конечно хватит.

Re: Помогите разобратся с ШИМ.

Добавлено: Сб дек 31, 2011 13:06:44
fzr400gr
Спасибо за ответ. С уровнем я как то так и предполагал. А вот как оперативно менять частоту не совсем ясно. Скажем такт 8 мГц, разрешение ШИМ 255 значит частота ШИМ 8000000 : 256 = 31250 Гц. Если разбить четверть периода на 64 части (период - 256) то максимальная частота синуса получится 31250 : 256 = 122 Гц. Создаем таблицу для синуса в 64 значениями. получили синус 122 герца. А как без особых изменений сделать 121 120 119 ? Ведь не создавать же для каждой частоты таблицу. Можно изменять частоту ШИМ загружая какое то начальное значение в регистр таймера.
Но при этом придется изменять значения и регистре OC чтобы сохранить процентное соотношение включеного и выключенного состояния выхода.
Больше ничего в голову не приходит. :dont_know:

Re: Помогите разобратся с ШИМ.

Добавлено: Вс янв 01, 2012 17:16:40
Аlex
31250 : 256 = 122 Гц.
Почему Вы делите на 256 частоту ШИМа ? Вам нужно делить частоту выборки (дискретизации). Запускаете таймер, в обработчике которого делаете выборки, и меняете время его переполнения.
При синусе с частотой 121 Гц частота выборок, для 8-битной таблицы, будет = 121*256=30976 Гц.

Re: Помогите разобратся с ШИМ.

Добавлено: Вс янв 01, 2012 18:43:02
YS

Re: Помогите разобратся с ШИМ.

Добавлено: Пн янв 02, 2012 00:44:16
fzr400gr
Почему Вы делите на 256 частоту ШИМа ? Вам нужно делить частоту выборки (дискретизации). Запускаете таймер, в обработчике которого делаете выборки, и меняете время его переполнения.
При синусе с частотой 121 Гц частота выборок, для 8-битной таблицы, будет = 121*256=30976 Гц.
Ну ведь тоже самое получается что и вы написали 122*256=31232 Гц, я просто округлил до 31250. То есть если градаций напряжения будет 256 (таймер будет тикать до 256) и частота выборок 256 то максимальная частота при такте 8 мГц будет 8000000 : 256 : 256 = 122.0703125. Может где-то я ошибаюсь, поправьте плиз.

Re: Помогите разобратся с ШИМ.

Добавлено: Чт янв 05, 2012 23:55:48
fzr400gr
Чего-то все молчат, наверно военная тайна регулировка частоты синуса. Пока что ничего более умного не придумал как сделать несколько таблиц под некоторые частоты а потом делить их програмно. Запарился я конкретно в написании таблицы синусов, и сел седня набросал скриптик на баше
для построения таблиц синусов. Скрипт выводит значения для всего периода, при запуске скрипта надо указать количество частей на которое хочется разбить период. Неудобство значения выводит по одному в строке, поэтому надо немного поработать ручками при копировании. Так что те кто юзает линукс пользуйтесь.

ЗЫ. Расширение sh тут запрещено, поэтому удалите .rar в названии файла.

ЗЫ. Подправил чуток скриптик, выдает таблицу в более читабельном виде, по 10 значений в строке.

Re: Помогите разобратся с ШИМ.

Добавлено: Пт янв 06, 2012 11:31:41
YS
Чего-то все молчат, наверно военная тайна регулировка частоты синуса.
Я же дал ссылку. Или Вы дальше названия не читали? Там все подробно расписано и даже с картинками.
сел седня набросал скриптик на баше
Я в свое воемя в Excel генерировал. :) Потом правда, тоже тулзу написал, но как консольное приложение.

Re: Помогите разобратся с ШИМ.

Добавлено: Пт янв 06, 2012 11:42:28
Леонид Иванович
Как регулировать частоту? Ключевое слово - DDS.
Вот описание моего генератора: http://www.telesys-ru.1gb.ru/electronic ... hp?do=p035
Там, правда, не ШИМ, а ЦАП, но это без разницы.
Если захочется теории, тогда вот: http://www.digit-el.com/files/articles/dds.pdf
Амплитуду регулировать в цифровом виде не очень хорошо, при этом теряется разрешающая способность ЦАП и ухудшается качество сигнала. Лучше регулировать на выходе, цифровым потенциометром, например.

Re: Помогите разобратся с ШИМ.

Добавлено: Пт янв 06, 2012 14:21:38
fzr400gr
Спасибо всем за ответы.В начале темы я не указал для чего мне это. В общем хочу построить трехфазный регулятор для асинхронников. Так что особая правильность формы и точность не нужна. Знаю что тема стара как мир, но хочется попробовать. Готового нормального решения я не нашел, вот и решил сделать сам.

Re: Помогите разобратся с ШИМ.

Добавлено: Пт янв 06, 2012 15:17:44
Леонид Иванович
Тогда ключевое слово SVM.

Re: Помогите разобратся с ШИМ.

Добавлено: Сб янв 07, 2012 01:39:00
fzr400gr
Может дадите ссылочку какую нибудь почитать, а то либо я плохо ищу либо гугл на меня обиделся.

Re: Помогите разобратся с ШИМ.

Добавлено: Сб янв 07, 2012 10:14:47
Леонид Иванович

Re: Помогите разобратся с ШИМ.

Добавлено: Сб янв 07, 2012 13:41:09
fzr400gr
Спасибо, вчера нашел тоже самое на русском http://www.gaw.ru/html.cgi/txt/app/micr ... AVR495.htm . Слишком мудрено все написано, пытаюсь вникнуть. :))