Например TDA7294

Форум РадиоКот • Просмотр темы - Светодиодная сосулька - индикатор уровня
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 09:27:05

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 242 ]    , , , 4, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Пн окт 21, 2013 16:01:30 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 1
Да, всё именно так.
Только 1wire - довольно тормознутая вещь и в реалтайме гнать поток может быть тяжёлой задачей. Главным образом надо рассматривать как некую альтернативу dmx512. Т.е. для запуска и управления эффектами.
Но лишать мастера возможности управлять светодиодами каждой сосульки тоже не разумно.
Поэтому у меня в голове созрел такой набор команд.
1)Каждый слейв имеет адрес(например 1-10). Адрес 0 - общий и принимается всеми устройствами. Т.е. можно обратиться как к конкретному так и ко всем девайсам.
2)Команда выбора номера эффекта и его скорости.
3)Команда загрузки байтов яркости в сосульку(полностью внешнее управление).
4)Команда Выполнить действие. Например мы сосулькам раздали задания, говорим Выполнить. Они все синхронно перешли в нужное состояние.
В обратной связи(сосулька->мастер) смысла большого нет.

Это не просьба к реализации. Просто решил поделиться своими мыслями.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Ср окт 23, 2013 09:44:29 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 234
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3850
Откуда: Москва
Рейтинг сообщения: 0
Попробовал ради интереса переписать алгоритм, пока без анимации, просто статичная картинка, но:
- загрузка ядра ~4%, при том что ШИМ уже 4 разрядный и частота сканирования около 180Гц;
- флеша заняло около 25%, ОЗУ свободно, таймер свободен, EEPROM свободен;
Т.е. хватит времени и флеша на обработку какого-либо протокола связи, есть мысль сделать управление+питание по 2м проводам (очень удобно будет делать гирлянду из нескольких сосулек)
Для ШИМ оставил 4 бита из соображений компактности кадра, так на один кадр по-прежнему хватает 6 байт, а вместе с адресом и контрольной суммой хватит 8 байт на один кадр на одно устройство. Получается для анимации со скоростью 10 к/с для 8 устройств нужен протокол со скоростью около 5кб/с, думаю это можно реализовать. При этом можно управлять каждым светодиодом каждой сосульки отдельно. А если и после этого флеш останется, то можно оставить "офф-лайн" анимацию :idea:
Запихать сложную анимацию и после подать команду на выполнение не получится, ОЗУ всего 64 байта, это максимум 10 кадров, так что или прямое управление или выбор из "зашитых" эффектов.
PS: это пока только теория, проверял в протеусе.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Ср окт 23, 2013 23:17:21 
Родился

Зарегистрирован: Вт ноя 27, 2012 20:58:10
Сообщений: 16
Рейтинг сообщения: 0
Интересное наблюдение : сваял эту схемку , набил туда смд светодиодов ,прошил, включил , а.... не работает :((. Долго разбирался , в итоге отпаял несколько светодиодов , и.. о , чудо - заработало ! В итоге запаял обычные св/диоды и все работает. Вот не пойму , почему , смд светодиоды , когда паралельно-обернуты -не работают ???


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Чт окт 24, 2013 01:44:20 
Родился

Зарегистрирован: Вт ноя 27, 2012 20:58:10
Сообщений: 16
Рейтинг сообщения: 0
Все- таки воткнул смд св/диоды !. Никогда бы не подумал , что их нужно подбирать . Выбрал 12шт из 40шт.. - видно те 40 мощнее по току получались , либо еще чего , короче из-за них не работало. А теперь "все пучком" )).
PS. Может еще - кому пригодится наука.!


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Чт окт 24, 2013 08:07:31 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 234
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3850
Откуда: Москва
Рейтинг сообщения: 0
Возможно стоило просто взять резисторы поменьше, особенно если светодиоды 3-вольтовые...


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Чт окт 24, 2013 11:13:57 
Родился

Зарегистрирован: Вт ноя 27, 2012 20:58:10
Сообщений: 16
Рейтинг сообщения: 0
Резисторы подбирал в меньшую и в большую сторону - никаких изменений , кроме яркости св/диодов. Зато уже протестировал ,оставил на ночь - никаких нареканий .


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Чт окт 24, 2013 14:27:16 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 234
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3850
Откуда: Москва
Рейтинг сообщения: 0
Реализовал прием и декодирование команд. Осталось передающую часть написать, пока не определился с контроллером...
Мне дальше "сеть на сосульках" изобретать или не стоит?

Кстати, прикинул еще вариант размещения диодов, в виде звезды...
Изображение


Вложения:
Star_12LED.PNG [33.25 KiB]
Скачиваний: 2908
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Чт окт 24, 2013 16:18:29 
Родился

Зарегистрирован: Вт ноя 27, 2012 20:58:10
Сообщений: 16
Рейтинг сообщения: 0
Мое мнение , чем проще - тем надежнее :) . Я вот что думаю , у тиньки13 можно ли использовать вход ресет под разные нужды , например доп выход под св-диоды или времязадающую цепь для регул. скорости. Либо ипользовать флеш для изменения скорости капель. Тогда можно увеличить кол-во диодов.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Пт окт 25, 2013 11:21:59 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Я думаю, что большинство off-line эффектов можно реализовать на уровне алгоритма. Тогда не надо будет тратить флеш на хранение кадров. Или по крайней мере получится увеличить кол-во анимаций.
Как раз так делал на простых мигалках вроде бегущих огней.

К вопросу со второй страницы о синхронности работы нескольких девайсов.
В качестве "генератора случайного числа" для запуска можно использовать значение из регистра OSCCAL. Правда может случиться что МК с одной партии будут иметь одинаковые калибровочные константы.
Кстати, еще же RC 9МГц через OSCCAL здорово разогнать можно. ДШ говорит, что аж до 18МГц. Норм думаю будет где-то до 16МГц. Это я к скорости ШИМ и частоте моргания диодов.

Питание с управлением по двум проводам наверное не стоит.
Лапша не такая дорогая. А схема усложнится и чтобы прокормить светящиеся диоды с тинькой, надо будет на каждую плату вешать жирный электролит.

Лично для меня интерес представляет девайс с числом диодов от 16-18. HVPP программатор/dW отладчик для Tiny в наличии есть, поэтому может буду ваять своё.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Пт окт 25, 2013 13:11:34 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 234
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3850
Откуда: Москва
Рейтинг сообщения: 0
uk8amk писал(а):
Я думаю, что большинство off-line эффектов можно реализовать на уровне алгоритма. Тогда не надо будет тратить флеш на хранение кадров.

Да, это верно, думаю даже каплю с замедлением и ускорением падения можно алгоритмизировать...
uk8amk писал(а):
В качестве "генератора случайного числа" для запуска можно использовать значение из регистра OSCCAL. Правда может случиться что МК с одной партии будут иметь одинаковые калибровочные константы.

Можно любой из каналов АЦП задействовать перед стартом, шум младших бит хороший источник RND.
uk8amk писал(а):
Кстати, еще же RC 9МГц через OSCCAL здорово разогнать можно. ДШ говорит, что аж до 18МГц. Норм думаю будет где-то до 16МГц. Это я к скорости ШИМ и частоте моргания диодов.

После переделки алгоритма и 9МГц хватит, загрузка ядра мизерная, даже с обработкой команд.
uk8amk писал(а):
Питание с управлением по двум проводам наверное не стоит.
Лапша не такая дорогая. А схема усложнится и чтобы прокормить светящиеся диоды с тинькой, надо будет на каждую плату вешать жирный электролит.

Не все так плохо, питание - меандр 10-20кГц, 5.6В, конденсатор нужен только для питания во время фронтов от - к +, помимо этого только мелкий мостик на двух sot23 шоттки - диодах, и резюк с одного полюса питания на МК, в остальном схема такая же...
uk8amk писал(а):
Лично для меня интерес представляет девайс с числом диодов от 16-18. HVPP программатор/dW отладчик для Tiny в наличии есть, поэтому может буду ваять своё.

Неполноценность моего программатора меня убивает :( Все, буду делать fusebit доктор... Если для связи задействовать reset, то можно замутить 20 светодиодов.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Ср окт 30, 2013 15:55:42 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Спаял я линейку на 20 диодов. Смотрится получше 12-ти.
Отладил пока 2 эффекта - капля и метеор. Получился 4-битный ШИМ. Скорость регенерации подбирал чтобы визуально не было заметно мерцания.
Резисторы поставил по 100 Ом. Но кажется многовато, синие СД светятся не шибко ярко. Надо будет поменять на 50 Ом.
Шью МК сейчас через debugWire. Через SPI мешали диоды и приходилось туда-сюда дёргать провода.

Придумаю ещё несколько каких-нибудь эффектов и можно будет приступать к реализации сетевого протокола.
Было бы удобнее приём сделать через INT0, потому что через PCINT5/RST я буду ловить прерывание по каждому фронту. Но у PB5 малая нагрузочная способность поэтому здесь без вариантов.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Чт окт 31, 2013 08:30:16 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 234
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3850
Откуда: Москва
Рейтинг сообщения: 0
uk8amk писал(а):
Спаял я линейку на 20 диодов. Смотрится получше 12-ти.

Ну неудивительно)
Кстати, ШИМ можно сделать и поразряднее, но яркость делать 4 битной, а нелинейность реализовать через таблицу. Т.е. в команде передаем яркость по 2 канала на байт, а при обработке команды через таблицу преобразуем яркость в ШИМ. Так можно 20 каналов запихнуть в 10 байт + байт адреса (туда же код команды) + CRC.
uk8amk писал(а):
Отладил пока 2 эффекта - капля и метеор. Получился 4-битный ШИМ. Скорость регенерации подбирал чтобы визуально не было заметно мерцания.
Резисторы поставил по 100 Ом. Но кажется многовато, синие СД светятся не шибко ярко. Надо будет поменять на 50 Ом.

Питание какое? У меня 5В. Я тоже с синими экспериментирую, у меня килоомы стоят, но не на порту, а персональные для каждой пары диодов.
uk8amk писал(а):
Было бы удобнее приём сделать через INT0, потому что через PCINT5/RST я буду ловить прерывание по каждому фронту. Но у PB5 малая нагрузочная способность поэтому здесь без вариантов.

Я бы как раз PCINTом и ловил, вернее ловлю, оба фронта, но т.к. reset я задействовать не могу, я использую PCINT4.

О, у меня же есть куча TINY24, OSCCAL подкрутить, порт переназначить и можно отлаживать код для 20 светодиодов :idea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Пт ноя 01, 2013 12:06:38 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 234
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3850
Откуда: Москва
Рейтинг сообщения: 0
Переписал частично код под т24, на выходных проверю в железе. Вот такая штуковина вырисовывается:
Изображение


Вложения:
sos20.PNG [11.19 KiB]
Скачиваний: 2937
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Пт ноя 01, 2013 13:05:31 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Питание у меня 5В, без диодов. Не знаю почему не очень ярко. Но реально видно только в сумерках.

Вот ещё мысля.
Когда идёт регенерация, то перебираются по очереди все светодиоды с 1 по 20-й, вне зависимости от того, включены они или нет. Т.е. макс яркость = 1/20. Возьмём какой-то эффект, пусть будет метеор. Одновременно горит пусть 8 светодиодов. Тогда не горящие мы можем пропустить и получим меньшую скважность и бОльшую яркость. Чтоб во время эффекта яркость не прыгала от числа зажженых диодов, установим мин число светодиодов на регенерацию = 8 (для данного эффекта).

Будем ждать ваших результатов с Т24.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Пт ноя 01, 2013 13:16:05 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 234
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3850
Откуда: Москва
Рейтинг сообщения: 0
Боюсь пропуск регенерации для не горящих светодиодов только усложнит алгоритм. Я сейчас применяю другую хитрость. Весь период регенерации за один такт ШИМ делится не на 20 частей, а только на 5! Ведь потенциально комбинацией с 2-мя или более DDR=1 и одним PORT=1 можно зажигать от 1 до 4х (при n=20) светодиодов. Таким образом, перебирая PORT=00001,00010,00100,01000,10000 можно засветить все 20 светодиодов, а уж какие из 4х на каждой части периода зажигать определяется через DDR, именно поэтому в таком варианте нужно ставить резисторы на каждую пару: 1) чтобы не было различий в яркости 2)чтобы не было засветки через паразитные цепи (в обход HI-Z портов через 2-3 диода).

Хотя как показала практика, паразитные цепи все-таки есть (проверял на n=12), при том что резисторы стояли на 1к (точнее 2х510). При этом у меня горела 4х20Вт лампа дневного света и "нормально горящие" светодиоды было отлично видно :dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Вт ноя 05, 2013 08:18:01 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 234
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3850
Откуда: Москва
Рейтинг сообщения: 0
Упихал в 998 байт чарлиплексинг 20 светодиодов, 64 битную ШИМ (16 уровней, через таблицу), обработку команд, и простую анимацию на 20 кадров (типа сосульки, только с постоянной скоростью, пока таблицей) 8)
Проверил в железе на тини24. Мерцания нет, засветки нет (только в статике, если глаз напрячь) и это на 8МГц...
Обработку команд пока не проверял, нужно прошивку для управляющего контроллера писать.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Ср ноя 06, 2013 20:23:25 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Запустил сегодня алгоритм с пропуском негорящих диодов.
В метеоре у меня 9 диодов, я пропускаю 11. Стало резко ярче.

Капля на 3 диода(пропуск 17) не понравилась. Светит слишком ярко и субъективно не видно перелива яркости через ШИМ(зависит от яркости освещения). Поэтому оставил пока 9. Сейчас думаю что с ускорением делать. Как-то она резко срабатывает.
Интервал паузы между каплями и метеорами хочу сделать псевдослучайным.

С Tiny24 у меня облом. Наши магазины не знают о её существовании.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Чт ноя 07, 2013 07:49:14 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 234
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3850
Откуда: Москва
Рейтинг сообщения: 0
Я потом перекомпилирую под т13, там только порты переименовать и прерывания перекинуть, но проверить пока не смогу...

Переделал и еще пооптимизировал, теперь 946 байт...

Если есть желание проверить в железе, вот архив (есть схема по протеусе):
Вложение:
C20_network.rar [21.64 KiB]
Скачиваний: 456

Мастером - МЕГА8 (8МГц), с переменником в качестве входного сигнала, слейв - ТИНИ13 (9.6МГц, ресет отключен!) должен отображать уровень, задаваемый переменником.
Без мастера (по умолчанию, если порвать линию CONTROL) - некое подобие сосульки. Резисторы по-вкусу.

Думаю к мастеру можно управление с компа сделать, а то и DMX-512 замутить :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Чт ноя 07, 2013 21:34:33 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Забавно.
К сожалению сильно отличается от моего железа.

Я сегодня глюк интересный словил в AVRStudio 418.
Код дорос где-то до 50%, после очередной компиляции пошла загрузка в таргет и всё зависло на Loading Event Memory с сообщением Emulator timeout. И после Target platform disconnected. Я уж было подумал что дракона спалил. Знаю, что версия посвежее может быть пофиксена, но на моей машине свеженькие почему-то идут со страшными глюками.
Ничего что я рассказываю в вашей ветке про свой девайс?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Светодиодная сосулька - индикатор уровня
СообщениеДобавлено: Чт ноя 07, 2013 23:07:57 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 234
Зарегистрирован: Пт янв 29, 2010 10:27:40
Сообщений: 3850
Откуда: Москва
Рейтинг сообщения: 0
uk8amk писал(а):
Ничего что я рассказываю в вашей ветке про свой девайс?

Ну суть одна, может что-то из "вашего" девайса в "нашем" сгодится :)


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 242 ]    , , , 4, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y