- •2 Разработка модуля инерционного сенсора 8
- •7 Производственная и экологическая безопасность 93
- •8 Заключение 108
- •9 Список литературы 109 Введение и постановка задачи
- •1.1Введение
- •1.2Техническое задание на дипломный проект
- •2Разработка модуля инерционного сенсора
- •2.1Предложение и обоснование подхода к созданию сенсора
- •2.2Разработка структурной схемы модуля инерционного сенсора
- •2.3Обоснование выбора элементной базы
- •2.3.1Акселерометр
- •2.3.2Магниторезистивный сенсор
- •2.3.5Температурный датчик
- •2.3.6Операционный усилитель
- •2.3.7Мультиплексор
- •2.3.8Схема сброса
- •2.3.9Плис
- •2.3.10Микроконтроллер
- •2.4Принцип работы модуля инерционного сенсора
- •2.5Расчет потребляемой мощности
- •3Разработка технологического процесса начальной калибровки модуля инерционного сенсора
- •3.1Обоснование необходимости начальной калибровки модуля инерционного сенсора
- •3.2Разработка алгоритма технологического процесса начальной калибровки инерционного сенсора
- •3.3Результаты испытания разработанного технологического процесса начальной калибровки инерционного сенсора
- •4Разработка алгоритмов управления инерциальными приложениями
- •4.1Разработка алгоритма опроса модуля инерционного сенсора и фильтрации полученных показаний
- •4.2Разработка алгоритма распознавания базовых движений Flip
- •4.3Разработка алгоритма выделения базовых движений Push
- •5Разработка методики написания инерциальных приложений
- •5.1Специфика разработки приложений для операционной системы Palm os 4.0
- •5.2Разработка разделяемого ресурса базы данных инерционного сенсора
- •5.3Разработка демонстрационного инерциального приложения
- •6Планирование и оценка затрат создания программного продукта
- •6.1Смоляная яма программирования
- •6.2Сетевое планирование
- •6.3Создание структурной таблицы работ
- •6.4Расчет затрат на создание программного продукта
- •6.4.1Расчет затрат на непосредственную разработку программного комплекса
- •6.4.2Расчет затрат на изготовление опытного образца программного продукта
- •6.4.3Расчет затрат на технологию
- •6.4.4Затраты на эвм
- •6.4.5Общие затраты на создание программного продукта
- •7Производственная и экологическая безопасность
- •7.1Введение в производственную и экологическую безопасность
- •7.2Обеспечение производственной безопасности при разработке, производстве и эксплуатации микропроцессорных устройств
- •7.2.1Микроклимат лаборатории
- •7.2.2Требования к уровням шума и вибрации
- •7.2.3Электробезопасность
- •7.2.4Требование к защите от статического электричества и излучений при работе за компьютером.
- •7.2.5Требования к освещению на рабочем месте
- •7.2.6Воздействие вредных веществ при пайке
- •7.2.7Психофизические факторы
- •7.2.8Эргономика рабочего места
- •7.3Расчет искусственного освещения на рабочем месте
- •7.4Охрана окружающей среды
- •8Заключение
- •9Список литературы
4.2Разработка алгоритма распознавания базовых движений Flip
При разработке алгоритма распознавания базовых движений типа Flip следует привязываться к неким величинам, которые независимы от модуля суперпозиции вектора гравитации и линейного ускорения, и модуля магнитного поля, так как эти величины изменяемы во времени из-за наличия линейных ускорений и перемещения тел с большой собственной магнитной массой. Такими величинами будут являться углы поворота проекций модуля вектора гравитации и линейного ускорения, и модуля магнитного поля на плоскости XY, XZ и YZ относительно осей Y,X и Z соответственно.
Введём несколько обозначений:
|A| - модуль суперпозиции вектора гравитации и линейного ускорения
|M| - модуль вектора магнитного поля
|Ax| - проекция суперпозиции вектора гравитации и линейного ускорения на ось XZ
|Ay| - проекция суперпозиции вектора гравитации и линейного ускорения на ось XY
|Az| - проекция вектора магнитного поля на ось XZ
|Mx| - проекция вектора магнитного поля на ось XZ
|My| - проекция вектора магнитного поля на ось XY
|Mz| - проекция вектора магнитного поля на ось XZ
Пусть
ax,
ay,
и
az
– углы отклонения проекций вектора A
и
mx,
my,
и
mz
– углы
отклонения проекций вектора М.
Основу алгоритма распознавания базовых движений типа Flip составляет - вычисление площадей отдельных участков осциллограмм углов отклонения между двумя ближайшими пересечениями нулевой отметки, и сравнения их с эталонными. При пересечении осциллограммой нулевой точки начинается суммирование углов отклонения и подсчёт времени суммирования углов осциллограммы, которые принадлежат данной сумме. Время подсчёта измеряется в количестве опросов модуля ИС. Суммы считаются отдельно для каждого из 6 сенсоров. Как только осциллограмма ещё раз пересекает нулевую точку, то все текущие показания площадей и времён подсчёта сверяются с эталонными. Сравнение производится отдельно для показаний акселерометров и показаний магнитных сенсоров. Если обнаруживается совпадение с определёнными допусками, то генерируется событие, и обнуляются все показатели площади и времени. Иначе обнуляется только показатель той площади, где было пересечение нуля. Построенный на такой методике алгоритм действует следующим образом:
Снимаются показания с модуля.
Если timeout не равен нулю, то уменьшаем его на единицу и переходим к пункту 9. Иначе переходим к пункту 3
Вычисляются углы отклонения ax, ay, az , mx, my, и mz
Прибавляются значения углов к площадям Sax, Say, Saz, Smx, Smy и Smz соответственно.
Проверяется наличие пересечений по каждому из углов, и если пересечения есть, переходим к пункту 6 иначе к пункту 9.
Проверяем текущие показания площадей и времени их замера с эталонными, отдельно для акселерометров и отдельно для магнитных сенсоров и если есть совпадения переходим к пункту 7, иначе к пункту 9.
Генерируем событие совершения базового движения.
Обнуляем площадь и время всех показателей и переходим к пункту 10.
Обнуляем площадь и время показателя, который перешел через ноль. И выставляем timeout выделения базовых движений.
Передаём управление вызвавшей алгоритм программе.
Данный алгоритм выполняется циклически при опросе инерционным приложением модуля ИС. Схема алгоритма выделения базовых движений приведена на Рис. 4 .24.
Рис. 4.24 Схема алгоритма выделения базовых движений Flip
