СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №9/2015
ИНЖЕНЕРНЫЕ РЕШЕНИЯ 55 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 9 2015 зована в программе с помощью функ- ции EEPROM_Data_Prog_LIM(). Заметим, что при первом включе- нии устройства память EEPROM МК пуста, там ещё не содержатся пользо- вательские значения порогов. Управля- ющая программа «узнает» об этом перед переходом в основной пользователь- ский режим путём чтения контроль- ной ячейки-«маячка», расположенной в EEPROM по адресу EEPROM_ADDR_ Start. Если по этому адресу программа считывает значение, отличное от кон- станты VALID_DATA, то далее она начи- нает использовать в качестве активных значений порогов жёстко заданные по умолчанию константы, прописанные в исходном коде: LIMIT_MAX_DEF=5000, LIMIT_MIN_DEF=100, LIMIT_BAND_ MAX_DEF=2000, LIMIT_BAND_MIN_ DEF=1000. Однако после первой же записи пользователем в EEPROM хотя бы одного значения порога содержи- мое контрольной ячейки-«маячка» авто- матически модифицируется значени- ем VALID_DATA. Заметим, что в EEPROM каждый раз записывается не единствен- ное модифицированное пользователем значение, а блок данных, состоящий из всех активных на текущий момент зна- чений порогов. При следующих вклю- чениях питания программа уже начи- нает использовать в качестве актив- ных значений считанные из EEPROM величины. Момент перехода текущим уровнем освещённости через любое из значений порогов, записанных в EEPROM, сопро- вождается сменой состояния выхода соответствующего канала (зажиганием или гашением подключённого к нему светодиода) и однократным длинным звуковым сигналом. Необходимо заме- тить, что каналы не обладают эффек- том триггерного «защёлкивания» сво- их состояний. В случае если при эксплуатации устройства срабатывание какого- либо из каналов не требуется в прин- ципе, рекомендуется поступить следую- щим образом. Значение порога в кана- ле можно задать: ● заведомо бо ′ льшим любого возмож- ного максимума, например, 25 000 для границы канала 1, нижней и верх- ней границ канала 3; ● равным 0 для границы канала 2, ниж- ней и верхней границ канала 3. Исходный текст управляющей про- граммы версии 1.0 (и файл «прошивки» Flash-памяти МК) содержится в ката- логе проекта Lux_I2C, архив которого доступен на сайте журнала «Современ- ная электроника» в дополнительных материалах к данной статье. Проект был подготовлен и отлажен в инте- грированной среде разработки IDE μVision4 V4.72 от Keil Software. Про- граммирование и отладка управляю- щей программы МК производились с помощью встроенного JTAG-отлад- чика ICDI. Н АЛАДКА И РЕГУЛИРОВКА Правильно собранное устройство с запрограммированным МК начинает работать сразу и в наладке не нуждает- ся. После первого включения питания и завершения начального тестирова- ния необходимо убедиться в иден- тичности отображаемой на экране картинки изображению, показанно- му на рисунке 8а. Заметим, что значе- ние регистра идентификатора REG_ID датчика TSL2561 существенной роли не играет и для разных версий датчи- ка может отличаться от показанного на рисунке. Затем, когда измеритель перейдёт в основной пользователь- ский режим и на экране отобразит- ся значение уровня освещённости в люксах, необходимо убедиться, что оно меняется сообразно степени осве- щённости лицевой поверхности дат- чика TSL2561. Также следует убедить- ся, что при полном затемнении датчика показания ЖКИ стремятся к нулю, про- контролировать адаптивную подстрой- ку усиления (от Gain = 01 до Gain = 16) при изменении степени освещённо- сти вплоть до наступления состояния переполнения АЦП. По опыту работы с устройством было установлено, что при освещении солнечным светом его пограничные показания перед пере- полнением АЦП составляют около 20 000 лк. Однако это значение может существенно меняться в зависимости от конкретного спектрального соста- ва излучения. Далее следует убедиться в коррект- ном срабатывании всех каналов управ- ления-сигнализации, а также прове- рить возможность задания кнопками и сохранения пользовательских значе- ний порогов в EEPROM. В качестве регулировочной следу- ет проделать только одну аппаратную операцию. Предварительно измерив цифровым вольтметром питающее напряжение в средней точке диодной сборки VD2, необходимо в основном рабочем режиме устройства с помо- щью подстроечного резистора R4 выставить это измеренное значение на экране ЖКИ в строке «POWER = = X,XX B». Л ИТЕРАТУРА 1. TSL2560, TSL2561 Light-to-Digital Converter. TAOS059Q. 2009. November. 2. www.ams.com/eng/Light-to-Digital. 3. www.seeedstudio.com/wiki/Grove_-_ Digital_Light_Sensor. 4. www.terraelectronica.ru/catalog_info. php?CODE=1210657. Рекл ама
RkJQdWJsaXNoZXIy MTQ4NjUy