Регистрация импульса

Geksaedr
Offline
Зарегистрирован: 04.07.2017

Есть схема с ИК светодиодом и фототранзистром. Между ними пролетает капля и нужно этот момент как-то зарегистрироват на ардуино.
Проблема в том, что изначальный уровень освещения фототранзистра может от раза к разу отличаться, изменение интенсивности освещения при пролёте капли тоже может не совпадать.

На данный момент фототранзистор с последовательным сопротивлением 37кОм и подключенным выводом между ними на аналоговый вход ардуино даёт уровень порядка 920 при свободном освещении и может опускаться до 850 при пролёте капли.
Как организовать регистрацию этого изменения в сигнале, с учётом того, что могут изменяться обе границы и возможны шумы? И как лучше увеличить этот диапазон чувствительности в некоторых пределах от измеряемых мною значений? Может на аппаратной стороне 850 притянуть ближе к нулю, а 920 ближе 1023

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

Итересно откуда цыфры напряжения при пролёте капли, как и чем мерили? Судя по описанию цифрофого осцилоскопа у вас нет? 

Geksaedr
Offline
Зарегистрирован: 04.07.2017

Нет, это уровень сигнала на аналоговом входе при подаваемом напряжении 5В

GraninDm
Offline
Зарегистрирован: 01.08.2013

А если измерять отраженный свет от капли?

Geksaedr
Offline
Зарегистрирован: 04.07.2017

А разница? Темновой ток будет всё равно, плюс помехи останутся и сквозь канал для капель так-же будет поступать фоновое освещение.
И не совсем понятно как это сделать, так как диаметр капли меньше диаметра светодиода и фототранзистра.

SLKH
Offline
Зарегистрирован: 17.08.2015

Geksaedr пишет:
Нет, это уровень сигнала на аналоговом входе при подаваемом напряжении 5В

Уровень сигнала на входе в каких попугаях? AnalogRead?

При пролете? или при медленном перемещении имитации капли?

 

 

 

 

 

Geksaedr
Offline
Зарегистрирован: 04.07.2017

AnalogRead
Именно при пролёте

GraninDm
Offline
Зарегистрирован: 01.08.2013

Ну вы же не написали что у вас за установка.

Стабильность размера капель и т.д?

Прозрачность?

Каплю можно использовать как линзу.

Мало информации...

Тогда лучше поставить компаратор и выход завести на цифровой вход.

И линзы для фокусировки никто не отменял.

Geksaedr
Offline
Зарегистрирован: 04.07.2017

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

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

В готовом изделии может и можно будет усовершенствовать оптику, но сейчас это не нужно и не поможет с моим вопросом.

Какая нужна информация, кроме той, что у меня есть некий фоновый сигнал с временными провалами, которые мне надо использовать как триггер? При этом надо учитывать, что величина фонового сигнала и величина изменения могут меняться при каждом новом запуске. Ещё есть шумы, но я уже нашёл простой способ фильтрации для низкочастотных сигналов.

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

Капля быстро летит, а аналогреад медленный, и не факт что мерил он как раз в момент когда капля была напротив фототранзистора, система не синхронна. Ну да ладно. 

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

Для компенсации засветки на 5-й пин надо подавать напряжение не с регулятора, а с самой ардуино - отфильтрованый ШИМ или с ЦАПа. Интересная система коррекции могла бы получиться.

Geksaedr
Offline
Зарегистрирован: 04.07.2017

То есть мне нужно найти способ задать сигнал с которым сравниваю?
А разница по сравнению со сравнением внутри самой ардуино? Зачем на компаратор что-то подавать?

GraninDm
Offline
Зарегистрирован: 01.08.2013

Может тогда ультразвуковой датчик лучше использовать?

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

Geksaedr пишет:
То есть мне нужно найти способ задать сигнал с которым сравниваю? А разница по сравнению со сравнением внутри самой ардуино? Зачем на компаратор что-то подавать?

Подумайте сначала, и вопросов меньше будет. С какой скоростью капля летит? Как быстро меряет аналогРеад? Тогда станет понятно зачем компаратор, выход с него на атачИнтеррапт (attachInterrupt())  - гугле подскажет с чем его едят.

Geksaedr
Offline
Зарегистрирован: 04.07.2017

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

Ультразвук бы не хотелось использовать, по крайней мере пока, уже всё собрано так.

Пока хочется на программном уровне найти способ обнаружения сигнала некоторой (допустим даже приблизительно известной) формы на фоне постоянного сигнала, но заранее не известной величины

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

Geksaedr пишет:
AnalogRead справляется, капля недалеко от пипетки регистрируется, изменение сигнала всегда видно. Ультразвук бы не хотелось использовать, по крайней мере пока, уже всё собрано так. Пока хочется на программном уровне найти способ обнаружения сигнала некоторой (допустим даже приблизительно известной) формы на фоне постоянного сигнала, но заранее не известной величины

Что аналогРеад (что ультразвук) работают на периодической основе, по запросу от оператора таймера и т.д. и т.п. Они не мониторят сигнал непрерывно. Т.е. измерения аналогРеад могут стартануть до того как капля в фокусе или после как пролетела. Вам нужно устройство которое мониторит непрерывно, и после регистрации события запоминает факт наличия импульса до тех пор пока ардуина это не посчитает как пульс.  Вариантов много, но компаратор с атачинтераптом самой простой, там компаратор непрерывно мониторит а атачинтерапт запоминает, 'залипает' пока не посчитано.

А каплю нельзя на пиезо пищалку уронить, там и без компаратора могло бы получиться

Geksaedr
Offline
Зарегистрирован: 04.07.2017

Спасибо, понял наконец про компаратор, я дурной. Но это не меняет темы - как из неизвестного сигнала найти тот, с которым сравнивать. Наверное это из области обработки сигналов уже, а не программирования.

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

Так же как и  новую мебель выбирают, сравнивают длину-ширину с размером квартиры. Для импульса это будет магнитуда и время сравнительно с эффектом капли на ИК поглощение и скоростью её пролёта соответственно

ulis
ulis аватар
Offline
Зарегистрирован: 09.03.2011

Geksaedr пишет:
Есть схема с ИК светодиодом и фототранзистром. Между ними пролетает капля и нужно этот момент как-то зарегистрироват на ардуино. Проблема в том, что изначальный уровень освещения фототранзистра может от раза к разу отличаться, изменение интенсивности освещения при пролёте капли тоже может не совпадать. На данный момент фототранзистор с последовательным сопротивлением 37кОм и подключенным выводом между ними на аналоговый вход ардуино даёт уровень порядка 920 при свободном освещении и может опускаться до 850 при пролёте капли. Как организовать регистрацию этого изменения в сигнале, с учётом того, что могут изменяться обе границы и возможны шумы? И как лучше увеличить этот диапазон чувствительности в некоторых пределах от измеряемых мною значений? Может на аппаратной стороне 850 притянуть ближе к нулю, а 920 ближе 1023

Это инженерная задача, а не программная, и ее решение, старо, как мир. Три варианта на вскидку:

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

2. фронт света перепендикулярен фотодатчику, который смотрит на черную поверхность. Пролетая, капля освещается и датчик это улавливает. Для увеличения чуствительности опять же желательна оптическая система

3. простейший интерферометр (даже из лазерной указки). Капля, проходя через один из разделенных пучков изменяет дифракционную картинку

SLKH
Offline
Зарегистрирован: 17.08.2015

ulis пишет:

 

Это инженерная задача, а не программная, и ее решение, старо, как мир. Три варианта на вскидку:

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

2. фронт света перепендикулярен фотодатчику, который смотрит на черную поверхность. Пролетая, капля освещается и датчик это улавливает. Для увеличения чуствительности опять же желательна оптическая система

3. простейший интерферометр (даже из лазерной указки). Капля, проходя через один из разделенных пучков изменяет дифракционную картинку

Намногого проще:

4. Фотоприемник помещается в один из торцов трубки, черной внутри. Второй открытый торец смотрит на светодиод и/или каплю. Далее - компаратор и потом уже всякая логика.

 

SLKH
Offline
Зарегистрирован: 17.08.2015

Geksaedr пишет:
Спасибо, понял наконец про компаратор, я дурной. Но это не меняет темы - как из неизвестного сигнала найти тот, с которым сравнивать. Наверное это из области обработки сигналов уже, а не программирования.

это до обработки: напряжение с выхода фотоприемника компаратор сравнивает с экспериментально подобранным напряжением делителя.

ulis
ulis аватар
Offline
Зарегистрирован: 09.03.2011

SLKH пишет:

Намногого проще:

4. Фотоприемник помещается в один из торцов трубки, черной внутри. Второй открытый торец смотрит на светодиод и/или каплю. Далее - компаратор и потом уже всякая логика.

Попробуйте расчитать приблизительно какой процент светового потока будет перекрыт в вашем простом варианте?

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

Geksaedr пишет:
Пока хочется на программном уровне найти способ обнаружения сигнала некоторой (допустим даже приблизительно известной) формы на фоне постоянного сигнала, но заранее не известной величины

Второе плечо компаратора посадить на другой фототранзистор, он будет задавать уровень фона.

 

SLKH
Offline
Зарегистрирован: 17.08.2015

ulis пишет:

SLKH пишет:

Намногого проще:

4. Фотоприемник помещается в один из торцов трубки, черной внутри. Второй открытый торец смотрит на светодиод и/или каплю. Далее - компаратор и потом уже всякая логика.

Попробуйте расчитать приблизительно какой процент светового потока будет перекрыт в вашем простом варианте?

для непрозрачной капли: 100%.

ulis
ulis аватар
Offline
Зарегистрирован: 09.03.2011

Geksaedr пишет:
А разница? Темновой ток будет всё равно, плюс помехи останутся и сквозь канал для капель так-же будет поступать фоновое освещение. И не совсем понятно как это сделать, так как диаметр капли меньше диаметра светодиода и фототранзистра.

И в догонку, вместо фототранзистора попробовать использовать модуль OPT101

ulis
ulis аватар
Offline
Зарегистрирован: 09.03.2011

SLKH пишет:

SLKH пишет:

Намногого проще:

4. Фотоприемник помещается в один из торцов трубки, черной внутри. Второй открытый торец смотрит на светодиод и/или каплю. Далее - компаратор и потом уже всякая логика.

Попробуйте расчитать приблизительно какой процент светового потока будет перекрыт в вашем простом варианте?

для непрозрачной капли: 100%.

Ну, если капля непрозрачна и не отражает ничего и аппертура трубки меньше размера капли и траектория одна и таже - то вы правы на 90%

Клапауций 112
Клапауций 112 аватар
Offline
Зарегистрирован: 01.03.2017

а, кто и чем замерял прозрачность капли для инфракрасного излучения?

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

Гы,

Цитата:
 Скорость падения дождевых капель диаметром 0,5 мм на уровне моря и без ветра составляет от 2 до 6,6 метров в секунду, в то время как капли диаметром 5 мм имеютскорость от 9 до 30 метров в секунду.  

nik182
Offline
Зарегистрирован: 04.05.2015

Ну и продолжить- от 9 до 30 милиметров за милисекунду. При размере капли 5 мм время пролета мимо датчика от 500 до 170 микросекунд. За это время надо оцифровать, сравнить и принять решение о наличии капли.
По алгоритму - используйте для анализа разность между двумя измерениями. Определите порог дребезга без капель. Если разность положительна и больше порога - капля началась, если отрицательна - кончилась. Разность не зависит от текушего значения детектора.

SLKH
Offline
Зарегистрирован: 17.08.2015

Клапауций 112 пишет:

а, кто и чем замерял прозрачность капли для инфракрасного излучения?

Дык... ТС же ничего не пишет про капли: прозрачность, размеры, скорость и т.д. 

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

Geksaedr
Offline
Зарегистрирован: 04.07.2017

Какие дождевые капли на уровне моря? У меня растворы с красителями на уровне конца пипетки. Пока без краситклей. Фототранзистр в корпусе с линзой 3мм, капля прозрачная 3мм, ИК светодиод 5мм, всё в пластиковых непрозрачных трубках длиной 5см. Повысив сопротивление в цепи фототранзистра до 74кОм удалось получить уровень сигнала при постоянном освещении в 450 и при пролёте капли до 850 в пике (изначально ошибся, написав, что уровень падает при пролёте).
Странно, что при постоянном выводе данных с AnalogRead на каплю приходятся всего 1-2 значения, а если поставить вывод только при привышении некоторого уровня, то 10 значений. Это как-то связано с буфером при отправке, что оно начинает тормозить?

nik182
Offline
Зарегистрирован: 04.05.2015

Конечно тормозит. Посчитайте время посылко одного символа и умножте на длину строки.

Geksaedr
Offline
Зарегистрирован: 04.07.2017

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

nik182
Offline
Зарегистрирован: 04.05.2015

Вы не приводили кода. Я не могу знать, как у вас устроена прграмма.  Если отправка в цикле - то ничего не теряется, а только тормозит. Я обычно ставлю скорость 115200 и с ней тоже тормозит отправка, но не так критично.