Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Динамический опрос матрицы фотодиодов
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Artos5
Добрый день уважаемые форумчане !
Возникла необходимость читать состояние фотодиодов (по аналогии чтения клавиатурной матрицы) при помощи фотодиодов.
Количество фотодиодов огромное 7х7 штук.
Есть ли какие то подводные камни при реализации данной задачи? Есть тот кто делал подобное?
Заранее всем спасибо!
С уважением Артем
kovigor
Цитата(Artos5 @ Sep 1 2014, 17:42) *
Количество фотодиодов огромное 7х7 штук.
Есть ли какие то подводные камни при реализации данной задачи? Есть тот кто делал подобное?

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

http://habrahabr.ru/post/128972/

Еще вариант - механически двигать линейку из семи фотодиодов. Например, с помощью шагового двигателя, как в сканнере. Кстати, механику можно взять от него же ...

Кстати, а для чего это вам нужно, если не секрет ?
Artos5
я планировал использовать в фотодиодном режиме. Коммутацию выполнять переключая выходы (строки) в 0 - если надо считать . в HI-Z - если читать строку не надо . А столбец читать при помощи АЦП. Как то так...
Скорость сканирования всех строк нужна до 30Гц .
kovigor
Цитата(Artos5 @ Sep 1 2014, 18:23) *
я планировал использовать в фотодиодном режиме. Коммутацию выполнять переключая выходы (строки) в 0 - если надо считать . в HI-Z - если читать строку не надо . А столбец читать при помощи АЦП. Как то так...
Скорость сканирования всех строк нужна до 30Гц .

Мышка не подойдет ?
Artos5
Если сенсор мышки воспримет инфракрасное излучение - то подойдет. Я думаю что воспримет.
Есть такие сенсоры в свободной продаже? Устройство планируется в дальнейшем серийно выпускать . Нужно чтобы такой сенсор был доступен в магазинах...
jcxz
Изобретаете ИК ПЗС-матрицу? Почему не подходит готовая?
Artos5
Да, что то в этом духе sm.gif
Нужна скорость считывания. Нужно не большое разрешение матрицы . Достаточно 7х7 точек , лучше - если 16х16 точек .
Готового в продаже не нашел..... только камеры с бешеным разрешением... от 0.1 мегапиксела , это избыточно...

Вот так как то представляю все это чудо sm.gif :

Только на схеме отобразил всего 3х3 точки для лучшего понимания идеи.
jcxz
А каков источник света? Оптика (линзы) нужна?

Цитата(Artos5 @ Sep 1 2014, 21:51) *
Готового в продаже не нашел..... только камеры с бешеным разрешением... от 0.1 мегапиксела , это избыточно...

Ну - ломать - не строить. Убрать лишнее, загрубить не сложно. Выбираете из готового кадра пиксели с некоторым шагом и всё.
_pv
Цитата(jcxz @ Sep 1 2014, 22:05) *
Ну - ломать - не строить. Убрать лишнее, загрубить не сложно. Выбираете из готового кадра пиксели с некоторым шагом и всё.

тем более что ПЗС позволяют аппаратный биннинг пикселей, когда заряд хоть из всей строки можно скинуть в выходную ячейку оцифровать только один раз суммарный заряд, ну или 16 раз если 16х16 пикселей надо, то же самое и по вертикали, что скорость вычитывания матрицы заметно увеличивает.
сколько кадров в секунду надо?
Artos5
Цитата(_pv @ Sep 1 2014, 19:30) *
сколько кадров в секунду надо?


До 30 кадров в секунду. Но надо чтобы "тянул" дешевый проц это все.
_pv
Цитата(Artos5 @ Sep 1 2014, 22:31) *
До 30 кадров в секунду. Но надо чтобы "тянул" дешевый проц это все.

выхватить данные с КМОП сенсора большого (VGA) разрешения и усреднить их налету чтобы 16х16 только осталось, сможет любой дешевый МК.
на АВР даже были поделки которые какие-то простые формы по цветам на картинке различали.
а тут на форуме Rst7 проект захвата видео сигнала и сжатия в jpeg выкладывал на atmega16, а для stm32f100 так тем более не проблема.

а вот ПЗС сенсорам еще несколько напряжений питания потребуется да и дороже они.

возможно лучше действительно мышинные сенсоры посмотреть вроде ADNS-2610, спектральная чувствительность вроде обычная для камер, 30% на 900нм,
интерфейс просто i2c,
правда разрядность данных у этого конкретного сенсора 6 бит только, да и fps 5 кадров/секунду всего, но это из-за кривого способа вычитывания сырых данных, должны быть и другие сенсоры, с более вменяемым способом вычитывания сырых данных.
Artos5
Вы не понимаете ... (а может и я sm.gif )
На фотодиодах выгоднее еще тем , что площадь матрицы будет большая без применения линз.
Давайте все таки обсудим применение фотодиодов.

Задача такая:
воспринимать мощный инфракрасный луч на расстоянии около 1.5 км. и видеть в какой области сенсора он находится.
разрешения хватит думаю и 4 бита.

думаю заказать такие диоды: http://www.kosmodrom.com.ua/pdf/VEMD20.pdf
Golikov A.
а правильно ли я понимаю что в этом режиме вам не нужно знать сколько, надо просто 1 или 0?

Вариант все диоды через компаратор на ножки проца, второй уровень на компараторе можно сделать динамическим, повышать его пока не останется 1 диод, который и определить где луч. Вместо нескольких АЦП, один ЦАП, а то и что-то на резисторах. И читать данные в параллель...
Artos5
Что то я не до понял..... Можете подробнее рассказать?
выше я схему приводил. По такому принципу хочу сделать матрицу.
Вы правильно поняли: мне надо по сути фиксировать 1 или 0 .
Но из за температурной нестабильности элементов, напряжение на выходе фотодиода будет уплывать .. поэтому нужен АЦП, и им сканировать матрицу.
kovigor
Цитата(Artos5 @ Sep 1 2014, 21:47) *
воспринимать мощный инфракрасный луч на расстоянии около 1.5 км. и видеть в какой области сенсора он находится.

Луч лазерный (а иначе говорить о его попадании на определенную область сенсора, думаю, нет смысла) ? Если да, то задача вовсе не в этом. Вам нужно прежде всего ПОПАСТЬ этим лучом в ваш приемник, а затем - удержать его в поле зрения приемника. Вот это - задача так задача. На таком расстоянии любая вибрация передатчика уведет луч в сторону. А вибрация будет. Проехал по улице грузовик - вот вам и вибрация sm.gif
jcxz
Резисторы R1-R3 подключите не к +V, а к 3-м GPIO-выводам. Подаёте на них бегущую лог.1 (на остальных двух - 3-е состояние) - т.е. запитываете только одну строку диодов.
Далее - там где у вас показано SWITCH - на три входа АЦП.
Или на три компаратора (если вам нужен только уровень срабатывания), сигналы с них - на GPIO.
Тогда вам не нужно никаких доп. мультиплексоров.
Надеюсь понятно объяснил.

Цитата(kovigor @ Sep 2 2014, 02:58) *
Луч лазерный (а иначе говорить о его попадании на определенную область сенсора, думаю, нет смысла) ? Если да, то задача вовсе не в этом. Вам нужно прежде всего ПОПАСТЬ этим лучом в ваш приемник, а затем - удержать его в поле зрения приемника. Вот это - задача так задача. На таком расстоянии любая вибрация передатчика уведет луч в сторону. А вибрация будет. Проехал по улице грузовик - вот вам и вибрация sm.gif

Раз задача поставлена именно таким образом, значит луч УЖЕ попал. И нужно УЖЕ только определять когда этот грузовик (а может быть - танк?) проезжает (т.е. - величину отклонения луча при некотором воздействии на систему).
К гадалке не ходи: первоначально наверняка производится калибровка с центровкой луча по полю.
Да и кто сказал что там есть грузовики? Может это прибор для фиксации сейсмических колебаний в отдалённом районе?

PS: А насчёт оптики и линз я Вас не зря спрашивал. Так и предполагал что у вас лазер скорей всего.
И зря не рассматриваете вариант с камерой. У дискретных диодов наверняка есть разброс характеристик от диода к диоду. А значит из-за этого может быть большая погрешность в определении положения луча
(у вас же будет не точечный приём, а некотрое пятно (даже лазер через 1.5км рассеивается)).
Для вашей задачи можно предложить такое:
Луч лазера попадает на экран. Камера фиксирована относительно экрана и смотрит на этот экран (в отражённом свете, либо матовый экран на просвет).
На экран нанесены (чёрные/цветные) метки (решётка) для калибровки исходного положения луча (установка 0).

PPS: 1.5км как я понимаю - вполне себе прицельная дальность для танковой пушки или противотанковых средств. Чьи танки собираетесь лазером подсвечивать - сепаратистские или укропские?
Ахтырка за кого?
Artos5
Доброе утро всем! Заказчик из Донецка. В ходе общения выяснилось что он на стороне ополчения. То что это будет применяться не в мирных целях - даже не думал. Заказчику дам отказ, я не собираюсь уничтожать чьи то жизни.
ПС: г.Ахтырка , 99% населения на стороне украинского правительства.
Golikov A.
sm.gif смешно...
Вы что думаете сделать прибор за неделю, или думаете что через пол года там ничего не кончится?
Даже если вы сделаете, то пока серия и прочее... мы уже с голоду перемрем и воевать некому будетsm.gif
Да и ваще немного смешная поделка для военных целей если честно, скорее это система индикации отклонения объекта. Мы что-то подобное придумывали для дистанционного контроля целостности объектов. Правда у нас светили диодики, а принимала камера, изменение положения точек - деформация объекта.

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

Но тут много проблем. Солнце, блики, попадение луча в 2 диода, не попадение ни в какой, надо сделать огромное количество тестов...



Artos5
Цитата(Golikov A. @ Sep 2 2014, 09:07) *
sm.gif смешно...
Вы что думаете сделать прибор за неделю, или думаете что через пол года там ничего не кончится?
Даже если вы сделаете, то пока серия и прочее... мы уже с голоду перемрем и воевать некому будетsm.gif
Да и ваще немного смешная поделка для военных целей если честно, скорее это система индикации отклонения объекта.


Да , может и так sm.gif
В домашних условиях практически невозможно сделать что то весьма серьезное .
По поводу контроля отклонения объекта - тоже реально, так как он утверждал что луч будет "бить" с другой стороны, а не со стороны приёмника..
Значит буду делать.
jcxz
Цитата(Golikov A. @ Sep 2 2014, 12:07) *
Но тут много проблем. Солнце, блики, попадение луча в 2 диода, не попадение ни в какой, надо сделать огромное количество тестов...

Солнце с посторонними засветками убирается расположением приёмника на дне приёмной трубы (чёрной трубы).
И через 1.5км даже у лазерного луча будет уже не точка, а некоторое пятно на приёмной плоскости (рассеяние даже у лазера не нулевое).
И при анализе надо будет определять границы и центр данного пятна.
Golikov A.
Именно по этому надо использовать не 4 диода, а матрицу, и желательно многопиксельную.
Там достаточно малые отклонения можно определить по сабпиксельным расчетам.

Мы солнце блики и прочую байду планировали убирать ночными измерениями) Но у нас как бы не приемник луча, а съемка картинки, потому у нас и листики и прочее лезло в кадр, и трубой не закрыться. В случае лазера может быть, Можно диоды разнести в стороны сделать их 7 штук.
Один в центре, остальные 6 по кругу на каком-то расстоянии, может так получиться, проверять все это надо....

jcxz
Если даже источник и приёмник намертво закреплены на каких-то конструкциях, то есть ещё температурный дрейф из-за температурной деформации несущих конструкций.
Так что это тоже надо учитывать.
Artos5
Система я так понял будет иметь привод , который будет подстраиваться под луч (вернее луч будет иметь привод) , который будет приходить с другой стороны.
Я с фотодиодом работал раньше, довольно хорошо работали, не было не смещений ни помех. Но я сигнал фотодиода усиливал хорошим операционным усилителем: AD8552. Система та разрабатывалась для определения уровня освещенности в % .
А тут много каналов надо , и хочу сразу на АЦП подавать ...
Artos5
Сегодня уточнил ТЗ. инфракрасный датчик будет на расстоянии 3-4м будет отражаться от пластины (типа датчика положения) . Все это , по его утверждению , для видеонаблюдения . Странно все как то... sm.gif вчера он говорил что расстояние от датчика к приемнику 1.5км. и сигнал будет очень слабым...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.