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

 
 
> ШИМ на ATtiny25
vv_gulyaev
сообщение May 6 2009, 06:41
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 15-10-08
Из: Воронеж
Пользователь №: 40 984



Здравствуйте. Хочу реализовать ШИМ-контроллер на ATtiny25 в 8 выводном корпусе. Собираюсь использовать внутренний 8МГц RC-генератор. В связи с этим возникли вопросы: импульсы какой максимальной частоты можно будет получить на выходах и возможен ли сдвиг по фазе импульсов друг относительно друга.

Сообщение отредактировал vv_gulyaev - May 6 2009, 07:10
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
Палыч
сообщение May 6 2009, 07:16
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(vv_gulyaev @ May 6 2009, 09:41) *
возникли вопросы импульсы какой максимальной частоты можно будет получить на выходах и возможен ли сдвиг по фазе импульсов друг относительно друга.
Формула частоты приведена в даташите. О максимальной частоте говорить трудно - можно и 8МГц, но шириной импульсов тогда невозможно будет управлять...
Сдвиг по фазе - это сдвиг при изменении ширины импульса? Если это критично, можно выбрать нужное условие изменения выхода ШИМ.

P.S. Про максимальную частоту в 8МГц - соврал, с tiny26 перепутал. В tiny25 максимальная частота будет 8/256=31,25 кГц.
Go to the top of the page
 
+Quote Post
stells
сообщение May 6 2009, 07:20
Сообщение #3


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(vv_gulyaev @ May 6 2009, 10:41) *
возможен ли сдвиг по фазе импульсов друг относительно друга.

на каких именно выводах?
Go to the top of the page
 
+Quote Post
vv_gulyaev
сообщение May 6 2009, 07:32
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 15-10-08
Из: Воронеж
Пользователь №: 40 984



Цитата(Палыч @ May 6 2009, 11:16) *
Формула частоты приведена в даташите.


Там написано, что в режиме Clear Timer on Compare Match (CTC) Mode f=FclkI_O/(2(1+OCRnx)). Я правильно понял, что управляя регистром OCRnx, можно регулировать выходную частоту.

Цитата(Палыч @ May 6 2009, 11:16) *
Сдвиг по фазе - это сдвиг при изменении ширины импульса?


Нужно, чтобы, на 4х выводах импульсы были сдвинуты по фазе друг относительно друга, т.е. передние фронты импульсов начинаются в разное время.
Go to the top of the page
 
+Quote Post
Палыч
сообщение May 6 2009, 08:15
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(vv_gulyaev @ May 6 2009, 10:32) *
Там написано, что в режиме Clear Timer on Compare Match (CTC) Mode f=FclkI_O/(2(1+OCRnx)). Я правильно понял, что управляя регистром OCRnx, можно регулировать выходную частоту.
Вам ведь не просто частота нужна, а ШИМ - т.е. другой режим таймера: один из PWM mode. В обоих этих режимах у t25 частота зависит от частоты генератора и установленного прескалера - и всё!
Цитата(vv_gulyaev @ May 6 2009, 10:32) *
Нужно, чтобы, на 4х выводах импульсы были сдвинуты по фазе друг относительно друга, т.е. передние фронты импульсов начинаются в разное время.
Это Вы - большой мечтатель! У t25 только один таймер и его выход можно получить на одной ноге. Не получится получить аппаратно четыре ШИМа. Только - программно! Сделать это можно, но точности по длительности будут, конечно, хуже, чем при аппаратной реализации...

Вы озвучте: какая частота следования импульсов Вам нужна; какие длительности импульсов (от... до...), сдвиги фаз между импульсами на разных ногах; требуемые точности всего этого... Попробуйте сформулировать стоящую перед Вами задачу.
Go to the top of the page
 
+Quote Post
vv_gulyaev
сообщение May 6 2009, 08:23
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 40
Регистрация: 15-10-08
Из: Воронеж
Пользователь №: 40 984



Цитата(Палыч @ May 6 2009, 12:15) *
Попробуйте сформулировать стоящую перед Вами задачу.


Нужно получить 4 сигнала одинаковой частоты сдвинутые друг относительно друга на 1/4 периода. Частота примерно 100КГц. Также интересует какую минимальную длительность импульса можно получить программно.

Сообщение отредактировал vv_gulyaev - May 6 2009, 08:34
Go to the top of the page
 
+Quote Post
stells
сообщение May 6 2009, 08:35
Сообщение #7


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(Палыч @ May 6 2009, 12:15) *
Это Вы - большой мечтатель! У t25 только один таймер и его выход можно получить на одной ноге.

у него 2 таймера, у каждого по два выхода, но они инверсные
но 4 разных сигнала по любому можно получить только программно и соответственно с меньшими частотами

Сообщение отредактировал stells - May 6 2009, 08:39
Go to the top of the page
 
+Quote Post
Палыч
сообщение May 6 2009, 08:36
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(vv_gulyaev @ May 6 2009, 11:23) *
Частота примерно 100КГц.
Ну, давайте подсчитаем... Частоту генератора (8МГц) делим на частоту следования импульсов. Получаем 80 тактов на период следования импульсов. За это время можно выполнить не более 80 команд. Если тупо генерить программно импульсы, то возможно бы этого бы и хватило (но, не факт). Вам же ещё нужно принимать от внешнего источника ширину импульса... Очень даже сомневаюсь, что программно можно это реализовать для таких частот...
Go to the top of the page
 
+Quote Post
stells
сообщение May 6 2009, 08:42
Сообщение #9


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(vv_gulyaev @ May 6 2009, 12:23) *
Нужно получить 4 сигнала одинаковой частоты сдвинутые друг относительно друга на 1/4 периода. Частота примерно 100КГц. Также интересует какую минимальную длительность импульса можно получить программно.

с частотой 100кГц программно запросто все сгенерите, правда все зависит от общей загрузки МК. минимальная длительность импульса - 1 такт.
Go to the top of the page
 
+Quote Post
Палыч
сообщение May 6 2009, 08:55
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(stells @ May 6 2009, 11:42) *
с частотой 100кГц программно запросто все сгенерите, правда все зависит от общей загрузки МК. минимальная длительность импульса - 1 такт.
Товарищ, конечно, погорячился...
Длительности импульсов откуда берутся? Как определяется их ширина?
Думаю, что реально можно получить Ваши сигналы с частотой следования 1кГц (может быть 2кГц). При этом длительности импульсов можно задавать с точностью 0,01мс (или 0.005мс).
Go to the top of the page
 
+Quote Post
stells
сообщение May 6 2009, 09:04
Сообщение #11


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(Палыч @ May 6 2009, 12:55) *
Товарищ, конечно, погорячился...
Длительности импульсов откуда берутся? Как определяется их ширина?

не погорячился, хотя конечно времени на обработку не много. но если длительность берется из таблицы, а ширину получаем (допустим) из непрерывного АЦП, то почему Вы считаете, что за 10мкс нельзя сформировать программно 8 переключений портов?

Сообщение отредактировал stells - May 6 2009, 09:05
Go to the top of the page
 
+Quote Post
Microwatt
сообщение May 6 2009, 09:06
Сообщение #12


Гуру
******

Группа: Почетный участник
Сообщений: 6 851
Регистрация: 25-08-08
Из: Запорожье
Пользователь №: 39 802



MK такого калибра для этого принципиально не годится. Можно получить эффект ШИМ, но не ШИМ для работы реального силового ключа. Разве что, светодиодики по яркости регулировать.
По-видимому, нужно смотреть дискретные счетчики, регистры, компараторы.
Go to the top of the page
 
+Quote Post
stells
сообщение May 6 2009, 09:19
Сообщение #13


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(Microwatt @ May 6 2009, 13:06) *
Можно получить эффект ШИМ, но не ШИМ для работы реального силового ключа. Разве что, светодиодики по яркости регулировать.

конечно, серьезную задачу таким ШИМом не решить
Go to the top of the page
 
+Quote Post
Палыч
сообщение May 6 2009, 09:20
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(stells @ May 6 2009, 12:04) *
но если... то почему Вы считаете, что за 10мкс нельзя сформировать программно 8 переключений портов?
Полностью условия задания мы с Вами не знаем... Конечно, если напрячься, то что-то сделать - можно. Но, не забывайте, что автор вопроса - начинающий (раз сюда запостил свой вопрос), и такую задачу он вряд ли вытянит...
Go to the top of the page
 
+Quote Post
stells
сообщение May 6 2009, 09:25
Сообщение #15


внештатный сотрудник
******

Группа: Участник
Сообщений: 2 458
Регистрация: 10-05-08
Из: МО, Медвежьи озера
Пользователь №: 37 401



Цитата(Палыч @ May 6 2009, 13:20) *
Полностью условия задания мы с Вами не знаем... Конечно, если напрячься, то что-то сделать - можно.

не знаем, согласен... но теоретически сделать 4-канальный ШИМ с низким разрешением можно... аккуратненько, на ассемблере
Go to the top of the page
 
+Quote Post

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

 


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


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