Разработка микропроцессорной системы на базе микроконтроллера для спортивного велотренажера
Реферат
Микроконтроллер, Геркон, Датчик, СВЕТОДИОД.
Цель работы: разработка микропроцессорной системы на базе микроконтороллера, велотренажер с игровым уклоном. Ребенку задается определенная физическая нагрузка-программа, после чего он должен ее выполнить, чтобы продолжить игру на компьютере.
Содержание работы: в работе выполнено построение структурной схемы, построение функциональной схемы, сформирован алгоритм работы системы, выбор элементной базы, оптимальной для реализации поставленных задач по диапазону характеристик, разработана программа, разработана принципиальная схема устройства.
Содержание
Введение
1. Описание объекта и функциональная спецификация
2. Описание структуры системы
3. Описание ресурсов МК AT90S2313-10P1
4. Ассемблирование
5. Программирование микроконтроллера
6. Разработка алгоритма работы устройства
7. Описание выбора элементной базы и работы принципиальной схемы
Заключение
Список литературы
Приложение А. Листинг программы
Приложение Б. Объектный файл
Введение
В настоящее время более тридцати зарубежных фирм выпускают микроконтроллеры массового применения с разрядностью 8 бит, недорогие и пригодные для использования в самых разнообразных приложениях. Однако именно микроконтроллеры серии РІС фирмы Microchip® Technology Inc. переживают последние три-четыре года в Украине поистине взрывной рост популярности. Эти микроконтроллеры также крайне популярны во всем мире, как у производителей электронной техники, так и среди радиолюбителей.
В чем же причина такой популярности? Конечно, не последнюю роль сыграли правильная маркетинговая политика, мощная и продуманная поддержка разработчиков со стороны фирмы и низкая стоимость микросхем. Кроме этого, сам продукт обладает целым рядом неоспоримых достоинств. Микроконтроллеры РІС фирмы Microchip® объединили в себе все передовые технологии, применяемые в производстве микроконтроллеров: развитую RISC-архитектуру, минимальное энергопотребление при высоком быстродействии, ППЗУ, программируемое пользователем, функциональную законченность.
Четкая и продуманная внутренняя структура контроллеров и небольшая, но мощная система команд с интуитивно понятной мнемоникой значительно облегчают процесс изучения контроллеров РІС и написание для них программ.
Мировая промышленность выпускает огромную номенклатуру микроконтроллеров. По области применения их можно разделить на два класса: специализированные, предназначенные для применения в какой-либо одной конкретной области и универсальные, которые не имеют конкретной специализации и могут применяться в самых различных областях микроэлектроники, с помощью которых можно создать как любое из перечисленных выше устройств, так и принципиально новое устройство.
Цель курсовой работы - разработать микропроцессорную системы на базе микроконтроллера для спортивного велотренажера.
1. Описание объекта и функциональная спецификация
Проблема ограничения времени, которое дети проводят за компьютером, многим родителям известна не понаслышке. О вреде здоровью, школьной успеваемости сказано уже немало, поэтому сразу перейдем к техническим аспектам решения этой проблемы. В интернете можно найти немало программ для PC, которые лимитируют «машинное время». Первая же скачанная программа NikLock V1.53 мне понравилась. Однако после некоторого опыта эксплуатации возникла идея усовершенствовать процесс. Суть идеи сводится к следующему - изначально в день «бесплатно» выделяется небольшой отрезок «машинного времени», а остальное время предлагается заработать с помощью... велотренажера. Т.е. чем больше крутишь и чем больше нагрузка, тем больше зарабатываешь времени для компьютерных игр. Таким образом решается заодно и проблема гиподинамии.
Итак, начнем с велотренажера. В нашем случае это был Body Sculpture ВЕ6200, но это не принципиально. В данном случае можно использовать практически любой тренажер (как с «бортовым компьютером», так и без него), т.к. предлагается полностью автономный интерфейс съема данных.
Основой схемы является микроконтроллер AT90S2313-10PI. С помощью геркона S1 микроконтроллер отслеживает каждый оборот педалей тренажера. Ротор резистора R1 сопрягается с регулятором нагрузки тренажера. Большую часть времени микроконтроллер находится в спящем режиме, поэтому в схеме отсутствует выключатель питания. В тренажере ВЕ6200 имеется датчик оборотов, который состоит из постоянного магнита, закрепленного на «рабочем колесе», и геркона, закрепленного на неподвижном кронштейне. Закрепляем «наш» геркон возле «родного» геркона таким образом, чтобы он тоже попадал в поле вращающегося магнита. Регулятор нагрузки в ВЕ6200 управляет натяжением ременного тормоза. Между минимальной и максимальной нагрузкой ручка регулятора делает около шести полных оборотов.
Теперь о повседневном использовании. Ребенок включает компьютер. Программа NikLock отмеряет ему (согласно настройке) небольшой начальный интервал времени. Его можно сразу истратить на компьютерные игры, либо, запустив программу Velo, заработать с помощью велотренажера себе еще некоторое количество «машинного времени». Когда начальный интервал времени истечет, компьютер нужно перезагрузить (или включить снова, если NikLock его уже выключил) и теперь программа NikLock отмерит заработанный интервал времени. Его можно использовать частично на игру, частично опять на заработок нового времени с помощью тренажера и программы Velo и т.д.
Программу Velo можно использовать и в фоновом режиме, т.е. запускаем сначала Velo, затем игру. В результате один ребенок может играть, а другой в это время зарабатывать себе время.
Функциональная спецификация
Входы
Герконовый датчик
Выходы
Светодиод – индикатор вращения колеса велотренажера
Компьютер с программой Velo
Функции
Запись программы
Отсчет оборотов вращения колеса велотренажера
Передача данных на компьютер
Индикация вращения колеса велотренажера и работоспособности системы
2.Описание структуры системы
После определения входов и выходов устройства разработана структурная схема устройства. Структурная схема велотренажера приведена на рис. 1.
Велотренажер
Магнит Светодиод
Геркон
Рис. 1. Структурная схема велотренажера
3.Описание ресурсов МК AT90S2313-10P1
В курсовом проекте был выбран 8- ми разрядный AVR микроконтроллер AT90S2313-10P1 с 2 Кбайт Flash памятью с поддержкой внутрисистемного программирования.
Отличительные особенности:
AVR® - высокая производительность и RISC архитектура с низким энергопотреблением
118 мощных инструкций - большинство из них выполняются за один такт
2 Кбайт Flash- памяти с поддержкой внутрисистемного программирования
SPI- последовательный интерфейс для загрузки программного кода Ресурс: 1000 циклов записи/ стирания
128 байта EEPROM:
Ресурс: 100 000 циклов запись/ стирание
Рабочие регистры общего назначения 32 х 8
15 программируемых линий I/O
Питание VCC: от 2.7 В до 6.0 В
Полностью статический режим работы:
От 0 до 10 МГц, при питании от 4.0 В до 6.0 В
От 0 до 4 МГц, при питании от 2.7 В до 6.0 В
Производительность, вплоть до 10 MIPS при 10 МГц
Один 8-ми разрядный таймер/ счетчик с отдельным предварительным делителем частоты
Один 16-ти разрядный таймер/ счетчик с отдельным предварительным делителем частоты с режимами сравнения и захвата
Полнодуплексный UART
Выбираемые 8, 9, или 10-ти разрядные режимы широтно- импульсной модуляции (ШИМ)
Внешние и внутренние источники прерывания
Программируемый следящий таймер с встроенным тактовым генератором
Встроенный аналоговый компаратор
Экономичные режимы ожидания и пониженного энергопотребления
Программируемая блокировка для безопасности программного обеспечения
20 выводов
Блок- схема (Рис.2).
Рис.2. Блок-схема МК AT90S2313-10P1
Расположение выводов (Рис.3).
Рис.3. Расположение выводов МК AT90S2313-10P1
Описание работы МК AT90S2313:
AT90S2313 является 8-ми разрядным CMOS микроконтроллером с низким энергопотреблением, основанным на усовершенствованной AVR RISC архитектуре. Благодаря выполнению высокопроизводительных инструкций за один период тактового сигнала, AT90S2313 достигает производительности, приближающейся к уровню 1 MIPS на МГц, обеспечивая разработчику возможность оптимизировать уровень энергопотребления в соответствии с необходимой вычислительной производительностью.
Ядро AVR содержит мощный набор инструкций и 32 рабочих регистра общего назначения. Все 32 регистра напрямую подключены к арифметико - логическому устройству (АЛУ), что обеспечивает доступ к двум независимым регистрам при выполнении одной инструкции за один такт. В результате, данная архитектура имеет более высокую эффективность кода, при повышении пропускной способности, вплоть до 10 раз, по сравнению со стандартными микроконтроллерами CISC.
AT90S2313 имеет: 2 Кбайт Flash - памяти с поддержкой внутрисистемного программирования, 128 байт EEPROM, 15 линий I/O общего назначения, 32 рабочих регистра общего назначения, универсальные таймеры/ счетчики с режимами сравнения, внутренние и внешние прерывания, программируемый UART последовательного типа, программируемый следящий таймер с встроенным тактовым генератором и программируемый последовательный порт SPI для загрузки программ в Flash память, а также, два программно выбираемых режима экономии энергопотребления. Режим ожидания «Idle Mode» останавливает CPU, но позволяет функционировать SRAM, таймеру/ счетчикам, SPI порту и системе прерываний. Режим экономии энергопотребления «Power Down» сохраняет значения регистров, но останавливает тактовый генератор, отключая все остальные функции микроконтроллера, вплоть до следующего внешнего прерывания, или до аппаратной инициализации.
Устройство производится с применением технологи энергонезависимой памяти с высокой плотностью размещения, разработанной в корпорации Atmel. Встроенная Flash - память с поддержкой внутрисистемного программирования обеспечивает возможность перепрограммирования программного кода в составе системы, посредством SPI последовательного интерфейса, или с помощью стандартного программатора энергонезависимой памяти. Благодаря совмещению усовершенствованного 8-ми разрядного RISC CPU с Flash- памятью с поддержкой внутрисистемного программирования на одном кристалле получился высокопроизводительный микроконтроллер AT90S2313, обеспечивающий гибкое и экономически- высокоэффективное решение для многих приложений встраиваемых систем управления.
AVR AT90S2313 поддерживается полным набором программ и пакетов для разработки, включая: компиляторы С, макроассемблеры, отладчики/ симуляторы программ, внутрисхемные эмуляторы и наборы для макетирования.
4. Ассемблирование
Для ассемблирования спользуется макpоассемблеp MPASM, он содеpжит все необходимые нам возможности. MPASM входит в пакет программ Microchip MPLAB фирмы Microchip Technology.
В pезультате pаботы ассемблеpа создаются файлы со следующими pасшиpениями:
* HEX - объектный файл
* LST - файл листинга
* ERR - файл ошибок и пpедупpеждений
* COD
Объектный файл создается в 16-pичном фоpмате и содеpжит код, котоpый должен быть записан в микpосхему. Файл листинга содеpжит полный листинг пpогpаммы вместе с загpузочным кодом. В файл ошибок и пpедупpеждений записываются все ошибки и пpедупpеждения, возникающие в пpоцессе ассемблиpования. Они также пpисутствуют и в файле листинга.
После обpаботки нашей пpогpаммы ассемблеp должен был выдать сообщение "Assembly Successful", означающее, что ошибок обнаpужено не было. Файл ошибок не должен был создаться.
Листинг программы для велотренажера приведен в Приложении А.
5. Программирование микроконтроллера
После ассемблирования имеется объектный файл EXAMPLE.HEX, котоpый должен быть записан в микpосхему. Запись осуществляется пpи помощи пpогpамматоpа и пpогpаммы Pic-prog.
Микросхему микроконтроллера вставляется в панель программатора.
Программатор подключается к порту LPT1. Необходимо запустить программу Pic_prog.exe.
Подать питание на программатор.
Выполнить команду 'ЗАПИСАТЬ / ПАМЯТЬ ПРОГРАММ'.
В течении следующих нескольких секунд будит выполняться процесс программирования, а затем проверка правильности записанных в микроконтроллер данных.
Объектный файл приведен в Приложении Б.
6. Разработка алгоритма работы устройства
Рис.4. Структурная схема велотренажера (электронная часть)
6.Описание функциональных узлов МПС и алгоритма их взаимодействия
Рис. 5. Функциональная схема велотренажера
1.Герконовый датчик установлен на колесе велотренажера, взаимодействуя с МК.
2. Кварцевый резонатор выдает стабильную частоту на МК.
3. Светодиод информирует о работе устройства при вращении колеса велотренажера.
4. Регулятором R производится настройка.
5. Источник питания, батареи АА, для функционирования схемы.
6. Компьютер – производит сбор информации и включает, выключает работу системы компьютера, согласно программы Velo.
7. Описание выбора элементной базы и работы принципиальной схемы
Нарис. 6 изображена принципиальная схема устройства сопряжения компьютера и тренажера.
Основой схемы является микроконтроллер AT90S2313-10PI. С помощью геркона S1 микроконтроллер отслеживает каждый оборот педалей тренажера. Ротор резистора R1 сопрягается с регулятором нагрузки тренажера. На элементах R1,R3,R5,C5 выполнен своеобразный аналого-цифровой преобразователь. Микроконтроллер измеряет время разряда конденсатора С5 через резисторы R1,R3,R5. В результате положение ротора резистора R1 преобразуется в цифровой код. Светодиод VD1 индицирует каждый оборот кратковременной вспышкой. Передача данных в СОМ порт компьютера производится через оптрон D2. Протокол передачи данных очень простой - с каждым оборотом педалей в компьютер передается на скорости 9600 один байт, который представляет собой код положения ротора резистора R1. Большую часть времени микроконтроллер находится в спящем режиме, поэтому в схеме отсутствует выключатель питания. В режиме ожидания схема потребляет менее 1 мкА. При вращении педалей с частотой 1 оборот в секунду потребление составляет около 300 мкА. Питание осуществляется от двух батарей АА.
Рис.6. Схема сопряжения велотренажера с компьютером
В устройстве применены следующие элементы: микроконтроллер AT90S2313-10PI, оптрон 4N33, кварцевый резонатор на 4 МГц, постоянные резисторы мощностью 0,125 Вт, резистор R1 типа TELPOD WT-2712 или СПЗ-36. Конденсатор С5 желательно использовать с малой температурной зависимостью. Наилучший вариант - К10-43В, но и К73-9. К73-17 тоже можно использовать. Остальные конденсаторы керамические, любого типа. Разъем типа DB25F. Геркон любого подходящего по габаритам типа. Светодиод желательно использовать «сверхяркого» типа. К соединяющему кабелю особых требований не выдвигается - он может быть неэкранированным.
Правильно собранная конструкция в настройке не нуждается. Вращая педали тренажера нужно убедиться, что светодиод VD1 мигает при каждом обороте.
В тренажере ВЕ6200 имеется датчик оборотов, который состоит из постоянного магнита, закрепленного на «рабочем колесе», и геркона, закрепленного на неподвижном кронштейне. Закрепляем «наш» геркон возле «родного» геркона таким образом, чтобы он тоже попадал в поле вращающегося магнита. Регулятор нагрузки в ВЕ6200 управляет натяжением ременного тормоза. Между минимальной и максимальной нагрузкой ручка регулятора делает около шести полных оборотов.
Принципиальная схема синтезатора выполнена в САПР Accel Eda (Рис. 7).
Пришлось написать небольшую вспомогательную программу Velo к программе NikLock. Алгоритм их взаимодействия следующий - NikLock хранит свои настройки в реестре, Velo пишет результат своей работы в то же место реестра. Недостаток такого подхода всего один - заработанное «машинное время» добавляется не «на лету», а после перезагрузки компьютера. Скриншот программы Velo показан на рис.8.
Вначале инсталлируем программу NikLock V1.53 и настраиваем ее на ежедневное использование с начальным лимитом времени 15-30 минут. Далее настраиваем программу Velo. Устанавливаем нужный СОМ порт компьютера (к которому подключен разъем приставки). Затем необходимо произвести калибровку тренажера и нормирование труда. Для этих целей в дистрибутив программы
Рис. 7. Принципиальная схема велотренажера в Accel EDA
Принципиальная схема велотренажера приведена в Приложении В.
Velo входит файл Calibrare.xls. Вначале выкручиваем на тренажере регулятор нагрузки на минимум и смотрим после вращения педалей, какое значение индицируется в окне Byte. Затем повторяем эту процедуру для максимального уровня нагрузки. Вписываем эти значения в соответствующие поля файла Calibrate.xls. Далее нужно вписать в соответствующие поля два параметра по нормированию труда. Первый параметр - это стоимость (в секундах) одного оборота тренажера при минимальном положении регулятора нагрузки. Второй параметр - это коэффициент «утяжеления» занятий при максимальном положении регулятора. Эти два параметра определяются эмпирическим путем на основе личного педагогического опыта. После вписывания всех параметров MS Excel рассчитывает путем линейной интерполяции калибровочную таблицу, в которой отражена «цена» каждого принятого байта. Сохраняем эту таблицу в виде «Форматированный текст (разделители - пробелы)» в ту же папку, где лежит программа Velo. В результате получаем текстовый файл Calibrate.ргп, который программа Velo будет использовать. Этот файл, кстати, можно потом редактировать вручную в любом текстовом редакторе Теперь о повседневном использовании. Ребенок включает компьютер. Программа NikLock отмеряет ему (согласно настройке) небольшой начальный интервал времени. Его можно сразу истратить на компьютерные игры, либо, запустив программу Velo, заработать с помощью велотренажера себе еще некоторое количество «машинного времени». Когда начальный интервал времени истечет, компьютер нужно перезагрузить (или включить снова, если NikLock его уже выключил) и теперь программа NikLock отмерит заработанный интервал времени. Его можно использовать частично на игру, частично опять на заработок нового времени с помощью тренажера и программы Velo и т.д.
Программу Velo можно использовать и в фоновом режиме, т.е. запускаем сначала Velo, затем игру. В результате один ребенок может играть, а другой в это время зарабатывать себе время.
Рис.8. Скриншот программы Velo
Заключение
В данном курсовом проекте разработано устройство - велотренажер с игровым уклоном. Разработана схема электрическая принципиальная этого устройства и программа для микроконтроллера. В результате ассеблирования получена прошивка программы для памяти микроконтроллера. Применение микроконтроллера позволило упростить принципиальную схему и расширить функциональные возможности микроконтроллера, так как для изменения функций устройства достаточно внести изменения в программу микроконтроллера.
Список литературы
1. Белов А.В. Микроконтроллеры АVR в радиолюбительской практике – СП-б, Наука и техника, 2007 – 352с.
2. Проектирование цифровых устройств на однокристальных микроконтроллерах / В.В. Сташин [ и др.]. – М.: Энергоатомиздат, 1990. – 224 с.
3. Евстифеев А.В. Микроконтроллеры Microchip: практическое руководство/А.В.Евстифеев. – М.: Горячая линия – Телеком, 2002. – 296 с.
4. Кравченко А.В. 10 практических устройств на AVR-микро-
контроллерах. Книга 1 – М., Додэка –ХХ1, МК-Пресс, 2008 – 224с.
5.Трамперт В. Измерение, управление и регулирование с помощью АVR-микроконтроллеров: Пер. с нем – К., МК-Пресс, 2006 – 208с.
6. Мортон Дж. Микроконтроллеры АVR. Вводный курс /Пер. с англ. – М., Додэка –ХХ1, 2006 – 272с.
7.Техническая документация на микроконтроллеры AT90S2313 фирмы «Atmel» ООО «Микро -Чип», Москва, 2006.-484 с.
ПРИЛОЖЕНИЕ А
Листинг программы
ПРИЛОЖЕНИЕ Б
Объектный файл