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

 
 
6 страниц V   1 2 3 > »   
Reply to this topicStart new topic
> ШИМ, сделать три канала?
ps1x
сообщение Oct 7 2007, 17:26
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284



Как сделать шим на 3 канала с одним таймером? Использовать принцип динамической индикации?
p.s. Надо подключить rgb светодиод.
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 7 2007, 17:54
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Наверное стоит уточнить: программный ШИМ или аппаратный?
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Oct 7 2007, 21:30
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(rezident @ Oct 7 2007, 20:54) *
Наверное стоит уточнить: программный ШИМ или аппаратный?

А также какой таймер. Например t1,t3,t4,t5 имеют в своём составе OCRxA,B,C.
Go to the top of the page
 
+Quote Post
ps1x
сообщение Oct 7 2007, 21:46
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284



Ну например, можно ли реализовать 3 канала ШИМ на tiny26?
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 7 2007, 22:22
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(ps1x @ Oct 8 2007, 03:46) *
Ну например, можно ли реализовать 3 канала ШИМ на tiny26?

ps1x, вы партизан, разведчик или попугай? laughing.gif Что вы заладили можно ли, можно ли? Вас пока еще русским языком просят озвучить требуемые вам параметры ШИМа (период, шаг/количество ступеней и т.п) и предполагаемый способ его реализации: программный или аппаратный?
Go to the top of the page
 
+Quote Post
ps1x
сообщение Oct 7 2007, 22:42
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284



Цитата(rezident @ Oct 8 2007, 02:22) *
ps1x, вы партизан, разведчик или попугай? laughing.gif Что вы заладили можно ли, можно ли? Вас пока еще русским языком просят озвучить требуемые вам параметры ШИМа (период, шаг/количество ступеней и т.п) и предполагаемый способ его реализации: программный или аппаратный?

Ни то ни другое. Надо подключить РГБ светодиод, с плавным изменением цвета, и в целом, способ достижения этого мне не важен, важно понять как... А параметры ШИМ 256 уровней 5кГц.
Go to the top of the page
 
+Quote Post
add
сообщение Oct 8 2007, 06:19
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Один из вариантов программно так: устанавливаем таймер на нужную частоту.(5кгц) По прерыванию инкрементируем значение переменной (byte) (256). Сравниваем это значение с переменной каждого канала(переменные которые,в нашем случае, задают яркость св.диода). Если значение переменной яркости канала больше/меньше значения инкрементируемой переменной, то выставляем порт в 0/1. Все.
Записывая нужные значения в переменные яркости канала получаем нужную нам яркость на св.диоде.
Зы: Предвижу замечания по поводу коррекции значений констант для значений яркости..из-за особенностей восприятия свечения глазом.. и т.п. вещи..
smile.gif но я обьяснил только принцип программной реализации шима.. Будет вопрос по линейности зажигания/гашения диодов обсудим..
beer.gif
Зы2: Для 5кГц 256 значений многовато.. Надо делать меньше значений либо прерываня хотыбы 25кГц.. тогда 100Гц мерцания видно уже не будет.


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Oct 8 2007, 11:38
Сообщение #8


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(ps1x @ Oct 7 2007, 21:42) *
Надо подключить РГБ светодиод, с плавным изменением цвета, и в целом, способ достижения этого мне не важен, важно понять как... А параметры ШИМ 256 уровней 5кГц

Вот тут было обсуждение. Вообще, не стесняйтесь пользоваться поиском, многие вопросы на форуме "обсосаны до костей".


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
ps1x
сообщение Oct 8 2007, 11:54
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284



Цитата(=GM= @ Oct 8 2007, 15:38) *
Вот тут было обсуждение. Вообще, не стесняйтесь пользоваться поиском, многие вопросы на форуме "обсосаны до костей".

к сожалению, поиск по словам ШИМ и PWM ничего не дал (сдается, ибо слово короткое)
Go to the top of the page
 
+Quote Post
=GM=
сообщение Oct 8 2007, 12:18
Сообщение #10


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(ps1x @ Oct 8 2007, 10:54) *
к сожалению, поиск по словам ШИМ и PWM ничего не дал (сдается, ибо слово короткое)

Да ладно, всё ищется на раз. Я ж вам дал ссылку http://electronix.ru/forum/index.php?showtopic=23143, вы туда ходили?

Вот ещё ссылка на телесиси http://www.telesys.ru/wwwboards/mcontrol/1...ges/37530.shtml
Там правда обсуждалась 8-ми канальная шим, ниже приведен кусочек для 3-х каналов, разбирайтесь.
Код
void interrupt isr(void)
{
if(--refr)
{
  if(--(chan1)) portb |=0x01;   //нога pb0
  if(--(chan2)) portb |=0x02;   //нога pb1
  if(--(chan3)) portb |=0x04;   //нога pb2
}
else
{
  chan1 = value1;               //уставка 1
  chan2 = value2;               //уставка 2
  chan3 = value3;               //уставка 3
  refr = 255;                   //счетчик квантов шим
  portb = 0;                    //начало шим
}
}


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
ps1x
сообщение Oct 8 2007, 23:48
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 300
Регистрация: 15-03-06
Из: Москва
Пользователь №: 15 284



Цитата(=GM= @ Oct 8 2007, 16:18) *
Да ладно, всё ищется на раз. Я ж вам дал ссылку http://electronix.ru/forum/index.php?showtopic=23143, вы туда ходили?

Вот ещё ссылка на телесиси http://www.telesys.ru/wwwboards/mcontrol/1...ges/37530.shtml
Там правда обсуждалась 8-ми канальная шим, ниже приведен кусочек для 3-х каналов, разбирайтесь.
Код
void interrupt isr(void)
{
if(--refr)
{
  if(--(chan1)) portb |=0x01;   //нога pb0
  if(--(chan2)) portb |=0x02;   //нога pb1
  if(--(chan3)) portb |=0x04;   //нога pb2
}
else
{
  chan1 = value1;               //уставка 1
  chan2 = value2;               //уставка 2
  chan3 = value3;               //уставка 3
  refr = 255;                   //счетчик квантов шим
  portb = 0;                    //начало шим
}
}

Да спасибо smile.gif
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Oct 10 2007, 13:25
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Используя таймер 1 и выводы OC1A,B,C с соответствующими регистрами, можно всё это реализовать проще и точнее. Программы практически не будет. В принципе останется инициализация ну и задание яркости по каналам с помощью присваивания. Если необходима высокая частота, то придётся дополнительно обработать одно прерывание t1ovf. В зависимости от частоты можно получить до 16 бит на канал - то есть 48 бит на цвет.
Go to the top of the page
 
+Quote Post
=GM=
сообщение Oct 10 2007, 22:58
Сообщение #13


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(SasaVitebsk @ Oct 10 2007, 13:25) *
Используя таймер 1 и выводы OC1A,B,C с соответствующими регистрами, можно всё это реализовать проще и точнее. Программы практически не будет

Сиё называется аппаратный шим(:-).

Кстати, Александр, недавно вы упоминали реализацию на си 12 программных шимов с периодом 5 кГц. Сколько разрядов у шима удалось реализовать?

Спрашиваю потому, что тоже реализовал 24 канала шим с частотой 6 кГц, правда, на ассемблере. Шим был 8-разрядный, т.е. 256 позиций. Клок 20 МГц.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
alexander55
сообщение Oct 11 2007, 08:23
Сообщение #14


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

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



Цитата(=GM= @ Oct 11 2007, 02:58) *
Спрашиваю потому, что тоже реализовал 24 канала шим с частотой 6 кГц, правда, на ассемблере. Шим был 8-разрядный, т.е. 256 позиций. Клок 20 МГц.

Это круто. Но возникает вопрос, а больше ничего делать не надо, только крутить ШИМы ?
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Oct 11 2007, 09:01
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(=GM= @ Oct 11 2007, 01:58) *
Сиё называется аппаратный шим(:-).

Кстати, Александр, недавно вы упоминали реализацию на си 12 программных шимов с периодом 5 кГц. Сколько разрядов у шима удалось реализовать?

Спрашиваю потому, что тоже реализовал 24 канала шим с частотой 6 кГц, правда, на ассемблере. Шим был 8-разрядный, т.е. 256 позиций. Клок 20 МГц.


Там был программно аппаратный ШИМ завинченный под управление двигателями. Точность 3200 в принципе определяется частотой (16М). То есть таким образом при 256 полочках можно теоретически довести частоту до 62кГц. Но в реальности, естественно всё выглядит хуже. smile.gif Мне в двигателях не надо находится в произвольном месте ШИМа. Я нахожусь в фиксированных точках синуса. Поэтому практически могу обслуживать любое число двигателей. Это определяется только наличием свободных портов.

В 1989 году на однокристалке 1816ве48 (8048) (7МГц) реализовал ДУ для телевизора. smile.gif Там был плавный программный ШИМ на 4 канала с частотой 100Гц и 64 ступеньки. smile.gif

В принципе число каналов ШИМ практически не влияет на характеристики самого ШИМа. На него влияет только производительность процессора и его аппаратные возможности. При построении программного ШИМа неизбежно сталкиваешься с погрешностями на краях. То есть при слишком малых и при слишком больших значениях. Естественно при высокой частоте ШИМа.

2 GM как ты с этим боролся. Я никак. Просто констатировал ошибку. smile.gif
Go to the top of the page
 
+Quote Post

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

 


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


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