Реферат по предмету "Разное"


Автоматический стенд

Автоматический стенд для контроля параметров акселерометра ADXL202AE.Фото устройства см. здесьСХЕМА ПРИВОДА ШАГОВОГО ДВИГАТЕЛЯ И СПОСОБ УПРАВЛЕНИЯ ПРИВОДОМ ШАГОВОГО ДВИГАТЕЛЯ. Схема привода для шагового двигателя с процессором, формирующим сигнал с широтно-импульсной модуляцией, содержащая схему Н моста, имеющая первый и второй входы, причём первый вход Н моста соединён с выходом сигнала ШИМ процессора, и схему переключения, имеющую вход и выход, причём вход схемы переключения соединён с выходом сигнала ШИМ процессора, а выход схемы переключения соединён со вторым входом Н моста, при этом схема переключения инвертирует коэффициент заполнения ШИМ сигнала, когда сигнал ШИМ присутствует, и не инвертирует коэффициент заполнения, когда сигнал ШИМ отсутствует.^ СПОСОБ ОПРЕДЕЛЕНИЯ УГЛОВЫХ КООРДИНАТ ИЗМЕРИТЕЛЬНОЙ ОСИ АКСЕЛЕРОМЕТРА. Изобретение относится к измерительной технике и может быть использовано для настройки, калибровки акселерометров и приборов, содержащих акселерометры. Способ определения угловых координат измерительной оси акселерометров заключается в определённой последовательности разворотов акселерометра относительно различных горизонтальных осей, положение которых известно относительно ортогонального базиса, на заданные углы. Угловые координаты определяются из соответствующих соотношений. Повышение точности в определении координат достигается за счёт учёта нулевой составляющей сигнала акселерометра.^ УНИВЕРСАЛЬНЫЙ ДВУНАПРАВЛЕННЫЙ ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС ПЕРЕДАЧИ ДАННЫХ И СПОСОБ ПЕРЕДАЧИ ДАННЫХ.Интерфейс передачи данных, содержащий приёмо-передающий блок, конфигурированный для приёма и передачи данных, который соответствует спецификации USB; блок детектирования, конфигурированный для определения данных, принятых приёмо-передающим блоком, для того, чтобы определить, необходимо ли преобразовать принятые данные в данные, которые соответствуют конкретной спецификации; блок преобразования, конфигурированный для преобразования принятых данных в данные, которые соответствуют конкретной спецификации.структурная электрическая схема стендаПосмотреть схему можно здесьСтенд состоит из следующих основных блоков: микроконтроллер, обслуживающий USB хост (МК1); микроконтроллер, обслуживающий шаговый двигатель и акселерометр (МК2); акселерометр ADXL202AE, характеристики которого снимаются; блок электронных ключей; шаговый двигатель, обеспечивающий поворот акселерометра в вертикальной плоскости.Рассмотрим основные принципы работы схемы. Сигнал USB хоста, содержащий информацию о повороте двигателя, приходит на микроконтроллер МК1. Микроконтроллер обрабатывает сигнал, расшифровывает информацию и передаёт её посредством асинхронного приёмопередатчика микроконтроллеру МК2, который согласно принятой информации изменяет положение шагового двигателя, замыкая тот или иной ключ в блоке ключей. После поворота шагового двигателя, микроконтроллер МК2 обрабатывает информацию от акселерометра и передаёт её посредством асинхронного приёмопередатчика микроконтроллеру МК1, который через порт USB посылает информацию хост контроллеру. Цикл повторяется до тех пор, пока статическая характеристика не будет сформирована.1.1 Выбор конструктивных элементов каждого блокаМикроконтроллер. В качестве микроконтроллера был выбран AT90S2313. Это устройство имеет приемлемые параметры и небольшую стоимость.AT90S2313. Основные сведения [5]. AT90S2313 - экономичный 8 битовый КМОП микроконтроллер, построенный с использованием расширенной RISC архитектуры AVR. Исполняя по одной команде за период тактовой частоты, AT90S2313 имеет производительность около 1MIPS на МГц, что позволяет разработчикам создавать системы оптимальные по скорости и потребляемой мощности. В основе ядра AVR лежит расширенная RISC архитектура, объединяющая развитый набор команд и 32 регистра общего назначения. Все 32 регистра непосредственно подключены к арифметико-логическому устройству (АЛУ), что дает доступ к любым двум регистрам за один машинный цикл. Подобная архитектура обеспечивает десятикратный выигрыш в эффективности кода по сравнению с традиционными CISC микроконтроллерами. AT90S2313 предлагает следующие возможности: 2кБ загружаемой флэш-памяти; 128 байт EEPROM; 15 линий ввода/вывода общего назначения; 32 рабочих регистра; настраиваемые таймеры/счетчики с режимом совпадения; внешние и внутренние прерывания; программируемый универсальный последовательный порт; программируемый сторожевой таймер со встроенным генератором; SPI последовательный порт для загрузки программ; два выбираемых программно режима низкого энергопотребления. Холостой режим (Idle Mode) отключает ЦПУ, оставляя в рабочем состоянии регистры, таймеры/счетчики, SPI порт и систему прерываний. Экономичный режим (Power Down Mode) сохраняет содержимое регистров, но отключает генератор, запрещая функционирование всех встроенных устройств до внешнего прерывания или аппаратного сброса.АкселерометрВ качестве акселерометра был использован микромеханический акселерометр ADXL 202АЕ. Микромеханические приборы – это наиболее перспективное направление современного приборостроения.Общие сведенияADXL202E – недорогой двухосевой акселерометр с цифровым выходом. Он способен измерять ускорение в диапазоне ±2g в динамическом (вибрация) и статическом (гравитация) режимах. На выходе акселерометра широтно-импульсный сигнал, скважность импульса пропорциональна действующему ускорению. Акселерометр имеет 2 выхода (первый несёт информацию об ускорении, действующем по оси X, второй - по Y). Прибор боится статического электричества. Что существенно усложняет работу с ним. Для выхода акселерометра из строя достаточно 4000В. Это напряжение вполне может возникнуть между прибором и телом человека, поэтому брать его в руки или паять без заземления не рекомендуется. Недостатки: 1) ADXL202AE имеет довольно высокий уровень собственных шумов. 2) Прибор чувствителен к изменению температуры окружающей среды. Температура сильно влияет на ширину импульса несущей частоты. 3) Акселерометр меняет свои характеристики также при изменении напряжения питания. Все вышеперечисленные недостатки существенно влияют на точность измерений, проводимых с помощью ADXL202AE. К примеру, высокие собственные шумы прибора сильно затрудняют детектирование сигнала прибора при измерении малых ускорений (углов наклона). А из-за того, что параметры меняются с температурой, необходимо калибровать прибор при каждом измерении.Основные технические характеристики акселерометра ADXL202AEТаблица 2.1. – Основные технические характеристики. Характеристика Значение Напряжение питания от 3В до 5В Потребляемый ток менее 0,6 мА Диапазон измерения ускорения ±2g Диапазон изменения периода несущей частоты от 0,5 мС до 10 мС Собственные шумы 200 мкg на 2 мg Точность установки нуля 12,5 процентов Диапазон рабочих температур от -40º до +85º Габариты 5 Х 5 Х 2 мм Блок-схема акселерометра ADXL202AEРисунок 2.1. – Блок-схема микромеханического акселерометра ADXL202AEОсциллятор – масса, вытравленная на самом кристалле. При действии на прибор ускорения, осциллятор начинает совершать поступательное движение в сторону, противоположную действующему ускорению. Чувствительная масса имеет емкостную связь с сенсорами канала X и Y. То есть, при перемещении массы, меняется зазор между ней и чувствительными элементами сенсоров, что приводит к изменению ёмкости. Ведь ёмкость, как известно, обратно пропорциональна расстоянию между обкладками конденсатора. Информация об изменениях ёмкости поступает на детекторы X и Y. Там происходит преобразование информации об ускорении в электрический сигнал. В каждом из каналов имеется RC-фильтр. Он устраняет все нежелательные высокочастотные составляющие выходного сигнала, например, помехи, вызванные тепловым движением электронов. Далее электрический сигнал поступает на широтно-импульсный модулятор. Это устройство, которое способно под действием модулирующего сигнала менять скважность выходного сигнала. Сердце широтно-импульсного модулятора - генератора треугольных импульсов. Этот генератор определяет частоту работы ШИМ. В данной модели акселерометра, для двух каналов используется одно и тоже треугольное напряжение. То есть, в выходном сигнале (в независимости от скважности) середины импульсов каналов совпадают. С модулятора выходит цифровой сигнал, удобный для обработки цифровыми устройствами. Конструкция акселерометра ADXL202AEКонструктивно акселерометр представляет собой интегральную микросхему, размером 5 Х 5 Х 2 мм. Рисунок 2.2. – Внешний вид акселерометра (вид снизу).Прибор имеет 8 контактов для подключения обвязки. Рассмотрим их функции. 1 – самотестирование. 2 – установка периода несущей частоты. Период меняют подключением к этому контакту резистора разного сопротивления. Это сопротивление влияет на частоту генератора треугольных импульсов широтно-импульсного преобразователя. 3 – корпус. 4 – выход Y. Между этим контактом и корпусом снимается выходной сигнал канала Y. 5 – выход X. Между этим контактом и корпусом снимается выходной сигнал канала X. 6 – настройка фильтра в канале Y. Настройка осуществляется подключением к контакту конденсатора различной ёмкости. 7 – настройка фильтра в канале X. Настройка осуществляется подключением к контакту конденсатора различной ёмкости. 8 – питание.Выбор конденсаторов фильтра C1 и С2Как уже отмечалось выше, для фильтрации ненужных составляющих сигнала, в каждом из каналов стоят фильтры. Это обычные RC-фильтры, в которых сопротивление R фиксировано и равно 32К, а конденсатор может меняться в зависимости от частоты настройки., (2.2)где F – частота пропускания фильтра. С – ёмкость конденсатора в цепи фильтра.Минимальная ёмкость конденсатора 1000 пФ. От модели к модели сопротивление резистора в цепи фильтра может отклоняться на 15%, что будет влиять на частоту работы устройства.Выбор частоты несущего сигналаКак уже отмечалось выше, на несущий сигнал оказывает действие сопротивление, подключаемое ко второму контакту. Для расчёта применяется следующая формула:, (2.3)где F – частота работы, R – конфигурационное сопротивление.Блок ключейВ качестве блока ключей была выбрана микросхема ULN2003A. Это набор мощных транзисторных ключей, собранных по схеме Дарлингтона. Каждый ключ способен пропускать через себя ток до 500 мА. Микросхема имеет резисторы в цепи базы, что позволяет напрямую подключать её выводы к цифровым устройствам. На выводах транзисторных ключей имеются защитные диоды, что позволяет управлять индуктивной нагрузкой. Рисунок 2.3. – Микросхема ULN2003A.Шаговый двигательВ качестве шагового двигателя был использован двигатель, рассчитанный на напряжение 12В ДШР 39-0,006-1,8 УХЛ 4. Основные технические характеристики двигателя приведены в таблице 1.2.Таблица 2.2 – Основные технические характеристики двигателя Параметр Значение Номинальное напряжение питания, В 12 ± 1,2 Номинальный шаг, град 1,8 Статическая погрешность отработки шага, процент ±5 Номинальная приемистость, шаг/с 600 Фиксирующий момент, Н*М 0,001 ^ 2. Принципиальная электрическая схема стенда Схему можно посмотреть здесь Принципиальная электрическая схема состоит из следующих основных блоков: блок преобразователя протоколов (USB  RS-232C), собранный на элементе DD1. блок управления шаговым двигателем и акселерометром, собранный на элементах DD2, DA1. Рассмотрим подробнее каждый блок.^ 2.1 Блок преобразователя интерфейсовНазначение этого блока – эмулировать USB-устройство, общаться с хостом, корректно отвечая на его запросы, принимать информацию из порта (посылать информацию в порт), полученную посредством асинхронного приёмопередатчика. Для того чтобы корневой хаб определил факт подключения устройства к порту, последнее должно подтянуть одну из линий данных (Data+, Data-) к напряжению +5В. Если устройство подтягивает линию Data+, это высокоскоростное устройство, в дальнейшем хост будет с ним общаться на скорости 12 Мбод (Мбит/с). Если устройство подтягивает линию Data-, это низкоскоростное устройство, хост будет с ним общаться на скорости 1,5 Мбод. Подтягивание нужной линии осуществляется включением резистора сопротивлением 1,5 КОм между напряжением питания и нужной линией. В данном случае, эту роль выполняет резистор R2. Как видно из схемы, он подтягивает линию Data- к напряжению +5В, следовательно, устройство будет низкоскоростным. Важной особенностью AVR контроллеров является то, что в обесточенном состоянии выводы его порта сконфигурированы на вывод, поэтому линия Data- будет заземлена до тех пор, пока микроконтроллер не включится и порт не будет сконфигурирован на ввод информации. Это позволяет осуществлять питание микроконтроллера преобразователя от внешнего источника. Получается, что пока питание микроконтроллера не подано, хаб не фиксирует наличие нового устройства.^ Перед включением стенда, его необходимо подключить к порту. Еще одно важное обстоятельство. Устройство USB должно потреблять минимальный ток от порта, иначе хаб его отключит. Для этой цели в схему внесена цепочка R1, VD1, C1. Это индикатор подключения устройства к порту USB, по совместительству метод удержания порта в активном состоянии. Резистор R1 гасит избыточный ток через диод VD1, задавая режим работы последнего. Конденсатор С1 сглаживает броски напряжения в порте, которые через резистор R2 передаются на линию данных и могут привести к ложному срабатыванию детектора данных внутри микроконтроллера (эту функцию выполняет программное обеспечение). Также этот конденсатор предохраняет диод от бросков тока, вследствие скачков напряжения питания порта. Микроконтроллер DD1 работает на частоте 18 МГц. Эта частота была выбрана не случайно. Так как устройство низкоскоростное, хост общается с ним на частоте 1,5 МГц. Для обработки одного бита информации и записи его в память микроконтроллера необходимо не менее 8 тактов процессора. В AVR микроконтроллерах за один такт выполняется в среднем одна команда (кроме прыжков, записи в память, записи в стек, арифметических операций над словами и т.д.), значит, алгоритм обработки одного бита информации должен умещаться в 8 команд процессора. На самом деле, в 8 тактов очень сложно уложиться (для этого частота процессора должна быть 1,5*8=12 МГц), поэтому была выбрана частота 18 МГц, она позволяет использовать 12 тактов для обработки одного бита. А этого вполне хватает. Цепочка VD2, R3 – индикатор включения устройства. Он включается программно и позволяет определить, запустился микроконтроллер или нет. Рассмотрим подключение микроконтроллера к порту USB. Разъём USB-A состоит из четырёх контактов (Рисунок 3.1) Рисунок 3.1 – Разъём USB-A. а) Внешний вид, б) Расположение выводов.Таблица 3.1. – Назначение выводов разъёма USB-A Номер вывода Назначение 1 +5В, питание 2 Data- 3 Data+ 4 Корпус Как видно из схемы, сигнал от линии данных Data- поступает на первый разряд порта B (контакт 12), а сигнал Data+ на второй разряд того же порта, к тому же сигнал Data+ поступает на вывод, предназначенный для генерации внешнего прерывания. Это сделано для того, чтобы не опрашивать порт на наличие изменений, на это уходит время, можно не успеть среагировать на поступающие данные. К тому же использование прерываний позволяет обрабатывать данные рекурсивно. То есть, контроллер получает пакет, ему нужно время для его расшифровки, но хост требует ответа немедленно. Для того чтобы избежать ошибок и как следствия отключения устройства от порта, необходимо “попросить” хост подождать. После чего контроллер включает прерывание и занимается расшифровкой текущего пакета. Через некоторое время хост снова запрашивает ответ, если последний ещё не готов, контроллер опять включает прерывание и просит подождать. И так до полной расшифровки пакета и выполнения требуемых действий.^ 2.2 Блок управления шаговым двигателем и акселерометромОсновным элементом этого блока является микроконтроллер DD2. Он работает на частоте 4 МГц. Этой частоты вполне достаточно, чтобы посчитать ширину импульса акселерометра. Импульсы, в длительности которых зашифрована информация об ускорении по оси X и по оси Y следуют с частотой 100 Гц. То есть, за период одного колебания выходного сигнала акселерометра, контроллер досчитает до 4000000/100=40000. Шестнадцатиразрядный счётчик внутри микроконтроллера считает до 65535. Получается, что частоты микроконтроллера достаточно для точного измерения длительности импульса, которая будет выражена словом. Питается микроконтроллер от внешней цепи, не связанной с USB портом. Это сделано для того, чтобы была возможность управлять шаговым двигателем. Если бы этот узел питался от USB порта, то выходного тока порта не хватило бы для управления ключами, которые подключены к обмоткам шагового двигателя. Акселерометр ADXL-202AE (микросхема DA2), подключён к третьему и четвёртому разрядам порта D. По совместительству эти контакты также являются входом внешних прерываний. То есть, есть возможность следить за сигналом не только опросом линии, но и в режиме прерывания. Режим работы акселерометра задают элементы R4, C2, C3. Сопротивление определяет частоту треугольного напряжения, которое использует широтно-импульсный модулятор, конденсаторы – составные части фильтров помех в аналоговом выходном сигнале. С первых четырёх разрядов порта B микроконтроллера сигналы поступают на ключи. В качестве ключей, предложена микросхема ULN2003A. Это набор ключей, собранных по схеме Дарлингтона. Каждый из ключей управляет своей обмоткой шагового двигателя.^ Схема очень чувствительна к резкому отключению питания (замыканию питания). Это следствие отсутствия ограничителя по питанию схемы ключей. При резком отключении питания, ЭДС самоиндукции, складываясь с напряжением питания может пробить ключи или вывести из строя микроконтроллеры. Однако предложенный блок питания содержит на выходе конденсаторы большой ёмкости, что сводит к минимуму описанный эффект. Связь между микроконтроллерами осуществляется посредством асинхронных приёмопередатчиков (UART). Частота работы приёмопередатчиков 4800 бод.^ 2.3 Режим программирования микроконтроллеровДля программирования каждого микроконтроллера установлены разъёмы XP2, XP3. В данной схеме используется режим параллельного программирования. Чтобы перевести схему в режим программирования, необходимо разомкнуть джамперы SA1 и SA2. При этом отключится акселерометр и микросхема ключей. Дело в том, что при работе акселерометра, на порт всё время поступают импульсы с информацией об ускорении. Они могут помешать контроллеру перейти в режим программирования. А ключи обесточиваются потому, что при программировании на выходных линиях портов могут наблюдаться кратковременные хаотичные высокие уровни, которые могут оказать влияние на шаговый двигатель. Схема запитывается от двух напряжений: 5В для микроконтроллеров, акселерометра и 12В для шагового двигателя и ключей. Максимальный ток 500 мА. Поэтому для питания устройства был выбран стандартный компьютерный блок питания от корпуса AT.^ 2.4 Расчёт элементов схемы [10]Расчёт индикатора подключения стенда к порту USB. Для того, чтобы USB порт не отключил устройство, оно должно потреблять от него не менее 5 мА. Сопротивление R2 фиксировано. По спецификации USB оно должно иметь номинал 1,5 КОм. Расчёт сопротивления R1 ведётся по формуле 3.1., (3.1) где - напряжение питания, которое обеспечивает USB порт. По спецификации оно равно 5В; - номинальный ток потребления. Это ток, который USB устройство должно потреблять от порта. Сопротивлением светодиода в прямом направлении пренебрегаем. Тогда: ОмРасчёт индикатора запуска микроконтроллераРасчёт цепочки R3, VD2 аналогичен вышеописанному. Только в качестве номинального тока берётся номинальный ток светодиода, который также равен 5 мА. Следовательно, сопротивление R3 номиналом 1 КОм.Расчёт мощности рассеивания резисторов R1, R2, R3Через все резисторы проходит одинаковый ток 5мА. На них падает одинаковое напряжение 5В. Следовательно, мощность, которая на них рассеивается, равна 0,025 Вт. В схеме необходимо использовать резисторы R1, R2,R3 мощностью рассеивания 0,125 Вт.Расчёт обвязки акселерометраВыбор конденсаторов С2, С3 осуществляется по формуле 2.2, при частоте среза RС фильтра равной 1 Гц.ФБлижайшая ёмкость 4,7 мкФ. Выбор резистора R4 осуществляется по формуле 2.3, при частоте генерации 100 Гц.Ближайшее сопротивление 1,2 Мом.^ 3. Разработка печатной платы стенда3.1 Расчёт печатной платыДля свободной установки элемента на печатной плате, диаметр отверстия под него должен быть на 0,2 мм больше, чем диаметр его ножки. Так как диаметр ножек всех комплектующих схемы 0,8 мм, выбираем диаметр отверстия равным 1 мм. Наименьшее номинальное значение ширины печатного проводника рассчитывают по формуле:, (4.1) где – минимально допустимая ширина печатного проводника; – нижнее предельное отклонение размеров элементов конструкции (ширины печатного проводника). Для = 0,8 мм и = 0,1 мм минимальная ширина проводника равна = 0,9 мм. Примем ширину проводника 1 мм. Наименьшее номинальное значение диаметра контактной площадки под выбранное отверстие рассчитывается по формуле:, (4.2) где d – диаметр отверстия; – верхнее предельное отклонение диаметра отверстия; b – гарантийный поясок; – величина подтравливания диэлектрика в отверстии, которую принимают равной 0 для двухсторонних печатных плат; Td – позиционный допуск расположения осей отверстий; TD – позиционный допуск расположения центров контактных площадок; – верхнее предельное отклонение размеров элементов конструкции (ширины печатного проводника; – нижнее предельное отклонение размеров элементов конструкции (ширины печатного проводника. Наименьшее номинальное значение диаметра контактной площадки под отверстие диаметром 1 мм:Примем диаметр контактной площадки 2,5 мм. Наименьшее номинальное расстояние между соседними элементами проводящего рисунка определяют по формуле:, (4.3) где – минимальное допустимое расстояние между соседними элементами проводящего рисунка; – верхнее предельное отклонение размеров элементов конструкции (ширины печатного проводника; – позиционный допуск расположения элемента проводящего рисунка относительно соседнего. Примем расстояние между проводниками 1мм.^ 3.2 Печатная платаРисунок 4.1 – Печатная плата стенда (вид со стороны печатных проводников).Печатная плата односторонняя. Размеры платы 100 х 200 мм. Расстояние между проводниками 1 мм, ширина проводников 1 мм. Диаметр отверстий 1 мм, диаметр контактных площадок 2,5 мм.^ 4 Разработка протокола обмена данными стенда и компьютера через порт USBСтенд должен выполнять две основные задачи: менять активность обмоток шагового двигателя по требованию пользователя; опрашивать акселерометр и выдавать пользователю информацию о длительности импульсов по обоим каналам. Следовательно, необходимо внести 2 команды. Одна будет нести информацию для шагового двигателя, другая обеспечивать запрос информации акселерометра. Команда &hF1У этой команды есть параметр, он находится во втором байте передаваемого сообщения. Сама команда располагается в первом байте. Для поворота двигателя в одном направлении следует последовательно передавать сообщение с командой &hF1 и числами 1,2,4,8 в качестве параметра. Второй байт без изменения копируется в порт B контроллера DD2. Получающиеся управляющие уровни приведены в таблице 5.1.Таблица 5.1 – Уровни управляющих напряжений Десятичное число Бинарное представление 1 0001 2 0010 4 0100 8 1000 Получается, что если поочерёдно менять уровни в соответствии с таблицей 5.1, будут работать нужные обмотки для поворота в одну сторону. Если требуется повернуть двигатель в другую сторону, то последовательность меняет очерёдность на обратную (8,4,2,1).Команда &hF2У этой команды нет параметров. Она предназначена для перевода контроллера DD2 в режим счёта длительности импульса, после окончания счёта, данные через UART поступают в микроконтроллер DD1, шифруются и копируются в буфер для отправки через USB порт. После вызова команды &hF2, пользователь должен подождать немного, пока пройдут описные выше действия, и запросить информацию от USB порта. Данные, находящиеся в текущий момент в буфере отправки будут переданы через USB порт. Вызывать команду чтения с порта не рекомендуется использовать без предварительной отсылки в порт команды &hF2. Так как, если в буфере отправки ничего нет, хост получит неправильные данные и отключит устройство.5 Разработка программного обеспечения для узла сопряжения стенда с компьютеромОт данного узла требуются следующие функции: Детектирование пакета. Запись его в память. Определение типа пакета. Расшифровка пакета. Расчёт контрольной суммы по значащим полям пакета. Шифровка пакета. Отправка пакета. Приём (отправка) данных через UART.7 Разработка программного обеспечения для узла обработки данных с акселерометра и управления шаговым двигателемДанный узел должен выполнять следующий функции: принимать по UART команды при приёме команды &hF1, менять активность обмоток шагового двигателя при приёме команды &hF2, рассчитывать длительность импульсов выходного сигнала акселерометра, передавать результат по UART обратно контроллеру USB порта.UART этого микроконтроллера настраивается на тот же протокол, на какой был настроен UART микроконтроллера USB порта: скорость 4800 бод, 8 информационных бит, 1 стоповый бит. Как уже отмечалось выше, команда &hF1 содержит в качестве параметра новое состояние обмоток шагового двигателя, этот байт без изменений передаётся в порт В. Порт В управляет ключами, коммутирующим обмотки шагового двигателя. Рассмотрим подробнее команду &hF2. Эта команда призвана заставит микроконтроллер вычислить информацию, достаточную для декодирования величины ускорений по обеим осям. Алгоритм работы декодера основан на особенностях ШИМ-сигнала, который выдаёт акселерометр. Как уже отмечалось выше, для широтно-импульсной модуляции используется треугольное напряжение. Это говорит о том, что импульс расширяется от середины. То есть, середины импульсов канала Х и канала Y совпадают. Рисунок 7.1 – Выходной сигнал акселерометра. Как видно из рисунка 7.1, в сигнале выделяются основные временные точки, зная которые можно вычислить длительность импульсов двух каналов, а также период треугольного напряжения, которым проводилась модуляция. В данном случае, алгоритм декодирования таков, что точка A всё время равна нулю. На длительность периода отводится двойное слово. Получается, что необходимо 6 байт для хранения полученной информации. Через USB порт передаётся 8 байт, последнее слово нулевое. Чтобы вычислить значение ширины импульса двух каналов и длительность периода треугольного напряжения, используют формулы:Tх = В, (7.1)где Tх – длительность периода в канале X. В – основная точка.Ty = D-C, (7.2) где Ty - длительность периода в канале Y. D, С – основные точки.T2 = (В/2) +(С-B)+((D-C)/2), (7.3) где T2 – период треугольного напряжения.Алгоритм работы программы микроконтроллера:обнулить счётчик;ждать прихода нуля с канала X;ждать прихода единицы с канала X;запуск таймера;ждать прихода нуля с канала X;запись значения точки B в память;ждать прихода нуля с канала Y;ждать прихода единицы с канала Y;записать значение точки С в память;ждать прихода нуля с канала Y;записать значение точки D в память;деактивировать счётчик.8 Разработка программного обеспечения на языке Visual Basic For Dos для работы со стендомПрограмма написана на 2-х языках. Основная часть на Visual Basic, низкоуровневая на Assembler. Основная причина невозможности написания программы на одном языке – неприспособленность Visual Basic вызывать DOS прерывания. Для слияния разноязычных сегментов программы была использована технология Quick Library [12]. Основные процедуры высокоуровневой части: - FindUSBBios. Определяет наличие USB контроллера в материнской плате; - getaddr32. Вычисляет линейные адрес переменной; - Init. Инициализирует USB регистры; - LongToInt. Преобразовывает слово со знаком в двойное слово без знака [13]; - ReadUSBRegisters. Считывает USB регистры; - Start. Стартует транзакцию; - Transaction. Определяет тип выполняемой транзакции; - TransactionIn. Формирует In транзакцию; - TransactionOut. Формирует Out транзакцию. Основной приём, используемый в программе для упрощения протокола, состоит в том, что при каждой транзакции происходит перезагрузка контроллера. Это необходимо потому, что как только устройство подключается к USB порту, хост тут же начинает с ним общаться. Контроллер запрашивает атрибуты устройства, параметры конфигураций, количество конечных точек и т.д. Если отвечать на эти вопросы, код резко усложняется. Но если не ответить хотя бы на один вопрос, хаб отключит устройство. Но если при каждой транзакции перезагружать контроллер, хаб не успеет отключить устройство и посылка пройдёт успешно. Основным отличием программирования USB регистров от регистров Com или LPT порта является то, что адрес USB регистров не одинаков на разных машинах. Поэтому, перед тем, как начать программировать, необходимо определить базовый адрес регистра порта. Это делает процедура ReadUSBRegisters. Она вызывает низкоуровневую процедуру SIntS. Назначение которой состоит в вызове прерывания &h1A с параметрами соответствующими


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.