Easyelectronics.ru

Электроника для всех
Текущее время: 24 апр 2018, 15:56

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



    • JLCPCB - Платы прототипов всего за 2$ c бесплатной доставкой (при первом заказе)
    • 10 PCBs за $2 для 2 слоев, $15 для 4 слойной, $74 для 6 слойной платы.
    • Крупнейший китайский производитель прототипных плат. 290000+ клиентов & 8000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ Сообщений: 21 ] 
Автор Сообщение
 Заголовок сообщения: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 31 дек 2017, 05:09 
Только пришел

Зарегистрирован: 08 авг 2017, 13:37
Сообщения: 13
Всем привет. С Наступающим!

Задача:
20 шим каналов которые можно регулировать отдельно. А именно. Самое главное условие сдвигать по фазе ШИМ каждого отдельно.

Если есть куча таймеров, можно сделать 12 каналов, то есть в каждом таймере по 1 каналу шим. А возможно ли регулировать независимо друг от друга каналы на 1-м таймере?(
Таймер1 = 4 канала и их сдвигать по фазе между собой?(как я понял это не возможно).)

Пока кроме идеи с 2-мя контроллерами ничего в голову не приходит. Спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 31 дек 2017, 11:37 
Старожил
Аватара пользователя

Зарегистрирован: 30 мар 2015, 23:56
Сообщения: 403
SwEeTxD писал(а):
(как я понял это не возможно)

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

_________________
Потоковая OS


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 31 дек 2017, 14:16 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2409
Откуда: Санкт-Петербург
А какая частота и дискретность регулировки нужна? На низких частотах может оказаться удобным это делать полусофтово (прерывание с фиксированной частотой, в нём сравнивать значение счётчика с диапазонами для 20 каналов), на высоких (если дискретность грубая) - отправлять по DMA в BSRR заранее подготовленную пачку данных.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 31 дек 2017, 16:18 
Только пришел

Зарегистрирован: 08 авг 2017, 13:37
Сообщения: 13
Вот в картинке коротко нарисовал.

Частота 50кГц по 10каналов каждый . И один(канал11) канал 50Гц 24Гц и т.д.
Регулировка:
Сдвиг каждого из 11 каналов между собой, что бы я мог подвинуть к примеру канал1 на 1/10 от всех других и т.д.
+ регулировка скважности онлайн.

То есть независимый фазой сдвиг каналов.


Вложения:
Безымянный.png
Безымянный.png [ 7.52 Кб | Просмотров: 1993 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 31 дек 2017, 16:38 
Заглядывает иногда

Зарегистрирован: 22 авг 2014, 12:29
Сообщения: 76
не столько много нельзя. штук 4-5 можно запускаешь все таймера друг от друга один мастер все остальные слайвы


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 31 дек 2017, 17:42 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 4201
Ну отчего же, aamonster предложил вполне работоспособный вариант.
Поставить что-то типа F030 или F103 с управлением от UART и выйдет то, что надо. Главное, не пытаться на нём делать что-либо еще.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 31 дек 2017, 18:46 
Старожил

Зарегистрирован: 17 дек 2014, 04:38
Сообщения: 398
Доброго времени суток !

На сколько я понял вы хотите двигать фазу относительно начала счета таймера. Можно попробовать сделать так же как в частотниках. Используем 2 канала на один ШИМ. При этом один канал прижат к началу счета, второй к окончанию. и импульс будем снимать между каналами, если нужно относительно земли, то можно поставить компаратор на выход. Таким образом ток между каналами будет протекать только когда между ними есть разность. Сдвигая скважность на канале 1 и канале 2 вы сможете произвольно двигать фазу и менять скважность и длительность вашего импульса.
Вложение:
smp.png
smp.png [ 10.01 Кб | Просмотров: 1888 ]

Синий канал 1, Зеленый канал 2, а импульс будет то что помечено красным крестом.
Как то так.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 31 дек 2017, 19:25 
Только пришел

Зарегистрирован: 08 авг 2017, 13:37
Сообщения: 13
Всем ОГРОМНОЕ спасибо за помощь и советы, в следующем году будем пробовать!!! Возможно появятся и еще интересные способы!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 31 дек 2017, 20:45 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 2330
Откуда: КЧР, поселок Нижний Архыз
SwEeTxD писал(а):
Частота 50кГц по 10каналов каждый . И один(канал11) канал 50Гц 24Гц и т.д.

Аппаратно никак. Но с такой низкой частотой можно программно ногами дрыгать (в прерывании таймеров). Правда, в этом случае выхлоп не будет таким красивым, как был бы аппаратно...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 31 дек 2017, 21:54 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 4201
DMA = аппаратно? Тогда "как".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 31 дек 2017, 22:14 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2409
Откуда: Санкт-Петербург
Eddy_Em, почему же аппаратно никак? http://eddy-em.livejournal.com/96373.html ;-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 01 янв 2018, 01:32 
Старожил

Зарегистрирован: 17 дек 2014, 04:38
Сообщения: 398
У меня получается как то так
Вложение:
smp2.png
smp2.png [ 140.74 Кб | Просмотров: 1496 ]

Настройка камня. Таймеры TIM1..TIM5 генерируют частоту 50кГц TIM8 50Гц. 2 канала с каждого таймера формируют один выходной канал (один из них + второй - или логика на выходах & или ^). 5 таймеров это 10 каналов. Можно задавать параметры по ПДП, TIM8 для генерации низкой частоты, также можно задавать режимы по ПДП.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 01 янв 2018, 04:53 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 2330
Откуда: КЧР, поселок Нижний Архыз
aamonster писал(а):
Eddy_Em, почему же аппаратно никак? http://eddy-em.livejournal.com/96373.html ;-)

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 01 янв 2018, 05:23 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 4201
Думаю, 100 градаций хватит на все случаи жизни, а это всего лишь 400 байт, хватит даже 030. Честно говоря, никогда не тестил на макс. производительность DMA, наверно можно и выше задрать ... только смысла не много.
А вообще - мощная штучка ARM. Совсем другая философия, в отличии от AVR.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 01 янв 2018, 13:45 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 2330
Откуда: КЧР, поселок Нижний Архыз
u37 писал(а):
Думаю, 100 градаций хватит на все случаи жизни, а это всего лишь 400 байт

400 байт на канал! Оперативы не хватит, нужно будет писать данные во flash. А это автоматом снижает скорость.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 01 янв 2018, 15:10 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 4201
"400 байт на канал!"
)) Увы, вы не поняли суть действа. Повторяю - "BSRR".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 01 янв 2018, 15:41 
Старожил

Зарегистрирован: 26 ноя 2012, 10:28
Сообщения: 2330
Откуда: КЧР, поселок Нижний Архыз
Тьфу ты! И действительно... До 16 каналов таким образом получится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 01 янв 2018, 16:06 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 4684
Аппаратный сдвиг фаз у каналов одного таймера возможен, но боюсь что результат вас неудовлетворит.
Аппаратный же ногодрыг через DMA намного действенней, но опять таки в разумных пределах...
И главное- калокубом сего не добиться, пустая трата времени...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 01 янв 2018, 18:16 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2409
Откуда: Санкт-Петербург
dosikus_2, я добивался (ногодрыга через dma) именно калокубом... Два дня протрахался, показывать исходники стыдно, вот и сослался на страничку Эдди, где то же самое сделано нормально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 01 янв 2018, 18:49 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 4201
На самом деле, проще сразу гнать в ODR. Причем, гарантируется монотонность изменения сигналов (что, тэоретически, может нарушиться с побитной set/reset). Но, здесь разный принцип работы и, вообще-говоря, может быть и разное быстродействие. Проверять лень. )) Да и, для 50к не актуально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: STM32 задача с многоканальным ШИМ.
СообщениеДобавлено: 01 янв 2018, 22:00 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2409
Откуда: Санкт-Петербург
u37, я в своей задачке BSRR выбрал, чтобы менять только нужные пины. Если менять 16 разом - можно и в ODR, вдвое меньше буфер под данные понадобится, если я правильно понимаю.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 21 ] 

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


Кто сейчас на конференции

Сейчас этот форум просматривают: kos, Редиска, Sergey_spb


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

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

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB