Автоматическая подсветка лестницы. Своими руками. Последний раз.
Зацепился тут случайно глазом за комментарий и стало больно (в переносном смысле) и обидно, действительно, маловато масштабных проектов на mysku. DIY какой-то грустный. Конечно, уровня самодельной машины добиться сложно, куда уж, она там аж в «топ за все время» выбралась… но расскажу вам про подсветку лестницы. Точнее про ее допеределку.
Началось всё с начальника на работе. Подошел ко мне и спросил: «а можешь сделать? А то везде денег просят каких-то неадекватных. 5000, 10000, 40000…» Ну я подумал, чего там такого сложного-то? ШИМ+сонары. Вроде просто.
Сверяемся с табличкой
6 часов – норм.
Я бы не писал здесь эту статью если бы из всех найденных в инете решений больше не понравилось вот это.
Автору статьи респект и уважение, все-таки дело было в 2015-ом, 20 ноября будет юбилей 4 года, но не понравилось несколько моментов:
— Софт явно требовал серьезной передоработки.
— Размер платы — жесть. Это чисто мои внутренние стремления к минимализму. Не обращайте внимания.
— Использование громадных NPN-транзисторов еще и с радиаторами. Не сколько претензия к громадным, сколько к NPN.
Ну ладно размер, уже предупредил не обращать внимания, но NPN-то зачем? TLC5940 кладет выходы на землю. Автору понадобилось городить инверторы 74LS04 там, где они в принципе не нужны, чтобы получить плюс на базе для NPN. Ну допустим, сделал из того что было под рукой, но при этом никто не задумался что все ступеньки лестницы постоянно подключены к 12в, а ШИМ дергает за минусы. Еще раз: вся лестница, каждая ступенька подключена постоянно к 12в. Даже когда ленты не горят. Ничего не смущает?
И поехали тиражировать эту плату в больших количествах по всем городам бывшего союза…
Что-то увлекся критикой. Никого не хочу обидеть. Простите. У вас уже всё работает а у меня нет. Давайте лучше меня критиковать.
В общем первый прототип на коленке получился вот так:
Та же самая Arduino Nano, та же самая TLC5940, мосфеты сдвоенные IRF7314 P-канальные 20v 5.3A, разводка питания двойная под LM7805 и под AMS1117-5.0. От последней потом отказался. Греется, не нравится, выкинул в окно.
Заказал платы на заводе, приехали. Да, кстати, размеры 48*100мм, свободного места почти нет.
По-быстрому запаял…
…и почти расслабился, не подозревая что ожидает впереди.
Ну хотя нет, конечно подозревая, поэтому заказал плат чуть больше чем нужно :)
Чуть-чуть транзисторов
Чуть-чуть резисторов с конденсаторами
Немного сонаров
Немного ардуин
Кстати, припаиваю к ним ножки сам. На фотке их 1500 :) Весьма медитативное занятие.
Из софта тут же выкинул PIR. Не по фен-шую это. Если ты хочешь использовать PIR – повесь себе лампочку над лестницей и не морщ мозг. Зачем эти ардуины, ШИМы, БП, ленты, куча проводов?
Увеличил количество градаций яркости, выкинул ресет сонаров (HY-SRF05 не припомню чтобы зависали), добавил чтение датчика освещенности temt6000, вынес всё что можно менять в структуру, причесал сомнительные моменты.
В общем начальник контроллер подключил, более-менее настроил.
Правда устал ковыряться в переменных и перезаливать прошивку, о чем мне непременно и высказал, что мол у белых людей крутилки на плате, кнопки, LCD-экранчики с менюшками а мы как негры правим код. И тут я обратил внимание на маленькую железку, торчащую сбоку Arduino Nano. Называется «разъем miniUSB». А сама ардуина в системе уже видится как виртуальный COM-порт. Бинго! Добавляем сохранение/чтение структуры в EEPROM, делаем изменение параметров через UART:
Ну да, добавил кое-чего своё. Если вдруг кто узнал имена переменных :)
А потом расчехляем C# и делаем утилиту настройки контроллера по USB. Подключил шнур, запустил утилиту и меняй всё что можно. Последняя версия выглядит так:
Конечно скетч под это дело был серьезно перелопачен, да и сама идея такого регулирования параметров понравилась знакомым и не очень знакомым людям. Это ведь и с ноутбука можно и с планшета на винде. Контроллер пошел потихоньку продаваться.
Маленькая сморщенная, есть в каждой женщине… Правильно, изюминка.
Так и в плате контроллера есть изюминка, изначально заложенная. Платы стекируемые. То есть объединив 2,3,4 платы последовательно 5pin шлейфиками, можно получить 32,48,64 ШИМ каналов соответственно, управляемые одной Arduino, установленной только в первой плате.
Запилил сдуру даже несколько контроллеров на DIP-компонентах.
На ATmega328P. Да, именно так выглядит 476 резисторов с 952 ножками, которые надо вставить в 952 отверстия, 952 раза припаять и 952 раза откусить кусачками. +784 ножки DIP-кроваток +504 ножки клеммников. Мне кажется именно после этого оттопырились какие-то неизвестные мне доселе чакры и я начал отступать от задуманного :)))))
Шаг вправо…
Параллельно я занимался одним проектом, в котором были использованы сенсорные выключатели. Не в том смысле что готовые типа Livolo или как их там… а самодельные сенсоры на микроконтроллере.
Наткнулся в инете на статью про сенсорную клавиатуру на Attiny2313. Прям готовый проект, схема, программа, всё есть. Решил побаловаться.
Конечно из авторской платы 60*50мм я сделал свою 33*40мм :)
Я вообще люблю уменьшать всё что можно уменьшить. Клавиатурка заработала, идея прикольная, вполне рабочая, можно делать неплохие панели управления. И тут подумалось, а чем собственно нажатие пальцем на пластину через диэлектрик отличается от наступания ногой на лестницу? Если, скажем, пластину скрытно установить под ступенькой? Правильно, отличается толщиной этого диэлектрика, причем весьма существенно. Ступенька это вам не пленка на текстолит.
И я сделал свой двухканальный сенсорный драйвер с преферансом и куртизанками… (размер платы 27.64*15.24мм) Он умеет «пробивать» 60мм дерева достаточно уверенно. Бетон сантиметра 3-4.
Да, сразу на завод, я уверен – это бомба. Это не только сенсор для ступенек, но и скрытый выключатель внутри стены, и еще куча применений. 27.64*15.24мм кстати тоже можно уменьшить и сделать 23.83*15.24 убрав клеммники. Дальше уменьшать мешает камень :) Первые удобнее подключать, вторые удобнее прятать. Сложно решить какие лучше – оставил оба варианта. Микроконтроллер PIC18 в TQFP-44 если что… Мой любимый.
Ну так вот… У этого модуля (на фотке их 24шт) есть своя утилита для настройки обычным UART-USB шнурком. C# же уже расчехлен – его уже не остановить. Креатив прёт. Пишем, дебажим, наводим красоту… Переключение режимов работы, изменение/сохранение настроек/параметров, вывод в реальном времени, полный интерактив.
По работе модуля и утилиты настройки снял 3 видео, но звук плохой. Если кто осилит мое бубнение – будет в восторге от этой уличной магии.
Раз
Два
Три
В принципе модуль делался не только для лестницы. Он двухканален и весьма универсален :) Работает либо в режиме UART по протоколу, либо в режиме TTL, выдавая на выходах «0» или «1» в зависимости от значения «сенсора». Сохраняет настройки в EEPROM, самокалибруется при старте. Двухбайтовые пакеты вида «<команда><аргумент>», 32МГц, прерывания, кольцевой буфер, прочий фарш. Протокол конечно свой.
Идеально настроенный сенсор под ступенькой получился в гараже. Ступеньки из доски 200*50, самой брутальной, не струганой – отличный тест.
Снимал на тапок, уж простите.
Показал сие творение знакомому – реакция была примерно такая.
Скетч контроллера подсветки лестницы позволяет использовать эти модули вместо сонаров, подключив первую и последнюю ступеньки, но не к одному сенсорному модулю. К двум разным.
Сделано это чтобы продать побольше модулей потому что проводок от пластины сенсора до сенсорного модуля должен быть максимально коротким, чтобы вся лестница не превращалась в большую антенну. А так как первая ступенька обычно далековато от последней – модулей нужно два. Ну и поскольку модуль двухканальный, закладываем перспективу подключения второй и предпоследней ступеньки, что даст однозначную информацию о направлении движения человека. Без всяких лазеров и прочих инфракрасных барьеров. Пока эти 2 канала на модулях остаются свободными. С точки зрения контроллера лестницы конечно.
Шаг влево…
Дошли руки поморгать светодиодом на ESP8266
и тут меня осенило еще раз. А собственно почему бы UART ESP-01 не соединить с UART Arduino Nano? Кто мне запрещает? Оглянулся… Никто! Соединил :)
Добавил DC-DC преобразователь LM3671MF-3.3 (2MHz ШИМ) на плату. Заново заказал платы, приехали, спаял.
Обвязка у него с дросселем, с обратной связью, ибо брать 3.3в для ESP от Arduino с костылём в виде конденсатора – это вообще не наш метод. «Н»-Надежность.
И контроллер подсветки лестницы стал выглядеть так:
А управление и настройка вот так:
А я думал нет места на плате. Ошибался :)
Попытка улететь...
На данный момент уже 5-ая версия ПО для контроллера подсветки лестницы.
Возможности регулировки и другие параметры:
— количество ступеней
— общая яркость (если вдруг переборщили с мощностью ленты)
— яркость первой и последней в дежурном режиме (можно и 0% поставить)
— время разжигания
— время затухания
— время ожидания
— возможность использования табличных значений ШИМ (линейная/степенная функция разжигания)
— дальность срабатывания сонара 1
— дальность срабатывания сонара 2
— возможность блокировки сонаров на время «разожглась-подождала-затухла»
— возможность использования сенсорных модулей. Установка под ступеньку (или внутрь. Уже так делали) обычной фольги, подключенной к входу модуля. Алюминиевые накладки, пороги, уголки, полосы – любой металл.
— в реальном времени в утилиту и в web выводится значение с датчика освещенности. Используются только TEMT6000.
— порог срабатывания датчика освещенности
— величина разброса значений датчика освещенности (коридор)
— количество опросов датчика освещенности для усреднения
— возможность подключить выключатель, который будет включать всё принудительно
— возможность подключить выключатель, который будет выключать всё принудительно. (Эти 2 выключателя специально для бабушки, которая против ваших высокотехнологичных замутов в на даче)
— возможность отключения всех входящих датчиков для прямого управления каналами по uart или http
— wi-fi может создавать свою точку доступа и/или подключаться к существующей
Кстати про табличные значения ШИМ…
Я провел эксперимент. Суть в том, чтобы направить свет от ленты на датчик освещенности и записать его значения при разных значениях скважности ШИМ. Тысячи измерений. Получилась такая картина:
То есть вполне себе линейная зависимость яркости свечения куска ленты от среднего напряжения, подаваемого с транзистора на ленту. Тут, конечно, играет роль то, что датчик TEMT6000 максимально приближен по параметрам к человеческому глазу, но не трудно заметить, что при малых значениях происходит скачкообразное увеличение яркости. А при больших уже не влияет на яркость. Это все из-за того, что я поделил максимальное значение 4000 (на самом деле конечно 4096, но не суть) на 100 равных отрезков, то есть +1% к яркости это +40 к значению ШИМ. Яркость меняется от 0% до 100%. 0…4000
Получается 0% это 0, а 1% это сразу 40. Данный факт достаточно сильно крадет диапазон видимого изменения яркости ленты, т.к. если разжечь ленту от 0 до 40 значений ШИМ – на глаз видно плавное изменение яркости, а вот от 3960 до 4000 вообще не заметно даже если мерять «экспериментально». Поэтому вместо линейной зависимости в настройках можно выбрать степенную. Чтобы не нагружать камень расчетами – в скетче эти значения выведены в массив, который хранится в ПЗУ, ибо не меняется в процессе работы.
И раз уж я сунул туда wi-fi – в контроллере есть возможность игнорировать логику работы лестницы (галочка «отключить все датчики») и работать просто как управляемый контроллер освещения на 16(32канала). Командами по UART с другого микроконтроллера (да, пины UART выведены отдельно) или компьютера, либо http-запросами. То есть использовать его вообще без датчиков. Шилд с esp01+ардуино нано.
Так, например, команда по UART: $ch=5,70,1000 плавно (за секунду) устанавливает 5-ый канал в 70% яркости. А команда $ch=5,0,0 мгновенно гасит его в ноль.
Те же самые действия можно осуществить запросами:
Поскольку сенсорные модули в режиме общения с контроллером лестницы просто выдают «1» или «0» на соответствующую каналу срабатывания ножку, в этом же режиме контроллера к нему можно подключить и PIR-датчики и проходные кнопки — логика работы не нарушится.
А главная прелесть сенсорных модулей в том, что сами пластины сенсоров можно установить не только под ступеньку или внутрь ступеньки, но и под ламинат/плитку ПЕРЕД лестницей, что увеличивает вероятность корректной работы модуля до 146% ввиду меньшей толщины «диэлектрика», и передает большой привет производителям контроллеров подсветки за 5,10,40 тыс.р. с сонарами. В этом случае уже можно говорить о подключении тех двух свободных каналов на модулях для реализации подсчета людей на лестнице и выстраивании более космических алгоритмов.
Ну, например, повышать яркость дежурной ступени при подходе к лестнице и начинать разжигать остальные только при наступании на нее. Такого нет даже в лучших домах парижа и лондОна. Кто-то скажет, мол, надо быть совсем упоротым чтобы такое водрузить у себя в доме. И будет прав :) Но лестницы это не только дачи и коттеджи. Это, как выяснилось, еще и кафе, рестораны. Установщики в восторге от таких возможностей – а это стимул придумывать новые фичи и улучшать имеющиеся.
И все-таки, почему «Автоматическая подсветка лестницы. Своими руками. Последний раз.»?
Изначально хотел написать «Предпоследний…», вдруг найду время с желанием и сделаю статью про CAN-подсветку. Да, есть у меня и такая. Нечего плодить статьи – упомяну прямо здесь.
Вот такие огромные двухканальные модули 36,3*17мм:
На фотографиях по 12 модулей (вдруг кто-то не понял) Итого тут 24 канала.
Всё вроде бы ничего, но они еще и двухэтажные :)
С одной стороны клеммники CAN, с другой 2 выхода на ленту/лампу.
На борту STM32 + транзистор IRF7314 с обвязкой + CAN-передатчик + DC-DC сверху.
Без установленных питальников выглядят так:
CAN-модули соединяются последовательно шиной из 4х проводов: +12в(+24в), GND, CAN_H, CAN_L
На эту же шину сажаются сенсорные модули (конечно уже с CAN-интерфейсом) 2pin – 2 сенсора, 3pin – датчик освещенности. «У» — Универсальность. Спойлер: эти же 3 пина – датчик давления (водопровод) с CAN, но об этом точно в другой статье
и Wi-Fi-модули (с ним же)
Хайтек-сендвич :)
Модулей на шине может быть до 125, дальность шины до 250м.
ШИМ соответственно аппаратный с STM32.
Этот проект уже больше к уличной подсветке территории загородных домов с удаленным управлением и ip67 корпусами, но при желании его можно легко запилить и на лестнице, используя 4 провода вместо «количество_ступенек + 1».
Так как CAN-модули самодостаточные – на них проще реализуются всякие хитрые вещи типа разжигание лестницы одновременно с двух сторон (при заходе разных людей) и перекрытия разжигания/затухания. То есть когда следующая ступенька начинает разжигаться/затухать в момент, когда предыдущая до конца не разгорелась/затухла. С CAN на лестнице я подожду. Сейчас мир не готов к 10-иядерным лестницам :))) С сенсорными бы разобраться…
Думаю, что тему автоматической подсветки лестницы я раскрыл полностью, так сказать «дорисовал сову» :))) поэтому и «последний раз». Хотя может кто-то возьмется ее раскрасить :)
Да, я неправильно оценил время по табличке. Конечно этот проект не «вроде просто» а «вроде изян».
По поводу софта, политика простая. Так как часть скетча была позаимствована у товарища Vipeg, а про лицензию там ни слова, то свой скетч я выкладываю здесь же под лицензией WTFPL.
Было:
Скетч использует 5406 байт (17%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 277 байт (13%) динамической памяти, оставляя 1771 байт для локальных переменных. Максимум: 2048 байт.
Стало:
Скетч использует 12354 байт (40%) памяти устройства. Всего доступно 30720 байт.
Глобальные переменные используют 902 байт (44%) динамической памяти, оставляя 1146 байт для локальных переменных. Максимум: 2048 байт.
Учитывая то, что с выходом сенсорных и CAN-модулей подсветка лестницы на сонарах и pir-ах постепенно переходит в разряд моветона, а алгоритмы этих модулей – мои уникальные разработки – их ПО, равно как и исходники утилит настройки и уж тем более всё ПО, касающееся CAN и Wi-Fi, позвольте оставить у себя.
Так как соединить Arduino Nano с TLC5940 можно по сути одним единственным способом – через SPI — мой скетч с большой долей вероятности подойдет для всех контроллеров, которые вы уже спаяли по статье Vipeg. Пользуйтесь на здоровье.
Спасибо, что дочитали эту портянку. Я старался быть не нудным :)
Если есть вопросы – задавайте.
Эхх, с дядькой тоже хотели сделать подсветку лестницы в его доме, была мысль сократить количество дополнительных плат используя адресную ленту, такой вариант для ленивых, хоть и малость дороже из-за лент. Потом дядька с инсультом попал в реанимацию, проект само собой отпал до лучших времен, надеюсь восстановится и попробуем довести до ума, возможно по Вашим стопам )
Люблю читать отчёты про такие проекты. Повторять не буду точно, но идеи пригодятся точно.
Не хватает в конце сводной таблицы типа: библиографический список решений с ссылками на сайты. Скопировал бы в свой файлик идей, а так придется их надергать самому.
Однозначно плюс за труды
именно после этого оттопырились какие-то неизвестные мне доселе чакры и...
-Я понял, что нужно немедленно ставить заслуженный плюс!!
Ну не может человек, обладающий таким чувством юмора, сделать что-то плохо!
Обзор брошен в памятку...-когда начну буянить с освещением вновь, то обязательно
этим обзором воспользуюсь… За плагиат не вычтешь, автор?(-по последнему «сценарию»)...;-)
Еще раз: вся лестница, каждая ступенька подключена постоянно к 12в. Даже когда ленты не горят. Ничего не смущает?
Ничего не смущает. Какая принципиальная разница к +12В или к 0В будет подключена общая точка всех лент? Почти все ШИМ регуляторы и контроллеры как раз управляются по нулевому проводнику с постоянным подключением цепи +12В
При чём тут сетевая нейтраль? Цепи +12В и 0В абсолютно равнозначны с точки зрения коммутации и управления. Это как в батарейном радиоприёмнике куда ставить выключатель — в плюсовой провод или в минусовой.
Вы поймите, что никаких претензий в Вашей работе нет, каждый рисует картины как видит. Я-же просто пытаюсь объяснить Вам, что есть другие методы управления и они также верны :)
И что страшного произойдёт? Просто интересно :)
Представьте сетевой адаптер в розетку 12VDC. У него есть штекер выходного напряжения. До какого из его концов опаснее дотронуться?
Технически — до GND.
Ок. Я не буду спорить. Нравится городить инверторы для TLC5940 — городите.
Я предложил решение с гораздо меньшим числом компонентов. Не нравится — делайте своё :)
Повторюсь, соединить ардуину и tlc5940 можно единственным способом. Через SPI.
Схемы в той статье. Тут я ничего не изобретал. Ну кроме второго питальника и как соединить RX-TX и TX-RX… Какую именно схему надо? :)
… интересно увидеть более полный пакет документации.
Неужели(-в вашем магазине) ещё мало товаров на витрине?..;-)
P.S.: Мне, например, чтобы только бегло прочитать ежедневно свежие обзоры,
требуется минимум час-два времени. А, если, эти обзоры ещё и писать!-проводя
тесты… И, в сутках, пока только 24 часа!(-при массе прочих дел..).
Вот такая логика!-аль, я не прав?!...;-)
Ты в общих чертах написал про NPN транзисторы, постоянно висящие 12 вольт и о том как ты реализовал у себя (на словах).
Думается вместо рассказов про количество откусываний кусачками, конкретика не помешала бы.
Так то было бы здорово и макеты печатных плат выложил.
А то судя по demid.net/buybuy/ мне кажется ты не хочешь что бы это пошло в массы.
Захотелось засветиться, но не поделиться. Я то разберусь если что.
Так. Стоп.
Давайте прочтём это ещё раз. Схемы и платы. Есть в статье.
Вдохнул. Выдохнул.
Схемы и платы есть в статье.
Пролистал. Рассуждения о транзисторах прочёл. А схемы — нет, ни одной. Но мне же интересно, как NPN включать в качестве ключа управляются P-канальные мосфеты. А этого нету.
Хм.
Но вы же не можете лукавить. Значит, я не умею видеть схемы.
Ок. Со мной такое бывает.
Но должны быть и платы. Ну, то есть… гербер там какой, что ли.
Сверловки-мерловки.
Тоже не нашёл.
Я не знаю, что делать. Гармония нарушена.
Читайте пожалуйста все слова в предложении. Не останавливайтесь на середине. Именно этим вы нарушаете гармонию :) Берегите себя.
«Схемы и платы есть в статье, по которой я делал первый контроллер.» mySKU.me/blog/ebay/36155.html
Александр, а кроме шуток.
Про сенсор.
Вы проводили исследования/статистику своей версии этого выключателя под изменяющиеся внешние условия?
Ну, в смысле, пока это «на столе» и пока работает минуты — оно очень красиво. Без подколов.
А как себя сенсор без рекалибровки будет чувствовать через год под слоем штукатурки? Через пять?
И, главное, а как сенсор будет работать под слоем штукатурки в уличной стене? Как без рекалибровки себя поведёт в дождь, в снег, при смене зимы и лета с качанием годовых температур от -20 до +30? Кто-то проверял? Собирал статистику?
Сразу уточню. Это не подкавырки, это практический вопрос о выборе применимости.
Спасибо.
Без шуток, саму «пластину» лучше изолировать от соприкосновения с откровенно влажными поверхностями. Это всё. Я не просто так водрузил это на лестницу в гараже. Все подумали что ради этого проект и затевался. Нет.
Это идеальные условия для тестов.
Доска самая убогая, самая влажная, крашенная с одной стороны. Гараж не отапливается, колебания температур и влажности присутствуют. Все работает как часы.
От того, что вы конденсатор зарядите/разрядите на столе, а потом засунете под штукатурку — он не перестанет быть конденсатором и через год. Да, у всего есть изменения свойств при изменении окружающей среды. Но для этого и есть утилита для настройки сенсорного модуля. Чтобы настроить его в конкретном месте работы с конкретными условиями.
Дружище, ты столько раз тут отправил всех искать схемы в другую статью, а мог бы просто помочь людям и прикрепить их… как говориться вместо тысячи слов))) Мне вот тоже интересно про этот сдвоенный транзистор, ведь в характеристиках у него всего мощность 2 Вт указана… и как избежать инверторов… ведь они есть у тебя, готовые, просто прикрепить и все… ну не по христиански как-то… рассказать рассказал, а посмотреть не дал…
Дружище, дело в том, что практических навыков мною нарисованные схемы и платы не дадут. Вы, например, уверены в том, что мощность irf7314 2Вт, а значит на ленту по вашему идет всего 2/12=0,167А и лента соответственно нужна не более чем 2Вт/м иначе
транзистор сгорит.
Моя схема или плата в готовом для заказа виде не даст вам представления о том, что
power dissipation 2W, это величина мощности, которая может быть рассеяна транзистором в виде тепла. Ограничивается допустимой температурой нагрева кристалла и напрямую зависит от корпуса. В данном случае SO-8. Если КПД = 100%, то транзистор будет холодным, и вся потребляемая от источника питания мощность попадет в нагрузку. «КПД» у мосфетов >95%, то есть только 5% идет в нагрев. Если 5% это 2Вт, то 95% это 38Вт в нагрузку, или 19Вт/канал, или 1.58А/канал, или 19Вт/м (если подключаем метр ленты). Это предельные значения, которые точно не стоит превышать, т.к. на транзисторе в этот момент можно яичницу жарить. habr.com/ru/post/446602/ mySKU.me/blog/ebay/36155.html mySKU.me/blog/aliexpress/39571.html
«Ничего не понял, ничего не хочу изучать, просто дай всё готовое, над чем ты трудился год» — по-христиански это вот так? :)))
А то везде денег просят каких-то неадекватных. 5000, 10000
Начальник адеватный? Это копейки. Запрячь сотрудника конечно можно, если у него зп 10т.р., что вряд ли.
Npn раскритиковали — сами ставите ардино на Меге. В 2019 году. На платах не видно термобарьеров на gnd. Ну и прятать сурцы и шифровать архивы — это смешно, даже китайцы такое повторять не будут, сделают и дешевле и лучше.
Просили же критики, верно?
Да я понял что вам критика не нужна. Ну что тогда, супер, отлично, восхитительно, разумная трата сил и времени, апплодирую стоя. И сделают — имел в виду при наличии не единичного спроса
Критики не увидел. Увидел вкусовщину.
Что не так в Меге в 2019 году? Вы же первые заноете если я что-то на STM32 выложу :)
Ардуино исползуется в исходном проекте. Всем понятно и доступно.
Термобарьеры не использую принципиально, паяю всё сам — мне удобно. Проверял тепловизором.
Нагружал каждый канал отрезками по 5м. Если у вас есть ступеньки шире 5м — проверю с большей нагрузкой.
Исходники выложил и не прятал. Пароль к архиву в имени самого архива. Нужно просто немного подумать.
Тоже, что и NPN в 2019.
STM — не заною, 8 лет на нем пишу, собственно и смотреть бы не стал.
Ну замечательно, вы принципиально не ставите термобарьеров, принципиально не ставите NPN, считаете что stm32 слишком умно для местных… какой критики вы тогда хотите? Ну скажу тогда — каждый убивает лишнее время как желает, на то он DIY.
И все таки правда, подумайте чем +12 так плохо на перила. Совсем немного, вдруг получится. «мои уникальные разработки – их ПО, » — это очень печально, прямо спать не буду. «Не имеющий аналогов»
PNP вообще стараются избегать, как и P канальных. Выше сопротивление открытого канала (насыщения у биполярных), меньше номенклатура.
А зачем инверторы, к сожалению со смарта схему не могу посмотреть нормально
1) Термобарьер больше нужен для автоматической пайки. Я паяю руками.
Не вижу никакой разницы в удобстве.
2) Подумайте чуть больше. В данном конкретном применении, даже при 1А/канал — с питальника приходит 16А. Ваши 4 полоски 0.8мм при 18мкм текстолите будут иметь температуру 100 градусов. Вам точно это надо? А если 1,5А/канал?
Если бы у термобарьера были такие длинные нити по 5 сантиметров, то так и было бы. Темболее из аллюминия. Попробуйте посчитать сопротивление одной ножки термобарьера, разделить ток на все «ножки» и просчитать мощность выделяемую на одной такой ножке по формуле P = I*I*R.
Ещё один дорвавшийся до калькулятора. Понятное дело если на вход калькулятору подать фигню на выходе тоже фигня будет. Где, скажите мне, в термобарьере дорожки длиной 15мм? понятное дело дорожка такой длины может разогреться до 100 градусов. Возьмите дорожку длиной 1мм, и ваш калькулятор не учитывает теплоотвод, он рассчитан под длинные дорожки.
И на каждый из 4-х лучей термобарьера приходится ток в 4 раза меньший, т.е. по 1А.
Да, кстати, там ещё одно уточнение надо учесть. Рассчет этот учитывает нагрев дорожки относительно окружающей среды. При температуре воздуха 20 грудусов дорожка при расчетном токе будет уже 120 градусов.
Ох да, как же мог забыть? Расчет-то ведётся для чистой меди, толщиной 18мкм, а ведь термобарьер не покрыт маской и на него нанесён припой, толщиной чуть ли не в 5 раз больше. Всё это не учитывается.
Мне перестают быть интересными ваши комментарии. Прекратите ерунду писать.
1) Сопротивление медной дорожки длиной 0.5мм примерно такое же как и у 20мм. То есть никакое. И ток через них потечет одинаковый до сотых а то и тысячных долей.
2) Теплоотвод тут причем? В виде чего у вас теплоотвод если у вас термобарьер? В виде текстолита? Он очень плохо проводит тепло.
3) «ток в 4 раза меньший»
Еще раз по буквам: земля от БП подключается к 1 контакту. Ток 16А. Да, с термобарьером
через каждую его полоску пойдет ток в 4 раза меньший. По 4А на каждую. Длина не влияет. Всё равно 16А. Влияет ширина. При ширине 0.8мм одной полоски — каждая из них нагреется на 100 градусов. С токи зрения расчетов, дорожка термобарьера ничем не отличается от остальных дорожек на плате.
4) Термобарьер придумали для автоматической пайки. Без него автоматическая пайка может быть с браком. Утверждать что термобарьер нужен всегда — по меньшей мере глупо.
5) Горячее лужение ПОС-63 толщина 10-35мкм а никак не «чуть ли не в 5 раз больше».
При 53мкм «итого» нагрев +51 градус. Лучше чем +100, но у меня ничего не греется выше 35-37 на плате.
Сразу же наступаете на грабли. сопротивление у дорожки 0.5мм в любом случае меньше в 40 раз чем у дорожки 20мм. А теплоотвод у неё и со стороны контакта и со стороны полигона где этот термобарьер используется. Смысл термобарьера не в том чтобы препятствовать распространению температуры в статике, а чтобы быть барьером во время пайки — кратковременное воздействие в зоне пятачка высокой температурой будет изолировано от полигона, но продолжительный нагрев будет рассеиваться.
Нет, не хотите конечно не читайте коментарии и продолжайте ходить по граблям. И значение синуса ваш калькулятор выдаст равным двум с половиной и вас это не смутит. Ведь люди врут что значение синуса не может быть больше единицы никак.
Полагаю, что ШИМ-контроллер изначально рассчитан под светодиоды и у него токовые выходы, которые умеют только притянуть выход к земле с ограниченным током. Следовательно чтобы включить NPN транзистор в прямой логике нужна инверсия.
Настроки у модуля достаточно широкие. Пластины может и вообще не быть — просто касание до провода. Всё есть в видео.
А если вы про лестницу, то полоски 10см по длине ступени будет даже много. Зависит от толщины ступени. Толще-шире.
Вот правда, такое чувство что статью никто не читал, но комментируют :)))
Такое также происходит и тогда, когда статья перегружена, либо не структурирована, как говорится — за деревьями леса не видно.
Я вот статью читал, но на каком-то этапе понял, что уже просто перестаю воспринимать информацию.
Не люблю когда рассираются на 10 постов… Ждешь ждешь продолжения, а потом в конце пшик недоделанный. Типа «времени нет заниматься» :)
Я не выкладываю то, что не доделано на 100%. Одна статья — в ней всё что нужно.
Так я как бы не писал насчет «сериала», как раз когда одна статья это хорошо, имелось в виду более понятно в пределах одной статьи.
Мне по моему только один раз пришлось статью делить, муська не пропускала из-за ограничений на количество текста.
При этом у меня были статьи, по которым люди сам повторяли устройства, например здесь
Я по поводу САМОЙ лестницы (на видео). По части электроники вы хороши. Очень. По части самой лестницы… нет слов. Сделайте перила… нет. Просто переделайте лестницу. Ну не хрена не удобная (по виду), особенно с сегментными поворотными ступенями.
Подсветку лестницы реализовывал накупив на распродаже сенсорных квадратных ночников, с питанием от 3-х батареек. Переделал на общее питание от блока питания выставив 4 вольта. Пришлось их немного переделать и углубить. идешь по лестнице они зажигаются с поднесением ноги к ступеньке. Гасли правда как попало))). Работало это чудо день и ночь. Делалось для удивления клиента.
Это лесница в неотапливаемом гараже. На второй этаж :) Спасибо конечно что беспокоитесь о безопасности, но скорее всего просто зашью целиком то, куда можно упасть. Перила там лишнее.
Очень круто для одной лестницы) Но я бы пошёл дальше (тем более, что у меня нет ни одной лестницы...) — дежурная подсветка всего дома/квартиры. Т.е. есть несколько общих коридоров, кухня и раздельные туалет и ванная. Т.е. помещения общего доступа, которые желательно подсвечивать в тёмное время суток чтобы и самому не слишком просыпаться во время вынужденных походов по квартире и остальных домочадцев не будить ярким светом. Сейчас как раз занимаюсь ремонтом в санузле и думаю как бы реализовать задуманное… да ещё и малой кровью и высокой ремонтопригодностью (т.е. зашить всё в стены или в потолок не вариант, вдруг сломается что-то).
Почему-же «последняя»? Вовсе нет, еще много есть куда копать.
Сделали подсветку первой ступеньки?… теперь идите дальше, ставьте адресные светодиоды и подсвечивайте _каждую_ ступеньку, на которой стоят/идут.
Это всё? Отнюдь. Под ступеньку, с двух сторон, ставится датчик давления и, к ним HX711. После чего строится дисплей с показом веса объекта. Будет пользоваться офигенным спросом у дам'c.
А еще… да не, пока хватит на пяток revision.
Добрый вечер! С интересом прочитал вашу статью и с самого начала не понял цель публикации, у вас же есть сайт где вы продаете готовые изделия, и какой смысл выкладывать рабочий скетч, на рекламу не похоже, сломал голову.
Расскажите, спать не смогу.
Критика;
PIC18 не слишком дорога для сенсорного датчика?, сколько же на выходе готовый датчик стоить будет?
Вы против сонаров, а расскажите как сможете контролировать дистанцию срабатывания лестницы если к примеру пару ступеней лестницы выходят в помещение, к примеру кухня, и не все идут на лестницу?..
По CAN, модулям та же история с ценой STM32 и это при условии что вы используете одноцветную ленту
А в целом ставаша статья очень понравилась. С удовольствием продолжил с вами общение.
А что, надо выкладывать нерабочий ??? :))))
Вот я тоже спать не мог. Пусть из меня бизнесмен плохой, зато совесть чистая как дистиллированная вода :)
Я взял готовый скетч с mysku, доработал в силу своих знаний и умений… и так же выложил на mysku.
Но это же не означает что у меня на сайте не будет 6-ой версии ПО, 7, 8…
Поверьте, у меня очень богатая фантазия.
По критике:
Микроконтроллеры я закупаю оптом, по-этому выходит не слишком дорого. Раз уж вы знаете что я продаю готовые изделия — вы не могли не заметить ценник на готовый датчик. :)
Не очень понял про «дистанцию срабатывания лестницы». Поясните.
Или видео посмотрите по сенсорным модулям.
Уж не тот ли вы henc, который с форумхауса? :)
порядка 20-25% строчек от всего кода занимает код десериализации текста через uart (к сожалению никак не могу судить о его свойствах, т.к. не знаю нюансов). также подозреваю, что на обратной стороне где-то впихнут такой же сериализатор.
почему бы не использовать готовые решения для (де)сериализации? серьезно интересно, может чем-то уже готовые решения не подошли в процессе разработки?
сам не сталкивался, но сходу отыскиваются как минимум есть несколько вариантов и во всех них заявлена поддеджка arduino nano (ведь это оно использовано)?
Сериализаторы и контрольные суммы пусть используют производители контроллеров за 40-60тыс.р.
Тут любительская arduino nano, а не профессиональная atmega328 :)))
А если серьезно, то всегда можно сделать лучше. Ключевой вопрос «зачем».
чтобы не тратить время на изобретение велосипеда и не заниматься рутиной, которая уже проделана другими?
может есть аналогичный ответ для чего и зачем этим этим всем нужно именно пренепременно заниматься?
кроме того, неизвестно как авторский десериализатор поведет себя под нагрузкой. может там heap fragmentation происходит и после очередного N-оно внесения настроек — всё склокнется. не могу об этом судить, т.к. не знаю всех тонкостей.
Сериализаторы и контрольные суммы
а причем тут приплетены контрольные суммы?
темболее, они тоже есть в готовых библиотеках, если нужны. т.е. достаточно заголовочный файл подключить и вызвать готовую функцию.
Ну вы просто красавчик! Текст — огонь! Как и проект. Так довести до ума и вылизать идею.
Я сделал отцу в дом на сонарах по статье увиденной чуть ранее на mysku. Работает стабильно, я дальше и не заморачивался. Сказывается недостаток знаний и времени. Я скорее любитель. И спасибо за чувство юмора. Пойду посмотрю, может у вас сайт есть с вашими проектами. Делайте, за вами потянутся. Я так себе сделал хороший усилитель с поддержкой АудиоКиллера и отличные колонки — тоже с поддержкой сообщества.
Да, выглядит БОМБА, но и труда выложено ТЬМУ. Я бы не справился 1000%. Поэтому пошел на Али купил ленту, блок питания и два датчика движения. пару вечеров и готово. Думаю нужно писать обзор — аля подсветка для лентяев =)
Думаю нужно писать обзор — а(-)ля подсветка для лентяев =)
Дык..-дерзайте!...;-)
Только, замечу, что даже те же «лентяи»(-коих на сайте тьмА!) вас просто размажут по этой подсветке,
аки масло по бутерброду, в поисках любой кошки!(-но, обязательно,с бантиком!)......;-)
Ибо, здесь уже стало некоей традицией, верить на слово(текстам) только единичным *гуру*(-за редким
исключением!), а прочих стремятся закидать бяками… Причём, за любое мнение, расходящееся с " линией партии".
Ибо, здесь уже стало некоей традицией, верить на слово(текстам) только единичным *гуру*(-за редким
исключением!), а прочих стремятся закидать бяками… Причём, за любое мнение, расходящееся с " линией партии".
Кстати подтверждаю, не так сильно, но заметно. На другом портале на букву «Т» аналогичная ситуация дошла до маразма как то давно, перестал посещать его по этой причине.
… и на «F..»-такая же(сбежал от греха!)..;-)
Причём, буквально на всех, стоит только-учтиво и вежливо!-попросить
с уважением и надлежащим пиететом относиться к родному русскому языку,
так такой гвалт начинается!....:(...-*враг народа и прогресса*.....!
И, это самое мягкое обвинение…
Хотя, сколько времени займёт проверка текста?!
Впрочем, когда обладатели сУрьёзных «дипломов» пишут с ошибками 2-го класса,
то что остаётся тем, у кого за плечами восьмилетка и ЕГЭ..?!..:(
Я всё ещё не нахожу ни одного разумного объяснения, зачем подсветку вешать на НАЖАТИЕ? Жизнь — она разнообразнее ступенек, есть миллион вариантов когда тебе нужно освещение, но наступать нет возможности. По-моему, нужны всего два сенсора: один на движение, другой — IR близкого действия, чтобы если по движению не сработало, подошёл к стене и приблизив лицо к сенсору, включил свет. По движению свет включается на минуту, по IR — пока не выключишь на другом конце.
Всё гениальное — просто, а когда я вижу тьму деталей, пайки, сенсоров, ОТДЕЛЬНЫЙ ГУЙ настройки(!), меня охватывает мысль, что вы сконструировали коллайдер для того, чтобы ложечка зачерпывала сахар и опрокидывала в чашку. Крайне несуразное, overengineered решение.
Годная статья. Зачетное изложение, спасибо. Но к сожалению, как и большинство поделок на дурине, это никак не применить в моей двушке :) Спасибо за ваше творчество :)
Автор нереальный маньяк. Вероятно живущий в другом измерении, т.к. столько терпения и времени в нашей вселенной не могут встретиться вследствии её топологии.
Не маньяк, а очень не плохой менеджер. Статья очень понравилась и я поставил заслуженный плюс! Но автор на ремарки достаточно именитых авторов отвечает, мягко говоря не адекватно, а иногда и дерзко без оснований на то, не может признать (не хочет) некоторые недочеты, не приводит обещанные схемы и т.д. Наводит на мысль, что это обычный пиар своего бизнес проекта. Количество комплектухи тоже на это указывает.
Это не упрек! Просто мысли в слух. ))
Спасибо, отвечу коротко :)))
Ни в коем случае никого не хотел обидеть. Резким бываю, согласен, исключительно в ответ на очевидные вещи, которые именитые авторы называют недочетами по собственной невнимательности.
1) Взять хотя бы холивар про термобарьеры.
Мне ставят в упрек, мол не сделал. С ними паять удобнее. Картинку приводят что такое термобарьер. Ответ собирает кучу одобрений. Ай, молодцы все.
Но когда я отвечаю что полоски термобарьера не выдержат ток — все тактично молчат. :) Красавцы :)
Зато одобрение вызывает фотография другого контроллера на 24 канала и 5,3А/канал.
С настройками путем тыканья кнопками на плате. Вслепую. Вы серьезно?
Никому в голову не приходит что 5,3А*24 это 127,2А ток. С китайскими зелененькими клеммниками на 10А рассчитанными. Наверняка еще «правильно» сделана плата. С термобарьерами :))) Купите контроллер — огнетушитель в подарок.
2) Читаем самый первый абзац "… расскажу вам про подсветку лестницы. Точнее про ее допеределку."
Указываю статью, по которой делал контроллер. Там есть софт, там куча обсуждений и улучшений, там можно и платы заказать, тем более мои именитым авторам не понравились :) Не нравятся P-канальные мосфеты — делайте оригинальный контроллер из той статьи с NPN TIP122, городите инверторы на 74LS04, заливайте мой скетч, качайте мою утилиту и будет вам счастье :)
3) То, что описано в статье — результат «хобби» ровно за 1 год. Статья про софт, про реализацию настройки контроллера а не про платы. Халявный софт, который подойдет к любому контроллеру с nano+tlc5940. Нет, не понятно… давай схемы, давай себестоимость, давай исходники всего что есть. Ах не даешь? Минус тебе. Мы и сами профессионалы и все сами можем сделать. — вот основной посыл тех комментов, на которые я резкий :)
По сути я вернул сильно доработанный проект туда, где я его взял. Это всё. Нигде ничего не обещал.
Захотел бы попиарить проект — делал бы это явно не тут.
«Захотел бы попиарить проект — делал бы это явно не тут.»
С точки зрения SEO, (пока повисит, пока начнут цитировать, ну и т.д.) очень не плохой ход. Ну да ладно, это все лирика. Проект очень хорош! Развития ему!!! ))
Предлагаю доработать плату для использования лент с изменением цветовой температуры, а то я вот например уже устал подбирать цветовую температуру под клиента — кому «синенькую», кому «желтенькую», а тут раз тако и ход конем, подключил планшет или достал планшет и законектился и фигак — вам похолоднее или потеплее? а давайте ночью теплым а днём холодным? Как тебе идея, автор?
Поскольку мой контроллер управляет плюсами — цепляйте RGB ленту плюсами не в БП а в контроллер подсветки.
Контроллер цвета при этом остается рулить минусами.
Профит.
Прежде чем нападать на автора может лучше предложить аналогичный проект или лучше. Я вот при условии что автор работает с ESP8266, с удовольствием бы заказал коммерческий проект подсветки лестницы.
Чот как-то слишком банально и просто.
Тут 90% посетителей проверенными товарами затариваются с промокодами у знакомых китайсов, а тут Вы пытаетесь нам впарить этот колхоз…
(если кто не понял — то это все сарказм ))). Работа грандиозная! Заслуженный палец вверЬх!)
Для вау эфекта было бы лучше установить сенсор в каждую вторую ступеньку и включать подсведку только следующей и предыдущей ступенек. Тогда не важно как долго будет спускаться человек либо вдруг пойдёт назад. По кан шине это можно реализовать.
Поэтому вместо линейной зависимости в настройках можно выбрать степенную. Чтобы не нагружать камень расчетами – в скетче эти значения выведены в массив, который хранится в ПЗУ, ибо не меняется в процессе работы.
Это вызвано нелинейностью чувствительности глаза к яркости света. В мониторах компенсируется гамма-кривой со степенью 2.2. В изделиях вроде описанной вами подсветки нет необходимости соблюдать такую точность и можно воспользоваться просто степенью 2 или возведением в квадрат. А операция умножения выполняется на AVR за 2 такта, так что можно обойтись без кривой в ПЗУ ) Хотя, конечно, в данном случае свободного места в ПЗУ еще достаточно, но это может быть актуально для других проектов.
Только есть нюанс с количеством градаций яркости.
Если вы берете целочисленные значения — максимальное значение шим 4096 — это 2 в 12-ой.
Я использую 100 значений а не 12, что немного плавнее :)
А если все же берете float, то зачем умножать если можно взять готовое?
Эмм, гамма-коррекция — это не возведение гамма-коэффициента в степень входного сигнала. Гамма-коррекция — это возведение входного сигнала в степень гамма-коэффициента. То есть, если взять упрощенный гамма-коэффициент 2, то входное значение вам просто надо возвести в квадрат. Допустим, вы используете 101 значение от 0 до 100, таким образом выходной сигнал будет от 0 до 10000 (0, 1, 4, 9, 16, 25 и т.д.).
Но вам надо, чтобы он был от 0 до 4095. Тут два варианта, либо уменьшить диапазон входных значений до 65 (от 0 до 64, в последнем случае результат 4096 уменьшать до 4095), либо результат умножить на поправочный коэффициент 4095/10000. Умножение также можно выполнить двумя способами — если использовать 32-битную целочисленную арифметику, можно прямо так и считать: Vout = Vin*Vin*4095/10000. Это актуально для STM32. Для AVR можно обойтись 16-битной и считать как Vout = Vin*Vin*26837/65536 (деление на 65536 — это просто взятие старших 16 бит из 32-битного результата умножения).
Это, конечно, не прямо 2 такта, скорее тут будет тактов 20, но памяти это будет занимать явно поменьше. Для вашего проекта это, опять же, не особенно актуально, но для каких-либо других, попроще (например, управление яркостью чего-либо на простеньком atTiny13) это очень даже полезно.
Вроде понял. Только для ардуины критично даже одно умножение. Сильно заметно по производительности. По-этому и вынес в массив. Да и как-то сложновато выставлять заранее известную яркость. Ну например 70%. На что надо умножить ?: ) а тут тупо 70-ый индекс у массива из 100 значений.
Почему же критично? Максимум за 30 тактов (при частоте 16 МГц это 2 мкс) atmega328 вам все посчитает со всеми загрузками данных) Это если вы в ардуино-среде попробуете float использовать, то да, будет очень медленно. Но кто ж на таких контроллерах числа с плавающей точкой использует? float даже на STM32 72 МГц тормозят. Да и не нужны они в 99% случаев.
Надо 70%? Действия ровно такие же — 70*70*26837/65536 = 2006 записать в PWM-контроллер.
Посмотрите код синхронизации с TLC. Там по условию или умножение или готовое значение.
Так вот просто *40 на глаз заметно тормознее чем просто взять число из массива. Я об этом.
Я уж молчу про деление…
Посмотрел. Предположу, что компилятор расширяет оба значения до int (то есть, до 32-х бит) и вычисляет произведение 32-битных чисел, что действительно требует достаточно много вычислительных ресурсов. Также, возможно, функция sync2RealLife вызывается слишком часто (оптимальная «частота обновления» в данном случае может быть 30 — 60 Гц, больше особого смысла нет; обновлять яркость всех линеек имеет смысл по прерыванию таймера, чтобы всегда это происходило с одинаковой частотой).
Я использовал atmega328p во многих своих проектах, где вызывал команду умножения (я пишу для AVR в основном на ассемблере) сотни тысяч раз в секунду и ничего не тормозило. Сложнее с attiny, где такой команды попросту нет, но и там программное умножение работает весьма шустро. В целом, AVR с 16 MIPS вполне достаточны для многих домашних проектов, если грамотно писать код.
Значительно чаще.
Если я ее буду обновлять 60Гц — это значит что минимальное время розжига, которое я могу выставить для каждой ступеньки — 1.4с, т.к. именно столько потребуется чтобы перебрать 100 значений яркости. Это очень много и медленно. По факту в утилите можно выставить 10мс. Вот при таком времени
будет минимальная задержка delay(10 * 10 / (100)); то есть 1мс между изменением яркости.
Более того, если задержку убрать совсем — перебор значений все равно не будет мгновенным, ибо у SPI не бесконечная скорость :)
Это всё баловство конечно, но мне показалось оптимальным вариантом для данной железки.
это значит что минимальное время розжига, которое я могу выставить для каждой ступеньки — 1.4с, т.к. именно столько потребуется чтобы перебрать 100 значений яркости.
Вы думаете, что если перебирать с такой скоростью (60 Гц) не подряд, человеческий глаз заметит разницу? :)
то есть 1мс между изменением яркости
Судя по файлу tlc_config.h частота PWM на TLC по умолчанию — 976.5625Hz. То есть, если строго синхронизироваться с таймером, можно, конечно, и с такой частотой менять выходные значения. Без синхронизации надо на 2 или на 3 делить эту частоту, чтобы все «ступени» яркости при динамическом изменении казались более-менее равномерными.
В итоге, думаю, частота в 100 Гц и 65 уровней яркости с гамма-коррекцией было бы оптимально для подсветки лестницы :)
Если ее расчетами нагружать — там всё печально становится. Отсюда и табличные значения.
Которые собственно каждый может сделать свои, используя волшебный эксель.
я наверное буду неоригинальным но… если ты знаком с шарпом, с вайфаем esp8266 то зачем тебе пики или ардуины? нужно было вкарячить esp-01m вместо всего того требухла и возрадоваться! там и 120 мегагерц и оперативки 60 кб и флешка на борту 1 метр в которой можно файлы настроек хранить и фтп забирать ложить править и вообще все что только угодно + полная совместимость с собственно любимой ардуиной. Единственное что конечно tlc5940 с esp подружить тяжело т.к. в ардуине нет прямого контроля таймерами да и таймер там всего один и он уже занят а сброс как-то надо генерить с огромной и стабильной частотой — ну взял бы не tlc а какой-нить PCA там тоже много каналов, простое управление и 16 бит.
Итого работа конечно титаническая и похвальная но у меня нету лестниц дома и я не смогу оценить увы. но выглядит просто ахрененно! Так держать! Роста тебе! И удачи!
Всё было наоборот :) Сначала шарп, потом пики… а вот потом ардуины и esp :)
Честно, я 3 раза прочел комментарий и не понял, для чего вполне работающую связку nano+tlc заменять на что-либо еще. Ради чего?
Во-первых, сейчас преимущество это модульность. Вынул esp01 — контроллер остался без wi-fi, настройками все еще можно рулить через usb ардуины утилитой. TLC из коробки поддерживает стекирование. Объеднил несколько плат — получил 32, 48, 64 канала ШИМ всё еще с одной ардуиной.
Во-вторых, если вы внимательно читали статью — сенсорные модули «автономные». Их можно использовать не только на лестнице. Я бы мог выделить 2 пина ардуины и повесить сенсорные площадки на них, но пришлось бы тянуть провод от контроллера до ступеньки. Этот провод в данном случае будет работать антенной и ловить все возможные помехи.
В-третьих, был взят PIC18 32MHz, чтобы реализовать «улучшенный» алгоритм сенсоров. Со своими настройками, со своей утилитой. Каждая часть контроллера подсветки лестницы рулит своей задачей. TLC управляет каналами транзисторов, ардуина рулит логикой работы лестницы, сенсорные модули дают сигналы ардуине, вайфай, как опция, рулит ардуиной, хотя ту же работу выполняет и утилита на шарпе через ТОТ же (что и esp) uart.
Мой пасьянс сошелся в таком виде. Безусловно, решений может быть множество, но я совсем не уверен что они
будут проще/дешевле/лучше.
1) — одна прошивка одно устройство програмирования одна микросхема один язык один пакет глюков
2) какие провода какие пины какое стекирование? до 16 PCA на всего 2 провода с 3-мя перемычками адресов
3) Вайфай модули могут быть и точкой доступа и клиентом одновременно. Вы можете открывать сокеты как TCP так и UDP и даже HTTP! И пересылать сообщения данные команды кому угодно друг другу или вообще широковещалку.
4) компактность — один проц это явно меньше чем три проца + usb-uart
5) простота обновления прошивок — даже esp-01 можно обновлять по воздуху. esp12 то вообще подавно — там 4 метра флеши 1 из них под прошивку и OTA а 3 — под файлы логи и так далее.
6) да тупо проще быстрее удобнее легче и так далее!
П.С. я тоже с С++ и шарпов пришел на микроконтроллеры и тоже сначала на атмеги. но потом появились stm32 а потом — esp8266 — на текущий момент за последние 2 года я ни разу не применил нигде ни атмегу ни stm32 в своих разработках — везде тупо везде легче удобней проще быстрее все выходит сделать на esp8266! 120 мегагерц хватает даже на декодинг mp3 на лету с флешки! опять же скорость записи на флешку 2 мегабайта в секунду открывает чудесные возможности. сверхскоростной QSPI тоже доставляет иногда. про OTA уже говорил? поднял http файлсервер и все твои устройства сами обновляются если там выложилось новое по. можеш и вручную каждому индивидуально обновлять по ip или с фебки показывая файл как в роутерах — ну мегаудобно. если в процессе чтото прервется — ничего страшного устройство перезагрузится на старой прошивке! Это просто нереально мегаудобно!
продолжать могу бесконечно но скажу что без аттиней всеравно не обошелся для тайм критикал в одном проекте понадобилась таки тинька чисто ради таймеров.но опять же она по i2c как флешпамять читается и пишется — мегаудобно
я конечно извиняюсь но ссылочку на что? связку esp01 и ардуины? ну если вы програмист то гуглем находите esp8266.ru и там есть подробнейшая инструкция примеры схемы и т.д. вот прям из коробки в ардуине есть OTA — прошика по воздуху! причем вардуина сама находит esp если та смогла подключиться к вашей точке доступа.
как вариант начать от сюда geekmatic.in.ua/arduino_ide_with_wifi_esp8266
Единственный реальный недостаток esp8266 — сверхмало ног.
Основной же недостаток работы с ней через ардуино — однопоточность — она часто «подвисает» на пол милисекунды на отработку сетевого стека. иногда это очень критично. она не виснет полностью но программу ардуиновскую — не шагает.
море примеров на любой вкус о работе с вайфаем, вебсервере, сокетах, обмене данными, чтении и парсинге сайтов с инета, автообновлении времени с ntp и 100500 других приколов — все есть или уже готовое или почти готовое в виде примера.
Если сложно сориентироваться — обращайтесь в телеграм @clawham — помогу чем смогу. У меня с ней проблема основная — http и яваскрипт я прогулял а без скриптов на стороне клиента — сложно делать чтото красивое и интерактивное.
рекомендую начать с wemos d1 — очень миниатюрная платка со всем необходимым а-ля нано но с самой навороченной esp 12f на борту — прекрасно для начала а там поймере что это и как это — увидите какие вообще бывают миниатюрные модули. а да… стоят они один доллар — дешевле просто атмеги 328p безничего.
У меня с ней проблема основная — http и яваскрипт я прогулял а без скриптов на стороне клиента — сложно делать чтото красивое и интерактивное.
О, здравствуйте :)))
Щас я как раз пишу с ней кое-что не очень красивое (не дизайнер ни разу), но интерактивное.
А с esp8266 я как бы дело имел. Я ж к этому контроллеру подсветки лестницы как-то wi-fi приделал… Не нуб все-таки.
ну так дорогой вы наш человек! Вас НАМ не хватает(все програмисты esp8266) :))
Просто странно видеть атмегу там где уже есть еспешка. все что может atmega328 — еспшка не напрягаять одной левой сделает. единственное что — при работающем радиомодуле иногда происходят «прерывания» по пол милисекунды — иногда в очень неприятные моменты. но если вырубить радио то скорости просто хоть отбавляй — очень мощный проц, очень много оперативы и флеши, очень мало ног.
Спишемся :)
Ну так тут появилась сначала атмега… а esp понадобилась чисто для управления уже готовой железкой.
Меня в общем-то esp8266 интересует исключительно как шлюз в сеть.
В данный момент вот эту штуку мучаю
Там STM32+ESP8266, ибо напрямую CAN-Bus к ESP прикручивать, простите, сильный геморрой :)
CAN+Ethernet+MYSQL+AJAX и много других страшных слов.
can решается mcp шкой
sql сервер есть под esp8266!
ajax аналогично есть реализация
и не надо никаких стм32 протоколов между железками своими же и так далее. ну езернет но мне он далеко не всегда нравится.
Ой, не… MCP последний раз ставил на платы года 3 назад. Наигрался, больше не хочу :)
SQL в плане отсылки в него данных. Сервер сторонний, свой.
AJAX при активном его курении накладывает свои ограничения на код камня :)
Мне нравится подход, когда каждая железка выполняет свои функции, переубедить
меня в этом не получится :) Я лучше возьму 3 разных камня и напрограммлю их в
трёх разных IDE, но без костылей и допущений.
В нюансах весь дьявол.
Попробуйте MCP повесить на ESP :) Да, туда же, куда и внешняя флэш подключена.
Потом расскажете, что лучше работает под нагрузкой хотя бы 300 пакетов в секунду, аппаратное прерывание по приему пакета в stm32 или вот этот костыль с целью уменьшения количества микроконтроллеров, которые каждый стоит 1$ :)
Если у вас получится хотя бы принять эти 300 пакетов и ничего не потерять — попробуйте расшифровывать, обрабатывать.
ой начинается натягивание яиц на глобус. всегда можно найти предельные или неподходящие условия для любой конфиги. Мой личный опыт 130 пакетов в секунду — никаких проблем
Отнюдь. Просто вы путаете одну простую вещь. Всё, что написано в описании того или иного микроконтроллера, одновременно вы использовать не можете :)
Простой пример: PIC32 c CAN на борту. Буферы на 1000 пакетов. Не 1000 байт а 1000 пакетов.
1) Если мне понадобится прикрутить к нему веб-морду — я это сделаю не напрягаясь, заменив STM32 на PIC32 и в код ESP даже не полезу. PIC обработает всё что пришло и отдаст результат в ESP. Вы со своим подходом будете переписывать весь софт заново.
Хотя нет, не будете. Потому что MCP тут не поможет.
2) Если микроконтроллер не справляется с одной задачей — мне все равно сколько
у него там SPI, I2C, DMA, SQI, PMP, OTG, Audio и прочих приблуд, потому что всё вместе не работает. Камень занят.
Разделение задач не просто так придумали. У ESP основная задача — wi-fi.
Вот кроме вайфая я на нее ничего не буду вешать.
А вот тут согласен — если стоимость изделия не накладывает ограничений на количество контроллеров, то очень даже неплохо каждому дать исключительно свою функцию. А вдруг ESP повиснет?) Не знаю, встречаются ли такие ситуации в реальности, но код там изначально внутри непростой, что в теории вполне допускает такой исход. В этом случае может получиться, что какая-то важная локальная функция также перестанет работать.
Также, насколько я знаю, ESP не настолько открыто документирована, как те же STM. В STM можно написать любой код, использующий все аппаратные возможности контроллера и точно быть уверенным, как именно он работает.
А яйца на глобус начинают натягивать когда например покупают плату на алиэкспрессе с mcp2515 и mcp2551 на борту и сильно удивляются, почему нельзя выставить скорость больше чем 250кбит/с :) Да потому что заботливые китайцы поставили кварц на 8Мгц, ведь на 16МГц стоит гораздо дороже :))))
Перепаял на 16? молодец, осталось ардуину научить обрабатывать мегабитный поток данных помимо того, что на нее еще навешано. Везде костыли.
повторюсь — у меня дома 5 устройств и все так или иначе дург с другом общаются. центра ретранслятора никакого нет — какие кому надо данные тоот у их источника этих данных и берет без проводов рекламы и смс и интернета в частности. очень удобно.
Схема сенсорного модуля есть? Подозреваю, что там нет защиты от статики… и вопрос времени когда гроза или шерстяной свитер выбъет его. Надо проработать этот вопрос.
Электричество не вода — ему не нужен непосредственный контакт. Знаешь что такое наведённое электричество? Почему, к примеру, вообще возможна работа трансформатора ведь там обмотки изолированы!
Так вот, во время грозового разряда канал молнии является первичной обмоткой трансформатора, а все провода в округе — вторичными обмотками. И пока эти контура замкнуты сколь-нибудь существенным сопротивлением никакой проблемы нет — потенциал между соседними «обмотками» не превышает прочности изоляции. Но как только встречаются два провода с наводками и между ними находится слой диэлектрика в несколько атомов и никакой дополнительной защиты… Один из этих проводов — сенсор, второй — общий провод всей конструкции. В некоторые удачные моменты времени между нми может образоваться высокое напряжение. Но это ладно, в микросхеме есть якобы защитные диоды которые сбросят эту энергию на шину питания. Но из-за применённой технологи изготовления CMOS-микросхем как самой дешёвой на самом деле эти диоды образуют тиристорную структуру между шинами питания, и если превысить ток через них — этот тиристор открывается и выжигает часть кристалла если не ограничить ток. Причем, хватает импульса в несколько наносекунд, а такие условия могут запросто возникнуть при простом электростатическом разряде, когда заряд копится на площади диэлектрика и разряжается через проводящие части. т.е. шуршишь себе по ступенькам шерстяными носками, и потом бац — разряд на сенсор, электрический заряд нашёл себе путь…
Теоретизировать можно долго. Предлагаю эксперимент.
Вы у себя под ступеньку подключаете arduino nano, у которой по-умолчанию все ножки настроены на вход.
Цепляете к ножкам что угодно металлическое.
И шуршите носками по ступеньке сверху / третесь свитером пока микроконтроллер не сгорит.
Видео выкладываете тут. Можно с таймлапсом.
Arduino nano готов предоставить.
Мне эти эксперименты ставить уже не нужно, я их достаточно нажёгся. И искры статики от «носков» извлекал по 10-15мм. И после грозы соскребал разлетевшиеся в дребезги микросхемы…
Очень понравился Ваш проект, хочу у повторить проект полностью, можете поделиться чертежом платы? Насколько мне известно вы взяли схему у другого автора и доработали, т.к. я не умею чертить чертежи был бы рад вашему чертежу) кстати паять я умею)
Офигенно!!!
Сжечь колдуна!
Месье знает толк в извращениях! © :)
P.S. Табличка оценки трудоёмкости весьма доставила! :D
«Мы уже сами все сделали, вам только проверить нужно» — 100500ч
если только одноразовым…
Не хватает в конце сводной таблицы типа: библиографический список решений с ссылками на сайты. Скопировал бы в свой файлик идей, а так придется их надергать самому.
Однозначно плюс за труды
Я такой в магазине видел
И если лифт отключили, то можно не скучно так подняться к себе в пентхаус. ))
Ну не может человек, обладающий таким чувством юмора, сделать что-то плохо!
Обзор брошен в памятку...-когда начну буянить с освещением вновь, то обязательно
этим обзором воспользуюсь… За плагиат не вычтешь, автор?(-по последнему «сценарию»)...;-)
Вы поймите, что никаких претензий в Вашей работе нет, каждый рисует картины как видит. Я-же просто пытаюсь объяснить Вам, что есть другие методы управления и они также верны :)
Представьте сетевой адаптер в розетку 12VDC. У него есть штекер выходного напряжения. До какого из его концов опаснее дотронуться?
Ок. Я не буду спорить. Нравится городить инверторы для TLC5940 — городите.
Я предложил решение с гораздо меньшим числом компонентов. Не нравится — делайте своё :)
:)))
Схемы в той статье. Тут я ничего не изобретал. Ну кроме второго питальника и как соединить RX-TX и TX-RX… Какую именно схему надо? :)
P.S.: Мне, например, чтобы только бегло прочитать ежедневно свежие обзоры,
требуется минимум час-два времени. А, если, эти обзоры ещё и писать!-проводя
тесты… И, в сутках, пока только 24 часа!(-при массе прочих дел..).
Вот такая логика!-аль, я не прав?!...;-)
Думается вместо рассказов про количество откусываний кусачками, конкретика не помешала бы.
Так то было бы здорово и макеты печатных плат выложил.
А то судя по demid.net/buybuy/ мне кажется ты не хочешь что бы это пошло в массы.
Захотелось засветиться, но не поделиться. Я то разберусь если что.
Все лежит в открытом доступе. Схемы и платы есть в статье, по которой я делал первый контроллер.
Софт есть там. Авторский. И еще один софт доработанный до более-менее нормального состояния читателем.
Тут я выложил свой софт, рассказал о нововведениях и удобстве настройки.
Ардуина та же, ШИМ-драйвер тот же.
Если вы настолько ленивы что не можете пройти по ссылкам за конкретикой — я не знаю что вам посоветовать.
И похоже это ты читать не умеешь…
Давайте прочтём это ещё раз. Схемы и платы. Есть в статье.
Вдохнул. Выдохнул.
Схемы и платы есть в статье.
Пролистал. Рассуждения о транзисторах прочёл. А схемы — нет, ни одной. Но мне же интересно, как
NPN включать в качестве ключауправляются P-канальные мосфеты. А этого нету.Хм.
Но вы же не можете лукавить. Значит, я не умею видеть схемы.
Ок. Со мной такое бывает.
Но должны быть и платы. Ну, то есть… гербер там какой, что ли.
Сверловки-мерловки.
Тоже не нашёл.
Я не знаю, что делать. Гармония нарушена.
«Схемы и платы есть в статье, по которой я делал первый контроллер.»
mySKU.me/blog/ebay/36155.html
Александр, а кроме шуток.
Про сенсор.
Вы проводили исследования/статистику своей версии этого выключателя под изменяющиеся внешние условия?
Ну, в смысле, пока это «на столе» и пока работает минуты — оно очень красиво. Без подколов.
А как себя сенсор без рекалибровки будет чувствовать через год под слоем штукатурки? Через пять?
И, главное, а как сенсор будет работать под слоем штукатурки в уличной стене? Как без рекалибровки себя поведёт в дождь, в снег, при смене зимы и лета с качанием годовых температур от -20 до +30? Кто-то проверял? Собирал статистику?
Сразу уточню. Это не подкавырки, это практический вопрос о выборе применимости.
Спасибо.
Это идеальные условия для тестов.
Доска самая убогая, самая влажная, крашенная с одной стороны. Гараж не отапливается, колебания температур и влажности присутствуют. Все работает как часы.
От того, что вы конденсатор зарядите/разрядите на столе, а потом засунете под штукатурку — он не перестанет быть конденсатором и через год. Да, у всего есть изменения свойств при изменении окружающей среды. Но для этого и есть утилита для настройки сенсорного модуля. Чтобы настроить его в конкретном месте работы с конкретными условиями.
транзистор сгорит.
Моя схема или плата в готовом для заказа виде не даст вам представления о том, что
power dissipation 2W, это величина мощности, которая может быть рассеяна транзистором в виде тепла. Ограничивается допустимой температурой нагрева кристалла и напрямую зависит от корпуса. В данном случае SO-8. Если КПД = 100%, то транзистор будет холодным, и вся потребляемая от источника питания мощность попадет в нагрузку. «КПД» у мосфетов >95%, то есть только 5% идет в нагрев. Если 5% это 2Вт, то 95% это 38Вт в нагрузку, или 19Вт/канал, или 1.58А/канал, или 19Вт/м (если подключаем метр ленты). Это предельные значения, которые точно не стоит превышать, т.к. на транзисторе в этот момент можно яичницу жарить.
habr.com/ru/post/446602/
mySKU.me/blog/ebay/36155.html
mySKU.me/blog/aliexpress/39571.html
«Ничего не понял, ничего не хочу изучать, просто дай всё готовое, над чем ты трудился год» — по-христиански это вот так? :)))
Схема та же самая.
Кроме всякого мусора из-за использования NPN.
Эти же чуваки www.leds.safetysystems.com.ua/
Npn раскритиковали — сами ставите ардино на Меге. В 2019 году. На платах не видно термобарьеров на gnd. Ну и прятать сурцы и шифровать архивы — это смешно, даже китайцы такое повторять не будут, сделают и дешевле и лучше.
Просили же критики, верно?
Что не так в Меге в 2019 году? Вы же первые заноете если я что-то на STM32 выложу :)
Ардуино исползуется в исходном проекте. Всем понятно и доступно.
Термобарьеры не использую принципиально, паяю всё сам — мне удобно. Проверял тепловизором.
Нагружал каждый канал отрезками по 5м. Если у вас есть ступеньки шире 5м — проверю с большей нагрузкой.
Исходники выложил и не прятал. Пароль к архиву в имени самого архива. Нужно просто немного подумать.
STM — не заною, 8 лет на нем пишу, собственно и смотреть бы не стал.
Ну замечательно, вы принципиально не ставите термобарьеров, принципиально не ставите NPN, считаете что stm32 слишком умно для местных… какой критики вы тогда хотите? Ну скажу тогда — каждый убивает лишнее время как желает, на то он DIY.
И все таки правда, подумайте чем +12 так плохо на перила. Совсем немного, вдруг получится. «мои уникальные разработки – их ПО, » — это очень печально, прямо спать не буду. «Не имеющий аналогов»
А зачем инверторы, к сожалению со смарта схему не могу посмотреть нормально
65 метров, Карл! ©
О каких термобарьерах вы говорите? :) Для чего они здесь?
Не вижу никакой разницы в удобстве.
2) Подумайте чуть больше. В данном конкретном применении, даже при 1А/канал — с питальника приходит 16А. Ваши 4 полоски 0.8мм при 18мкм текстолите будут иметь температуру 100 градусов. Вам точно это надо? А если 1,5А/канал?
youtu.be/zco68X5xj8U?t=97
Я 100 градусов не из головы взял.
И на каждый из 4-х лучей термобарьера приходится ток в 4 раза меньший, т.е. по 1А.
Да, кстати, там ещё одно уточнение надо учесть. Рассчет этот учитывает нагрев дорожки относительно окружающей среды. При температуре воздуха 20 грудусов дорожка при расчетном токе будет уже 120 градусов.
Ох да, как же мог забыть? Расчет-то ведётся для чистой меди, толщиной 18мкм, а ведь термобарьер не покрыт маской и на него нанесён припой, толщиной чуть ли не в 5 раз больше. Всё это не учитывается.
1) Сопротивление медной дорожки длиной 0.5мм примерно такое же как и у 20мм. То есть никакое. И ток через них потечет одинаковый до сотых а то и тысячных долей.
2) Теплоотвод тут причем? В виде чего у вас теплоотвод если у вас термобарьер? В виде текстолита? Он очень плохо проводит тепло.
3) «ток в 4 раза меньший»
Еще раз по буквам: земля от БП подключается к 1 контакту. Ток 16А. Да, с термобарьером
через каждую его полоску пойдет ток в 4 раза меньший. По 4А на каждую. Длина не влияет. Всё равно 16А. Влияет ширина. При ширине 0.8мм одной полоски — каждая из них нагреется на 100 градусов. С токи зрения расчетов, дорожка термобарьера ничем не отличается от остальных дорожек на плате.
4) Термобарьер придумали для автоматической пайки. Без него автоматическая пайка может быть с браком. Утверждать что термобарьер нужен всегда — по меньшей мере глупо.
5) Горячее лужение ПОС-63 толщина 10-35мкм а никак не «чуть ли не в 5 раз больше».
При 53мкм «итого» нагрев +51 градус. Лучше чем +100, но у меня ничего не греется выше 35-37 на плате.
Нет, не хотите конечно не читайте коментарии и продолжайте ходить по граблям. И значение синуса ваш калькулятор выдаст равным двум с половиной и вас это не смутит. Ведь люди врут что значение синуса не может быть больше единицы никак.
Размер как-то влияет на дистанцию срабатывания или только на захватываемую площадь?
А если вы про лестницу, то полоски 10см по длине ступени будет даже много. Зависит от толщины ступени. Толще-шире.
Но таких просто необходимо поддерживать. Именно они толкают эту планету в нужном направлении. Плюс.
Спрашиваешь «а вы точно читали?» — минусят :)
Есть там такая картинка:
Я вот статью читал, но на каком-то этапе понял, что уже просто перестаю воспринимать информацию.
Я не выкладываю то, что не доделано на 100%. Одна статья — в ней всё что нужно.
Мне по моему только один раз пришлось статью делить, муська не пропускала из-за ограничений на количество текста.
При этом у меня были статьи, по которым люди сам повторяли устройства, например здесь
Я не придираюсь, скорее просто в качестве полезного совета.
Подсветку лестницы реализовывал накупив на распродаже сенсорных квадратных ночников, с питанием от 3-х батареек. Переделал на общее питание от блока питания выставив 4 вольта. Пришлось их немного переделать и углубить. идешь по лестнице они зажигаются с поднесением ноги к ступеньке. Гасли правда как попало))). Работало это чудо день и ночь. Делалось для удивления клиента.
Сделали подсветку первой ступеньки?… теперь идите дальше, ставьте адресные светодиоды и подсвечивайте _каждую_ ступеньку, на которой стоят/идут.
Это всё? Отнюдь. Под ступеньку, с двух сторон, ставится датчик давления и, к ним HX711. После чего строится дисплей с показом веса объекта. Будет пользоваться офигенным спросом у дам'c.
А еще… да не, пока хватит на пяток revision.
Расскажите, спать не смогу.
Критика;
PIC18 не слишком дорога для сенсорного датчика?, сколько же на выходе готовый датчик стоить будет?
Вы против сонаров, а расскажите как сможете контролировать дистанцию срабатывания лестницы если к примеру пару ступеней лестницы выходят в помещение, к примеру кухня, и не все идут на лестницу?..
По CAN, модулям та же история с ценой STM32 и это при условии что вы используете одноцветную ленту
А в целом ставаша статья очень понравилась. С удовольствием продолжил с вами общение.
Вот я тоже спать не мог. Пусть из меня бизнесмен плохой, зато совесть чистая как дистиллированная вода :)
Я взял готовый скетч с mysku, доработал в силу своих знаний и умений… и так же выложил на mysku.
Но это же не означает что у меня на сайте не будет 6-ой версии ПО, 7, 8…
Поверьте, у меня очень богатая фантазия.
По критике:
Микроконтроллеры я закупаю оптом, по-этому выходит не слишком дорого. Раз уж вы знаете что я продаю готовые изделия — вы не могли не заметить ценник на готовый датчик. :)
Не очень понял про «дистанцию срабатывания лестницы». Поясните.
Или видео посмотрите по сенсорным модулям.
Уж не тот ли вы henc, который с форумхауса? :)
почему бы не использовать готовые решения для (де)сериализации? серьезно интересно, может чем-то уже готовые решения не подошли в процессе разработки?
сам не сталкивался, но сходу отыскиваются как минимум есть несколько вариантов и во всех них заявлена поддеджка arduino nano (ведь это оно использовано)?
Тут любительская arduino nano, а не профессиональная atmega328 :)))
А если серьезно, то всегда можно сделать лучше. Ключевой вопрос «зачем».
может есть аналогичный ответ для чего и зачем этим этим всем нужно именно пренепременно заниматься?
кроме того, неизвестно как авторский десериализатор поведет себя под нагрузкой. может там heap fragmentation происходит и после очередного N-оно внесения настроек — всё склокнется. не могу об этом судить, т.к. не знаю всех тонкостей.
а причем тут приплетены контрольные суммы?
темболее, они тоже есть в готовых библиотеках, если нужны. т.е. достаточно заголовочный файл подключить и вызвать готовую функцию.
Но я как то так и не увидел ИТОГО СЕБЕСТОИМОСТЬ))
Хотя интересней сколько стоит это в продаже как готовое.
Я сделал отцу в дом на сонарах по статье увиденной чуть ранее на mysku. Работает стабильно, я дальше и не заморачивался. Сказывается недостаток знаний и времени. Я скорее любитель. И спасибо за чувство юмора. Пойду посмотрю, может у вас сайт есть с вашими проектами. Делайте, за вами потянутся. Я так себе сделал хороший усилитель с поддержкой АудиоКиллера и отличные колонки — тоже с поддержкой сообщества.
Силён… =)
Только, замечу, что даже те же «лентяи»(-коих на сайте тьмА!) вас просто размажут по этой подсветке,
аки масло по бутерброду, в поисках любой кошки!(-но, обязательно,с бантиком!)......;-)
Ибо, здесь уже стало некоей традицией, верить на слово(текстам) только единичным *гуру*(-за редким
исключением!), а прочих стремятся закидать бяками… Причём, за любое мнение, расходящееся с " линией партии".
Причём, буквально на всех, стоит только-учтиво и вежливо!-попросить
с уважением и надлежащим пиететом относиться к родному русскому языку,
так такой гвалт начинается!....:(...-*враг народа и прогресса*.....!
И, это самое мягкое обвинение…
Хотя, сколько времени займёт проверка текста?!
Впрочем, когда обладатели сУрьёзных «дипломов» пишут с ошибками 2-го класса,
то что остаётся тем, у кого за плечами восьмилетка и ЕГЭ..?!..:(
А то периодически нужна.
Сами себе его стоимость назначаете и умножаете на время из таблички. :)
Работа, конечно, проделана колоссальная!
Ваши труды вызывают уважение.
Но статью читать невозможно. Слишком много всего.
Всё гениальное — просто, а когда я вижу тьму деталей, пайки, сенсоров, ОТДЕЛЬНЫЙ ГУЙ настройки(!), меня охватывает мысль, что вы сконструировали коллайдер для того, чтобы ложечка зачерпывала сахар и опрокидывала в чашку. Крайне несуразное, overengineered решение.
Вон, некоторые квартирные лифты конструируют :)
Это не упрек! Просто мысли в слух. ))
Ни в коем случае никого не хотел обидеть. Резким бываю, согласен, исключительно в ответ на очевидные вещи, которые именитые авторы называют недочетами по собственной невнимательности.
1) Взять хотя бы холивар про термобарьеры.
Мне ставят в упрек, мол не сделал. С ними паять удобнее. Картинку приводят что такое термобарьер. Ответ собирает кучу одобрений. Ай, молодцы все.
Но когда я отвечаю что полоски термобарьера не выдержат ток — все тактично молчат. :) Красавцы :)
Зато одобрение вызывает фотография другого контроллера на 24 канала и 5,3А/канал.
С настройками путем тыканья кнопками на плате. Вслепую. Вы серьезно?
Никому в голову не приходит что 5,3А*24 это 127,2А ток. С китайскими зелененькими клеммниками на 10А рассчитанными. Наверняка еще «правильно» сделана плата. С термобарьерами :))) Купите контроллер — огнетушитель в подарок.
2) Читаем самый первый абзац "… расскажу вам про подсветку лестницы. Точнее про ее допеределку."
Указываю статью, по которой делал контроллер. Там есть софт, там куча обсуждений и улучшений, там можно и платы заказать, тем более мои именитым авторам не понравились :) Не нравятся P-канальные мосфеты — делайте оригинальный контроллер из той статьи с NPN TIP122, городите инверторы на 74LS04, заливайте мой скетч, качайте мою утилиту и будет вам счастье :)
3) То, что описано в статье — результат «хобби» ровно за 1 год. Статья про софт, про реализацию настройки контроллера а не про платы. Халявный софт, который подойдет к любому контроллеру с nano+tlc5940. Нет, не понятно… давай схемы, давай себестоимость, давай исходники всего что есть. Ах не даешь? Минус тебе. Мы и сами профессионалы и все сами можем сделать. — вот основной посыл тех комментов, на которые я резкий :)
По сути я вернул сильно доработанный проект туда, где я его взял. Это всё. Нигде ничего не обещал.
Захотел бы попиарить проект — делал бы это явно не тут.
С точки зрения SEO, (пока повисит, пока начнут цитировать, ну и т.д.) очень не плохой ход. Ну да ладно, это все лирика. Проект очень хорош! Развития ему!!! ))
Контроллер цвета при этом остается рулить минусами.
Профит.
Тут 90% посетителей проверенными товарами затариваются с промокодами у знакомых китайсов, а тут Вы пытаетесь нам впарить этот колхоз…
(если кто не понял — то это все сарказм ))). Работа грандиозная! Заслуженный палец вверЬх!)
mySKU.me/profile/Process0169
Если вы берете целочисленные значения — максимальное значение шим 4096 — это 2 в 12-ой.
Я использую 100 значений а не 12, что немного плавнее :)
А если все же берете float, то зачем умножать если можно взять готовое?
Но вам надо, чтобы он был от 0 до 4095. Тут два варианта, либо уменьшить диапазон входных значений до 65 (от 0 до 64, в последнем случае результат 4096 уменьшать до 4095), либо результат умножить на поправочный коэффициент 4095/10000. Умножение также можно выполнить двумя способами — если использовать 32-битную целочисленную арифметику, можно прямо так и считать: Vout = Vin*Vin*4095/10000. Это актуально для STM32. Для AVR можно обойтись 16-битной и считать как Vout = Vin*Vin*26837/65536 (деление на 65536 — это просто взятие старших 16 бит из 32-битного результата умножения).
Это, конечно, не прямо 2 такта, скорее тут будет тактов 20, но памяти это будет занимать явно поменьше. Для вашего проекта это, опять же, не особенно актуально, но для каких-либо других, попроще (например, управление яркостью чего-либо на простеньком atTiny13) это очень даже полезно.
Надо 70%? Действия ровно такие же — 70*70*26837/65536 = 2006 записать в PWM-контроллер.
Так вот просто *40 на глаз заметно тормознее чем просто взять число из массива. Я об этом.
Я уж молчу про деление…
Я использовал atmega328p во многих своих проектах, где вызывал команду умножения (я пишу для AVR в основном на ассемблере) сотни тысяч раз в секунду и ничего не тормозило. Сложнее с attiny, где такой команды попросту нет, но и там программное умножение работает весьма шустро. В целом, AVR с 16 MIPS вполне достаточны для многих домашних проектов, если грамотно писать код.
Если я ее буду обновлять 60Гц — это значит что минимальное время розжига, которое я могу выставить для каждой ступеньки — 1.4с, т.к. именно столько потребуется чтобы перебрать 100 значений яркости. Это очень много и медленно. По факту в утилите можно выставить 10мс. Вот при таком времени
будет минимальная задержка delay(10 * 10 / (100)); то есть 1мс между изменением яркости.
Более того, если задержку убрать совсем — перебор значений все равно не будет мгновенным, ибо у SPI не бесконечная скорость :)
Это всё баловство конечно, но мне показалось оптимальным вариантом для данной железки.
Судя по файлу tlc_config.h частота PWM на TLC по умолчанию — 976.5625Hz. То есть, если строго синхронизироваться с таймером, можно, конечно, и с такой частотой менять выходные значения. Без синхронизации надо на 2 или на 3 делить эту частоту, чтобы все «ступени» яркости при динамическом изменении казались более-менее равномерными.
В итоге, думаю, частота в 100 Гц и 65 уровней яркости с гамма-коррекцией было бы оптимально для подсветки лестницы :)
Меньше время — быстрее переберет градации и всё.
Больше время — будут заметно ступенчатое изменение.
Если ее расчетами нагружать — там всё печально становится. Отсюда и табличные значения.
Которые собственно каждый может сделать свои, используя волшебный эксель.
Итого работа конечно титаническая и похвальная но у меня нету лестниц дома и я не смогу оценить увы. но выглядит просто ахрененно! Так держать! Роста тебе! И удачи!
Честно, я 3 раза прочел комментарий и не понял, для чего вполне работающую связку nano+tlc заменять на что-либо еще. Ради чего?
Во-первых, сейчас преимущество это модульность. Вынул esp01 — контроллер остался без wi-fi, настройками все еще можно рулить через usb ардуины утилитой. TLC из коробки поддерживает стекирование. Объеднил несколько плат — получил 32, 48, 64 канала ШИМ всё еще с одной ардуиной.
Во-вторых, если вы внимательно читали статью — сенсорные модули «автономные». Их можно использовать не только на лестнице. Я бы мог выделить 2 пина ардуины и повесить сенсорные площадки на них, но пришлось бы тянуть провод от контроллера до ступеньки. Этот провод в данном случае будет работать антенной и ловить все возможные помехи.
В-третьих, был взят PIC18 32MHz, чтобы реализовать «улучшенный» алгоритм сенсоров. Со своими настройками, со своей утилитой. Каждая часть контроллера подсветки лестницы рулит своей задачей. TLC управляет каналами транзисторов, ардуина рулит логикой работы лестницы, сенсорные модули дают сигналы ардуине, вайфай, как опция, рулит ардуиной, хотя ту же работу выполняет и утилита на шарпе через ТОТ же (что и esp) uart.
Мой пасьянс сошелся в таком виде. Безусловно, решений может быть множество, но я совсем не уверен что они
будут проще/дешевле/лучше.
2) какие провода какие пины какое стекирование? до 16 PCA на всего 2 провода с 3-мя перемычками адресов
3) Вайфай модули могут быть и точкой доступа и клиентом одновременно. Вы можете открывать сокеты как TCP так и UDP и даже HTTP! И пересылать сообщения данные команды кому угодно друг другу или вообще широковещалку.
4) компактность — один проц это явно меньше чем три проца + usb-uart
5) простота обновления прошивок — даже esp-01 можно обновлять по воздуху. esp12 то вообще подавно — там 4 метра флеши 1 из них под прошивку и OTA а 3 — под файлы логи и так далее.
6) да тупо проще быстрее удобнее легче и так далее!
П.С. я тоже с С++ и шарпов пришел на микроконтроллеры и тоже сначала на атмеги. но потом появились stm32 а потом — esp8266 — на текущий момент за последние 2 года я ни разу не применил нигде ни атмегу ни stm32 в своих разработках — везде тупо везде легче удобней проще быстрее все выходит сделать на esp8266! 120 мегагерц хватает даже на декодинг mp3 на лету с флешки! опять же скорость записи на флешку 2 мегабайта в секунду открывает чудесные возможности. сверхскоростной QSPI тоже доставляет иногда. про OTA уже говорил? поднял http файлсервер и все твои устройства сами обновляются если там выложилось новое по. можеш и вручную каждому индивидуально обновлять по ip или с фебки показывая файл как в роутерах — ну мегаудобно. если в процессе чтото прервется — ничего страшного устройство перезагрузится на старой прошивке! Это просто нереально мегаудобно!
продолжать могу бесконечно но скажу что без аттиней всеравно не обошелся для тайм критикал в одном проекте понадобилась таки тинька чисто ради таймеров.но опять же она по i2c как флешпамять читается и пишется — мегаудобно
как вариант начать от сюда geekmatic.in.ua/arduino_ide_with_wifi_esp8266
Единственный реальный недостаток esp8266 — сверхмало ног.
Основной же недостаток работы с ней через ардуино — однопоточность — она часто «подвисает» на пол милисекунды на отработку сетевого стека. иногда это очень критично. она не виснет полностью но программу ардуиновскую — не шагает.
море примеров на любой вкус о работе с вайфаем, вебсервере, сокетах, обмене данными, чтении и парсинге сайтов с инета, автообновлении времени с ntp и 100500 других приколов — все есть или уже готовое или почти готовое в виде примера.
Если сложно сориентироваться — обращайтесь в телеграм @clawham — помогу чем смогу. У меня с ней проблема основная — http и яваскрипт я прогулял а без скриптов на стороне клиента — сложно делать чтото красивое и интерактивное.
рекомендую начать с wemos d1 — очень миниатюрная платка со всем необходимым а-ля нано но с самой навороченной esp 12f на борту — прекрасно для начала а там поймере что это и как это — увидите какие вообще бывают миниатюрные модули. а да… стоят они один доллар — дешевле просто атмеги 328p безничего.
Щас я как раз пишу с ней кое-что не очень красивое (не дизайнер ни разу), но интерактивное.
А с esp8266 я как бы дело имел. Я ж к этому контроллеру подсветки лестницы как-то wi-fi приделал… Не нуб все-таки.
Просто странно видеть атмегу там где уже есть еспешка. все что может atmega328 — еспшка не напрягаять одной левой сделает. единственное что — при работающем радиомодуле иногда происходят «прерывания» по пол милисекунды — иногда в очень неприятные моменты. но если вырубить радио то скорости просто хоть отбавляй — очень мощный проц, очень много оперативы и флеши, очень мало ног.
Ну так тут появилась сначала атмега… а esp понадобилась чисто для управления уже готовой железкой.
Меня в общем-то esp8266 интересует исключительно как шлюз в сеть.
В данный момент вот эту штуку мучаю
Там STM32+ESP8266, ибо напрямую CAN-Bus к ESP прикручивать, простите, сильный геморрой :)
CAN+Ethernet+MYSQL+AJAX и много других страшных слов.
sql сервер есть под esp8266!
ajax аналогично есть реализация
и не надо никаких стм32 протоколов между железками своими же и так далее. ну езернет но мне он далеко не всегда нравится.
но всегда есть нюансы. :)
SQL в плане отсылки в него данных. Сервер сторонний, свой.
AJAX при активном его курении накладывает свои ограничения на код камня :)
Мне нравится подход, когда каждая железка выполняет свои функции, переубедить
меня в этом не получится :) Я лучше возьму 3 разных камня и напрограммлю их в
трёх разных IDE, но без костылей и допущений.
В нюансах весь дьявол.
Попробуйте MCP повесить на ESP :) Да, туда же, куда и внешняя флэш подключена.
Потом расскажете, что лучше работает под нагрузкой хотя бы 300 пакетов в секунду, аппаратное прерывание по приему пакета в stm32 или вот этот костыль с целью уменьшения количества микроконтроллеров, которые каждый стоит 1$ :)
Если у вас получится хотя бы принять эти 300 пакетов и ничего не потерять — попробуйте расшифровывать, обрабатывать.
Простой пример: PIC32 c CAN на борту. Буферы на 1000 пакетов. Не 1000 байт а 1000 пакетов.
1) Если мне понадобится прикрутить к нему веб-морду — я это сделаю не напрягаясь, заменив STM32 на PIC32 и в код ESP даже не полезу. PIC обработает всё что пришло и отдаст результат в ESP. Вы со своим подходом будете переписывать весь софт заново.
Хотя нет, не будете. Потому что MCP тут не поможет.
2) Если микроконтроллер не справляется с одной задачей — мне все равно сколько
у него там SPI, I2C, DMA, SQI, PMP, OTG, Audio и прочих приблуд, потому что всё вместе не работает. Камень занят.
Разделение задач не просто так придумали. У ESP основная задача — wi-fi.
Вот кроме вайфая я на нее ничего не буду вешать.
Также, насколько я знаю, ESP не настолько открыто документирована, как те же STM. В STM можно написать любой код, использующий все аппаратные возможности контроллера и точно быть уверенным, как именно он работает.
Перепаял на 16? молодец, осталось ардуину научить обрабатывать мегабитный поток данных помимо того, что на нее еще навешано. Везде костыли.
А так, по остальным пунктам сложно спорить.
Так вот, во время грозового разряда канал молнии является первичной обмоткой трансформатора, а все провода в округе — вторичными обмотками. И пока эти контура замкнуты сколь-нибудь существенным сопротивлением никакой проблемы нет — потенциал между соседними «обмотками» не превышает прочности изоляции. Но как только встречаются два провода с наводками и между ними находится слой диэлектрика в несколько атомов и никакой дополнительной защиты… Один из этих проводов — сенсор, второй — общий провод всей конструкции. В некоторые удачные моменты времени между нми может образоваться высокое напряжение. Но это ладно, в микросхеме есть якобы защитные диоды которые сбросят эту энергию на шину питания. Но из-за применённой технологи изготовления CMOS-микросхем как самой дешёвой на самом деле эти диоды образуют тиристорную структуру между шинами питания, и если превысить ток через них — этот тиристор открывается и выжигает часть кристалла если не ограничить ток. Причем, хватает импульса в несколько наносекунд, а такие условия могут запросто возникнуть при простом электростатическом разряде, когда заряд копится на площади диэлектрика и разряжается через проводящие части. т.е. шуршишь себе по ступенькам шерстяными носками, и потом бац — разряд на сенсор, электрический заряд нашёл себе путь…
Вы у себя под ступеньку подключаете arduino nano, у которой по-умолчанию все ножки настроены на вход.
Цепляете к ножкам что угодно металлическое.
И шуршите носками по ступеньке сверху / третесь свитером пока микроконтроллер не сгорит.
Видео выкладываете тут. Можно с таймлапсом.
Arduino nano готов предоставить.
там есть схемы и подключение по битбэнг к tlc
mySKU.me/blog/aliexpress/39571.html
осталось только:
1. что бы кто-то подарил лестницу
2. и эта лестница была в щикарном доме!
3. единая собственность
круто!
прям подумал, может кому-нить из знакомых сие подкинуть? ;)
Скажите можно ли приобрести пару таких плат?