Регистрация 50 сигналов.

vshurik
Offline
Зарегистрирован: 30.12.2017

Всем добрый день! Поскажите, пожалуста!!!

Имеется 50 фототранзисторов и 50 лазеров (грубо говоря лазерная сетка). Нужно при пролете объекта фиксировать какие фоторанзисторы сработали, время иппульса от сработки фоторанзистора от 20.

Чем можно это регистрировать?

Пока рассматриваю Arduino Due, но занимать 50 входов думаю расточительство, при чем на все входа надо сатвить прерывание. Есть ли какое нибудь более карсивое решение.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

А задача какова?

vshurik
Offline
Зарегистрирован: 30.12.2017

Определть высоту пролетания оьъекта. Шаг фоторанзисторов и лазеров 10 мм. Т.е если сработал 1-ый то высота 10мм, 2-20мм и тд.

Обьект диаметром 10мм, может и 2 фототр. перекрыить, тогда если 2 и 3 , то высота 25мм

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Вы не поняли, я спросил какова задача? И спросил потому, что есть сильное подозрение, что Вы не с того конца к ней подходите. А Вы мне начали расписывать как Вы её планируете решать. Не надо про решение - задачу опишите.

Вам нужно имзерить высоту пролёта пули над "столом" или скорость пули?  Или ещё чего измеряеете? Если высоту, то есть основания ожидать, что скорость всегда ожинаковая? Напишите толково и заодно напишите практически пределы измеряемых величин.

vshurik
Offline
Зарегистрирован: 30.12.2017

Именно ВЫСОТУ!!!

Для определния скорости у меня есть уже установка, собрана на Arduino Due, и в ней используется всего два фототранзистора и два линейных осветителя ...Но это другая тема.

Скорость пролета не постоянная от 250 до 500 м/с.

По эксперементам, минимальный сигнал с фототранзистора гдето 20 мкс.

vshurik
Offline
Зарегистрирован: 30.12.2017

P.S. Меня больше интересует, есть ли что-то типа RS-тригеров многоканальных(в идеале 50 входов), которые бы потом по какой нибудь связи передавали ардуино какие входа сарботали.

В инетернете нашел сдвиговый регистр 74HC595. 

Это то? или я не правильно думаю?

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

vshurik пишет:

 сдвиговый регистр 74HC595. Это то? 

Нет. 

vshurik
Offline
Зарегистрирован: 30.12.2017

ошибся, вот этот имел ввиду 74hc165

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

нет, и он так как Ви хочете не работает

 

vshurik
Offline
Зарегистрирован: 30.12.2017

Вроде он имеет 8 входов, подключаю (пусть пока 8 фототразисторов) на эти входа. Например перекрывается 3 и 4 фототранзистор. Соответсвенно на 3 бит регистра запишитеся "1" и на  4 бит-"1" и будет хранить пока не начтну считывать. (биты считаю с 1, а не 0 для удобства)

А потом последовательно считываем все восемь бит, 3 и 4 бит будут "1", значит сработали 3 и 4 фототр. Я так поянл логику работы 74H165.

Поправте, пожалуста, если я гдето не понял правильно.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

vshurik пишет:

Соответсвенно на 3 бит регистра запишитеся

...

Штоп что-то записалось, нужно за ножку защелкивания (PL ) дернуть.... иначе откуда ему знать, в какой момент записывать? Это как кнопка на фотике ;)

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

вопщем, защелкивать и читать надо быстрее, чем летит снаряд.  нереальна. 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

для защелкивания придуман ассинхронный RS тригер. Это CD4043 там их 4 в корпусе. Может есть и по 8 в корпусе... что-то не припомню.

Итого 50... ну пусть 48... /4 = 12 + 6 тех самых сдвиговых с параллельной загрузкой. Ну и к тригеру и фототранзитору - какая-то обвязка... Типа много паять придеццо. Но

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

vshurik пишет:

Скорость пролета не постоянная от 250 до 500 м/с.

А в момент, когда измеряется высота, скорость известна? Её значение можно использовать для расчёта высоты? Если нельзя, то чуть сложнее получается.

И ещё вопрос, снаряд ферромагнитный?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

ну и конечно стоит добавить, что ПЗС линейка на 128 позиций УЖЕ с объективом и в корпусе... только  подключить и сделать линейное освещение... стоит на Али 1600 рублей. Но мы ж не ищем легких путей! ;) (ищем по словам ccd linear... но помним о 11.11 и задирании цен... подождать придется окочания псевдораспродажи)

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

vshurik пишет:
Всем добрый день! Поскажите, пожалуста!!! Имеется 50 фототранзисторов и 50 лазеров (грубо говоря лазерная сетка). Нужно при пролете объекта фиксировать какие фоторанзисторы сработали, время иппульса от сработки фоторанзистора от 20. Чем можно это регистрировать? Пока рассматриваю Arduino Due, но занимать 50 входов думаю расточительство, при чем на все входа надо сатвить прерывание. Есть ли какое нибудь более карсивое решение.

Определть высоту пролетания оьъекта. Шаг фоторанзисторов и лазеров 10 мм. Т.е если сработал 1-ый то высота 10мм, 2-20мм и тд. Обьект диаметром 10мм, может и 2 фототр. перекрыить, тогда если 2 и 3 , то высота 25мм

Именно ВЫСОТУ!!! Для определния скорости у меня есть уже установка, собрана на Arduino Due, и в ней используется всего два фототранзистора и два линейных осветителя ...Но это другая тема. Скорость пролета не постоянная от 250 до 500 м/с. По эксперементам, минимальный сигнал с фототранзистора гдето 20 мкс.

Получается Вам нужна "линейка" в 50 делений с шагом 10мм, итого полметра. То есть задача выглядит примерно так:

Требуется определить высоту пролета быстролетящего объекта диаметром 10мм в полосе высотой 500мм с примерной скоростью пролета 250-500м/сек. Как проще и точнее определить высоту пролета?

Не ошибся? Какова "ширина" канала пролета? (А в целом задачка не из простых и ПЗС-линейками тут "не отделаться")

ИМХО, смотреть лучше в сторону единого осветителя (если уж работать "на просвет") и требуемую кучку детекторов или какой-то "широкоугольный" вариант приемника с определением позиционирования .. ПЗС линейка, но с правильным объективом и щелевая подсветка по всей высоте пролета.

Далее, если приемники "оцифровывать" со своим "весом" по высоте, то можно получить а-ля АЦП, с одним входом, где значение будет "вес приемника" по высоте. Скажем самый верхний - выдает 50, следующий 49 .. и т.д. .. в этом случае на входе будет некая чиселка - "номер мработавшего приемника" - чем меньше - тем ниже.

Как вариант: 50 фототранзисторов засвечиваются единой щелевой лампой, каждый подключен к "триггерному ОУ", который при изменении освещенности "защелкивает" свое состояние и далее все выходы собираются на мажоритарный элемент или мультиплексор. Результат уже на обработку. Как-то так, наверное.

 

vshurik
Offline
Зарегистрирован: 30.12.2017

ЕвгенийП пишет:

vshurik пишет:

Скорость пролета не постоянная от 250 до 500 м/с.

А в момент, когда измеряется высота, скорость известна? Её значение можно использовать для расчёта высоты? Если нельзя, то чуть сложнее получается.

И ещё вопрос, снаряд ферромагнитный?

скорость неизветсна, снаряд не феромагнитный (резина)

vshurik
Offline
Зарегистрирован: 30.12.2017

wdrakula пишет:

для защелкивания придуман ассинхронный RS тригер. Это CD4043 там их 4 в корпусе. Может есть и по 8 в корпусе... что-то не припомню.

Итого 50... ну пусть 48... /4 = 12 + 6 тех самых сдвиговых с параллельной загрузкой. Ну и к тригеру и фототранзитору - какая-то обвязка... Типа много паять придеццо. Но

Тогда проще и дешевле задейсвовать 50 входов Arduino due.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

vshurik,  все 50 сигналов заводятся на 50 пинов .  В цикле опрашиваются целиком порты, если где-то есть поднятый битик -то запустить соответствующие процедуры. :)

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

dimax пишет:

vshurik,  все 50 сигналов заводятся на 50 пинов .  В цикле опрашиваются целиком порты, если где-то есть поднятый битик -то запустить соответствующие процедуры. :)

Там, как понимаю, "засада" в скорости пролета. 500м/сек это 0.5мм в микросекунду или 10мм за пороговые 20мксек самого фототранзистора. То есть, за цикл "опороса" резиновая пулька пролетит мимо датчика и тот только "икнуть" успеет и не факт что порт это заметит. Нужно триггерирование: "икнул" - "встал в позу" и дальше уже пофиг "хто стрелял", "хде штоматолух". Это так или иначе, но придется выводить "за" ноги ардуино .. разве что вешать на 50 портов с прерыванием на каждом, но КМК столько нету..

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Arhat109-2, ну у топик стартера вроде есть Due, на ней можно прерывание на каждую ногу повесить. Всяко лучше чем 50 триггеров городить )

vshurik
Offline
Зарегистрирован: 30.12.2017

dimax пишет:

vshurik,  все 50 сигналов заводятся на 50 пинов .  В цикле опрашиваются целиком порты, если где-то есть поднятый битик -то запустить соответствующие процедуры. :)

Если честно, на arduino promini порты читать, а тут 32 битная.

Может подскажите как?

И с какой максимальной частотой можно опросить все порты, если их чтение будет в цикле

while (flag==0) {
//читаем portA
//читаем portB
//читаем portC
//читаем portD
if (если на отном из портов есть 1) { 
//чтото делаем 
flag=0;} 
}

 

vshurik
Offline
Зарегистрирован: 30.12.2017

Если честно, на arduino promini порты читать не умею, а тут 32 битная.

Волшебник
Offline
Зарегистрирован: 22.12.2016

Ежеля 500 м/с, то быстрее звука стало быть, где-то слышал что хрень какая так летит то свистит зараза на ультразвуке. Вот по звуку, её и надо отлавливать, пару микрофонов и разность фаз. Если 3-4 мик-а, тогда и Х и У будет. 

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

7 НАНО ( 8 х 7 = 56 pinchange interrupts), потом их спросить:
Кто-нибудь что-то видел? Расскажи!

vshurik
Offline
Зарегистрирован: 30.12.2017

trembo пишет:
7 НАНО ( 8 х 7 = 56 pinchange interrupts), потом их спросить: Кто-нибудь что-то видел? Расскажи!

Все равно проще взять  DUE.

 

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

А у Дуэ есть 50 ног для такой задачи? (там жеж ещё какой-то "обвес" понадобится скорее всего)

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Дак у ней же вроде 54 цифровых ноги + 12 аналоговых. 

Не помню, работает ли PCINT на аналоговых, или нет. 

Да и пошустрее она всё-же

vshurik
Offline
Зарегистрирован: 30.12.2017

Волшебник пишет:

Ежеля 500 м/с, то быстрее звука стало быть, где-то слышал что хрень какая так летит то свистит зараза на ультразвуке. Вот по звуку, её и надо отлавливать, пару микрофонов и разность фаз. Если 3-4 мик-а, тогда и Х и У будет. 

основной диапозон скоростей от 250 м/с до 400м/с.

Хорошая зауковая ударная волна от пули (конус маха) для регистрации датчика, по моим эксперементам возникает примерно при 380 м/с.

Есть эксперментальная установка с четырмя аккустическими датчиками, но получатеся ошибка в 20мм, пока не могу разобратся из-за чего(или математика или не точность регистрации ращности фаз).

Может есть где формулы для расчета посмотреть?

Волшебник
Offline
Зарегистрирован: 22.12.2016

vshurik пишет:

Есть эксперментальная установка с четырмя аккустическими датчиками, но получатеся ошибка в 20мм, пока не могу разобратся из-за чего(или математика или не точность регистрации ращности фаз).

Может есть где формулы для расчета посмотреть?

Формула там из геометрии для 6-го класса, арксинус называется. Железо надо хорошее, учитывая что звук "однократный", и уровень сигнал/ шум прокачать только один вариант, это очень быстро сэмплировать, 1 мспс как у ДУЕ или даже выше 3-5 мега самплов в секунду на канал. Потом БПФ и арктанг с арксинусом

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

а я, все-таки, настаиваю на ответе: а чем ПЗС линейка на 128 точек, с объективом, не подходит? Которая 1600р на Али (примерно). Для лабораторного устройства цена , вроде, нормальная? или дорого?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Киньте ссылкой о какой конкретно спрашиваете. Сильно подозреваю, что речь идет о линейках для сканеров...

vshurik
Offline
Зарегистрирован: 30.12.2017

wdrakula пишет:

а я, все-таки, настаиваю на ответе: а чем ПЗС линейка на 128 точек, с объективом, не подходит? Которая 1600р на Али (примерно). Для лабораторного устройства цена , вроде, нормальная? или дорого?

Я пока не представляю как она работает, поэтому не могу ничего сказать. Можете ссылку дать на 128 точек, а то нахожу то 7500 https://ru.aliexpress.com/item/Free-Shipping-TCD1703C-CCD-linear-imaging... , то 1024 https://ru.aliexpress.com/item/TCD132D/1883956657.html?spm=a2g0v.search0604.3.67.11be66eficTM5r&ws_ab_test=searchweb0_0,searchweb201602_3_10065_10068_319_5730215_317_5728815_10696_10084_10083_451_10618_5723515_10307_10301_5729715_5733215_5733315_328_10059_10884_10889_10887_5733115_100031_5733415_321_322_10103_10911_10910_5733515_5733615_5733015-10889,searchweb201603_1,ppcSwitch_0&algo_expid=a2c76da0-b388-4b3b-aad5-a72d06fc9ec5-10&algo_pvid=a2c76da0-b388-4b3b-aad5-a72d06fc9ec5

vshurik
Offline
Зарегистрирован: 30.12.2017

Если не сложно, опишите по простому принцип работы ПЗС линейки.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

https://ru.aliexpress.com/item/Linear-CCD-line-array-module-TSL1401-came...

Блин!!!1 НИкак не могу ссылку с Али вставить!!!!!

Какой-то глюк на Али. Адрес строку копируешь и ничего потом не открывается.... Вот что-то новое на Али... мать их китайскую!

 

TSL1401 так ищи.

vshurik
Offline
Зарегистрирован: 30.12.2017

БЛАГОДАРЮ, буду изучать.

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Arhat109-2 пишет:

Киньте ссылкой о какой конкретно спрашиваете. Сильно подозреваю, что речь идет о линейках для сканеров...

Прости мой французский, но просто иди в жопу, дурак.

Даже интересно: и гонят и банят и не любят, а ты все еще тут... почему? Из-за тебя ушел нормальный человек, а ты все еще тут, как это понимать?

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

vshurik пишет:

БЛАГОДАРЮ, буду изучать.

Да нечего изучать, просто одним импульсом запускаешь "снимок", потом по синхроимпульсам читаешь 128 АНАЛОГОВЫХ значений. Время экспозиции вполне достаточное, чтобы увидеть твою "пульку". Это как фотография, только всего 128 точек по вертикали - анализировать проще. Цепляется к ардуинке "на ура".

vshurik
Offline
Зарегистрирован: 30.12.2017

Нарисовал рисунок(если конечно правильно понимаю), что произодет при пролете пульки на одной высоте, но на разной уаленности от осветителя, получается что затенение линейки будет происходить в разных чатсях при одинаковой высоте.

vshurik
Offline
Зарегистрирован: 30.12.2017

*размеры условны

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Да, но то же самое будет на фототранзисторах. Нужно определять методику эксперимента.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Жаль, что снаряд не ферромагнитный, там всё просто и красиво получилось бы, и с хорошей точностью.

vshurik
Offline
Зарегистрирован: 30.12.2017

wdrakula пишет:

Да, но то же самое будет на фототранзисторах. Нужно определять методику эксперимента.

у каждого фототранзистора будет свой лазел, получается сетка из 50 паралельных линий. И ткт уж без проблем определяется высота с точность 5 мм.

vshurik
Offline
Зарегистрирован: 30.12.2017

ЕвгенийП пишет:

Жаль, что снаряд не ферромагнитный, там всё просто и красиво получилось бы, и с хорошей точностью.

Что за идея для феромагнитных, тоже инетресно услышать.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Выражения

vshurik пишет:
сетка из 50 паралельных линий.
и
vshurik пишет:
без проблем
кажутся совместимыми лишь до тех пор, пока Вы не попытаетесь эти параллельные линии отрегулировать и не убедитесь, что они "уходят" от каждого чиха.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

vshurik пишет:

Что за идея для феромагнитных, тоже инетресно услышать.

Если Вы намотаете электромагнит (небольшой - примерно на 5В / 0.7А - достаточно) на болт и на тот же болт посадите сенсорную катушку (у меня 12 тыс. витков провода 0.1мм). То при включённом магните, при прохождении ферромагнитного предмета вблизи от катушки, с неё будет сниматься примерно вот такой сигнал (одно прохождение - один всплеск).

Амплитуда сигнала зависит от расстояния, а крутизна - от скорости.

Две такие катушки напротив друг друга позволят по известному расстоянию между ними и соотношению амплитуд сигналов довольно точно расчитать расстояние от катушек до снаряда.

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

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

vshurik пишет:

Нарисовал рисунок(если конечно правильно понимаю), что произодет при пролете пульки на одной высоте, но на разной уаленности от осветителя, получается что затенение линейки будет происходить в разных чатсях при одинаковой высоте.

А если добавить параболическое зеркало?

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Получится гиперболоид инженера Гарина

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

vshurik, писал: "Нарисовал рисунок(если конечно правильно понимаю), что произодет при пролете пульки на одной высоте, но на разной уаленности от осветителя, получается что затенение линейки будет происходить в разных чатсях при одинаковой высоте."

Правильно понимаете. Чтобы определить высоту надо будет ставить два таких сенсора и искать горизонтальное уклонение пролета точно также.

А ещё, Вам вдогонку: фотодиоды сенсора стоят с шагом около 64мкм, чтобы Вам отследить высотную разницу в 10мм потребуется объектив с "масштабированием в 10000/64 = 150 раз. Да, сенсор интересен тем что умеет защелкивать снимок, но .. в этом разе Вам придется точно знать время сьемки, а скорость пролета у Вас .. разная от 250 до 500м/сек. Соответственно потребуется "запускающая схема", которая будет реагировать на пролет, желательно оценивать текущую скорость движения и открывать сенсор в строго нужное время. Что само по себе уже есть отдельная проблема.

Не факт, что этот сенсор лучше 50 фототранзисторов. Он не для этого предназначен..

Гриша
Offline
Зарегистрирован: 27.04.2014

TSL1401 и вообще линейки и матрицы не "прокатят". Сразу после сброса они начинают интегрировать и если пуля еще не пролетела они такого наинтегрируют... потом все 128 сигналов нужно кинуть на АЦП последовательно... это просто вагон времени...

думаю, что ТС прав про раздельные сенсоры, вот только садить их на DC триггеры будет тот еще АД по разводке.  Можно, конечно, собрать все входы по ИЛИ и испоьзовать этот сигнал как строб для захвата в регистр. Нот тут проще собрать линейку на 8 и попробовать. Тайминги - очень непростая тема в таких самоделках. 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

Ну тогда 50 RS триггеров, чтобы не нужен был защелкивающий сигнал. А с них потом считывать. Вернулись назад. Если не проводами паять, а разводить плату, то не уж много работы.

Я то думал, что коридор узкий и смещение по горизонтали несущественно, тогда линейка нормально бы сработала - и деталей меньше.