nabbla (nabbla1) wrote,
nabbla
nabbla1

Category:

Макет: да будет свет!

Продолжаю ковырять эту хреновину. Собрал Мишень Ближней Дистанции:

IMG20201021153945.jpg

И немножко доработал макет прибора - нашёл, наконец, проблему, и ещё добавил управление ИК светодиодами, и В ТО ЖЕ ВРЕМЯ, измерение освещённости, ПО ОДНОМУ ПРОВОДУ.

IMG20201022214426.jpg

(так выглядят ИК светодиоды на большинство камер. Поговаривают, это "фича" синих светофильтров - они почти все "протекают" и в ИК области, поэтому красный превращается в фиолетовый)

И по сути, получил "первый свет" уже с мишенью, паршивенький, но уж какой есть.


Весь день ищу наводку, а к вечеру нахожу!


Оптическая мишень ближней дистанции (МБД) сделана в лучших традициях дендрофекальных технологий: из обрезка ДСП, двух мебельных ножек и светоотражающей самоклеющейся плёнки из Леруа, 200 рублей за рулон. Она вообще полосатая, чёрно-жёлтая, но я вырезал кружочки из жёлтых участков.
IMG20201021153527.jpg

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


И с несколько большей дистанции они видны.
IMG20201021215619.jpg

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


Далее, стал искать проблемы в макете прибора. Там у меня что-то не контачило, и временами текст на ЖК экранчике исчезал (а подсветка почему-то зажигалась), а иногда просто всё "перезагружалось", "моргало питание".

Подозрение на плату ЖК экрана, которая привинчена 4 гайками без всяких диэлектрических шайб, не подтвердилось. Если какие-то дорожки и шли вблизи углов - это была ЗЕМЛЯ (в смысле, общий провод), но даже она в итоге у меня не прозванивалась нигде.

А проблема была всё-таки в КРЕН5А 91-го года выпуска. До конца не знаю - то ли именно внутри был какой-то дефект, то ли пока я его толстенные ножки пытался продеть в отверстия макетки, сумел одну из них оторвать, но как-то она всё-таки контачила, но если её пошевелить - контакт пропадал кратковременно. Поставил какую-то другую 7805 - проблема исчезла. Теперь всё стабильно, как это дело не шевели, как не тряси - работает.

И раз уж полез вовнутрь - пришло время научиться управлять подсветкой.

IMG20201022213259.jpg

Результаты "реверс-инжиниринга":
IMG20201023192604.jpg

На этой платке стоит фоторезистор. Когда освещённость ещё высока, сопротивление этого фоторезистора мало - и он закрывает буквально все транзисторы на этой схеме. Если освещённость падает ниже определённого порога, два транзистора открываются, подавая около 12 вольт на выход этой платы (чтобы камера переключилась в ч/б и убрала ИК фильтр, призванный дать правильные цвета при высокой освещённости), и также включаются ИК светодиоды, источник тока даёт около 120 мА на всех, а благодаря уравнивающим резисторам этот ток делится примерно поровну между 3 ветвями диодов. Тут ещё и положительная обратная связь введена - стоит один раз светодиодам загореться, как теперь уже нужна значительно более высокая освещённость, чтобы их снова выключить.

Мне хотелось управлять этим безобразием непосредственно с ПЛИС, у которой логические уровни 3,3 вольта. По некоторому размышлению решил один резистор выкинуть, а другой добавить, как показано на схеме. Тогда, если настроить ножку как входную, мы сможем узнать освещённость помещения. Если она ещё высокая, получим 0 вольт (лог "0"), а если упала - то будет аккурат +3,3 вольта (см. фото выше) - это совершенно отчётливая лог "1".

Если же настроить ножку как выходную, то она "перехватит управление" ИК диодами.

И снова дендрофекальные технологии во всей красе:
IMG20201022213847.jpg

Но как ни странно, работает. Опробовал сначала эту ножку в качестве входной - и соединил её в проекте ПЛИС с управлением подсветкой экрана. Да: когда я резистор загораживаю рукой, подсветка включается. Но текст исчезает! Померял напряжение 5 вольт - увидел, как оно при включении подсветки просаживается до 3,3 вольт. И сразу всё стало ясно (жаль, что как всегда с запозданием) - я для того, чтобы КРЕН5А не шибко перегревался, поставил перед ним резистор 22 Ом, чтобы львиная доля падения напряжения была на нём. И при токе потребления ПЛИС со всей обвязкой в 0,2 ампера всё было правильно. Но когда сюда прибавляешь 120 мА на подсветку экрана (почему-то янтарная подсветка очень прожорливая), напряжение падает. Надо будет заменить резистор 22 Ом на 12 Ом - проблема должна уйти. А пока просто не буду эту подсветку включать, как-нибудь обойдусь.

Далее - тупо заставил ПЛИС на эту ножку подавать +3,3 вольта - и ИК светодиоды включились:
IMG20201023190508.jpg

Ещё, пока я туда лазил, попытался устранить наводку в виде вертикальных полос. Наконец-то привёл свою плату в соответствие с этой схемой:
P_20190614_185345.jpg
(см Оцифровка аналоговых сигналов высокой чёткости)

В смысле, что инверсный вход АЦП не просто заземлил, а соединил именно что с СИГНАЛЬНОЙ ЗЕМЛЁЙ камеры, поскольку именно от неё отсчитывается сигнал.

Почему-то, если до этой модификации у меня шли белые вертикальные полосы, то сейчас пошли ЧЁРНЫЕ вертикальные полосы :) Эффект явно есть, но немного не такой, как я хотел. Уже потом я вспомнил, что пока перепаивал этот конденсатор - я одну из ножек GND от АЦП вообще оставил неподключённой, надо будет допаять. Ну и в целом, там есть, что улучшить:
- укоротить все кабели - теперь, когда понятно, как оно всё сидит в корпусе, надо сделать их минимально необходимыми
- всё-таки заэкранировать видеосигнал - сейчас-то просто все провода к камере перевиты в один жгутик
- сделать отключение тактовой частоты SPI - когда я с SD-картой разбирался, сделал в соответствие с её рекомендацией, где тактовая частота не прерывается никогда. А она у меня "излучает" отовсюду - идёт одновременно на 3 устройства - "медленный" АЦП, Ethernet-контроллер и на SD-карточку, причём последнее - через ту же плату, и там довольно длинные перемычки, возможно именно оно и "фонит".

Ну и попробовал наконец-то получить изображение с мишенью ближней дистанции. Так оно всё выглядело:
IMG20201023185455.jpg

Условия ну ни разу не тепличные: весь свет включён (а он ещё и с пульсацией 50 Гц, старые добрые "лампы дневного света" с обычными дросселями), "прибор" стоит на БЕЛОМ столе и упирается одним боком в БЕЛЫЙ принтер. На переднем плане бутылки, завёрнутые в белый полиэтилен, который хорошо так бликует. Тем не менее, прибору на всё остальное плевать, кроме этой мишени, см картинку в начале поста! Ну да, белый стол и принтер никуда не делись, это совсем "под дых", но вот всё остальное скрылось. Чисто за счёт красного светофильтра и ИК светодиодов, с которых в итоге отражённый сигнал гораздо ярче всего остального.

Вот ещё картинка (чуть по-другому поставил всё это барахло):


На фоне кресла, между прочим с хромированными подлокотниками, и на горе оргтехники.

Да, окромя наводки меня ещё раздражает "ступенька" по горизонтали. Я так понимаю, это срабатывает диод "восстановления уровня чёрного", а вот программного восстановления я пока ещё не делаю - выдаю на компьютер совсем "сырые данные".

Ну и экспозицию надо подрегулировать - слишком толстые получаются пятна, практически накладываясь друг на друга - так их неудобно будет выделять!

Но всё-таки, начало положено...
Tags: ПЛИС, программки, работа, странные девайсы
Subscribe

Recent Posts from This Journal

  • Нахождение двух самых отдалённых точек

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

  • Слишком общительный счётчик

    Вчера я чуть поторопился отсинтезировать проект,параметры не поменял: RomWidth = 8 вместо 7, RamWidth = 9 вместо 8, и ещё EnableByteAccess=1, чтобы…

  • Балансируем конвейер QuatCore

    В пятницу у нас всё замечательно сработало на симуляции, первые 16 миллисекунд полёт нормальный. А вот прошить весь проект на ПЛИС и попробовать "в…

  • Огари разговаривают

    Сегодня по пути на работу встретил огарей прямо в Лосином острове, на берегу Яузы. Эти были на удивление бесстрашны, занимались своими делами, не…

  • Ковыряемся с сантехникой

    Наконец-то закрыл сколько-нибудь пристойно трубы, подводящие к смесителю, в квартире в Москве: А в воскресенье побывал на даче, там очередная…

  • Мартовское велосипедное

    Продолжаю кататься на работу и с работы на велосипеде, а также в РКК Энергию и на дачу. Хотя на две недели случился перерыв, очередная поломка,…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 17 comments

Recent Posts from This Journal

  • Нахождение двух самых отдалённых точек

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

  • Слишком общительный счётчик

    Вчера я чуть поторопился отсинтезировать проект,параметры не поменял: RomWidth = 8 вместо 7, RamWidth = 9 вместо 8, и ещё EnableByteAccess=1, чтобы…

  • Балансируем конвейер QuatCore

    В пятницу у нас всё замечательно сработало на симуляции, первые 16 миллисекунд полёт нормальный. А вот прошить весь проект на ПЛИС и попробовать "в…

  • Огари разговаривают

    Сегодня по пути на работу встретил огарей прямо в Лосином острове, на берегу Яузы. Эти были на удивление бесстрашны, занимались своими делами, не…

  • Ковыряемся с сантехникой

    Наконец-то закрыл сколько-нибудь пристойно трубы, подводящие к смесителю, в квартире в Москве: А в воскресенье побывал на даче, там очередная…

  • Мартовское велосипедное

    Продолжаю кататься на работу и с работы на велосипеде, а также в РКК Энергию и на дачу. Хотя на две недели случился перерыв, очередная поломка,…