Следовательно, понадобится конденсатор емкостью не менее 2,2 мФ. Такие конденсаторы очень большого размера, сопоставимым с размером обычной часовой батареи или даже больше. В связи с этим целесообразно отказаться от такого решения в пользу обычных батарей типоразмера ААА, поскольку выгоды в массогабаритных параметрах вышеприведенная схема не обеспечивает.
Батареи ААА обладают невысоким напряжением, но заметно большой емкостью и выдаваемой силой тока. Характеристики батарейки выбранной для разрабатываемой системы модели Varta LR03 [9] представлены ниже в таблице 2.1 температура давление микроконтроллер связь
Таблица 2.1 Технические характеристики элемента питания VARTA LR03
В разрабатываемом браслете будем использовать 3 батареи выбранной модели для достижения напряжения в 4,5 В. Данная модель батарей выгодно отличается от большинства других моделей большей ёмкостью и сравнительно невысокой стоимостью. Стоит отметить, что конструкция браслета должна обеспечивать простой доступ к батарейному отсеку для замены элементов питания в случае необходимости. Этого можно добиться, расположив крышку батарейного отсека на внешней стороне браслета. Недостатком выбранных батареек являются размеры и вес, заметно уступающие параметрам других типоразмеров.
2.2 Выбора датчика температуры
Данный элемент необходим для измерения температуры запястья водителя. Согласно техническому заданию абсолютная погрешность результатов измерений выдаваемых датчиком температуры должна составлять не более 0,5 градусов С. Для обоснованного выбора датчика температуры с цифровым выходом рассмотрим основные технические характеристики подходящих датчиков от основных производителей (Analog Devices, Dallas Semiconductors). Их характеристики представлены в таблице 2.2
Таблица 2.2 Технические характеристики датчиков температуры
Предел абсолютной погрешности измерения температуры можно уменьшить до ±0,2 °С, если питать датчик температуры 3,0 вольтами.
Проанализировав представленные в таблице модели датчиков, можно сделать вывод, что модели ADT7320 и ADT7420 выгодно отличаются от DS18S20 более высокой точностью измерения и более низким потреблением тока, а различаются лишь типом шины для передачи информации микроконтроллеру. Для разрабатываемого устройства выбран датчик температуры ADT7320 с точностью ±0,25 °С. Согласно технической документации, точность можно увеличить до ±0,2 °С, если питать датчик температуры ровно 3,0 В.
2.3 Выбор датчика давления
Датчик давления необходим для измерения пульса водителя ТС методом, который описан ниже. Браслет должен быть плотно закреплен на руке, на запястье расположен датчик давления, воспринимающий импульсы при притоке крови по артерии водителя. Определяя моменты времени между максимумами сигнала на выходе датчика давления, можно определить время между двумя сокращениями сердца и вычислить среднее количество ударов в минуту. Для обоснованного выбора датчика давления рассмотрим его основные технические характеристики. Сравним датчики от основных производителей на предмет соответствия требованиям технического задания в таблице 2.3
Таблица 2.3 Технические характеристики датчиков давления
Исходя из приведенных в данной таблице данных можно сделать вывод, что лучше всего в разрабатываемой системе использовать датчик Motorola MPX12 округлой формы, главным преимуществом которого являются компактные размеры. Данный датчик измеряет давление в диапазоне от 0 до 1,45 psi (1,45 psi = 10 кПа), такого показателя достаточно для измерения пульсаций, происходящих при движении кровяного притока водителя по артерии.
На рисунке 2.3 представлен общий вид выбранного датчика, позволяющий судить об его компактных размерах и о возможности его использования в составе браслета (плоский чувствительный элемент позволяет плотно прижать его к коже руки без создания дискомфорта для водителя).
Рис 2.3 Датчик давления Motorola MPX12 и его размеры в миллиметрах.
2.4 Выбор микроконтроллеров
В разрабатываемой системе будут использоваться 2 микроконтроллера: один будет управлять функционированием браслета, а второй - работой блока-приемника данных. Первый микроконтроллер нужен для получения информации от датчика давления по шине SPI, получения и обработки информации от датчика давления по шине SPI, передачи информации в блок приёмник посредством беспроводной связи. Микроконтроллер должен иметь встроенный АЦП для оцифровки кривой давления, по которой будет измеряться пульс водителя.
В разрабатываемой системе будет использоваться микроконтроллер серии С8051F412[17] компании Silicon Laboratories, технические характеристики представлены ниже в таблице 2.4
Данный микроконтроллер имеет встроенный АЦП, разрядности которого хватит для обработки сигнала от датчика давления, имеются таймеры, необходимые для определения пульса и для подсчета времени интервалов между запусками датчиков. Также МК имеет необходимые интерфейсы для подключения к инструментальному усилителю и цифровому датчику температуры.
Таблица 2.4 Основные технические характеристики микроконтроллера модели С8051F412
Второй микроконтроллер должен быть размещен в блоке-приемнике и он служит для приёма, хранения информации от датчиков нажатия педалей и от микроконтроллера 1, а также для обмена информацией c бортовым компьютером ТС посредством передачи информации по шине CAN. В разрабатываемой системе используется микроконтроллер серии С8051F5607[18] компании Silicon Laboratories, технические характеристики представлены в таблице 2.5:
Таблица 2.5 Основные технические характеристики микроконтроллера модели С8051F560-7
2.5 Выбор модуля беспроводной связи
Данный элемент необходим для передачи данных от браслета к блокуприёмнику. В современных устройствах помимо проводных способов передачи информации используют технологии беспроводной передачи данных, самыми часто используемыми среди которых являются ZigBee, WiFi, Bluetooth, а также технология частотных диапазонов 434/868 МГц. Для обоснованного выбора интерфейса беспроводной передачи данных рассмотрим их основные технические характеристики (Таблица 2.6)[19]. Сравним перечисленные интерфейсы на предмет соответствия требованиям технического задания.
Таблица 2.6 Технические характеристики технологий беспроводной передачи данных.
Проанализировав представленные в таблице характеристики интер фейсов и стандартов беспроводной передачи данных,, можно сделать вывод, что самыми подходящими для нашей системы являются ZigBee и Bluetooth LE главным образом из-за низкого энергопотреблеия. У обеих систем относительно низкая скорость передачи данных, но даже 250 кбит в секунду достаточно для разрабатываемой системы.
Выбранная технология - Bluetooth LE. Сравним представленные на рынке модули передачи данных выбранной технологии в таблице 2.7
Таблица 2.7 Технические характеристики модулей беспроводной связи технологии Bluetooth LE
Главный критерий при выборе данного элемента является низкое энергопотребление, т.к. питание происходит от автономного источника. Выбранный беспроводной модуль передачи данных - nRF51, выгодно отличающийся от аналогов более низким энергопотреблением и компактными размерами. Стоит отметить, что фирма Silicon Labs занимается разработкой аналогичного модуля - «Blue Gecko»[24], требующего еще меньшей энергии при передаче информации - тока силой около 6 мА. К текущему моменту данный модуль еще не производится, его выпуск только анонсировано. Данную модель можно будет использовать в разрабатываемой системе в будущем с целью большей экономии потребляемой электроэнергии.
Модуль Bluetooth будет передавать информацию от микроконтроллера 1 ко второму модулю «Bluetooth JY_MCU Wireless Serial Port», который передаёт информацию в микроконтроллер 2 по интерфейсу UART.
3. Алгоритм работы микроконтроллеров
На рис. 3.1 представлена блок-схема алгоритма работы микроконтроллера Silabs C8051F412, находящегося в браслете. При включении устройства подается напряжение на микроконтроллер. Настройка микроконтроллера, встроенного АЦП, портов ввода-вывода происходит с помощью следующих команд и регистров, представленных в таблице 3.1
Команды для настройки портов ввода-вывода:
Таблица 3.1 Значения регистров для первоначальной настройки микроконтроллера C8051F412
Вместе с микроконтроллером настраивается цифровой датчик температуры, установка битов в его регистры представлена в таблице 3.2
Таблица 3.2 Значения регистров для первоначальной настройки датчика температуры.
Выбор периферийного устройства, подключенных к микроконтроллеру по шине SPI, (датчика температуры (CS1), программируемого усилителя(CS0), модуля Bluetooth(CS2)), выполняется с помощью команд на микроконтроллере (режим ChipSelect) . Обращение к обоим датчикам будет происходить поочередно. Измерение температуры длится 2 секунды (отсчитываем таймером Timer2 ( 16-битный таймер с автообнулением)), этого достаточно, чтобы ADT7320 измерил температуру до 50?С. Датчик давления и усилитель проводят измерения в течение 10 секунд (отсчитываем тем же таймером Timer2, отсчеты времени осуществляются поочередно, поэтому используется один и тот же таймер ). После каждого измерения датчик температуры и усилитель переходят в режим пониженного энергопотребления. Для этого в регистр конфигурации датчика температуры записываем байт - [00000111], в 7 бит любого из 2 регистров усилителя устанавливаем 1. При первом измерении пульса с помощью датчика давления нужно настроить коэффициент усиления и напряжение смещения инструментального усилителя при помощи регистров Gain register и Input Vos.
Trim Register соответственно, представленных в таблицах 3.3
Таблица 3.3 Регистры коэффициента усиления и напряжения смещения инструментального усилителя.
Настройка коэффициента происходит следующим образом: усилитель ожидает сигнал от датчика давления, изначально на усилителе стоит коэффициент усиления, равный 1, если его будет недостаточно (имеется в виду, что сигнал будет недостаточно сильным для определения импульса от артерии), коэффициент будет увеличиваться до тех пор, пока сигнал не станет уловимым. АЦП принимает и обрабатывает сигналы, поступающие от датчика давления. Запуск преобразования АЦП осуществляется одним из четырех способов в зависимости от состояния битов AD0CM1 и ADC0CM0 в регистре ADC0CN:
1) записью 1 в бит AD0BUSY;
2) при переполнении таймера2;
3) при переполнении таймера3;
4) по внешнему сигналу, по переднему фронту на CNVSTR.
Бит AD0BUSY устанавливается в 1, а после завершения преобразования АЦП сбрасывается в 0. Задний фронт AD0BUSY инициирует прерывание и устанавливает флаг прерывания AD0INT. Преобразованные данные записываются в регистры ADC0H( старший байт) и ADC0L(младший байт) и могут быть выровнены по левому или правому краю в зависимости от состояния биты AD0LJST регистра ADC0CN.0. Если AD0LJST=1, то значения преобразования выравниваются по левому краю пары регистров и хранятся в ADC0H[7:0]:ADC0L[7:4]. Если AD0LJST=01, то значения преобразования выравниваются по правому краю пары регистров.
Оцифрованное значение пульса и значение температуры передаются по Bluetooth модулю в микроконтроллер Silabs C8051F560. Далее делаем паузу в 45 секунд ( снова используется таймер Timer2) . Получается, что датчики в браслете проводят измерения примерно раз в минуту с целью сбережения электроэнергии, к тому же нет необходимости измерять физиологические параметры чаще, т.к. измеряемые показатели вряд ли сильно изменятся в течение одной минуты. После выдержанной паузы цикл измерений повторяется.
Рис 3.1 Блок-схема алгоритма работы микроконтроллера C8051F412 в браслете.
Данные, получаемые с помощью измерительного браслета, передаются по беспроводному интерфейсу на блок-приемник. В его составе также используется микроконтроллер модели C8051F560. Блок-схема алгоритма его функционирования представлена на рис. 3.2. Главными задачами микроконтроллера блока-приемника являются: постоянный подсчет времени между повторными нажатиями педалей акселератора и тормоза ТС и получение данных о степени усилия при нажатии на педали, прием информации от измерительного браслета и сравнение полученных данных измерений с показателями, признанные нормальными для водителя, ведущего автомобиль. Методика определения перехода ко сну водителя устанавливается специалистами ОАО «Камаз». Если система решит, что водитель находится в состоянии, близким к сонному или его физиологические параметры находятся не в диапазоне допустимых значений, система предупреждает водителя о возможном засыпании или о болезненном состоянии водителя звуковым оповещением от пьезоэлектрического излучателя звука. Последние измеренные значения физиологических параметров (пульс и температура водителя) выводятся на LCD - дисплей для демонстрации водителю. Также микроконтроллер блока-приемника записывает измеренные значения в карту памяти MicroSD. По сохраненной таким образом информации третьи лица (например, владелец ТС) может проверить, не управлял ли водитель транспортным средством в болезненном состоянии. Настраивается микроконтроллер с помощью следующих команд и регистров, представленных в таблице 3.4: