Страница 4 из 5

Re: Что то вроде Light-X

Добавлено: Ср сен 08, 2010 19:56:14
Nicke1odeoN
У меня есть подозрения на блок питания, пока другой найти не могу... Этот таки слабоват, напряжение гуляет, отсюда и мерцания и срыв...

Re: Что то вроде Light-X

Добавлено: Ср сен 08, 2010 20:12:05
Modest
Можно подключить от компьютерного блока питания - чёрный и красный (+5) провод.

Re: Что то вроде Light-X

Добавлено: Ср сен 08, 2010 20:19:29
Nicke1odeoN
Заработало!!! =) БП сменил именно на комповый АТ (пришлось впаять предохранитель).
Теперь осталось понять как подгонять цвета, и напаять тонну светодиодов! =)

Спасибо огромное!

Re: Что то вроде Light-X

Добавлено: Ср сен 08, 2010 20:23:44
Modest
Незачто, наоборот очень приятно. Обращайся.
Вот
Изображение
Светодиоды вешаешь просто по три штуки независимо в какой последовательности, всё это можно настроить программно.
я делал так
О-О два красных
О-О два зелёных
О-О два синих
О-О общий (-)
А вообще без разницы.

Re: Что то вроде Light-X

Добавлено: Пт сен 10, 2010 10:23:19
vvf
Всем привет.

Позвольте вынести на ваш суд такую простую идею (и гораздо дешевле в реализации):
сделать это устройство на основе прогрммного ШИМ всего на одной ATtiny2313.
И это даст еще и возможность сделать 4-х канальную подсветку (например RGB лентами вокруг ЖК телевизора закрепленного на стене, т.е. и снизу тоже.).

Поскольку я программист и паять для меня сложнее чем писать программы :-) и как оказалось купить тот контроллер который хочется - целая проблемма: можно купить только то, что есть.

Для реализации USB взять библиотеку: http://www.obdev.at/products/vusb/index.html
чтобы уменьшимть количество вычеслений (переложить их на компьютер): передавать данные отсортированные по уровню сигнала на канале вместе с номером канала.
это делается для того, чтобы на каждой иттерации не просматривать весь массив уровней.

А ШИМ реализовать в прерывании таймера.

коррекцию яркости и прочих параметров тоже, пожалуй, лучше сделать на компьютере.

Код: Выделить всё


static uchar pwm_cnt; // счетчик программного ШИМ
static uchar pwm_lvl; // текущий индекс массива уровней
static uchar int_flag;
/* массив в котором будут храиться исходные данные:  */
static struct {
    unsigned char value;   // велечина яркости
    unsigned char channel; // канал 
} pwm_data[12];  // 12 каналов (4х3)

// временный буффер в который будет прием данных по USB
unsigned char buffer[24];

/* ------------------------------------------------------------------------- */

/* usbFunctionWrite() is called when the host sends a chunk of data to the
 * device. For more information see the documentation in usbdrv/usbdrv.h.
 */
uchar   usbFunctionWrite(uchar *data, uchar len)
{
    uchar i;
    if(bytesRemaining == 0)
        return 1;               /* end of transfer */
// принимаем данные в временный буфер
    if(len > bytesRemaining)
        len = bytesRemaining;
    for(i=len;i--;)
	*(buffer+currentAddress+i)=*(data+i);
    
    currentAddress += len;
    if( (bytesRemaining -= len) == 0){
	// copy to real
	cli(); // чтобы во время копирования не использовались "не готовые" данные
	for(i=12;i--;){
	    pwm_data[i].value=buffer[i*2];
	    pwm_data[i].channel=buffer[i*2+1];
	}
	sei();
    }
    return bytesRemaining == 0; /* return 1 if this was the last chunk */
}

ISR( TIMER1_COMPA_vect ){

	if((pwm_cnt--)==0){ // при переходе через "0" включаем все каналы
	    PORTB =0xFF;
	    PORTD =0xFF;
	    pwm_lvl=0; // номер в массиве 
	}
// обходим все элементы массива уровней у которых уровень равен текущему значению счетчика
// и выключаем эти каналы
	while( pwm_cnt==pwm_data[pwm_lvl].value ){
		unsigned char chn = pwm_data[pwm_lvl].channel;
		pwm_lvl++;
		if( chn > 7 )
		    PORTD &= ~(1 << (chn-7));
		else
		    PORTB &= ~(1 << (chn));
	}

	int_flag = 1;
}
а в основном цикле тогда останется:

Код: Выделить всё


	int_flag = 0;
        usbPoll();
        if( int_flag == 0 )
	    sleep_cpu(); 

Пока это только идея, если люди соображающие в электронике ее разовьют - буду только рад.

Re: Что то вроде Light-X

Добавлено: Пт сен 10, 2010 11:39:02
Modest
Сечас ( на работе) некогда разобраться, вечером обязательно посмотрю.
И я не совсем понял, ЗАМЕНИТЬ не устройсво а FT232 наверное? Т. е ту часть которая общается с USB? Т. е. сделать этот девайс на трёх микроконтроллерах?
Если так то я только за, сам хотел заменить её контроллером, но тема как то не развилась.
Только контроллер поменять бы, хотябы на ту же мегу8 (tini у нас не возят)

Re: Что то вроде Light-X

Добавлено: Пт сен 10, 2010 14:05:56
vvf
Именно все устройство!

А мега же еще мошьнее, так что она справится с этим не хуже.

алгоритм работы:
1. Прерывание по таймеру:
каждое прерывание - это иттерация ШИМ.
(
при частоте 8Мгц прерывание по переполнению будет 8М/256 раз в секунду.
полнцый цикл ШИМ - 256 иттераций, т.е. частота будет порядка 122 Гц.
)
на каждой иттерации сравнивается счетчик с требуемым значение м канала и если оно совпало, то выключаем соответствующий канал.
на нулевой иттерайии все сбрасываем и включаем все каналы.

2. основной цикл - принимаем данные из USB, копируем их в буфер значений, если остается время (во вроемя USB не было еще прерываний) - засыпаем (до прерывания).

таким образом благодоря прерыванию мы получим одинаковые интервалы не зависимо от того чем занят процессор при приеме USB данных.

Re: Что то вроде Light-X

Добавлено: Пт сен 10, 2010 14:33:51
Modest
А если не секрет, тогда откуда у тиньки вырастут ещё хренова туча ног для подключения всех светодиодов (36 штук) :shock: :shock: ??

Re: Что то вроде Light-X

Добавлено: Пт сен 10, 2010 16:28:41
vvf
почему 36?

12 = 4 х 3 ( 4 канала: слева, верх, справа, низ по 3 цвета - RGB )

каждая из 12-ти ног должна будет управлять ключем который может включать, например, 12 вольтовую светодиодную ленту.

А по вашей схеме получается можно реализовать 12 полноцветных каналов :-) и развесить светодиоды по всему периметру монитора/телефизора.
2 меги должны справится даже если и в одной из них будет USB реализован (на том можно задействовать аппаратные ШИМ).

Re: Что то вроде Light-X

Добавлено: Пт сен 10, 2010 17:17:33
Modest
vvf писал(а): А по вашей схеме получается можно реализовать 12 полноцветных каналов :-) и развесить светодиоды по всему периметру монитора/телефизора.
Не "получается", а реализовано.
А вот FT232 если заменить на контроллер, вот это дело. Контроллер (мега8 например :) ) в 3 -4 раза дешевле будет, плюс на ней не только преобразаватель USB - RS232 можно сделать но и ещё чего полезного запихнуть (смотря сколько ресурсов останется)

Re: Что то вроде Light-X

Добавлено: Пт сен 10, 2010 21:03:37
Sari
http://www.recursion.jp/avrcdc/cdc-232.html
Можно здесь посмотреть на реализацию моста USB-COM на Меге И Тине.

Re: Что то вроде Light-X

Добавлено: Пт сен 10, 2010 21:17:20
Modest
Спасибо за сылку, но их довольно много на всяких контроллера, я присматривал уже.
Воткнуть в схему готовую конструкцию не проблема, просто я хотел бы более или менее разобраться в самом коде прошивки, но как то руки недоходят.

Re: Что то вроде Light-X

Добавлено: Пн сен 13, 2010 11:15:01
Nicke1odeoN
Поигрался, выводы такие:
1. Площадь область захвата цвета на экране надо сделать регулируемой, в менее динамичных фильмах это снизит постоянные моргания.
2. Опять же для менее динамичных фильмов можно сделать что-то вроде фильтра, что бы программа делала несколько выборок, вычисляла среднее и отдавала контроллерам.
Есть конечно подозрение, что такие улучшения вызовут "грязность цвета", будут перевирания.

3. Диоды надо брать градусов 30-60, т.к. у больших углов, излучение идёт начиная от подложки, а не с поверхности линзы, а боковое свечение нам не нужно.

Re: Что то вроде Light-X

Добавлено: Пн сен 13, 2010 13:08:03
Modest
Nicke1odeoN писал(а):Поигрался, выводы такие:
1. Площадь область захвата цвета на экране надо сделать регулируемой, в менее динамичных фильмах это снизит постоянные моргания.

Есть конечно подозрение, что такие улучшения вызовут "грязность цвета", будут перевирания.
Изначально я так и хотел сделать, но при усреднении с нескольких точек, цвет получается левый. (как нибудь доведу до ума)
На счёт светодиодов, я отталкивался от того что больше градус - лучше смешивание цветов.
В идеале конечно лучше RGB светодиоды с одной линзой.
Есть ещё задумка добавить к каждой тройке светодиодов белый сверхяркий светодиод, для получения белого свечения.
А с фильтрами, если брать выборки по времени, то появится некое запаздывание цвета. Но тоже чтонибудь попробую.

Re: Что то вроде Light-X

Добавлено: Пн сен 13, 2010 14:53:22
Nicke1odeoN
Изначально я так и хотел сделать, но при усреднении с нескольких точек, цвет получается левый. (как нибудь доведу до ума)
На ум приходит следующих алгоритм:
1. Черный, серый выкидываем, усреднение не делаем. Просто обсчитывает статистически данную область, вычисляем преобладающий цвет, его и показываем, но это тоже не совершенный алгоритм =(
На счёт светодиодов, я отталкивался от того что больше градус - лучше смешивание цветов.
Можно эксперимент поставить :idea:
Есть ещё задумка добавить к каждой тройке светодиодов белый сверхяркий светодиод, для получения белого свечения.
Я хороший белый цвет не могу получить, обои с розоватым отливом))

Re: Что то вроде Light-X

Добавлено: Пт окт 01, 2010 11:55:21
Nicke1odeoN
Нельзя видимо оргстекло в неразбавленный растворитель кидать, наровит склеить кружки =)
Докупил 30 светодиодов, угол 60*, видимо это была моя ошибка, очень узко. все надежды на рассеивающие круги.

Re: Что то вроде Light-X

Добавлено: Пт окт 01, 2010 13:28:07
Modest
Незнаю, у меня кружки не склеились, кидал всей пачкой. Но возможен и такой исход :))
Теперь с работой по свободней, возможно на днях займусь софтом.

Re: Что то вроде Light-X

Добавлено: Сб окт 02, 2010 14:34:51
Nicke1odeoN
Modest писал(а): Теперь с работой по свободней, возможно на днях займусь софтом.
Было бы классно под Win7 KMPlayer, я не знаю через что идёт рендеринг, может там какие-то сложности есть...

Поставил светодиоды 140 градусов, ультраяркие. Светят дико, качество цвета - отличное, надо правильно позиционировать, что бы не было поразитной засветки.

Re: Что то вроде Light-X

Добавлено: Сб окт 02, 2010 15:42:48
Modest
Я свой девайс использую с km плеером, там тока в настройках пошарить надо
Изображение

Re: Что то вроде Light-X

Добавлено: Пн ноя 08, 2010 21:51:10
ThE_BuZz
ATMega8A подойдёт?