Автор работы: Пользователь скрыл имя, 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
Рис. 2.7 Микросхема AD8534AR, вид сверху.
Таблица 2.12
Описание выводов микросхемы AD8534AR
Pin |
Мнемоника |
Описание |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
OUT A -IN A +IN A V+ +IN B -IN B OUT B OUT C -IN C +IN C V- +IN D -IN D OUT D |
Выход усилителя A Отрицательный вход усилителя A Положительный вход усилителя A Положительное напряжение питания Положительный вход усилителя B Отрицательный вход усилителя B Выход усилителя B Выход усилителя C Отрицательный вход усилителя C Положительный вход усилителя C Отрицательное напряжение питания Положительный вход усилителя D Отрицательный вход усилителя D Выход усилителя D |
Отличительными особенностями микросхемы AD623BR являются:
Одинарное и двойное питание
Низкое энергопотребление
Установка величины усиления всего одним резистором
Основные характеристики микросхемы AD623BR приведены в табл. 2.13. Расположение выводов показано на рис. 2.8. Описания выводов приведены в табл. 2.14.
Таблица 2.13
Основные характеристики микросхемы AD623BR
Характеристика |
Мин. значение |
Типичное значение |
Макс. значение |
Единицы измерения |
Диапазон усиления |
1 |
1000 |
||
Ошибка усиления G=1 G=10 G=100 G=1000 |
0.03 0.10 0.10 0.10 |
0.05 0.35 0.35 0.35 |
% % % % | |
Смещение входного тока |
17 |
25 |
нА | |
Колебания выходного сигнала RL=10кОм RL=100кОм |
+0.01 +0.01 |
-0.5 -0.15 |
В В |
Рис. 2.8 Микросхема AD623BR, вид сверху
Таблица 2.14
Описание выводов микросхемы AD623BR
Pin |
Мнемоника |
Описание |
1 2 3 4 5 6 7 8 |
-RG -IN +IN -VS REF OUTPUT +VS +RG |
Вход для регулировки входного сопротивления Инверсный вход Вход Отрицательное питание Опорное напряжение Выход Положительное питание Вход для регулировки входного сопротивления |
В качестве мультиплексора будем использовать микросхему ADG413BR, фирмы Analog Devices. Это четырёхканальный мультиплексор отличительными особенностями которого являются:
Основные характеристики микросхемы ADG413BR приведены в табл. 2.15. Расположение выводов изображено на рис. 2.9. Описания выводов приведены в табл. 2.16.
Таблица 2.15
Основные характеристики микросхемы ADG413BR
Параметр |
Значение |
Единица измер. |
Диапазон переключаемых сигналов |
±15 |
В |
Входное сопротивление |
35 |
Ом, максимум |
Время включения |
110 |
нс |
Время выключения |
100 |
нс |
Задержка |
25 |
нс |
Количество входных каналов |
4 |
Рис. 2.9 Микросхема ADG413BR, вид сверху
Таблица 2.16
Описание выводов микросхемы ADG413BR
Pin |
Мнемоника |
Обозначение |
1 |
IN1 |
Управление каналом 1 |
2 |
D1 |
Выход 1 |
3 |
S1 |
Вход 1 |
4 |
VSS |
Отрицательное питание |
5 |
GND |
Общий |
6 |
S4 |
Вход 4 |
7 |
D4 |
Выход 4 |
8 |
IN4 |
Управление каналом 4 |
9 |
IN3 |
Управление каналом 3 |
10 |
D3 |
Выход 3 |
11 |
S3 |
Вход 3 |
12 |
VL |
Логическое питание |
13 |
VDD |
Положительное питание |
14 |
S2 |
Вход 2 |
15 |
D2 |
Выход 2 |
16 |
IN2 |
Управление каналом 2 |
Для реализации схемы сброса понадобятся полевые транзисторы. В качестве полевых транзисторов будем использовать микросхему IRF7105, фирмы International Rectifier. Микросхема представляет собой два полевых транзистора.
Рис. 2.10 Микросхема IRF7105, вид сверху
В результате анализа структурной схемы было предложено использовать ПЛИС фирмы Altera, семейства MAX (Multiple Array matriX) 7000. Микросхемы этой серии обеспечивают:
Для модуля инерционного сенсора будем использовать микросхему EPM7160STI100-10
Таблица 2.17
Основные характеристики микросхемы EPM7160STI100-10
Параметр |
Значение |
Количество макроячеек |
160 |
Корпус |
TQFP |
Количество выводов |
104 |
Количество выводов ввода/вывода |
84 |
Напряжение питания |
5 В |
Задержка распространения сигнала |
10 нс |
Количество используемых гейтов |
3200 |
Количество логических блоков |
10 |
Рис. 2.11 Функциональная схема ПЛИС серии MAX7000 фирмы Altera
Рис. 2.12 Микросхема EPM7160STI100-10, вид сверху.
В качестве микроконтроллера будем использовать микросхему AT89S8252 фирмы Atmel. Это высокопроизводительный, низкопотребляющий, восьмибитный CMOS микроконтроллер. Основными характеристиками которого являются:
Рис. 2.13 Микросхема AT89S8252, вид сверху
Описание выводов:
VCC – напряжение питания.
GND – общий.
Port 0 – открытый, двунаправленный восьмибитный порт ввода/вывода. Порт 0 может быть настроен для работы с совмещённой шиной адреса и данных.
Port 1 – восьмибитный двунаправленный порт с внутренней подтяжкой до третьего состояния.
Port 2 - восьмибитный двунаправленный порт с внутренней подтяжкой до третьего состояния. Используется как порт адреса.
Port 3 – восьмибитный двунаправленный порт ввода-вывода с подтяжкой до третьего состояния. Также можут быть использован для передачи информации по последовательному каналу.
RST – Сброс.
ALE/PROG – Address Latch Enable.
PSE – читает строб в память программы.
EA/VPP – Включение внешнего адреса.
XTAL1 – вход инвертирующего усилителя.
XTAL2 – выход из инвертирующего усилителя.
Таблица 2.18
Описания дополнительных функций выводов порта 1 и 3микросхемы AT89S8252
Мнемоника |
Описание |
P1.0 |
Т2 синхо выход |
P1.1 |
Т2 дополнительный синхро выход |
P1.4 |
Выход выбора подчиненного порта |
P1.5 |
Главный выход данных, подчиненный вход данных для SPI канала |
P1.6 |
Главный вход данных, подчиненный выход данных для SPI канала |
P1.7 |
Главный выход синхронизации, подчиненный выход синхронизации для SPI канала |
P3.0 |
RXD (для последовательного канала) |
P3.1 |
TXD (для последовательного канала) |
P3.2 |
Внешнее прерывание 0 |
P3.3 |
Внешнее прерывание 1 |
P3.4 |
Таймер 0, внешний вход |
P3.5 |
Таймер 1, внешний вход |
P3.6 |
Строб записи |
P3.7 |
Строб чтения |
ПЛИС генерирует на выход сигнала сброса сигнал «меандр», схема сброса по положительным и отрицательным фронтам этого сигнала подаёт на вход сброса магниторезистивного сенсора сигнал с большим током, заставляя домены магниторезистивного сенсора переориентироваться в одном направлении. В промежутки времени между положительными и отрицательными фронтами сигнала сброса ПЛИС с частотой 2кГц опрашивает последовательно магниторезистивный сенсор, первый и второй акселерометры и температурный датчик , записывая их показания в 7 12-и разрядных регистров.
Сразу после включения схемы ПЛИС подаёт на масштабирующие входы магниторезистивного сенсора калибровочные коэффициенты, необходимые для масштабирования и линейного выравнивания показаний магниторезистивного сенсора.
Микроконтроллер с частотой 2кГц производит считывание данных из первых 6-и вышеупомянутых регистров ПЛИС. Проводит масштабную и линейную корректировку показаний акселерометров. Раз в минуту микроконтроллер производит считывание показаний температурного датчика и использует его показания для температурной корректировки показаний акселерометров и магниторезистивных сенсоров в соответствии с таблицей поправок зашитой в микроконтроллере. После снятия и корректировки показаний акселерометров и магниторезистивных сенсоров, микроконтроллер производит первичную фильтрацию этих показаний алгоритмом скользящего среднего, с размеров скользящего окна равным 16.
При поступлении сигнала с интерфейса RS-232C микроконтроллер проверяет присланный байт. Если он равен 55h, то микроконтроллер начинает последовательно отсылать корректированные и отфильтрованные показания акселерометров и магниторезистивных сенсоров через интерфейс RS-232C в КПК. Последовательность посылки такая: