Автор работы: Пользователь скрыл имя, 07 Декабря 2014 в 12:36, дипломная работа
Одним из перспективных направлений развития органов управления и ввода информации является ввод информации с помощью пространственных жестов руки, удерживающей КПК. Однако данный метод ввода информации ещё не реализован, нет информации как по сенсорам, с помощью которых можно реагировать на изменение угловой ориентации КПК, так и по организации взаимодействия этих сенсоров с программным обеспечением КПК. В рамках данного дипломного проекта реализована идея управления программным обеспечением КПК фирмы Palm Inc. с помощью инерционных сенсоров и специального программного обеспечения, позволяющего по показаниям этих сенсоров судить о выполнении определённых жестов.
ВВЕДЕНИЕ И ПОСТАНОВКА ЗАДАЧИ 3
1.1 ВВЕДЕНИЕ 3
1.2 ТЕХНИЧЕСКОЕ ЗАДАНИЕ НА ДИПЛОМНЫЙ ПРОЕКТ 4
2 РАЗРАБОТКА МОДУЛЯ ИНЕРЦИОННОГО СЕНСОРА 8
2.1 ПРЕДЛОЖЕНИЕ И ОБОСНОВАНИЕ ПОДХОДА К СОЗДАНИЮ СЕНСОРА 8
2.2 РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ МОДУЛЯ ИНЕРЦИОННОГО СЕНСОРА 9
2.3 ОБОСНОВАНИЕ ВЫБОРА ЭЛЕМЕНТНОЙ БАЗЫ 12
2.3.1 Акселерометр 12
2.3.2 Магниторезистивный сенсор 14
2.3.3 АЦП 17
2.3.4 ЦАП 21
2.3.5 Температурный датчик 23
2.3.6 Операционный усилитель 25
2.3.7 Мультиплексор 29
2.3.8 Схема сброса 31
2.3.9 ПЛИС 32
2.3.10 Микроконтроллер 34
2.4 ПРИНЦИП РАБОТЫ МОДУЛЯ ИНЕРЦИОННОГО СЕНСОРА 37
2.5 РАСЧЕТ ПОТРЕБЛЯЕМОЙ МОЩНОСТИ 39
3 РАЗРАБОТКА ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА НАЧАЛЬНОЙ КАЛИБРОВКИ МОДУЛЯ ИНЕРЦИОННОГО СЕНСОРА 41
3.1 ОБОСНОВАНИЕ НЕОБХОДИМОСТИ НАЧАЛЬНОЙ КАЛИБРОВКИ МОДУЛЯ ИНЕРЦИОННОГО СЕНСОРА 41
3.2 РАЗРАБОТКА АЛГОРИТМА ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА НАЧАЛЬНОЙ КАЛИБРОВКИ ИНЕРЦИОННОГО СЕНСОРА 41
3.3 РЕЗУЛЬТАТЫ ИСПЫТАНИЯ РАЗРАБОТАННОГО ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА НАЧАЛЬНОЙ КАЛИБРОВКИ ИНЕРЦИОННОГО СЕНСОРА 55
4 РАЗРАБОТКА АЛГОРИТМОВ УПРАВЛЕНИЯ ИНЕРЦИАЛЬНЫМИ ПРИЛОЖЕНИЯМИ 58
4.1 РАЗРАБОТКА АЛГОРИТМА ОПРОСА МОДУЛЯ ИНЕРЦИОННОГО СЕНСОРА И ФИЛЬТРАЦИИ ПОЛУЧЕННЫХ ПОКАЗАНИЙ 58
4.2 РАЗРАБОТКА АЛГОРИТМА РАСПОЗНАВАНИЯ БАЗОВЫХ ДВИЖЕНИЙ FLIP 61
4.3 РАЗРАБОТКА АЛГОРИТМА ВЫДЕЛЕНИЯ БАЗОВЫХ ДВИЖЕНИЙ PUSH 65
5 РАЗРАБОТКА МЕТОДИКИ НАПИСАНИЯ ИНЕРЦИАЛЬНЫХ ПРИЛОЖЕНИЙ 68
5.1 СПЕЦИФИКА РАЗРАБОТКИ ПРИЛОЖЕНИЙ ДЛЯ ОПЕРАЦИОННОЙ СИСТЕМЫ PALM OS 4.0 68
5.2 РАЗРАБОТКА РАЗДЕЛЯЕМОГО РЕСУРСА БАЗЫ ДАННЫХ ИНЕРЦИОННОГО СЕНСОРА 72
5.3 РАЗРАБОТКА ДЕМОНСТРАЦИОННОГО ИНЕРЦИАЛЬНОГО ПРИЛОЖЕНИЯ 74
6 ПЛАНИРОВАНИЕ И ОЦЕНКА ЗАТРАТ СОЗДАНИЯ ПРОГРАММНОГО ПРОДУКТА 81
6.1 СМОЛЯНАЯ ЯМА ПРОГРАММИРОВАНИЯ 81
6.2 СЕТЕВОЕ ПЛАНИРОВАНИЕ 82
6.3 СОЗДАНИЕ СТРУКТУРНОЙ ТАБЛИЦЫ РАБОТ 83
6.4 РАСЧЕТ ЗАТРАТ НА СОЗДАНИЕ ПРОГРАММНОГО ПРОДУКТА 87
6.4.1 Расчет затрат на непосредственную разработку программного комплекса 87
6.4.2 Расчет затрат на изготовление опытного образца программного продукта 89
6.4.3 Расчет затрат на технологию 90
6.4.4 Затраты на ЭВМ 90
6.4.5 Общие затраты на создание программного продукта 91
7 ПРОИЗВОДСТВЕННАЯ И ЭКОЛОГИЧЕСКАЯ БЕЗОПАСНОСТЬ 93
7.1 ВВЕДЕНИЕ В ПРОИЗВОДСТВЕННУЮ И ЭКОЛОГИЧЕСКУЮ БЕЗОПАСНОСТЬ 93
7.2 ОБЕСПЕЧЕНИЕ ПРОИЗВОДСТВЕННОЙ БЕЗОПАСНОСТИ ПРИ РАЗРАБОТКЕ, ПРОИЗВОДСТВЕ И ЭКСПЛУАТАЦИИ МИКРОПРОЦЕССОРНЫХ УСТРОЙСТВ 94
7.2.1 Микроклимат лаборатории 94
7.2.2 Требования к уровням шума и вибрации 96
7.2.3 Электробезопасность 97
7.2.4 Требование к защите от статического электричества и излучений при работе за компьютером. 98
7.2.5 Требования к освещению на рабочем месте 100
7.2.6 Воздействие вредных веществ при пайке 102
7.2.7 Психофизические факторы 103
7.2.8 Эргономика рабочего места 103
7.3 РАСЧЕТ ИСКУССТВЕННОГО ОСВЕЩЕНИЯ НА РАБОЧЕМ МЕСТЕ 104
7.4 ОХРАНА ОКРУЖАЮЩЕЙ СРЕДЫ 106
8 ЗАКЛЮЧЕНИЕ 108
9 СПИСОК ЛИТЕРАТУРЫ 109
Оглавление
С течением времени минимизация персональных компьютеров (ПК) дошла до такой степени, что полнофункциональный ПК может помещаться на ладони. Такие компьютеры называют “карманными персональными компьютерами” (КПК) или иначе “наладонниками”. КПК обладает меньшим быстродействием, но может выполнять многие функции обычного ПК, такие как: набор и редактирование текстов, работа с Internet, работа с электронной почтой, работа с базами данных, и многое другое. С помощью плат расширения КПК можно наделить цифровой камерой, модемом, mp3-плейером, сканером бар-кода, GPS-приемником и модулем Bluetooth. Однако, в данной бочке мёда существует и ложка дёгтя - это устройства ввода информации. Стандартно, на КПК есть шесть кнопок, которые можно запрограммировать на выполнение определённых действий, и стилус – перо, с помощью которого можно вводить текст, используя панель Graffiti или экранную клавиатуру. Использование подобных органов управления часто вызывает неудобства, связанные с тем, что работать с программным обеспечением приходится двумя руками. Одной рукой удерживается КПК, а другой рукой вводится информация с помощью стилуса. Большинство операций, которые пользователи обычных ПК привыкли делать с помощью клавиатуры, не могут быть реализованы на малом количестве кнопок КПК. В связи с этим остро встаёт проблема расширения органов ввода для КПК, которые бы могли совмещать в себе компактность и возможность оперирования одной рукой. Практически каждая фирма-производитель КПК имеет свои разработки в этой области, но ни одна из них этих разработок ещё не внедрена. Одним из перспективных направлений развития органов управления и ввода информации является ввод информации с помощью пространственных жестов руки, удерживающей КПК. Однако данный метод ввода информации ещё не реализован, нет информации как по сенсорам, с помощью которых можно реагировать на изменение угловой ориентации КПК, так и по организации взаимодействия этих сенсоров с программным обеспечением КПК. В рамках данного дипломного проекта реализована идея управления программным обеспечением КПК фирмы Palm Inc. с помощью инерционных сенсоров и специального программного обеспечения, позволяющего по показаниям этих сенсоров судить о выполнении определённых жестов.
Рис. 0.1 Базовые движения. Push (сверху) и Flip (снизу)
Для решения задачи определения угловой ориентации в трёхмерном пространстве, необходимы сенсоры, которые были бы чувствительны к изменению углового положения объекта. Стандартным подходом для решения таких задач является использование гироскопов, но из-за их дороговизны и больших размеров необходимо искать другие пути решения поставленной задачи. Одним из перспективных методов определения ориентации в пространстве является использование акселерометров – сенсоров, которые измеряют суперпозицию векторов гравитации и линейного ускорения на свою чувствительную ось. Для решения задачи ориентации в трёхмерном пространстве потребуется не менее трех акселерометров, и их следует расположить так, чтобы их чувствительные оси были взаимно ортогональны. Сенсоры, построенные на базе акселерометров, получили название “инерционных сенсоров”. Однако, только с помощью акселерометров исходную задачу ориентации решить невозможно, так как по проекциям вектора гравитации на чувствительные оси акселерометров нельзя определить угол поворота модуля инерционного сенсора в горизонтальной плоскости. Необходимо использовать дополнительные типы датчиков для измерения некой физической величины, в основе анализа которой можно было бы определить угловую ориентацию в пространстве. Причем координаты новой физической величины должны образовывать вектор, который будет неколлинеарен вектору гравитации. В качестве такой величины будем использовать вектор естественного магнитного поля Земли, так как его проекцию можно измерить с помощью магниторезистивных сенсоров, а сам геомагнитный вектор неколлинеарен вектору гравитации в подавляющем большинстве поверхности Земли.
Промышленность выпускает достаточно большое количество акселерометров в интегральном исполнении. Друг от друга они отличаются сравнительно большим набором характеристик, из этого набора нас интересуют следующие:
Исследования рынка микросхем показали, что можно найти цифровые акселерометры довольно маленьких размеров, с двумя чувствительными осями, ортогональными друг другу.
С магнитными сенсорами ситуация немного другая. Из большого количества магнитных сенсоров можно выделить магниторезистивные сенсоры в интегральном исполнении. Они компактны, но у них аналоговые выходы. Можно подобрать магниторезистивный сенсор с тремя чувствительными, ортогональными друг другу осями. Следовательно, для реализации модуля инерционного сенсора с использованием магниторезистивных сенсоров потребуется АЦП, для перевода данных полученных с сенсора в цифровую форму, и ЦАП для перевода начального смещения в аналоговую форму, также следует использовать блоки усилителей, для согласования уровней сигналов аналоговых выходов магниторезистивного сенсора и аналоговых выходов ЦАП. Для получения достоверных данных с магниторезистивного сенсора необходимо проводить его размагничивание перед каждым снятием данных. Для этого следует разработать схему сброса.
Также следует учесть, что на показания акселерометров и магниторезистивных сенсоров будет влиять температура окружающего воздуха. Для корректировки показаний сенсоров в зависимости от температуры окружающего воздуха необходимо использовать температурный датчик. Исследования рынка микросхем показали, что достаточно легко подобрать компактный цифровой температурный датчик в интегральном исполнении.
Для реализации последовательного опроса акселерометров, магниторезистивных сенсоров и температурного датчика, а также для учёта начального смещения сенсоров и размагничивания магниторезистивного сенсора, будем использовать ПЛИС.
Для инициации опроса сенсоров и подготовки и фильтрации данных к передаче по последовательному интерфейсу будем использовать микроконтроллер.
Для согласования уровней сигналов микроконтроллера и интерфейса RS-232C будем использовать преобразователь уровня.
Следует также учесть, что ПЛИС и микроконтроллер нуждаются во внешнем тактировании. Для них нужно предусмотреть наличие генератора тактовых импульсов.
Конструктивно модуль инерционного сенсора следует выполнять на трёх платах. Первая плата будет содержать ПЛИС, АЦП, ЦАП, усилители для магниторезистивного сенсора, магниторезистивный сенсор, акселерометр и температурный датчик. Вторая плата будет содержать микроконтроллер, генератор тактовых импульсов и преобразователь уровней. Третья плата будет содержать акселерометр. Это обусловлено тем, что:
В результате проведённого анализа составим структурную схему модуля инерционного сенсора изображенную на рис. 2.1.
Рис. 2.1 Структурная схема модуля инерционного сенсора
В качестве акселерометра лучше всего использовать микросхему ADXL202AE фирмы Analog Devices. Это - двухосевой цифровой акселерометр, работающий от напряжения питания 3, или 5.25В. Отличительными особенностями микросхемы являются:
Основные характеристики микросхемы приведены в табл. 2.1. Конфигурация выводов изображена на рис. 2.1. Описания выводов даны в табл. 2.2.
Таблица 2.1
Основные характеристики микросхемы ADXL202AE
Характеристика |
Условия |
Мин. значение |
Типичное значение |
Макс. значение |
Единица измерения |
Диапазон измерений |
На каждую ось |
±2 |
g | ||
Ошибка осей |
Разброс реальной и изображенной оси |
±1 |
° | ||
Ошибка осей |
Перпендикулярность осей |
0.01 |
° | ||
Суммарная ошибка по осям |
±2 |
% | |||
Температурный дрейф |
±0.5 |
% | |||
Чувствительность каждой оси |
При VDD=5В При VDD=3В |
10 |
12.5 |
15 |
%/g |
Плотность шума |
При 25°С |
200 |
1000 |
mg | |
Напряжение питания |
3 |
5.25 |
В | ||
Потребляемый ток |
0.6 |
1 |
mA | ||
Время включения |
160xCFILT+0.3 |
ms | |||
Рабочая температура |
-40 |
+85 |
°C |
Рис. 2.2 Микросхема ADXL202AE, вид снизу
Таблица 2.2
Описание выводов микросхемы ADXL202AE
Pin |
Мнемоника |
Описание вывода |
1 2 3 4 5 6 7 8 |
ST T2 COM YOUT XOUT YFILT XFILT VDD |
Само-тест Установка T2 периода Общий Выход канала Y Выход канала X Канал фильтра X Канал фильтра Y Питание |
В качестве магниторезистивного сенсора целесообразно будет использовать микросхему HMC1023 фирмы Honeywell. HMC1023 – это трех осевой магниторезистивный сенсор, отличительными особенностями которого являются:
Широкий диапазон измеряемого магнитного поля.
Маленький размер
Прочный корпус
Низкое энергопотребление
Невысокая цена
Основные характеристики микросхемы приведены в табл.2.3. Расположение выводов показано на рис. 2.1. Описание выводов микросхемы приведено в табл.2.4.
Таблица 2.3
Основные характеристики микросхемы HMC1023
Характеристика |
Условия |
Мин. значение |
Типичное значение |
Макс. значение |
Единица измерения |
Питание мостов |
3 |
5 |
12 |
В | |
Сопротивление мостов |
При токе 5mA |
250 |
350 |
450 |
Ом |
Рабочая температура |
-40 |
+125 |
°С | ||
Диапазон измеряемого магнитного поля |
-6 |
+6 |
Гс | ||
Ошибка линейности |
При температуре 25 °С и поле: ±1 Гс ±3 Гс ±6 Гс |
|
0.05 0.4 1.6 |
%FS | |
Ортогональность осей |
Отличие от 90° |
±1 |
° | ||
Чувствительность |
При питании мостов 5В |
0.8 |
1.0 |
1.2 |
мВ/В/Гс |
Разрешение |
Частота 10Гц, питание мостов 5В |
85 |
µГс | ||
Наводки осей одна на другую |
+0.3 |
%FS | |||
Максимально допустимое поле |
200 |
Гс |