Перейти к содержимому

Open

Фотография
- - - - -

Измеритель PAR на базе датчика цвета TCS34725


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 101

#81 Igor "Boroda"

Igor "Boroda"

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 388
  • Меня зовут:Игорь

Отправлено 31 Октябрь 2021 - 12:23

Именно 1.5 метра обычного RC кабеля где каждый нечётный - земляной работает стабильно. Даже возле проводов от драйвера к светодиодам. По крайней мере при опросе два раза в секунду данные стабильны. НО. Это у меня проект собран на ардуине, а там возможно лучшая помехозащищённость из-за 5-и вольтовых уровней сигнала.


  • vahegan это нравится

#82 vahegan

vahegan

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 2 048
  • Меня зовут:Վահե
  • Откуда:Ереван

Отправлено 31 Октябрь 2021 - 12:52

Именно 1.5 метра обычного RC кабеля где каждый нечётный - земляной работает стабильно.

Под RC кабелем имеется в виду плоский кабель?

Я подумывал об использовании круглого экранированного кабеля с 3 проводами внутри экрана, с дополнительной общей ПВХ изоляцией. Такой вариант гораздо легчк будет провести через гермо-вход: круглый кабель можно провести через пластиковую трубочку чуть большего диаметра и залить герметиком. Да и механически он гораздо крепче.



#83 Igor "Boroda"

Igor "Boroda"

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 388
  • Меня зовут:Игорь

Отправлено 31 Октябрь 2021 - 13:30

Именно плоский. Под водой не использовал, т. к. пресняк да и собирал интереса ради. А вот по моему проекту собирал местный форумчанин, так у него стоит обычный кабель с 6 проводами даже без экрана(вроде) и на длине чуть больше метра то же всё работает стабильно.


  • vahegan это нравится

#84 avfv

avfv

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 583
  • Меня зовут:Андрей
  • Откуда:Санкт-Петербург

Отправлено 31 Октябрь 2021 - 13:35

Интересно, I2C будет работать без сбоев, если сигнал будет передаваться через кабель длиной 1.5 метра?

Без проблем. Я использую usb кабель, там и разъем, и экранирование. Даже если и будут иногда ошибки передачи, они ни на что не повлияют - контроллер постоянно долбит датчик, одна ошибка просто потеряется. 

 

Сам датчик интересный, можно попробовать что с ним получится. А вот с пайкой не вижу проблем, мне паять QFN даже понравилось после LQFP - меньше залипух, а паять все равно под микроскопом нужно.

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



#85 Igor "Boroda"

Igor "Boroda"

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 388
  • Меня зовут:Игорь

Отправлено 31 Октябрь 2021 - 13:40

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



#86 JIyuc AJIb6epmo

JIyuc AJIb6epmo

    Новичок

  • Пользователи
  • Pip
  • Cообщений: 11
  • Меня зовут:Денис
  • Откуда:Самара

Отправлено 13 Январь 2022 - 21:32

Поделитесь у кого какие коэффициенты получились для датчика tcs34725 без светофильтра
(W R G B) и К ?
Из этой формулы:
PAR = K * (Clear * W + Red * R + Green * G + Blue * B)
Люксметр бьется с приложением на телефоне 1:1. PAR метра нет сравнить.
 


#87 avfv

avfv

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 583
  • Меня зовут:Андрей
  • Откуда:Санкт-Петербург

Отправлено 13 Январь 2022 - 22:06

 

PAR = K * (Clear * W + Red * R + Green * G + Blue * B)
Люксметр бьется с приложением на телефоне 1:1. PAR метра нет сравнить.

 

Реально каналы RGB не нужны, т.е. W=1 RGB=0
Если есть люксметр, то датчик калибруется по дневному свету и люксметру, PAR = 0.023*Lux
К сожалению, датчики имеют разброс 20-30%.



#88 JIyuc AJIb6epmo

JIyuc AJIb6epmo

    Новичок

  • Пользователи
  • Pip
  • Cообщений: 11
  • Меня зовут:Денис
  • Откуда:Самара

Отправлено 13 Январь 2022 - 22:15

Реально каналы RGB не нужны, т.е. W=1 RGB=0
Если есть люксметр, то датчик калибруется по дневному свету и люксметру, PAR = 0.023*Lux
К сожалению, датчики имеют разброс 20-30%.

Спасибо за инфу! Буду пробовать. Есть 2 реестровых люксметра ТКА и Эколайт.



#89 bbasil

bbasil

    Штатный зануда

  • Пользователи
  • PipPipPip
  • Cообщений: 3 124
  • Меня зовут:Василий
  • Откуда:Моск.обл., Одинцовский р-н,"КП Опушка" (Кокошкино)

Отправлено 01 Сентябрь 2022 - 14:06

Таки доехал до меня сенсор AS7341, запили его в свою прошивку, пока с минимальным функционалом:

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

 

пример полученных данных: Прикрепленный файл  AS7341.zip   18,68К   44 скачиваний

Каждая строка содержит данные:

ID канала, значение PWM, значение усиления, значение ATIME, значение ASTEP, результаты измерений(F0-F11)



#90 Max_aqua

Max_aqua

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 1 457
  • Меня зовут:Макс
  • Откуда:Москва

Отправлено 01 Сентябрь 2022 - 14:24

Подпишусь...



#91 avfv

avfv

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 583
  • Меня зовут:Андрей
  • Откуда:Санкт-Петербург

Отправлено 01 Сентябрь 2022 - 15:00

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

 

 

В принципе видится два пути использования - используем clear и nir каналы, ну или суммируем цветные, коэффициенты подбираем.

Самый интересный вопрос - при какой освещенности датчик уходит в насыщение? более простые имеют предел измерения примерно 400 PAR, что не очень удобно.



#92 bbasil

bbasil

    Штатный зануда

  • Пользователи
  • PipPipPip
  • Cообщений: 3 124
  • Меня зовут:Василий
  • Откуда:Моск.обл., Одинцовский р-н,"КП Опушка" (Кокошкино)

Отправлено 01 Сентябрь 2022 - 15:07

В принципе видится два пути использования - используем clear и nir каналы, ну или суммируем цветные, коэффициенты подбираем.

Самый интересный вопрос - при какой освещенности датчик уходит в насыщение? более простые имеют предел измерения примерно 400 PAR, что не очень удобно.

Ну до этого еще далеко, сейчас интересно хоть как-то интерпретировать эти данные и перевести их в какие-либо удобоваримые размерности: umol/m²/s, uW/sm²



#93 Igor "Boroda"

Igor "Boroda"

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 388
  • Меня зовут:Игорь

Отправлено 01 Сентябрь 2022 - 15:20

 

Самый интересный вопрос - при какой освещенности датчик уходит в насыщение? более простые имеют предел измерения примерно 400 PAR, что не очень удобно.

Относительно TSC этот показался более чувствительным и зашкаливал гораздо раньше. Раза так в 2-3. на тестовом скетче от китайцев. Уже не помню, что там было по усилению, но, на крайняк, диапазон всегда можно расширить фильтром/рассеивателем.



#94 bbasil

bbasil

    Штатный зануда

  • Пользователи
  • PipPipPip
  • Cообщений: 3 124
  • Меня зовут:Василий
  • Откуда:Моск.обл., Одинцовский р-н,"КП Опушка" (Кокошкино)

Отправлено 01 Сентябрь 2022 - 15:29

Относительно TSC этот показался более чувствительным и зашкаливал гораздо раньше. Раза так в 2-3. на тестовом скетче от китайцев. Уже не помню, что там было по усилению, но, на крайняк, диапазон всегда можно расширить фильтром/рассеивателем.

Ну это решается программным путем, пример:

 

0,1824,10,100,999,50469,3337,2488,4569,4041,5055,4517,4636,65501,4143
0,1856,9,100,999,26441,1741,1286,2367,2095,2631,2331,2387,55696,2144

Было зашкаливание, оно отловлено, выставлен меньший коэф. усиления 10->9

кусок кода:

boolean checkOverload(){
    if (!as7341.readAllChannels(readings)){
      Serial.println("Error reading all channels!");
    }
    for(uint8_t i = 0; i < 12; i++) {
      if(i == 4 || i == 5) continue;
      if (readings[i]>=65535) {
        byte _g=as7341.getGain()-1;
        as7341.setGain(as7341_gain_t(_g));
        return true;
      }
    }
    return false;
  
}
 ну и:
while (checkOverload()){delay(100);}

  • Sleepy это нравится

#95 bbasil

bbasil

    Штатный зануда

  • Пользователи
  • PipPipPip
  • Cообщений: 3 124
  • Меня зовут:Василий
  • Откуда:Моск.обл., Одинцовский р-н,"КП Опушка" (Кокошкино)

Отправлено 01 Сентябрь 2022 - 15:36

Под RC кабелем имеется в виду плоский кабель?

 

длина кабеля 2м, кабель от сломанного мыша - работает шикарно )



#96 avfv

avfv

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 583
  • Меня зовут:Андрей
  • Откуда:Санкт-Петербург

Отправлено 01 Сентябрь 2022 - 16:01

Ну до этого еще далеко, сейчас интересно хоть как-то интерпретировать эти данные и перевести их в какие-либо удобоваримые размерности: umol/m²/s, uW/sm²

 

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



#97 avfv

avfv

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 583
  • Меня зовут:Андрей
  • Откуда:Санкт-Петербург

Отправлено 01 Сентябрь 2022 - 16:04

Относительно TSC этот показался более чувствительным и зашкаливал гораздо раньше. Раза так в 2-3. на тестовом скетче от китайцев. Уже не помню, что там было по усилению, но, на крайняк, диапазон всегда можно расширить фильтром/рассеивателем.

 

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



#98 bbasil

bbasil

    Штатный зануда

  • Пользователи
  • PipPipPip
  • Cообщений: 3 124
  • Меня зовут:Василий
  • Откуда:Моск.обл., Одинцовский р-н,"КП Опушка" (Кокошкино)

Отправлено 01 Сентябрь 2022 - 16:17

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

"Примерно прикинуть" это не метод, у нас есть заваемые параметры: ATIME,ASTEP,GAIN.

Произвели замеры, получили каких-то попугаев, причем даже ни цвета, ни породы, ни размера их не знаем.

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



#99 Igor "Boroda"

Igor "Boroda"

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • Cообщений: 388
  • Меня зовут:Игорь

Отправлено 01 Сентябрь 2022 - 16:25

Туть ИМХО проще и надёжнее устроить реверс. Настоящим парметром измерить величину и вычислить примерный коофициент для подгона под результат. . А потом уже вводить поправочные для точной калибровки под конкретные датчики.  Это если использовать чистый канал, а вот по сумме цветных  - только, наверное, даташит и физика(саенс битч :) )



#100 bbasil

bbasil

    Штатный зануда

  • Пользователи
  • PipPipPip
  • Cообщений: 3 124
  • Меня зовут:Василий
  • Откуда:Моск.обл., Одинцовский р-н,"КП Опушка" (Кокошкино)

Отправлено 01 Сентябрь 2022 - 17:00

Туть ИМХО проще и надёжнее устроить реверс. Настоящим парметром измерить величину и вычислить примерный коофициент для подгона под результат. . А потом уже вводить поправочные для точной калибровки под конкретные датчики.  Это если использовать чистый канал, а вот по сумме цветных  - только, наверное, даташит и физика(саенс битч :) )

Не круто, так как на каждое изменение параметров ATIME,ASTEP,GAIN мы будем получать совершенно новых попугаев, которых всякий раз надо будет перекалибровывать )))






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных