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

 
 
> Выбор AVR микроконтроллера для 5ти фазного ШИМ., Есть ли модели с 5 регистрами сравнения для одного таймера?
-=TRO=-
сообщение Oct 25 2014, 15:58
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 24-10-07
Из: zp.ua
Пользователь №: 31 690



Хочу сделать контроллер для пятифазного моторчика BLDC. Имею опыт программирования только на ассемблере и вариациях бейсика для AVR. Програмно ШИМить как то не очень хочется. А процессоров которые могут синхронно пять аппаратных каналов ШИМ не встречал, так что бы от одного таймера пятью регистрами сравнения. Может я пропустил что нибудь, буду рад подсказке в сторону какого контроллера смотреть.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
-=TRO=-
сообщение Nov 2 2014, 14:21
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 214
Регистрация: 24-10-07
Из: zp.ua
Пользователь №: 31 690



Маленький миниотчет. Эксперименты ставил в BASCOM-AVR.
Сконфигурировал оба таймера меги128 на двухпроходный ШИМ, записал в регистры сравнения числа, и стал в протеусе глядеть осцилограмки. Воочию виден рассинхрон около 32 тактов таймера (если считать что весть двухпроходный период 512 тактов). Поменял местами строки конфигурирования таймеров и увидел такой же рассинхрон в другую сторону. очевидно что конфигурация с запуском таймера в BASCOM-AVR длится целых 32 такта. Перед тем как опускатся до прямого редактирования регистров управления таймерами, решил после строки конфигурации таймер останавливать, а потом после того как они сконфигурированы оба в той же последовательности запустить. И о чудо, таймера пошли ноздря в ноздрю. (для проверки попробовал запустить таймеры не в той последовательности в которой останавливал, и снова рассинхрон, но уже всего в 2 такта). Итого имеем 6 каналов работающих синхронно без низкоуровневых плясок с конфигурационными регистрами. Осталось проверить в железе.

Результирующий рабочий код:
Код
$regfile = "m128def.dat"
$crystal = 8000000

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Compare C Pwm = Clear Up , Prescale = 1
Config Portb = Output
Stop Timer1

Config Timer3 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Compare C Pwm = Clear Up , Prescale = 1
Config Porte = Output
Stop Timer3

Start Timer1
Start Timer3

Compare3a = 32
Compare3b = 1
Compare3c = 96

Compare1a = 132
Compare1b = 1
Compare1c = 196

Do

Loop

End


Авось кому сгодится.

Сообщение отредактировал -=TRO=- - Nov 2 2014, 14:27
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- -=TRO=-   Выбор AVR микроконтроллера для 5ти фазного ШИМ.   Oct 25 2014, 15:58
- - Xenia   Цитата(-=TRO=- @ Oct 25 2014, 19...   Oct 25 2014, 16:32
- - -=TRO=-   Жаль с ATxmega не знаком, по большому счету это н...   Oct 25 2014, 19:12
|- - Xenia   Цитата(-=TRO=- @ Oct 25 2014, 23...   Oct 25 2014, 21:55
- - Genadi Zawidowski   Цитата(-=TRO=- @ Oct 25 2014, 19...   Oct 25 2014, 22:05
|- - Xenia   Цитата(Genadi Zawidowski @ Oct 26 2014, 02...   Oct 25 2014, 22:40
- - Егоров   Самый эффективный путь создания пятифазного контро...   Oct 25 2014, 23:20
- - Сергей Борщ   В самом обычном "двухзначном" AVR (88 и ...   Oct 26 2014, 00:03
|- - -=TRO=-   Цитата(Сергей Борщ @ Oct 26 2014, 03:03) ...   Oct 26 2014, 08:20
|- - Xenia   Цитата(-=TRO=- @ Oct 26 2014, 11...   Oct 26 2014, 11:25
- - Herz   А что, действительно существуют пятифазные двигате...   Oct 26 2014, 09:43
|- - -=TRO=-   Цитата(Herz @ Oct 26 2014, 12:43) А что, ...   Oct 26 2014, 12:17
|- - Herz   Цитата(-=TRO=- @ Oct 26 2014, 14...   Oct 26 2014, 12:47
|- - Сергей Борщ   Цитата(-=TRO=- @ Nov 2 2014, 16...   Nov 2 2014, 16:01
- - nordnative   Ретроспективно замечу, что есть микроконтроллер, к...   Aug 7 2015, 12:48


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

 


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


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