Менять амплитуду синусоиды полученной с помощью ШИМ.

Обсуждаем контроллеры компании Atmel.
Ответить
astrgan
Встал на лапы
Сообщения: 103
Зарегистрирован: Чт мар 08, 2012 01:13:30

Менять амплитуду синусоиды полученной с помощью ШИМ.

Сообщение astrgan »

Как можно менять амплитуду синусоиды которая производится с помощью шим (на avr)?
Реклама
Аватара пользователя
conler
Это не хвост, это антенна
Сообщения: 1327
Зарегистрирован: Вс дек 11, 2011 05:43:30
Откуда: Екатеринодар

Re: Менять амплитуду синусоиды полученной с помощью ШИМ.

Сообщение conler »

Вопрос "ниочем".
Можно самим контроллером, можно делителем, можно ОУ
Реклама
astrgan
Встал на лапы
Сообщения: 103
Зарегистрирован: Чт мар 08, 2012 01:13:30

Re: Менять амплитуду синусоиды полученной с помощью ШИМ.

Сообщение astrgan »

Просто шим на делитель подавать?
А если с помощью мк, то надо увеличивать время между импульсами? Можно типа таймер (с помощью которого генерируется шим) приостанавливать?
Аватара пользователя
conler
Это не хвост, это антенна
Сообщения: 1327
Зарегистрирован: Вс дек 11, 2011 05:43:30
Откуда: Екатеринодар

Re: Менять амплитуду синусоиды полученной с помощью ШИМ.

Сообщение conler »

astrgan писал(а):...А если с помощью мк, то надо увеличивать время между импульсами?...
Прочитайте заново что есть ШИМ, внимательнее, возможно иными словами, с другого источника. Вообще если нужен конкретный ответ - необходим конкретный, предметный (не типа "вообще") вопрос. Это очевидно...
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
menzoda
Вымогатель припоя
Сообщения: 535
Зарегистрирован: Вт авг 28, 2012 22:21:33

Re: Менять амплитуду синусоиды полученной с помощью ШИМ.

Сообщение menzoda »

Нет, время между импульсами не надо трогать - это есть несущая частота ШИМ и ее обычно не трогают. Просто по-другому вычисляется скважность импульсов. Например, если скважность изменять по синусоидальному закону в пределах от 0 до 100% - получим синусоиду максимальной амплитуды. Если она будет изменяться в пределах от 40% до 60%, или от 0% до 20% (то есть с меньшим "размахом"), то и амплитуда синусоиды будет меньше.
Реклама
astrgan
Встал на лапы
Сообщения: 103
Зарегистрирован: Чт мар 08, 2012 01:13:30

Re: Менять амплитуду синусоиды полученной с помощью ШИМ.

Сообщение astrgan »

menzoda

А можно поподробней?
Пожалуйста.
Последний раз редактировалось astrgan Ср ноя 14, 2012 08:43:59, всего редактировалось 1 раз.
Реклама
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Менять амплитуду синусоиды полученной с помощью ШИМ.

Сообщение ploop »

Нет. Просто значение из таблицы синуса умножить на K, где 0 < K < 1
K и будет ваша амплитуда.
astrgan
Встал на лапы
Сообщения: 103
Зарегистрирован: Чт мар 08, 2012 01:13:30

Re: Менять амплитуду синусоиды полученной с помощью ШИМ.

Сообщение astrgan »

Спасибо!
А таким способом получится менять амплитуду пропорциональна частоте?
Например я хочу уменьшить частоту и амплитуду в N раз.
Хотя ладно сделаю и посмотрю что получится.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Менять амплитуду синусоиды полученной с помощью ШИМ.

Сообщение ploop »

Да если это делается программно, то как хотите так и меняйте. Всё сводится к чистой математике.
astrgan
Встал на лапы
Сообщения: 103
Зарегистрирован: Чт мар 08, 2012 01:13:30

Re: Менять амплитуду синусоиды полученной с помощью ШИМ.

Сообщение astrgan »

ploop писал(а): 0 < K < 1
Придется использовать float?
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Менять амплитуду синусоиды полученной с помощью ШИМ.

Сообщение ploop »

А вот как реализовать - это уже другой вопрос :)))
Смотря на чём пишите (может, на ассемблере), какими порогами надо менять амплитуду (возможно подойдут обычные сдвиги), может и флоат сойдёт, если есть время и память, и т.д.
Для начала попробуйте поделить на 2 (сдвинуть вправо на 1 бит), если получится - думаем дальше.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Менять амплитуду синусоиды полученной с помощью ШИМ.

Сообщение Аlex »

astrgan писал(а):
ploop писал(а): 0 < K < 1
Придется использовать float?
Интересно, а зачем тут флоат нужен ?
Представьте свой коэфф. в виде дроби, и всё сразу "встанет на свои места". :)
Ответить

Вернуться в «AVR»