Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.03.2016, 09:01   #1
Arhat109
Senior Member
 
Регистрация: 14.06.2015
Адрес: СССР
Сообщений: 122
Вес репутации: 0
Arhat109 is an unknown quantity at this point
По умолчанию TCS3200 датчик цвета, недостатки и рекомендации

Примерно такой: http://duino.ru/Datchik-cveta.html

Пример программы на arduino.cc можно использовать исключительно в ознакомительных целях, поскольку подсчет частоты прерываниями нормально работает только в отсутствии иных прерываний (millis(), delay(), Serial, etc. !), а если учесть что датчик генерит частоты в диапазоне 10-600_000гц, то надо помнить что отклик на прерывание длится до 50 тактов МК .. то есть начиная с частот в 200-300кГц - гарантированы пропуски в подсчетах частоты даже при отсутствии иных событий.

Замечания по датчику и программе, если кто захочет его использовать в своих проектах:
1. Чем выше режим частоты (2%, 20%, 100%), тем шустрее определение цветов. Как-бы понятно, что желательно выставлять s0=s1=1;

2. В переводе на люксы, сам датчик вполне тянет на измерительный прибор: шумы не более 0.1-0.2лк (2-10гц), диапазон измерений 0.4 - 12000лк, и при неравномерности 0.2% рабочий диапазон в районе 100-1000лк (типовое освещение внутри помещений) что само по себе очень даже нефигово. Какие люксы и когда - есть табличка в википедии: "освещенность", их очень любят фотографы. Перевод примерен поскольку зависит от спектра сигнала;

3. Высокая чувствительность всех(!) каналов к ИК засветке .. которую производят светодиоды платы тоже. Применение без ИК отсекающего светофильтра - проблематично. Есть версии с отсекающим ИК фильтром;

4. Высокая засветка от своих же светодиодов. Применение без изолирующей трубки - проблематично. Есть версии с защитой от засветки (и фильтром);

5. Отсутствие управления светодиодами. По-хорошему, надо бы включать светодиоды того цвета (ставить управляемые мультиколор на плату), замер которого производится согласно ногам s2,s3. Тем более, что сам прибор имеет режим энергосбережения, но таковых не встречал вовсе;

6. Замер на прерываниях полезен только как демо-режим. Ибо реакция на него у ардуино около 50тактов, что может дать "пропуски" в подсчете уже с 2-3тыс. люксов. Есть 2 способа: считать частоту счетчиком по внешнему входу или считать длину периода счетчиком по сигналу ICP аппаратно;

6. Замер периода даст ошибку подсчета начиная с частоты 160кГц (100%) более 1% даже с базовой в 16Мгц - т.е. полезен только на слабых освещенностях;

7. Подсчет импульсов даст ошибку в 1% на частотах ниже 100гц для 10мсек интервала;

8. Фильтры имеют "перекрытие", которое надо вычитать с учетом относительной яркости каналов (от белого) .. что усложняет программу замера;

9. Датчик "дрожит" (даташит), что требует усреднения нескольких замеров, и соответственно снижает скорость получения результатов;

10. Светодиоды на плате посажены "на корпус", что не позволяет сосредоточить их освещение на нормальном расстоянии от датчика, а "в дали" яркость освещения падает согласно квадрату расстояния - что резко снижает полезность подсветки;

В целом, для нешустрых измерений (500мсек - 5мсек от освещенности) и, с учетом вышеизложенного, вполне может использоваться как чувствительный прибор (0.4-12_000лк) для домашнего применения с точность до 0.5%, что очень немало.

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

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

Всякие примитивные алгоритмы "на прерываниях" - только как проверка работоспособности самого прибора.

Последний раз редактировалось Arhat109; 09.03.2016 в 09:06.
Arhat109 вне форума   Ответить с цитированием
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 04:05. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика