Разработка программного комплекса моделирования характеристик оптических преобразователей

Разработка программного комплекса, синтезирующего работу оптических преобразователей линейного перемещения на малых расстояниях. Оценка влияния компонентов датчика на функцию преобразования. Выбор инструментов для разработки программного обеспечения.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 19.08.2020
Размер файла 1,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Аннотация

Дипломная работа на тему “Разработка программного комплекса моделирования характеристик оптических преобразователей” содержит 45 страницы, 19 рисунков, 1 таблицу, 5 использованных источников.

Объект исследования - оптические преобразователи перемещения.

Цель работы - разработка программного комплекса, позволяющего синтезировать работу оптических преобразователей линейного перемещения на малых расстояниях.

Первая глава посвящена анализу работы оптических преобразователей и построению математической модели датчика, которая необходима для реализации ПО.

Вторая глава включает в себя выбор инструментов для разработки программного комплекса, подробное описание процесса разработки и проведение тестирования разработанного ПО.

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

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

Abstract

The graduation work " Development of a Software Package for Modeling the Characteristics of Optical Converters" contains 45 pages, 19 illustrations, 1 table, 5 sources used.

The object of research are optical converters.

The purpose of work is development of a software complex allowing to synthesize operation of optical converters at short distances.

The first chapter is devoted to the analysis of optical converters operation and construction of the mathematical model of the sensor, which is necessary for software implementation.

The second chapter includes selection of tools for software development, detailed description of the development process and testing of the developed software.

The practical value of this work includes the possibility of modeling the operation of optical linear converters, comparing the results of different sensors among themselves and synthesizing new characteristics depending on the combinations of signals without making a real sensor.

During further research in this area, the development of software that simulates the angular displacement of the reflective surface within the framework of a software package to model the characteristics of optical converters is most appropriate.

Оглавление

программный обеспечение оптический преобразователь

Введение

1. Анализ структуры оптических преобразователей

1.1 Структура оптического преобразователя

1.2 Оценка влияния компонентов датчика на функцию преобразования

1.3 Поиск готовых математических моделей

1.4 Разработка математической модели датчика

2. Разработка программного обеспечения для моделирования характеристик оптических преобразователей

2.1 Выбор и обоснование инструментов для разработки программного обеспечения

2.2 Формирование библиотеки светодиодов

2.3 Разработка ПО

2.4 Разработка методики программных испытаний

Заключение

Перечень сокращений

Список использованных источников

Приложения

Приложение 1 Ввод десятичных значений

Приложение 2 Чтение и запись файла

Приложение 3 Расчет функции преобразования

Приложение 4 Формирование excel отчета

Введение

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

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

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

1) Провести анализ структуры оптических преобразователей.

2) Определить чувствительность преобразователей к информативным и неинформативным факторам.

3) Провести поиск готовых моделей функций преобразования оптических преобразователей линейных перемещений. При неудачных результатах поиска провести построение математической модели датчика.

4) Провести выбор инструментов для разработки ПО.

5) Сформировать библиотеку светодиодов и фотодиодов.

6) Выполнить разработку ПО.

7) Разработать методику тестирования разработанного ПО.

8) Провести тестирование ПО в соответствие с разработанной методикой.

Структура выпускной квалифицированной работы включает в себя оглавление, введение, две главы, заключение и список использованной литературы.

Первая глава посвящена анализу теоретической информации и математическим расчетам, позволяющим разработать программное обеспечение. В первом параграфе рассмотрена структура оптических преобразователей, позволяющая выделить основные технические характеристики. Во втором параграфе изучены факторы, способные влиять на показания прибора. Третий параграф посвящен поиску научных работ и литературы с построением функций преобразования для оптических преобразователей, которые позволяют использовать некоторые части для исследования и построения собственной функции. Четвертый параграф описывает процесс построения математической модели датчика с помощью геометрической оптики и результатов, полученных в предыдущих параграфах, результаты которого позволяют решить поставленную цель работы - разработку программного комплекса.

Во второй главе работы подробно описывается процесс разработки программного комплекса. В первом параграфе второй главы формируется набор функций и задач, которые необходимо выполнить при разработке ПО. На основании поставленных задач выбраны инструменты для разработки такие как язык программирования Java с дополнительными библиотеками JavaFX - для работы с графическим интерфейсом и Apache POI - для работы с excel файлами. Во втором параграфе сформирована библиотека с проанализированными светодиодами, которые используются в качестве моделей в ПО. В третьем параграфе содержится описания процесса разработки ПО, в частности описание архитектуры разрабатываемого комплекса и описание основных алгоритмов программы, которые подкреплены приложениями, включающими в себя выдержки из кодовой базы. В четвертом параграфе рассмотрена тестовая модель программного обеспечения, позволяющая проверить корректность вычислений и предотвратить пользователя от возможных исключительных ситуаций.

1. Анализ структуры оптических преобразователей

1.1 Структура оптического преобразователя

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

Для оптических преобразователей характерны два способа получения информации:

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

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

Оптический преобразователь состоит из источника излучения и приемника излучения. Выбор источника излучения оказывает большое влияние на характеристики оптического преобразователя. В качестве источника могут служить:

а) Газоразрядные лампы. Данные лампы вызывают пульсацию потока излучения при минимальных изменениях питающего напряжения.

б) Оптические квантовые генераторы. В лазерах сфокусированные узкие световые потоки способные в несколько раз превышать потоки других источников.

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

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

В данной работе в качестве источника излучения рассматриваются светодиоды.

Рассмотрим основные характеристики светодиодов:

1) Прямой номинальный ток. Номинальный прямой ток -- это ток, при прохождении которого через данный светодиод в прямом направлении, гарантируются световые параметры, указанные в паспорте светодиода. Другими словами, это рабочий ток светодиода, при котором светодиод точно не перегорит, и сможет нормально работать на протяжении всего срока эксплуатации. В этих условиях p-n-переход не будет пробит и не перегреется. На практике величина номинального прямого тока зависит от размера кристалла, от типа полупроводника, и лежит в диапазоне от единиц микроампер до десятков миллиампер (для светодиодных сборок типа COB -- еще больше).

2) Угол рассеяния светодиода. Эта характеристика часто описывается в документации в виде диаграммы направленности и измеряется в градусах. Этот параметр может лежать в диапазоне от 15 до 140°. Изображение типичной диаграммы направленности представлено на рисунке 2.

Рис. 2 Диаграмма направленности

Второй составной частью оптического датчика является фотоприемник. Фотоприемники работают на основе полупроводниковых p-n переходов и могут работать в двух режимах:

1) Вентильный режим. Вентильный фотоэлемент представляет собой полупроводниковый диод (рис. 3. а), чувствительным элементом которого является полупроводник p-типа, над которым специальной обработкой образован тонкий слои полупроводника n-типа и разделяющий их тончайший запорный слой, называемый p-n переходом. Сверху полупроводник покрыт полупрозрачным металлическим слоем или сеткой 1 из серебра, золота или платины, служащей верхним электродом. Нижним электродом является металлическое основание 2. Под действием светового потока, проникающего через полупрозрачный электрод и тонкий слой n-полупроводника, вследствие фотоэффекта в p-полупроводнике образуется повышенная концентрация электронно-дырочных пар. Электроны увлекаются потенциальным барьером на границе p-n перехода и беспрепятственно проникают в слой n-полупроводника, заряжая его отрицательно, а дырки, оставшиеся в p-полупроводнике, заряжают его положительно. В результате этого процесса между электродами возникает разность потенциалов, значение которой зависит от интенсивности светового потока и интегральной чувствительности фотоэлемента.

Рис. 3 Вентильный элемент и его эквивалентная схема

2) Диодный режим имеет преимущества (большее быстродействие, лучшая стабильность, больший динамический диапазон, большая чувствительность в ИК области). Недостаток - наличие темнового тока. Разновидности фотодиодов:

• p-i-n диоды; имеют три области: сильнолегированную n+, с малой концентрацией примеси i, сильнолегированную p+.

• лавинные; реализуется усиление тока, обусловленное умножением числа носителей за счет ионизации атомов кристаллической решетки.

• гетерофотодиоды; используют слоистую структуру из разных полупроводниковых материалов. Достигается высокая чувствительность при высоком быстродействии.

Анализ структуры оптических параметров позволяет определить какие технические характеристики имеют наибольшее влияние на моделирование его поведения при построении математической модели и разработке ПО.

1.2 Оценка влияния компонентов датчика на функцию преобразования

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

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

2) Площадь принимающей поверхности фотоприемника. От площади принимающей поверхности зависит количество, попадающих на нее лучей. С повышением площади принимающей поверхности количество попадающих на нее лучей увеличивается, увеличивая конечный ток фотоприемника.

3) Материал отражающей поверхности. В зависимости от того, из чего изготовлена отражающая поверхность, луч, попадающий на ее поверхность, будет ослаблен или полностью поглощен. Данный параметр представляет коэффициент, который показывает, насколько эффективно луч отражается от поверхности. В зависимости от характера поверхности целевого объекта применяются особые корректирующие коэффициенты, представленные в таблице 1.

Таблица 1

Коэффициенты отражения материалов

Посеребренная зеркальная поверхность

0,94

Белая облицовка стен

0,85

Алюминий полированный

0,75

Белая чертёжная бумага

0,75

Полированная сталь

0,6

Дерево

0,5

Асфальт

0,15

Стекло

0,08

4) Коэффициент шероховатости поверхности. На практике довольно часто отражающая поверхность объекта измерений отличается от зеркальной и падающие элементарные потоки испытывают направленно рассеянное отражение. В некоторых случаях для увеличения чувствительности оптического преобразователя несложно нанести на участке поверхности хорошо отражающее покрытие. Однако при измерении перемещений хрупких изделий малых габаритов, радиальных биений тел вращений даже такое незначительное вмешательство не представляется возможным. Элементарный поток, падающий на направленно рассеивающую поверхность, после отражения распределяется в зоне, ограниченной диаграммой направленности, вид которой определяется не только формой и высотой микронеровностей, но и направлением падения луча. Поэтому расчет функции преобразования при отражении от направленно рассеивающих поверхностей весьма трудоемок. При диффузном отражении отсутствует зеркальная оставляющая в отраженном потоке и этот случай является наиболее характерным. По сравнению с зеркальным отражением чувствительность оптических датчиков сильно падает, но сама функция преобразования сохраняет свою форму (рис. 4).

Рис. 4 Функции преобразования при отражении от поверхностей металлов при различных видах обработки. 1, 2 - торцевое и цилиндрическое фрезерование; 3 - расточка; 4, 5, 6 - плоское, круглое и внутреннее шлифование; 7 - точение

Функция показывает, что с увеличением высоты микронеровностей чувствительность в точке перегиба уменьшается, а сама точка смещается в сторону меньших значений. Не менее важным является анализ функции преобразования при отражении от полупрозрачных и прозрачных поверхностей. При отражении от прозрачных поверхностей функция преобразования представляется в виде двух составляющих: воздух - среда и среда - воздух. Поэтому сигнал на приемнике отличен от нуля и однозначно связан с толщиной прозрачного материала.

5) Концентрация примесей в среде. Оптические преобразователи работают в условиях, когда на приемник излучения сигнал поступает ослабленным за счет влияния среды распространения. В зависимости от свойств частиц и их размеров световой поток, проходя через среду, может отражаться, поглощаться, либо рассеиваться. Обычно средой распространения светового потока является атмосфера, в которой излучение может ослабляться в следствие двух процессов:

а) Рассеяние, которое меняет направление излучения.

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

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

Рис. 5 Классификация атмосферных аэрозолей

Для расчета интенсивности света, прошедшего через слой тумана с толщиной , можно воспользоваться законом Бугера-Ламберта-Бера [6]:

, где

- интенсивность света, вступающего в слой,

- интенсивность света после прохождения слоя,

- натуральный показатель поглощения среды,

- пройденное светом расстояние.

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

Для различных веществ значения коэффициента поглощения - k сильно различаются:

- для воздуха (при нормальном давлении) k имеет порядок .

- для стекла - .

- для металлов - .

Это означает, что для трехкратного ослабления интенсивности света достаточен слой металла толщиной , или слой стекла

, или слой воздуха толщиной .

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

1.3 Поиск готовых математических моделей

Функции преобразования волоконно-оптических датчиков являются аналогами оптических датчиков. Принципиальное отличие данных датчиков, заключается в отсутствии внешних факторов, которые способны влиять на выходной сигнал. Вместо данных факторов на функцию преобразования влияет коэффициент передачи тракта в волокне.

Рассмотрим функцию преобразования, смоделированную в источнике [1]. В данном примере рассматривается волоконно-оптический датчик рефлектометрического типа (рис. 6).

Рис. 6 Схема волоконно-оптического датчика

Оптический канал данных датчиков выполнен в виде двух световодов и промежутка между ними. В передающий световод 1 от источника вводится поток излучения, часть из которого попадает на вход световода 2, который преобразуется в электрический сигнал. Физической основой работы данных преобразователей является изменение интенсивности светового потока, проходящего от источника к приемнику в соответствии с диаграммой направленности и светопропусканием световодов. Преимуществом оптоволоконных оптических преобразователей является слабая зависимость результатов измерений от внешних факторов, таких как температура, электромагнитные поля большой интенсивности, химическая инертность и коэффициент примесей в среде. Это дает возможность получать заданные конструктивные и метрологические характеристики преобразователя за счет конструкции волоконно-оптических каналов.

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

, где

- поток, испускаемый источником,

- коэффициент спектрального согласования элементов,

- функция передачи оптического тракта,

- интегральная чувствительность фотоприемника.

Наибольший интерес представляет значение переменной . Оно определяется различными коэффициентами. Для данного волоконно-оптического преобразователя

, где

- коэффициент передачи тракта “источник излучения - передающий световод”,

- коэффициент передачи тракта “приемный световод - приемник излучения”,

- функция коэффициента передачи тракта “передающий торец световода - объект контроля - приемный торец световода”.

Значение определяется значением информативных факторов в зоне измерений, но в данной функции многие факторы опускаются. Отсюда вытекают недостатки данной функции для исследования рассматриваемых в работе оптических преобразователей:

1) Влияние коэффициентов передачи тракта в волокне. В данной работе используются оптические преобразователи без волокна, поэтому данные коэффициенты учитывать не имеет смысла.

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

Несмотря на отсутствие учета некоторых факторов, анализ данной функции позволяет построить собственную математическую модель для внедрения в ПО.

1.4 Разработка математической модели датчика

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

Для начала, рассмотрим идеальную систему. Так как информативными характеристиками светодиода являются ток светодиода и угол распространения света, указанные в технических характеристиках светодиода, в данной системе светодиод можно рассматривать в виде точки. Информативной характеристикой фотодиода является ширина принимающей, поверхности, поэтому для расчетов используется отрезок заданной ширины (рис. 7).

Рис. 7 Система источник-приемник, где 1 - источник излучения, 2 - приемник излучения

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

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

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

Конечный вид формулы, определяющий вид функции преобразования принимает вид:

2. Разработка программного обеспечения для моделирования характеристик оптических преобразователей

2.1 Выбор и обоснование инструментов для разработки программного обеспечения

Для выбора языка программирования и инструментов для разработки ПО необходимо сформулировать задачи, которые требуется решить в рамках разработки ПО. Это позволяет облегчить процесс разработки, используя готовые библиотеки и фреймворки. Необходимые задачи:

1) Создание объектов для элементов преобразователя. Необходимо предоставлять возможность добавления и удаления моделей для анализа характеристик.

2) Запись и чтение данных моделей в файл для их хранения независимо от этапа жизненного цикла ПО. Данная функция позволит хранить добавленные в ПО модели при перезапуске, без необходимости повторного добавления моделей.

3) Реализация графического интерфейса ПО. Язык программирования должен предоставлять графические элементы, позволяющие проводить анализ характеристик оптических преобразователей.

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

5) Выгрузка данных в виде excel-таблиц.

С поставленными задачи способно справляться большинство современных языков программирования. Предпочтительными языками являются объектно-ориентированные для представления данных в виде объектов. Исходя из вышесказанного, сделан вывод о разработке ПО на языке Java.

Java - язык программирования и платформа вычислений, которая была впервые выпущена Sun Microsystems в 1995 г. Java включает в себя виртуальную машину JVM, необходимую для исполнения скомпилированного кода и набор разработчика JDK, который содержит в себе набор библиотек и инструментов для создания, компилирования и отладки программ. Java является одним из самых популярных языков, постоянно обновляется и поддерживается, имеет огромный набор документации и фреймворков, которые упрощают решение данных задач.

На платформе Java предоставляется инструментарий JavaFX. JavaFX позволяет создавать кроссплатформенное программное обеспечение с насыщенным графическим интерфейсом и включает в себя большой набор графических компонентов, позволяющих решить поставленные задачи. С помощью JavaFX можно создавать программное обеспечение для основных операционных систем (Windows, MacOS, Linux). Для работы ПО необходима предустановленная исполняемая среда JRE. JavaFX имеет ряд преимуществ по отношению к другим схожим платформам. Данная платформа предоставляет огромный набор элементов управления, а также возможность работы с мультимедиа, двухмерной и трехмерной графикой, декларативный способ описания интерфейсов с помощью языка разметки FXML [3], возможность стилизации интерфейсов с помощью CSS и многое другое.

Для разработки программного обеспечения на языке Java существует множество сред разработки, такие как NetBeans, Eclipse, IntelliJ IDEA, JDeveloper и т. д. Для реализации данного ПО выбрана среда IntelliJ IDEA, потому что имеет ряд преимуществ:

1) Интуитивно понятный интерфейс.

2) В процессе написания программы среда занимается построением синтаксического дерева, анализом возможных путей исполнения операторов и передачи данных.

3) Обращает внимание на ошибки и предоставляет варианты их решения, чтобы предотвратить разработчика от ошибок компиляции.

2.2 Формирование библиотеки светодиодов

Формирование библиотеки с готовыми данными необходимо для возможности анализа и сравнения результатов построения функций преобразования. Для исследования показаний оптических преобразователей были выбраны 10 моделей светодиодов с разным набором характеристик, указанных в технической документации, которые позволяют сделать выводы при анализе характеристик:

1) АЛ102

а) Угол распространения света ± 30

б) Номинальный ток 10 мА

в) Световая мощность 20 мВт

2) Nichia NSPW515DS

а) Угол распространения света ± 40

б) Номинальный ток 30 мА

в) Световая мощность 96 мВт

3) TLUR6400

а) Угол распространения света ± 30

б) Номинальный ток 20 мА

в) Световая мощность 40 мВт

4) TLHE510

а) Угол распространения света ± 10

б) Номинальный ток 30 мА

в) Световая мощность 60 мВт

5) TLDR5800

а) Угол распространения света ± 5

б) Номинальный ток 50 мА

в) Световая мощность 90 мВт

6) VLHW4100

а) Угол распространения света ± 60

б) Номинальный ток 25 мА

в) Световая мощность 70 мВт

7) TLHB5400

а) Угол распространения света ± 40

б) Номинальный ток 20 мА

в) Световая мощность 78 мВт

8) TLLR540

а) Угол распространения света ± 30

б) Номинальный ток 7 мА

в) Световая мощность 14 мВт

9) 3803X

а) Угол распространения света ± 10

б) Номинальный ток 50 мА

в) Световая мощность 90 мВт

10) TLLG440

а) Угол распространения света ± 25

б) Номинальный ток 7 мА

в) Световая мощность 14 мВт

Данный набор предоставляет модели с различным углом распространения света, но одинаковой силой тока для того, чтобы анализировать зависимость функции преобразования от угла распространения света. Также данный набор включает модели с одинаковым углом распространения света, но разной силой тока, что позволяет анализировать зависимость функции преобразования от силы тока. Подводя итог, составленный список позволяет максимально широко исследовать зависимость функции преобразования от входных значений.

2.3 Разработка ПО

Для проверки адекватности построенной математической модели датчика разработано программное обеспечение, включающее набор следующих функций:

1) Добавление и удаление модели светодиода.

При запуске ПО пользователю предоставлено 10 моделей светодиодов для того, чтобы можно было приступить к его освоению и моделированию сразу после запуска программы. Пользователю предоставлена возможность для добавления и удаления моделей светодиодов в программу. Добавление происходит во внутренний файл приложения с помощью сериализации. При запуске приложения считывается содержимое данного файла, из которого десериализуются модели светодииодов доступные для использования. Таким образом предоставляется возможность сохранения данных не только в рамках текущей сессии пользователя, но и после перезапуска программы. Для добавления модели светодиода в систему, пользователю необходимо нажать на кнопку “Добавить датчик”. После этого будет открыто диалоговое окно, в котором необходимо ввести параметры модели, такие как название модели, угол рассеивания и мощность, которые указываются производителем в технической характеристике светодиода (рис. 8). Данные поля имеют ограничения:

а) Название светодиода - максимум 100 символов.

б) Угол рассеивания - числовое значение от 1 до 90 градусов.

в) Мощность излучения - числовое значение от 1 до 100 мВт

Для удаления модели светодиода пользователю необходимо выбрать из раскрывающегося списка модель, которую необходимо удалить из базы приложения и нажать на кнопку “Удалить датчик”. После этого запускается диалоговое окно, которое требует подтвердить совершаемую операцию, для того чтобы не допустить случайного удаления модели.

Рис. 8 Добавление датчика в ПО

2) Выбор динамических параметров.

В ходе анализа факторов, оказывающих наибольшее влияние на характеристики оптических преобразователей, были выявлены основные параметры, которые добавлены на панель графического интерфейса, такие как коэффициент примесей в среде, коэффициент отражающей поверхности и коэффициент шероховатости поверхности. Данные поля допускают значения в диапазоне от 0.01 до 1. Также для расчетов характеристик необходимо указать расстояние от светодиода до фотодиода и ширину принимающей поверхности фотодиода (рис. 9).

Рис. 9 Выбор динамических параметров

3) Построение функции преобразования в виде графика.

Для того чтобы построить функцию преобразования с выбранным светодиодом пользователю необходимо нажать на кнопку “Построить график”. Далее происходит проверка значений на корректность. Если все поля заполнены верно, то в системе координат отображается график функции преобразования (рис. 10), иначе пользователю будет показано диалоговое окно с просьбой изменить неверно введенный параметр. Внизу, под графиком, изображено название используемого датчика для идентификации. На данном графике изображена зависимость тока на фотодиоде в зависимости от расстояния до отражающей поверхности. В момент, когда отражающая поверхность находится слишком близко к светодиоду, отраженные лучи не попадают на поверхность фотодиода, поэтому ток на фотодиоде равен нулю. При отдалении отражающей поверхности от плоскости светодиода и фотодиода количество лучей, попадающих на поверхность фотодиода, резко увеличивается, тем самым увеличивается ток на фотодиоде, достигая точки максимума. Далее при увеличении расстояния отражающей поверхности от плоскости, количество лучей, попадающих на фотодиод, постепенно уменьшается, уменьшая ток на фотодиоде.

4) Сравнение графиков в одной системе координат.

Разработанное ПО позволяет отображать несколько графиков в одной системе координат. Для этого пользователю необходимо изменить набор динамических параметров или выбрать другой датчик для анализа и нажать еще раз на кнопку “Построить график”. В системе координат, изображающей графики будет выведено несколько графиков (рис. 11). Данная функция позволяет определить наиболее подходящий для решения конкретной задачи светодиод. В зависимости от угла распространения светодиода определяется начальное расстояние, при котором свет поступает на фотодиод, диапазон и чувствительность графика. В зависимости от технических характеристик светодиода определяется максимальное значение тока на фотодиоде.

Рис. 10. График функции преобразования

Рис. 11 Сравнение графиков функций преобразования для разных светодиодов

5) Очистка графика.

Для очистки графика пользователю необходимо нажать на кнопку “Очистить график”. В данном случае система координат очищается, и пользователю предоставлена возможность начать моделирование заново.

6) Вывод диапазона и чувствительности графиков в виде таблицы.

Для того чтобы анализировать графики справа от системы координат изображается таблица с выводом основных данных, рассчитанных при построении графика (рис. 12). Данная таблица содержит 3 поля:

а) Название светодиода

б) Диапазон графика. В данном случае происходит расчет расстояния от начала графика до точки максимума. Точкой максимума в данном случае является конечная энергия, поступившая на фотодиод.

в) Чувствительность графика. В данном случае происходит расчет тангенса угла наклона прямой от начала графика до точки максимума.

Рис. 12 Таблица рассчитанных параметров функций преобразования

7) Проведение математических операций над функциями преобразования.

Разработанное ПО позволяет проводить стандартные математические операции над функциями (сложение, вычитание, деление, умножение). Для выполнения набора операций необходимо сохранять результат операций в очередь с помощью нажатия на кнопку “Сохранить в очередь” и отображать при необходимости с помощью кнопки “Достать из очереди”.

8) Выгрузка результатов работы ПО в excel таблицу.

Для того чтобы экспортировать результаты проведенного анализа, необходимо нажать на кнопку в нижней панели графика “Скачать отчет”. После этого происходит выгрузка всех данных, включающая введенные пользователем данные и данные, рассчитанные в результате построения функции преобразования в виде excel таблицы.

В качестве архитектурного решения в данной работе применен паттерн MVC (Model-View-Controller). Это подход, который предполагает выделение кода в отдельные блоки, которые отвечают за выполнение разных задач [4]. Компоненты MVC:

1) Модель -- это компонент, отвечающий хранение данных.

2) Представление -- это компонент, отвечающий за взаимодействие с пользователем. То есть код компонента view определяет внешний вид приложения и способы его использования.

3) Контроллер -- этот компонент отвечает за связь между model и view. Код компонента controller определяет, как представление реагирует на действия пользователя (рис. 13).

Рис. 13 Взаимодействие компонентов MVC

Рассмотрим основные компоненты и алгоритмы разработанного ПО.

В данном ПО моделью является LED (светодиод). Модель LED состоит из трех полей:

1) Name - название светодиода.

2) Power - мощность светодиода.

3) Degree - максимальный угол распространения света.

Для того, чтобы не допустить повторения моделей в ПО переопределены методы сравнения объектов equals/hashcode. Данные методы позволяют по заданным критериям сравнивать объекты. В случае с моделями фотодиодов необходимо сравнить все поля на равенство значений и предотвратить попадание дубликата в список.

В качестве слоя представления (отображение графических компонентов) используется файл формата fxml. FXML - специфичный формат XML для JavaFX. В нем определяются все графические компоненты и их свойства, а также описывается связь с контроллером. Для того чтобы привязать данную разметку к контроллеру происходит ее загрузка с помощью класса FXMLLoader. После того, как разметка загружена, она устанавливается для отображения с помощью класса Scene. Загруженная в Scene разметка отображается пользователю после запуска программы. Рассмотрим необходимые для решения поставленных задач графические компоненты, реализованные в ПО:

1) TextField - поле однострочного ввода. Данное поле необходимо для ввода пользователем значений. Оно позволяет устанавливать различные валидаторы ввода значений во избежание ошибки пользовательского ввода. Для решения поставленных задач реализованы символьные валидаторы на длину значения, чтобы предотвратить слишком длинные названия светодиодов и числовые валидаторы для корректного ввода целых и десятичных значений. Рассмотрим самый используемый в ПО валидатор ввода десятичных значений в диапазоне от 0.01 до 1 (см. Приложение 1). Для этого задается регулярное выражение, допускающее ввод либо 1, либо 0 с последующим знаком точки. Далее введенное значение преобразуется в вещественный тип Double, и, если преобразование успешно, введенный символ отображается в поле ввода.

2) HBox и VBox. Данные элементы являются контейнерами, которые позволяют компоновать графические элементы вертикально и горизонтально. Фактически, они отвечают за расположение элементов в окне программы.

3) LineChart - компонент для отображения графиков. Данный компонент принимает на вход массив значений для осей X и Y и на основании данных строит функцию. Также включает в себя набор функций для именования графиков и отметки ключевых значений.

4) TableView - таблица. TableView позволяет создать настраиваемую таблицу. В данном ПО в качестве строки таблицы используется сущность TableModel. TableModel в свою очередь состоит из 3 полей: название светодиода, диапазон и чувствительность графика.

5) ComboBox - раскрывающийся список. Данный компонент предназначен для выбора конкретного элемента из списка. В рамках ПО ComboBox предоставляет возможность выбрать необходимую для анализа модель светодиода.

6) Button - кнопка. К каждой кнопке прикрепляется EventHandler, который описывает действие, которое необходимо выполнить.

Controller - самая объемная и значимая часть разработанного ПО. В нем реализованы все связи между графическими компонентами, а также содержатся логика и основные алгоритмы ПО, которые рассмотрены далее.

Для начала рассмотрим принцип работы с файлами. Запись и чтение в файл реализовано для возможности хранить список используемых светодиодов и основано на сериализации. Сериализация -- это процесс, который конвертирует объект в последовательность из байтов, по которой можно восстановить объект в любой времени. Для реализации механизма сериализации модель светодиода LED наследуется от маркерного интерфейса Serializable [5]. Это интерфейс-идентификатор, который не имеет методов, но он указывает виртуальной машине Java, что объекты этого класса могут быть сериализованы. Рассмотрим алгоритмы чтения и записи моделей светодиодов в файл.

Для чтения данных из файла используется объект ObjectInputStream. Данный объект принимает в конструкторе ссылку на поток ввода для десериализации данных. В качестве потока используется файловый поток FileInputStream, который принимает на вход название файла, из которого считываются данные. Данные моделей светодиодов располагаются в файле converter.txt. Для считывания содержимого файла используется метод ObjectInputStream.readObject(), который далее преобразовывается в массив моделей, готовых к отображению и использованию в рамках ПО. При завершении работы с потоком его необходимо закрыть с помощью метода close(), который определен в интерфейсе Closeable. При закрытии потока освобождаются все выделенные для него ресурсы, в данном случае это файл. Если пропустить закрытие потока, то может произойти утечка памяти, которая впоследствии приведет к искажению данных файла. Так как во время открытия или считывания файла может произойти ошибка ввода-вывода, то код считывания помещается в блок try. И чтобы быть уверенным, что поток закроется при любой ситуации, даже если при работе с ним возникнет ошибка, необходимо поместить вызов метода close() в блок finally (см. Приложение 2).

При добавлении модели светодиода в систему, она добавляется в список всех моделей. Далее создается объект FileOutputStream, который предназначен для записи байтов в файл. В конструктор объекта передается название файла, в который записываются данные. Аналогично чтению, запись происходит в файл converter.txt. После этого поток байтов упаковывается в объект ObjectOutputStream. Этот класс является фильтрующим потоком, который окружает низкоуровневый поток байтов и предоставляет поток сериализации. Для записи списка моделей светодиодов в файл используется метод ObjectOutputStream.writeObject(), который запускает механизм сериализации. После завершения операции открытый поток закрывается с помощью вызова метода ObjectOutputStream.close() (см. Приложение 2).

Рассмотрим алгоритм построения функции преобразования (см. Приложение 3). В первую очередь происходит инициализация массива точек, где каждому значению точки на оси абсцисс соответствует значение точки на оси ординат. После этого инициализируются переменные максимальных и минимальных значений, необходимые для расчета диапазона и чувствительности функции. Для построения функции определено информативное расстояние в 200 миллиметров, которое позволяет анализировать функцию. Далее отражающая поверхность циклически отдаляется от 0 миллиметров до 200 миллиметров с инкрементальным шагом равным 1 миллиметр. На каждом шаге исследуются 10000 лучей, для повышения точности анализа, распространяющихся от нулевого угла, который падает перпендикулярно плоскости до максимального угла распространения света светодиодом. По закону отражения света от поверхности угол падения равен углу отражения, отсюда следует вывод, что луч попадая на отражающую поверхность проходит удвоенное расстояние по оси абсцисс. Для вычисления этого расстояния рассчитывается текущий исследуемый угол , где - максимальный угол распространения света светодиодом. Если данный луч попадает в рамки принимающей поверхности фотодиода, то он сохраняется в список лучей, которые попали на принимающую поверхность при текущем расстоянии до отражающей поверхности. Далее происходит расчет тока, попавшего на фотоприемник, в соответствии с заполненными пользователем динамическими параметрами и количеством лучей, поступивших на вход фотоприемника, и полученные результаты сохраняются в массив точек. После завершения формирования массива данные отображаются в виде графика и формируются значения для таблицы, как было продемонстрировано ранее.

Рис. 14 Подключение библиотеки для работы с excel файлами

Рассмотрим алгоритм выгрузки результатов работы программы в excel-файл (см. Приложение 4). Для работы с excel таблицами используется библиотека Apache POI. Данная библиотека подключается с помощью настройки конфигурационного файла Maven, путем добавления зависимости (рис. 14).

На вход функция принимает один параметр в виде списка моделей List<ExcelModel>, который содержит в себе заданные значения, выбранный датчик и результаты моделирования. После этого формируется, объект HSSFWorkbook, который формирует модель таблицы, необходимую для записи в файл. Префикс HSSF указывает на то, что необходимо создавать файл в формате *.xls. Далее создается объект таблицы Sheet, который хранит набор строк и столбцов таблицы. Затем происходит формирование первой строки таблицы путем создания объекта Row, который принимает на вход номер заполняемой строки. Для каждой строки формируется клетка, соответствующая объекту Cell, которая принимает на вход номер столбца в строке и значение. Аналогичная операция выполняется для списка моделей, которые необходимо вставить в таблицу. После заполнения таблицы данными, каждый столбец, приводится к размерам, которые позволяют видеть все содержимое столбца с помощью метода autoSizeColumn(), и сформированная таблица сохраняется в файл (рис. 15).

Рис. 15 Сформированный excel отчет

2.4 Разработка методики программных испытаний

Целью разработки методики программных испытаний является оценка адекватности разработанного ПО. Данная методика позволяет определить корректность построения функций преобразования для датчиков линейных перемещений.

Для анализа был выбран светодиод TLHE510, фотодиод с шириной принимающей поверхности 4 мм, и коэффициенты распространения среды, отражения от поверхности и шероховатости поверхности равные 0,5. При каждом следующем измерении один из коэффициентов поочередно был установлен в значение, равное 1 (рис. 16).

Рис. 16 Исследование зависимости функции преобразования от коэффициентов

Из построенной функции видно, что при увеличении одного из коэффициентов от 0.5 до 1, точка максимума функции преобразования возрастает прямо пропорционально значению измененного коэффициента. Соответственно, при изменении всех трех коэффициентов с 0.5 до 1 значение точки максимума функции увеличивается в 8 раз (отношение точки максимума синего графика к красному).

Рис. 17 Исследование зависимости функции преобразования от расстояния до фотоприемника

Рассмотрим функции преобразования для оптического преобразователя линейных перемещений при увеличении расстояния до фотоприемника. Для проверки были выбраны расстояния от светодиода до фотоприемника 20 мм, 40 мм, 60 мм (рис. 17).

Красным изображен график с расстоянием до фотоприемника 20 мм, оранжевым - 40 мм, зеленым - 60 мм. Из графика видно, что при увеличении расстояния до фотоприемника уменьшается точка максимума функции и увеличивается диапазон функции. Данное поведение обусловлено уменьшением количества лучей, попадающих на фотоприемник. Диапазон функции увеличивается из-за более длительного достижения точки максимума. Также, кроме сравнения функции были протестированы стандартные математические операции над функциями, такие как умножение, деление, сложение и вычитание.

Рассмотрим зависимость функции преобразования с фотоприемниками с различной шириной поверхности 4 мм, 5 мм и 6 мм соответственно (рис. 18).

Рис. 18 Исследование зависимости функции преобразования от ширины фотоприемника

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

Рис. 19 Сохранение результатов анализа оптических преобразователей линейных перемещений

Протестируем сохранение данных в excel файл. Для этого построим 4 функции преобразования и нажмем на кнопку “Сохранить отчет” Далее необходимо выбрать расположение генерируемого файла и нажать кнопку “Сохранить”. В результате в указанном месте сохранения создан файл с полученными результатами при построении функции (рис. 19).

Разработанная методика программных испытаний для данного ПО доказывает корректность построенной математической модели оптического преобразователя линейных перемещений.

Заключение

Практическая значимость данной работы заключается в предоставлении возможности анализировать работу оптических преобразователей линейных перемещений на малых расстояний путем моделирования их характеристик в программном обеспечении. Основная цель работы по разработке программного обеспечения была достигнута. Для этого были выполнены следующие задачи:

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

2) Построена математическая модель для оптических преобразователей линейных перемещений.

3) Разработанная математическая модель внедрена в программное обеспечение.

4) Разработано программное обеспечение, способное проводить моделирование характеристик оптических преобразователей линейных перемещений, осуществлять сравнение функций преобразований, совершать математические операции для функций преобразования и сохранять результаты работы программы в excel таблицу.

5) Проведено тестирование программного обеспечения для проверки достоверности полученных результатов.

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

Перечень сокращений

ПО - программное обеспечение

JVM - Java Virtual Machine

JRE - Java Runtime Environment

MVC - Model View Controller

Список использованных источников

1. Зак Е.А., Волоконно-оптические преобразователи с внешней модуляцией. М. Энергоатомиздат, 1989.

2. Крупкина Т.Ю., Пивкин А.Г., Способ измерения микроперемещения и волоконно-оптический преобразователь перемещения для его осуществления // Труды Международного симпозиума «Надежность и качество». 2006.

3. Ruzicka V., JavaFX Tutorial: FXML and SceneBuilder. URL: https://habr.com/ru/post/474982/ (дата обращения 23.03.2020).

4. Brandi P., Architecture Patterns: Model-View-Controller. URL: https://android.jlelse.eu/architecture-patterns-model-view-controller-de312417b4bd (дата обращения 26.03.2020).

5. Pop D., Altar A., Designing an MVC Model for Rapid Web Application Development // Procedia engineering. 2014.

6. Закон Бугера-Ламберта-Бера. URL: https://www.booksite.ru/fulltext/1/001/008/001/732.htm (дата обращения 26.03.2020).

7.

Приложения

Ввод десятичных значений

Чтение и запись файла

Расчет функции преобразования

Приложение Формирование excel отчета

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.