05.08.2015, 19:30
|
|
Прохожий
Регистрация: 18.10.2011
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
6 канальный ШИМ на TIM1 STM32F100RB
Доброго времени суток ув. форумчане.
Достался мне BLDC движок и появилось желание его запустить (есть идейка куда применить). Гуглил принцип работы, думал как реализовать на STM32 ... и о святые транзисторы, TIM1 имеет все для этого что бы запустить. Начал вкуривать даташиты и апликухи - понял суть, но не уловил деталей.
Если в кратце что мне надо
это получить вот такие шим сигналы. По 2 шим кнала на каждую (U, V, W) обмотку. На Н1, Н2, Н2 не обращаем внимания, это датчики холла.
В интернетах есть пару непонятных примеров (один даже на китайском хостинге) с реализацией сей фичи через SPL либу. Я бы хотел вникнуть во все детали и без этой SPL.
Даташит говорит что надо настроить комплиментарные выходы:
[IMG]
[/IMG]
И тут уже 1е проблемы ... не могу понять с чем есть эти биты MOE, OISx,
OISxN, OSSI и OSSR. Для чего они ? Как правильно настроить и тд.
Так же пролистав даташит ниже,есть описание про 6ти канальный шим, в котором говорится про эти (комплиментарные) выходы да и использование события COM. И тут я понял что без помощи никак =\
По этому, прошу у вас помощи, а то неделя гуглежа и перечитывания одних и тех же строк даташита уже не в силу =\
Заранее благодарю за любую помощь
|
|
|
|
06.08.2015, 07:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
Тебе надо 3-канальный ШИМ с прямыми и инверсными выходами, и с аппаратными дидтаймами... От этого и отталкивайся
Экспериментируй
|
|
|
|
06.08.2015, 10:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
Частота то не очень высокая Может на прерывании таймера все замутить ручками.? Хоть 2 бита на обмотку, хоть скоко хочешь )) да и двигателей - скоко влезет в порты. Накладных расходов то минимум.
|
|
|
|
06.08.2015, 12:45
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
А смысл? Отвыкайте уже от АТмеги
А то можно и без таймеров вообще, посчитать циклы и программно бесконечным циклом крутить
Всегда нужно максимально использовать аппаратные средства
|
|
|
|
06.08.2015, 14:04
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
Причем тут Atmegа? Я как-то не привязан к процессору - программист вроде как
"Нарисовать картинку управления" и гнать ее через DMA или ручками - чем плохо?
Сталкивался с такими задачками по управлению по малолетству - всякие там сквозные токи обходить и исчо что-то.
Главное что б девайс работал надежно. А уж как ты это обеспечил не все ли равно - на таймере или нет
|
|
|
Сказали "Спасибо" Boba_spb
|
|
|
06.08.2015, 14:52
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
Скорее кодописатель, а не программист - раз предлагаете забыть про такой замечательный таймер и делать на прерываниях
|
|
|
|
06.08.2015, 15:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
Ага, кодописатель
Последний раз редактировалось Boba_spb; 06.08.2015 в 16:32.
|
|
|
|
06.08.2015, 20:51
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,986
Сказал спасибо: 0
Сказали Спасибо 4,943 раз(а) в 2,371 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
брысь, бумагомаратели, а то в машинных кодах АРМ будете кодить!
для приводов оптимально
Цитата:
|
3-канальный ШИМ с прямыми и инверсными выходами, и с аппаратными дидтаймами
|
+ защита, ибо программный от любого чиха скурвиться может. не зря в приводах живут МК+ПЛИС или они ж в одном флаконе, даже в пики и авр начали обгрызаный аппаратный мотор-контроллер внедрять. 3-канальный ШИМ в исполнении ПЛИС совсем не значит, что должно быть три независимых канала, достаточно одного. ладно, умолкаю, а то думать разучитесь...
как вариант - PSoC 5-го семейства от кипариса
|
|
|
|
06.08.2015, 22:30
|
|
Прохожий
Регистрация: 18.10.2011
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
Спасибо за ответы
Как писалось выше - хочется использовать периферию по максимуму, если TIM1 предназначен для руления двигателями разной формы, почему нет ?
Вроде механика ясна, не ясна настройка регистров, даташит ссылается на настройку битов MOE, OISx, OISxN, OSSI and OSSR. А я в упор не могу понять их предназначение.
По таблице на стр.264 (RM0041) OSSI мне как бы и не важен (если я правильно понял). Биты CCxE и CCxNE - это вкл/вкл выходы (если не прав - поправьте). Большая просьба описать OSSR бит, для чего он и как влият на режимы работы.
Также чуть ниже в доке было упомянуто о COM евенте. Про него бы я с радость услышал больше. Все что я понял - по его вызову можно менять состояние всех ног, но как это сделать ?)
Заранее спасибо за ответы
|
|
|
|
06.08.2015, 22:39
|
|
Прохожий
Регистрация: 18.10.2011
Сообщений: 8
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: 6 канальный ШИМ на TIM1 STM32F100RB
Сообщение от jump
|
совсем не значит, что должно быть три независимых канала, достаточно одного.
|
Я б и без ШИМа сделал бы, но считаю не комильфо, мне б хватило 2 (а мб и 1го) таймера, но хочется красоты -_-
Если красота окажется не посильной - буду городить велосипед =\
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:29.
|
|