Проектирование цифровых систем передачи

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

Диплом.doc

— 2.35 Мб (Скачать файл)

 

    1. Расчет потребляемой мощности

Потребляемая мощность рассчитывается как сумма потребляемых мощностей элементов схемы, следовательно:

W=(5*0.3e-3)+(5.25*0.6e-3)*2+(5*575e-6)*7+(5*40e-6)+35e-6*2+(6*750e-6)*2+90e-3+6.5e-3+(6*15e-3)+0.400=1.5e-3+6.3e-3+0.020125+2e-4+7e-5+9e-3+90e-3+6.5e-3+0.09=0.723Вт = 733мВт.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

    1. Обоснование необходимости начальной калибровки модуля инерционного сенсора

Основными составляющими модуля инерционного сенсора являются:

  • Акселерометр – прибор, измеряющий проекцию «кажущегося» ускорения (суперпозицию собственного ускорения и вектора гравитации) на свою чувствительную ось.
  • Магнитный сенсор – прибор, измеряющий проекцию магнитного поля на свою чувствительную ось.

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

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

 

    1. Разработка алгоритма технологического процесса начальной калибровки инерционного сенсора

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

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

Выходное значение акселерометра имеет вид: R=k1*aeg+k0, где R – выходные данные с акселерометра, k1, k0 - коэффициенты, индивидуальные для каждого акселерометра в силу технологического разброса при изготовлении сенсоров.

Выходное значение магнитного сенсора имеет вид: Ms=l1*mem+l0, где Ms – выходные данные с магнитного сенсора, l1, l0 - коэффициенты, индивидуальные для каждого магнитного сенсора в силу технологического разброса при изготовлении сенсоров.

В задачу начальной калибровки входит определение коэффициентов k1, k0 для каждого из акселерометров, и l0, l1 для каждого из магнитных датчиков, а также определение углов между чувствительными осями сенсоров и осями системы координат модуля.

Начальная калибровка модуля инерционного сенсора проводится путём установки его в 6 фиксированных эталонных положений и съёма данных с акселерометров и магнитных сенсоров в каждом из его положений. В табл. 3.1, приведённой ниже, охарактеризованы все 6 положений модуля, в которые его необходимо установить для съёма показаний:

 

 

Таблица 3.1

Эталонные положения модуля инерционного сенсора

положения

Направление

оси X объекта совпадает с…

Направление

оси Y объекта совпадает с…

Направление

оси Z объекта совпадает с…

Направление

Вектора гравитации будет совпадать с…

1

X земной системы

Y земной системы

Z земной системы

-Z земной системы

2

Z земной системы

X земной системы

Y земной системы

-X земной системы

3

Y земной системы

Z земной системы

X земной системы

-Y земной системы

4

-Y земной системы

-X земной системы

-Z земной системы

+Z земной системы

5

-Z земной системы

-Y земной системы

-X земной системы

+X земной системы

6

-X земной системы

-Z земной системы

-Y земной системы

+Y земной системы


 

На рис. 3.1 - 3.6 представлены эскизы этих 6 положений модуля инерционного сенсора.

 

 

Рис. 3.1 Эталонное положение №1 модуля инерционного сенсора.

 

Рис. 3.2 Эталонное положение №2 модуля инерционного сенсора.

 

 

 

Рис. 3.3 Эталонное положение №3 модуля инерционного сенсора.

 

Рис. 3.4 Эталонное положение №4 модуля инерционного сенсора.

 

 

Рис. 3.5 Эталонное положение №5 модуля инерционного сенсора.

 

Рис. 3.6 Эталонное положение №6 модуля инерционного сенсора.

 

В каждом из 6 положений необходимо снять показания датчиков XA, YA, ZA для акселерометров и XM, YM, ZM для магнитных сенсоров.

В результате, после съёма данных во всех 6 положениях, в нашем распоряжении будут следующие массивы данных: XA[1..6], YA[1..6], ZA[1..6], XM[1..6], YM[1..6], ZM[1..6].

 

Пусть aX, aY, aZ – углы между осями X, Y, Z модуля инерционного сенсора и чувствительной осью акселерометра, ось которого должна быть сонаправлена с осью OX модуля. А bX, bY, bZ – углы между осями X, Y, Z модуля инерционного сенсора и чувствительной осью магнитного сенсора, ось которого должна быть сонаправлена с осью OX модуля. G – модуль гравитационного вектора. M – модуль вектора магнитного поля Земли.

 

 

Примем обозначения:

b1= XA[1];

b2= XA[2];

b3= XA[3];

b4= XA[4];

b5= XA[5];

b6= XA[6];

 

с1 = XM[1];

с2 = XM[2];

с3 = XM[3];

с4 = XM[4];

с5 = XM[5];

с6 = XM[6];

 

Тогда показания сенсоров модуля во всех 6 точках будут иметь вид:

 

 

 

Из приведённых выражений видно, что:

 

 

Вычитая попарно уравнения, вводя переменные d1, d2, d3, e1, e2, e3 получим:

 

 

Так как и , то можно найти k1 и l1:

 

 

а углы в этом случае  будут равны:

 

 

 

В результате проведёния вычислений мы получаем коэффициенты k1 и k0, для акселерометра, чувствительная ось которого сонаправлена с осью OX модуля, коэффициенты l1 и l0 для магнитного сенсора, чувствительная ось которого сонаправлена с осью OX модуля. Также мы получаем величины углов между чувствительной осью акселерометра и осями OX, OY, OZ, и величины углов между чувствительной осью магнитного сенсора и осями OX, OY, OZ системы координат модуля.

Аналогично вычисляются коэффициенты и для двух остальных акселерометров и двух остальных магнитных сенсоров.

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

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

 


 

 

 

 

 

 

 

 

 

 

 

Рис. 3.7 Главное окно программы начальной калибровки модуля инерционного сенсора.

 

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

 

  1. Подключаем инерционный сенсор к персональному компьютеру. Для проведения процедуры калибровки будет достаточно IBM PC совместимого компьютера, с тактовой частотой процессора не ниже 100MHz и установленной операционной системой Windows 95 и выше.
  2. Запускаем программу калибровки, и устанавливаем там следующие значения:
    1. Протокол MIEE_1.0 (программа поддерживает два протокола, для совместимости с инерционными сенсорами других фирм).
    2. Установить номер COM–порта, в соответствии с тем, куда подключен инерционный сенсор.
    3. Выбрать скорость обмена данными с инерционным сенсором. Рекомендуемая скорость 57600 бод.
  3. Нажимаем кнопку Connect To Sensors…, после этого смотрим, если заблокированные кнопки стали доступными, то мы переходим к пункту 4. Если кнопки остались заблокированными, то приложение не может соединиться с инерционным сенсором. Следует выйти из программы калибровки, отключить инерционный сенсор от компьютера, и отправить инерционный сенсор на анализ неисправностей и причин их возникновения. Если после анализа неисправностей инерционный сенсор не отправлен в изолятор брака, то неисправность устранена, и необходимо провести калибровку сначала (с пункта 1).
  4. Устанавливаем инерционный сенсор в положение 5 (см. Таблица 1). При этом мы попытаемся снять коэффициент калибровки k0 для акселерометра Ax и l0 для магнитного сенсора Mx.
  5. Нажимаем кнопку +X(5), а затем нажимаем кнопку Calibrate…
  6. Считываем калибровочный коэффициент k0 для акселерометра Ax и l0 для магнитного сенсора Mx.
  7. Устанавливаем инерционный сенсор в положение 2 (см. Таблица 1). При этом мы попытаемся снять коэффициент калибровки k1 для акселерометра Ax и l1 для магнитного сенсора Mx.
  8. Нажимаем кнопку -X(2), а затем нажимаем кнопку Calibrate…
  9. Считываем калибровочный коэффициент k1 для акселерометра Ax и l1 для магнитного сенсора Mx.
  10. Устанавливаем инерционный сенсор в положение 6 (см. Таблица 1). При этом мы попытаемся снять коэффициент калибровки k0 для акселерометра Ay и l0 для магнитного сенсора My.
  11. Нажимаем кнопку +Y(6), а затем нажимаем кнопку Calibrate…
  12. Считываем калибровочный коэффициент k0 для акселерометра Ay и l0 для магнитного сенсора My.
  13. Устанавливаем инерционный сенсор в положение 3 (см. Таблица 1). При этом мы попытаемся снять коэффициент калибровки k1 для акселерометра Ay и l1 для магнитного сенсора My.
  14. Нажимаем кнопку -Y(3), а затем нажимаем кнопку Calibrate…
  15. Считываем калибровочный коэффициент k1 для акселерометра Ay и l1 для магнитного сенсора My.
  16. Устанавливаем инерционный сенсор в положение 4 (см. Таблица 1). При этом мы попытаемся снять коэффициент калибровки k0 для акселерометра Az и l0 для магнитного сенсора Mz.
  17. Нажимаем кнопку +Z(4), а затем нажимаем кнопку Calibrate…
  18. Считываем калибровочный коэффициент k0 для акселерометра Az и l0 для магнитного сенсора Mz.
  19. Устанавливаем инерционный сенсор в положение 1 (см. Таблица 1). При этом мы попытаемся снять коэффициент калибровки k1 для акселерометра Az и l1 для магнитного сенсора Mz.
  20. Нажимаем кнопку -Z(1), а затем нажимаем кнопку Calibrate…
  21. Считываем калибровочный коэффициент k1 для акселерометра Az и l1 для магнитного сенсора Mz.
  22. Выходим из программы калибровки инерционного сенсора, и отключаем его от персонального компьютера.
  23. Отправляем инерционный сенсор на ПСИ.

 

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

Схема алгоритма технологического процесса начальной калибровки модуля инерционного сенсора приведена на рис. 3.8.

 

Рис. 3.8 Схема алгоритма технологического процесса начальной калибровки модуля инерционного сенсора.

 

    1. Результаты испытания разработанного технологического процесса начальной калибровки инерционного сенсора

 

В результате проведения технологического процесса начальной калибровки инерционного сенсора были получены следующие результаты:

 

Для акселерометра Ax:

k0=2032

k1=1013

 

Для акселерометра Ay:

k0=2051

k1=1017

 

Для акселерометра Az:

k0=2046

k1=1006

 

Величины углов (в градусах):

ax, ay, az для акселерометра Ax: ( 1,162 89,819 88,852);

ax, ay, az для акселерометра Ay: (88,644  2,060 88,450);

ax, ay, az для акселерометра Az: (89,883 90,010  0,117);

 

Для магнитного датчика Мx:

l0=2292;

l1=607;

 

Для магнитного датчика Мy:

l0=1903;

l1=609;

 

Для магнитного датчика Мz:

l0=2167;

l1=592;

 

Величины углов (в градусах):

bx, by, bz для магнитного сенсора Мx: (92,795 77,057 166,748);

bx, by, bz для магнитного сенсора Мy: (93,335 78,381 167,899);

bx, by, bz для магнитного сенсора Мz: (92,044 78,948 168,948);

 

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Разработка алгоритмов управления инерциальными приложениями

 

    1. Разработка алгоритма опроса модуля инерционного сенсора и фильтрации полученных показаний

 

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

Информация о работе Проектирование цифровых систем передачи