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

 
 
 
Reply to this topicStart new topic
> ШИМ в AVR
Vasia Klin
сообщение Nov 14 2007, 10:52
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 48
Регистрация: 2-04-07
Пользователь №: 26 706



Встала такая задача: используется МЕГА 640 возможно ли с помощью таймера Т0 и модуля ШИМ сформировать на выводе ОС0А сигнал частой F и скважностью N, а на выводе ОС0В сигнал с такими же параметрами, но сдвинутым относительно сигнала на ОС0А ровно на полпериода используя только аппаратные средства таймера, т.е. контроллер должен молотить эти сигналы постоянно и не использовать для его формирования программные методы (т.е для его формирования не должны производиться программные действия в обработчиках прерываний по переполнению таймера и тому подобное).
Go to the top of the page
 
+Quote Post
GDI
сообщение Nov 14 2007, 11:28
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



Можно, если скважность 50%, на пол-периода это типа чтобы второй сигнал(меандр) был инверсией первого. Включите инвертированный ШИМ для одного из выходов. Правда под руками нету даташита, но, вроде, такое возможно. А если надо скважность регулировать, тогда надо как то 2 разных таймера запустить в нужное время.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
Vasia Klin
сообщение Nov 14 2007, 11:42
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 48
Регистрация: 2-04-07
Пользователь №: 26 706



Цитата(GDI @ Nov 14 2007, 14:28) *
Можно, если скважность 50%, на пол-периода это типа чтобы второй сигнал(меандр) был инверсией первого. Включите инвертированный ШИМ для одного из выходов. Правда под руками нету даташита, но, вроде, такое возможно. А если надо скважность регулировать, тогда надо как то 2 разных таймера запустить в нужное время.


Да в том то и проблема что не меандр...
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 14 2007, 11:53
Сообщение #4


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(Vasia Klin @ Nov 14 2007, 14:42) *
Да в том то и проблема что не меандр...

Запустите таймер с учетверенной частотой. Дальше продолжать или все уже понятно ?
Go to the top of the page
 
+Quote Post
Vasia Klin
сообщение Nov 14 2007, 13:36
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 48
Регистрация: 2-04-07
Пользователь №: 26 706



Цитата(alexander55 @ Nov 14 2007, 14:53) *
Запустите таймер с учетверенной частотой. Дальше продолжать или все уже понятно ?


Если честно, то не очень. Поясните хотябы вкратце если возможно
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 14 2007, 14:12
Сообщение #6


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(Vasia Klin @ Nov 14 2007, 16:36) *
Если честно, то не очень. Поясните хотябы вкратце если возможно

Запустите таймер с учетверенной частотой.
Нужно две последовательности. Назовем первую условно - синус, вторую - косинус.
На период синуса приходится 4 прерывания. Каждое прерывание через четверть периода.
Полный цикл 4 тика таймера.
1 тик - начало синуса.
2 тик - начало косинуса.
3 тик - ничего.
4 тик - ничего.
и по кругу.
Это циклограмма процесса.
Теперь с длительностями синуса косинуса. Считается, что длительности синуса и косинуса одинаковы.
В силу того, что синус и косинус сдвинуты по фазе, окончание импульса синуса и импульса косинуса тоже разнесены.
Т.е. По первому тику таймера, отсчитав определенный интервал (соответствующий длительности синуса) запускаем второй таймер.
По прерыванию от второго таймера.
1 тик - конец синуса.
2 -тик конец косинуса.
3 - ничего.
4 - ничего.
и по кругу.
Возможны варианты с использованием одного таймера, то это требует все время пересчитывать следующее значение таймера.
Ну все, куда уж подробнее. biggrin.gif
Go to the top of the page
 
+Quote Post

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

 


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


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