Форум РадиоКот • Просмотр темы - Синусоида с помощью ШИМ
Сообщения без ответов | Активные темы
Страница 2 из 4
[ Сообщений: 73 ]
, , ,
Автор
Сообщение
Рязанцев Владислав
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 13:22:37
Мудрый кот
Карма: 27
Рейтинг сообщений: 77
Зарегистрирован: Пн июн 24, 2013 23:00:42Сообщений: 1781Откуда: Казахстан
Рейтинг сообщения: 2
В принципе все будет работать. Оставьте бедолагу, пусть ищет огромный дроссель. Напомнило мне историю про EL панели, где московская фирма покупала у китайцев преобразователи с огромным ферритовым трансформатором на частоте в 1кГц, за огромные деньги. Меня с моими двойными преобразованиями никто слушать не стал.
_________________ Ваши хотелки за ваши деньги
Вернуться наверх
Реклама
СЦБист
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 13:22:47
Это не хвост, это антенна
Карма: 3
Рейтинг сообщений: 76
Зарегистрирован: Сб июн 09, 2012 02:14:11Сообщений: 1337Откуда: ХАРЬКОВ
Рейтинг сообщения: 0
для точек 0 и 16 синус равен 0 с какой точки ввести расчет ?
Вернуться наверх
Реклама
Vladlog
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 13:40:34
Это не хвост, это антенна
Карма: 34
Рейтинг сообщений: 589
Зарегистрирован: Ср фев 25, 2009 04:32:44Сообщений: 1428Откуда: Находка
Рейтинг сообщения: 2
И как это понимать?
СЦБист писал(а):
я разбиваю синус на 20 частей
СЦБист писал(а):
для точек 0 и 16 синус равен 0
Для чего разбивать на 20 частей?
_________________
Вернуться наверх
СЦБист
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 13:50:47
Это не хвост, это антенна
Карма: 3
Рейтинг сообщений: 76
Зарегистрирован: Сб июн 09, 2012 02:14:11Сообщений: 1337Откуда: ХАРЬКОВ
Рейтинг сообщения: 0
Vladlog писал(а):
И Для чего разбивать на 20 частей?
лучше бы показали как определить длительность импульса для заданной точки синуса.
и как выбирать эту самую точку
Вернуться наверх
просто КОТ
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 13:59:11
Друг Кота
Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50Сообщений: 12364Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 2
Ммм... смотри. Поскольку у нас нет минусового питания, то у нас есть три ключевые точки. Синус равен 1 -- весь такт будет открыт верхний ключ. Синус равен -1 -- весь такт ШИМ будет открыт нижний ключ. Синус равен нулю -- половина питания. А синус мы берём от 0,1 * pi * N. Где N -- номер выборки, а 0,1Pi тебе просто надо пока принять за константу. на этом моменте всё ясно?
_________________И ты врёшь!!! © Vladisman
Вернуться наверх
Реклама
СЦБист
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 14:03:33
Это не хвост, это антенна
Карма: 3
Рейтинг сообщений: 76
Зарегистрирован: Сб июн 09, 2012 02:14:11Сообщений: 1337Откуда: ХАРЬКОВ
Рейтинг сообщения: 0
почему 0,1 * pi * N ? где вы взяли 0,1 ? какой вообще номер выборки ? в каких пределах он меняется ?
Вернуться наверх
Реклама
просто КОТ
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 14:18:39
Друг Кота
Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50Сообщений: 12364Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 2
Твой период разбит на 20 выборок. Вот их номер, от 0 до 19 и есть N. 0,1pi -- тут всё просто. Весь период -- 360 градусов. Оно же 2Pi радиан. И поскольку 50Гц сигнал создаётся из 20 выборок по 1мс, мы делим вышеназванное на 20. Т.е. каждая выборка, каждый импульс ШИМ, замещает собой 18 градусов синусоиды. Или же 0,1Pi радиан.
_________________И ты врёшь!!! © Vladisman
Вернуться наверх
СЦБист
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 14:23:51
Это не хвост, это антенна
Карма: 3
Рейтинг сообщений: 76
Зарегистрирован: Сб июн 09, 2012 02:14:11Сообщений: 1337Откуда: ХАРЬКОВ
Рейтинг сообщения: 0
Правильно хоть определил ?
Код:
for (int N=1; N <= 20; N++) { K = sin(0.1*M_PI*N); cout<<K<<endl; }
Вернуться наверх
akl
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 14:52:57
Карма: 64
Рейтинг сообщений: 1013
Зарегистрирован: Пт мар 07, 2008 06:54:43Сообщений: 4332Откуда: Ижевск
Рейтинг сообщения: 2
Для формирования амплитуды ШИМ 8-разрядным таймером (256 точек с защитными интервалами ±8 точек) ti=128+120*sin(18*i) . Период в выражении как-то не просматривается.
Последний раз редактировалось akl Вс апр 10, 2016 14:55:23, всего редактировалось 1 раз.
Вернуться наверх
Реклама
СЦБист
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 14:55:02
Это не хвост, это антенна
Карма: 3
Рейтинг сообщений: 76
Зарегистрирован: Сб июн 09, 2012 02:14:11Сообщений: 1337Откуда: ХАРЬКОВ
Рейтинг сообщения: 0
что за бред ? в эквиваленте счетчика период ШИМа равен значению 150. это соответствует 1 мс мне 256 точек даром не надо. 20 штук хватит. _____ вот получил значения для выборок 0 ............ 19. это отношение длительности импульса к периоду шима ? 0 0.309017 0.587785 0.809017 0.951057 1 0.951057 0.809017 0.587785 0.309017 1.22465e-16 -0.309017 -0.587785 -0.809017 -0.951057 -1 -0.951057 -0.809017 -0.587785 -0.309017
Вернуться наверх
akl
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 15:00:13
Карма: 64
Рейтинг сообщений: 1013
Зарегистрирован: Пт мар 07, 2008 06:54:43Сообщений: 4332Откуда: Ижевск
Рейтинг сообщения: 2
Спокойнее. Не надо нервничать. Подумайте.
Вернуться наверх
просто КОТ
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 15:02:57
Друг Кота
Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50Сообщений: 12364Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 2
Мм... СЦБисту стоит сейчас очень многое переварить. На самом деле... Моя формула возвращает коэффициент К от -1 до 1. И это уже хорошо. А формула AKL вернёт сразу значение вида 0...255 которое надо скормить таймеру.
_________________И ты врёшь!!! © Vladisman
Вернуться наверх
СЦБист
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 15:07:11
Это не хвост, это антенна
Карма: 3
Рейтинг сообщений: 76
Зарегистрирован: Сб июн 09, 2012 02:14:11Сообщений: 1337Откуда: ХАРЬКОВ
Рейтинг сообщения: 0
честно говоря я не шибко понял что он имел ввиду. разбивать на 256 точек не вижу смысла с точки зрения сложности дальнейшей реализации. у меня период шима 1мс , предельное значение счетчика равен 150 (1мс). _____ все это будет делаться программно. сравнение тоже программно. за исключением прерывания от совпадения счетчика. через каждые 1мс
Вернуться наверх
просто КОТ
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 15:21:57
Друг Кота
Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50Сообщений: 12364Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 2
150, говоришь... Ну так это легко переписать.
Код:
for (int N=1; N <= 20; N++) { K = 75 + round(75*(sin(0.1*M_PI*N)); cout<<K<<endl; }
Приблизительно так... Что показывает?
_________________И ты врёшь!!! © Vladisman
Вернуться наверх
СЦБист
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 15:31:09
Это не хвост, это антенна
Карма: 3
Рейтинг сообщений: 76
Зарегистрирован: Сб июн 09, 2012 02:14:11Сообщений: 1337Откуда: ХАРЬКОВ
Рейтинг сообщения: 0
просто КОТ писал(а):
15 Что показывает?
for (int N=0; N < 20; N++) Спойлер 75 98 119 136 146 150 146 136 119 98 75 52 31 14 4 0 4 14 31 52
Вернуться наверх
CATяра
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 15:57:24
Встал на лапы
Зарегистрирован: Чт янв 14, 2016 14:42:05Сообщений: 110Откуда: City
Рейтинг сообщения: 2
Вам возможно пойдет PWM correct режим. (Когда от заданного числа в регистре OCR0A считает до максимума и обратно до числа) Нужен не синус, а вкл на время одно плечо, затем другое. Будет модифицированный синус и по OVF флагу (в прерывании) делать инверсию для плечь силовых транзисторов. Для движка пойдёт и ещё понадобится обратная связь, так, что менять контроллер придётся. (168, 328) А вообще ещё одного таймера не хватает в тини13, можно хотябы тини 85 применить, там таймер 1 (16 бит)и таймер 0 (8бит) есть При выборках меньше 256 и/или маленькой частоте выборок (я не засекал на сколько именно) будет жжужать железо (транса , движка...) Если вы будете делать на трансе, то на выход кондёрчик поставьте ~2 МКФ по 220 В.
Вернуться наверх
СЦБист
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 16:09:28
Это не хвост, это антенна
Карма: 3
Рейтинг сообщений: 76
Зарегистрирован: Сб июн 09, 2012 02:14:11Сообщений: 1337Откуда: ХАРЬКОВ
Рейтинг сообщения: 0
что делать с этими значениями150 0
Вернуться наверх
просто КОТ
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 16:27:52
Друг Кота
Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50Сообщений: 12364Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 2
for (int N=0; N < 20; N++) { K = 75 + round(74 *(sin(0.1*M_PI*N)); cout<<K<<endl; } теперь минимум -- единица, а максимум -- 149.
_________________И ты врёшь!!! © Vladisman
Вернуться наверх
Fuser
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 18:37:57
Карма: 18
Рейтинг сообщений: 495
Зарегистрирован: Сб дек 14, 2013 16:11:55Сообщений: 1691
Рейтинг сообщения: 2
короче
чтобы не парить моск с расчетами пропорций открытого времени верхнего/нижнего транзистора, берешь драйвер
ir2184 , на вход подаешь ему шимированую однополярную полуволну(как выпрямленную диодным мостом переменку, только частотой не 100 а 50гц, полным периодом=20мс), и на средней точке выходных транзисторов перед дросселем имеешь нормальный шим-синус.
плюсом у драйвера есть вход SD для остановки работы.
Вернуться наверх
просто КОТ
Заголовок сообщения: Re: Синусоида с помощью ШИМ
Добавлено: Вс апр 10, 2016 18:42:04
Друг Кота
Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50Сообщений: 12364Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 2
Так, давайте пока без этого. Ибо совсем замучаем человека. Хочет он научиться программную синусоиду делать. Вот мы ему показали как. будут ещё вопросы -- там и посмотрим
_________________И ты врёшь!!! © Vladisman
Вернуться наверх
Страница 2 из 4
[ Сообщений: 73 ]
, , ,
Кто сейчас на форуме
Сейчас этот форум просматривают: Google [Bot] и гости: 34
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения