Менять амплитуду синусоиды полученной с помощью ШИМ.
Менять амплитуду синусоиды полученной с помощью ШИМ.
Как можно менять амплитуду синусоиды которая производится с помощью шим (на avr)?
- Реклама
- conler
- Это не хвост, это антенна
- Сообщения: 1327
- Зарегистрирован: Вс дек 11, 2011 05:43:30
- Откуда: Екатеринодар
Re: Менять амплитуду синусоиды полученной с помощью ШИМ.
Вопрос "ниочем".
Можно самим контроллером, можно делителем, можно ОУ
Можно самим контроллером, можно делителем, можно ОУ
Re: Менять амплитуду синусоиды полученной с помощью ШИМ.
Просто шим на делитель подавать?
А если с помощью мк, то надо увеличивать время между импульсами? Можно типа таймер (с помощью которого генерируется шим) приостанавливать?
А если с помощью мк, то надо увеличивать время между импульсами? Можно типа таймер (с помощью которого генерируется шим) приостанавливать?
- conler
- Это не хвост, это антенна
- Сообщения: 1327
- Зарегистрирован: Вс дек 11, 2011 05:43:30
- Откуда: Екатеринодар
Re: Менять амплитуду синусоиды полученной с помощью ШИМ.
Прочитайте заново что есть ШИМ, внимательнее, возможно иными словами, с другого источника. Вообще если нужен конкретный ответ - необходим конкретный, предметный (не типа "вообще") вопрос. Это очевидно...astrgan писал(а):...А если с помощью мк, то надо увеличивать время между импульсами?...
Re: Менять амплитуду синусоиды полученной с помощью ШИМ.
Нет, время между импульсами не надо трогать - это есть несущая частота ШИМ и ее обычно не трогают. Просто по-другому вычисляется скважность импульсов. Например, если скважность изменять по синусоидальному закону в пределах от 0 до 100% - получим синусоиду максимальной амплитуды. Если она будет изменяться в пределах от 40% до 60%, или от 0% до 20% (то есть с меньшим "размахом"), то и амплитуда синусоиды будет меньше.
- Реклама
Re: Менять амплитуду синусоиды полученной с помощью ШИМ.
menzoda
А можно поподробней?
Пожалуйста.
А можно поподробней?
Пожалуйста.
Последний раз редактировалось astrgan Ср ноя 14, 2012 08:43:59, всего редактировалось 1 раз.
Re: Менять амплитуду синусоиды полученной с помощью ШИМ.
Нет. Просто значение из таблицы синуса умножить на K, где 0 < K < 1
K и будет ваша амплитуда.
K и будет ваша амплитуда.
Re: Менять амплитуду синусоиды полученной с помощью ШИМ.
Спасибо!
А таким способом получится менять амплитуду пропорциональна частоте?
Например я хочу уменьшить частоту и амплитуду в N раз.
Хотя ладно сделаю и посмотрю что получится.
А таким способом получится менять амплитуду пропорциональна частоте?
Например я хочу уменьшить частоту и амплитуду в N раз.
Хотя ладно сделаю и посмотрю что получится.
Re: Менять амплитуду синусоиды полученной с помощью ШИМ.
Да если это делается программно, то как хотите так и меняйте. Всё сводится к чистой математике.
Re: Менять амплитуду синусоиды полученной с помощью ШИМ.
Придется использовать float?ploop писал(а): 0 < K < 1
Re: Менять амплитуду синусоиды полученной с помощью ШИМ.
А вот как реализовать - это уже другой вопрос
Смотря на чём пишите (может, на ассемблере), какими порогами надо менять амплитуду (возможно подойдут обычные сдвиги), может и флоат сойдёт, если есть время и память, и т.д.
Для начала попробуйте поделить на 2 (сдвинуть вправо на 1 бит), если получится - думаем дальше.
Смотря на чём пишите (может, на ассемблере), какими порогами надо менять амплитуду (возможно подойдут обычные сдвиги), может и флоат сойдёт, если есть время и память, и т.д.
Для начала попробуйте поделить на 2 (сдвинуть вправо на 1 бит), если получится - думаем дальше.
- Аlex
- Модератор
- Сообщения: 4614
- Зарегистрирован: Чт мар 18, 2010 23:09:57
- Откуда: Планета Земля
- Контактная информация:
Re: Менять амплитуду синусоиды полученной с помощью ШИМ.
Интересно, а зачем тут флоат нужен ?astrgan писал(а):Придется использовать float?ploop писал(а): 0 < K < 1
Представьте свой коэфф. в виде дроби, и всё сразу "встанет на свои места".


