Программируемый преобразователь цвет — частота. Датчик TCS230

В одной из статей, я рассказывал о том, как мы определяли место положения резака над рабочей плоскостью, с помощью нанесения разноцветной полосы на траверс и распознавания цветов с помощью датчика TCS230. Думаю, стоит рассказать и о самом датчике, а именно о некоторых подводных камнях.
Сам датчик очень прост в использовании, требует минимальной обвязки и в принципе сразу готов к использованию. Если мы пороемся в интернете, то очень быстро найдём спецификацию на данный датчик.

tcs

Запитывается датчик напряжением от 2.7 до 5 В, а именно в нашем случае это было 3.3 В. Напряжение питания будет зависеть от того, какой контроллер вы примените для работы с этим датчиком. К примеру, в случае PIC это, как правило, будет 5 вольт, MSP430 – 3.3 вольта.
Почему именно контроллер? Особенностью этого датчика является то, что он выдаёт частотный сигнал, в зависимости от цвета, на который он направлен. TCS230 представляет собой RGB матрицу фотодиодов, каждый из которых реагирует на цвет по-разному. Я думаю, многие знают, что все цвета состоят из нескольких спектров, так и здесь, для определения цвета, нам необходимо измерять три спектра: красный, синий, зелёный. Для этого нам необходимо переключаться между R, G, B и измерять частоту сигнала на выходе датчика OUT. Именно потому нам нужен микроконтроллер. Данные каждого измерения необходимо записать в память контроллера и когда будут проведены все три измерения — выдать результат.
Вот здесь и будет первый подводный камень. В некоторых спецификациях есть таблицы в которых записаны частоты для разных оттенков, но на практике оказывается, что из всей таблицы только несколько цветов могут совпасть . Как оказывается все зависит от химического состава материала или краски, цвет которой мы хотим определить. Разные химические элементы имеют свой спектр, который может накладываться на другие. Абсолютно два одинаковых, на наш взгляд цвета, могут оказаться разными для датчика. Все потому, что датчик, опять же, определяет цвет по нескольким спектрам в отдельности, а наш глаз воспринимает их сразу все одновременно. Поэтому не рекомендую искать готовые таблицы и пользоваться ими. Намного быстрее и надежнее будет определить пределы частот для каждого цвета самостоятельно и именно для тех цветов и материалов, с которыми вы собираетесь работать.
Далее в спецификации дана, так называемая, таблица истинности.

tablica

S0 и S1 — это входы датчика, меняя их состояние, мы меняем предел максимальной частоты на выходе OUT. То есть, если оба входа подключить к минусу питания (низкому потенциалу), то предельно допустимая частота на выходе датчика будет 600кГц, и все измерения будут производиться в диапазоне от 0 до 600кГц, так же согласно таблице, мы можем получить диапазоны равныt 20% и 2% от максимального. Зачем это нужно? Иногда вычислительной способности контроллера может не хватить, чтоб измерять частоту в диапазоне до 600 кГц, и тогда вы можете выбрать меньший диапазон; или вам нужна высокая точность определения оттенков, тогда чем выше частота сигнала, там точнее вы сможете определить разницу между спектрами.
S2 и S3 – это входы датчика, меняя состояние которых, мы переключаемся между красным, синим и зелёным фотодиодами. Здесь так же как и в первом случае со входами S0 и S1.
Если на оба входа подать низкий потенциал, то будет работать зелёный фотодиод, и мы будем получать на выходе какую-то частоту, если же подадим на оба входа высокий потенциал, то начнёт работать красный фотодиод и частота на выходе измениться.

Так же у микросхемы TCS230 есть вход ОЕ, он нужен для разрешения работы датчика. Рекомендую использовать его при переключениях между диапазонами и при переключениях фотодиодов. Нужно это для того, чтоб повысить точность измерения, а так же продлить срок службы датчика, ведь пока нет сигнала разрешения датчик не работает – ничего не меряет и ничего не выдаёт. Ну и просто удобно использовать этот вход для включения и выключения датчика между какими либо операциями с ним.
И вот ту второй подводный камень, и я бы даже выразился – большой. Дело в том, что когда стал вопрос о покупке датчика, то найти его не стало проблемой, и цена очень порадовала, но отдельной микросхемы купить не получилось, а только готовый в сборе со светодиодами и обвязкой. Сначала, я даже очень обрадовался, потому как это облегчало мою работу, не нужно было делать разводку печатной платы и изготавливать её, все уже было готово, только подключи и пользуйся.

TCS230-Electronilab-1

Как видите, действительно очень удобно. Все входы и выходы выведены, сделана подсветка для датчика и удобно закреплено на компактной печатной плате. Но если вы захотите использовать ножку OE, то внимательно прозвоните схему, и вы удивитесь, эта ножка напрямую подключена к низкому потенциалу GND, перемычкой R8 – 0 ом.

700px-TSC230-5

Вот эта злостная и не хорошая штука =).

DSC_0949

Не знаю почему разработчики решили сделать именно так, но данная перемычка очень сильно может усложнить вам работу, если вы захотите использовать все возможности датчика.
Если на вход ОЕ подается низкий потенциал, то это разрешение на работу датчика, высокий – запрет. То есть, е использовать ОЕ и подать высокий потенциал, то произойдёт короткое замыкание, и вы спалите свой контроллер или опторозвязку, если такая предусмотрена. Советую сразу заменить данную перемычку на стандартную подтяжку 4.7 кОм.

You may also like...

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>