реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Помогите подобрать МК, Для формирования ШИМ
barabek
сообщение Nov 4 2009, 10:40
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(Dog Pawlowa @ Nov 4 2009, 21:12) *
Легко и просто сформировать синус да и другой сигнал на STM32 - он имеет DMA на встроеный DAC со скоростью больше 1 MS/s. Проверено лично.
Если нужно ШИМ, скважность которого определяется каким-то законом, но достаточного любого контроллера, только какое это отношение имеет к синусоидальному сигналу? Подобие на синус появится только после фильтрации.

Вот если бы ШИМ был с DMA , было бы вообще прекрасно. Фильтрация у меня обязательно будет. Контроллер должен будет управлять полумостами. Нагрузка 500-700 Вт. Я, предварительно, остановился на AT90PWM316. Как я понял ( не хватает времени внимательно документацию прочитать) смогу на нем сделать 4 независимых канала. Драйверы буду брать от silabs. В них встроен deadtime. Осталось определиться со средой и программатором - камень для меня новый.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 4 2009, 13:20
Сообщение #17


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(barabek @ Nov 4 2009, 12:19) *
Мы, все-таки, говорим о разных вещах. Я имею ввиду не округление, а пропуск (возможно, а может и нет - зависит от соотношения частот несущей и выходной, а также разрешающей способности ШИМ).

Как его ни назовите, N=trunc(256*sin(w*t)); и заметьте - ничего не пропускается. Вы же не будете пользоваться одной таблицей для генерации всей сетки... кстати, почитайте старинную некрочиповскую апноту http://www.microchip.com/stellent/idcplg?I...ppnote=en011086 по поводу правильных алгоритмов генерации синуса.

Цитата(barabek @ Nov 4 2009, 14:40) *
Я, предварительно, остановился на AT90PWM316. Как я понял ( не хватает времени внимательно документацию прочитать) смогу на нем сделать 4 независимых канала.

Ничего подобного. Три независимых, т.к последний(PSC22+PSC23) очень дже зависим от PSC20+PSC21
Go to the top of the page
 
+Quote Post
barabek
сообщение Nov 4 2009, 14:13
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(_Pasha @ Nov 4 2009, 23:20) *
Как его ни назовите, N=trunc(256*sin(w*t)); и заметьте - ничего не пропускается. Вы же не будете пользоваться одной таблицей для генерации всей сетки... кстати, почитайте старинную некрочиповскую апноту http://www.microchip.com/stellent/idcplg?I...ppnote=en011086 по поводу правильных алгоритмов генерации синуса.

За ссылку спасибо, почитаю.
По поводу Вашей формулу я полностью согласен. Берем и строим в exel таблицу с номерами отсчетов и выходным кодом для ШИМ c учетом 200 отсчетов на период выходной 500 Гц
Код
n(отсч)  N                     N(окр)
0    0                0
1    8.041154324    8
2    16.074373    16
3    24.09172821    24
4    32.08530779    32
5    40.04722305    40
6    47.96961653    48

....
44    251.4655362    251
45    252.8482152    253
46    253.9813635    254
47    254.8638629    255
48    255.4948425    255
49    255.8736795    256
50    256    256
51    255.8736795    256
.....

Как видно из последнего столбца, я прохожу не все 256 уровней. Возле 0 пропуски через 8 уровней, возле максимума без пропусков. Я это и имел ввиду. (я кстати обманул, получилось 512 уровней, но смысл тот же)

Цитата
Ничего подобного. Три независимых, т.к последний(PSC22+PSC23) очень дже зависим от PSC20+PSC21

Чиорт, чиорт crying.gif
Мне при беглом просмотре показалось, что в каждом PSC каналы A и B могут работать независимо. Уточню завтра на работе.( Для управления верхним и нижним плечом будет использоваться драйвер с одним входом PWM поэтому два вывода МК не требуются )

Да еще, в моей задаче не требуется "налету" менять частоту, только амплитуду синусоид. Это значительно проще. Соответсвенно таблица может быть и одна.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 4 2009, 15:12
Сообщение #19


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(barabek @ Nov 4 2009, 18:13) *
Да еще, в моей задаче не требуется "налету" менять частоту, только амплитуду синусоид. Это значительно проще. Соответсвенно таблица может быть и одна.

Таблицу можно и насчитать перед запуском и забить в ОЗУ (вместо экселя) smile.gif
Проблема такая, что надо либо озаботиться кратностью отсчетов, манипулируя частотой ШИМ, либо решать разностное уравнение по приведенной выше методологии - тогда выдаваемые отсчеты сигнала будут максимально близки к синусоиде, и при этом частота ШИМ будет постоянна (!)
Go to the top of the page
 
+Quote Post
guxa
сообщение Nov 10 2009, 13:11
Сообщение #20


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 17-12-06
Пользователь №: 23 612



Добрый день!
Для вас еще актуален этот вопрос?
У NEC есть подобный контроллер. Количество ШИМ там может доходить до 18(при разрядности МК - 32) есть и ЦАП и АЦП и большой Flash. А отладку можно взять у дитстрибьютора на прокат....Отпишусь вам попозже
Go to the top of the page
 
+Quote Post
barabek
сообщение Nov 11 2009, 00:20
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(guxa @ Nov 10 2009, 23:11) *
Добрый день!
Для вас еще актуален этот вопрос?
У NEC есть подобный контроллер. Количество ШИМ там может доходить до 18(при разрядности МК - 32) есть и ЦАП и АЦП и большой Flash. А отладку можно взять у дитстрибьютора на прокат....Отпишусь вам попозже

Да, еще актуален будет месяца 2, пока текущий проект не закончу. Тогда под этот будем закупаться.
Но NEC, честно говоря, боязно. Недавно здесь писали про них. Да, вроде хорошие. Но как быть с софтом и всем сопутствующим, поставками и т.д., учитывая наше географическое расположение в жо..е России smile.gif
Go to the top of the page
 
+Quote Post
guxa
сообщение Nov 19 2009, 06:34
Сообщение #22


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 17-12-06
Пользователь №: 23 612



В плане поставок, есть дистрибьюторы, по собсвенному опыту знаю, что у них они есть и на складе, и отладка сравнительно не дорогая и тоже есть в наличии, возятся они из Европпы и тех.поддержка наша и европейская, поэтом языкового барьера как такового нет.

Вам подойдут любые контроллеры для Motor Control, они заточены под более конкретные задачи + несколько ШИМ-каналов, есть почти у всех производителей, например:
http://www.eu.necel.com/micro/product/devi...t-MCLC-AllFlash
http://www.eu.necel.com/micro/product/devi...bit-MC-AllFlash
http://www.eu.necel.com/micro/product/devi...bit-MC-AllFlash

Сообщение отредактировал guxa - Nov 19 2009, 06:40
Go to the top of the page
 
+Quote Post
alekseykoj
сообщение Dec 8 2009, 09:23
Сообщение #23


Участник
*

Группа: Свой
Сообщений: 60
Регистрация: 8-11-05
Пользователь №: 10 602



Для формирования синусоиды 5-50 Гц с несущей 100 кГц необходимо контроллер с частотой не ниже 60 МГц. Там же еще надо управлять амплитудой, частотой, контролировать входные парметры. Это из практики. При более низкой частоте процессора формирование синусоиды получается нестабильным
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 7th July 2025 - 23:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.0145 секунд с 7
ELECTRONIX ©2004-2016