Например TDA7294

Форум РадиоКот • Просмотр темы - Синусоида с помощью ШИМ
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пт июл 25, 2025 23:52:42

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 73 ]    , 2, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: 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

с какой точки ввести расчет ?


Вложения:
43403438.jpg [26.06 KiB]
Скачиваний: 3560
Вернуться наверх
 
Не в сети
 Заголовок сообщения: 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 ?

какой вообще номер выборки ? в каких пределах он меняется ?


Вложения:
43403438.jpg [26.64 KiB]
Скачиваний: 800
Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: 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;
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: 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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: 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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: 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
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: 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
Изображение


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 73 ]    , 2, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 34


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y