РАЗРАБОТКА ДИСТАНЦИОННОЙ СИСТЕМЫ УПРАВЛЕНИЯ УЧЕБНЫМ РОБОТОМ

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

2015-09-27

315.77 KB

29 чел.


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное  учреждение

высшего профессионального образования

«ИЖЕВСКИЙ  ГОСУДАРСТВЕННЫЙ  ТЕХНИЧЕСКИЙ  УНИВЕРСИТЕТ ИМЕНИ М. Т. КАЛАШНИКОВА»

Кафедра «Мехатронные системы»

К ЗАЩИТЕ

Заведующий кафедрой «МС»

___________________А. И. Абрамов

«_____»_______________ 20___ года

РАЗРАБОТКА ДИСТАНЦИОННОЙ СИСТЕМЫ УПРАВЛЕНИЯ УЧЕБНЫМ РОБОТОМ

ПОЯСНИТЕЛЬНАЯ  ЗАПИСКА

к выпускной квалификационной работе бакалавра

по направлению 220100

"Системный анализ и управление"

Разработал студент гр.8-05-3

Д. А. Рябин

подпись, дата

Руководитель проекта

Ю. Р. Никитин

подпись, дата

Ижевск – 2012

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования

«Ижевский государственный технический университет имени М.Т. Калашникова»

(ФГБОУ ВПО «ИжГТУ имени М.Т. Калашникова»)

Кафедра «Мехатронные системы»

утверждаю

Зав.кафедрой «МС»,  доцент

______________________А.И.Абрамов

«_____»_______________ 20___ года

техническое Задание

на выполнение  

выпускной  квалификационной  работы

студенту Рябину Дмитрию Алексеевичу

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

2. Исходные данные: Характеристика устройства управления Bluetooth:

- радиус действия до 100 м.;

- количество каналов передачи информации – 2;

- формат передачи данных – 2 байта;

Объект управления – учебный мобильный робот с двигателями постоянного тока (ДПТ). Характеристика ДПТ:

- напряжение питания – 5В;

- максимальный ток – 0,1 А;

- максимальный момент инерции – 19 мН*м;

Тип микропроцессорного устройства: микроконтроллер Atmega8 фирмы Atmel. Микроконтроллеры данного семейства содержат 8-разрядное RISC CPU, периферийные модули и гибкую систему тактирования и имеют гарвардскую архитектуру памяти.

Тип передатчика и приемника дистанционного устройства управления: Передатчик – телефон с версией Bluetooth не меньше V2.0. Приемник – Bluetooth модуль фирмы Sure Electronics Inc. Характеристика модуля:

- рабочее напряжение 3,3 В;

- версия BluetoothV2.0+EDR$

- интерфейс связи – UART;

3. Перечень подлежащих разработке конструкторско-технологических, расчетных и программных решений: Разработка структурной схемы; Разработка микропроцессорного устройства управления двигателями постоянного тока (ДПТ); разработка алгоритма и программы устройства управления;

4. Перечень подлежащих разработке графических материалов: Схема электрическая принципиальная – А3, плата печатная – А3; сборочный чертеж – А3.

5. Дата выдачи задания: 10 февраля 2012 г.

6. Плановый срок  сдачи законченного проекта : 27 июня 2012 г.

    Руководитель                                  Никитин Ю. Р.

                 Задание принял                               Рябин Д. А.

                                                           к исполнению

СОДЕРЖАНИЕ

Введение……………………………………………………………………….…...5

1. Разработка структурной схемы устройства управления...……………….…...8

2. Разработка микропроцессорного устройства управления двигателями постоянного тока…………………………………………………………………...9

3. Разработка алгоритма и программы устройства управления………………..13

Руководство пользователя………………………………………………………...17

Заключение………………………………………………………………………...19

Список литературы………………………………………………………………..21

ПРИЛОЖЕНИЕ А.(обязательное) Текст программы управления двигателями постоянного тока.

ПРИЛОЖЕНИЕ Б.(обязательное) Текст программы для передачи данных с телефона на микроконтроллер.

ПРИЛОЖЕНИЕ В.(справочное) Характеристика устройств используемых в разрабатываемой схеме

ПРИЛОЖЕНИЕ Г. Перечень элементов

ПРИЛОЖЕНИЕ Д. Схема электрическая принципиальная

ПРИЛОЖЕНИЕ Е. Плата печатная

ПРИЛОЖЕНИЕ Ж. Спецификация

ПРИЛОЖЕНИЕ З. Сборочный чертеж

ВВЕДЕНИЕ

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

Поразительно, как в наше время быстро развиваются технологии,    кажется, что за темпами их развития, уже, сложно проследить. Сотовые телефоны – один из ярких примеров, они на сегодняшний день есть у каждого человека. Более того,  они стали неотъемлемой частью нашего общества. Существуют  телефоны с минимальным набором функций, а есть «продвинутые» с функциями сравнимыми с персональным компьютером.

Сотовые телефоны частично заменяют многие устройства такие как: фотоаппарат, компьютер, электронную книгу и т.п. Стоит задуматься «а почему бы не управлять с помощью телефона какими-нибудь не сложными устройствами?». Предлагается заменить не все устройство, а только некоторые средства дистанционного управления. Это упростит управление различными приборами в повседневной жизни человека. Например, один телефон с функцией Bluetooth сможет заменить все пульты от домашней техники, которые так часто теряются.

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

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

Слово Bluetooth — переводится с датского языка как «Синезубый». Это прозвище носил король Харальд I, правивший в X веке Данией и частью Норвегии и объединивший враждовавшие датские племена в единое королевство. Подразумевается, что Bluetooth делает то же самое с протоколами связи, объединяя их в один универсальный стандарт.

В данной работе производится разработка системы дистанционного управления учебным роботом. Учебный мобильный робот построен на базе машинки с радиоуправлением. А дистанционное управление осуществляется по каналу связи Bluetooth. Устройством передачи сигнала был выбран телефон с возможностью передачи информации по Bluetooth, а устройство приемник -  это Bluetooth модуль установленный на плате в машинке.

Дадим определение, что такое робот. Робот — электромеханическое, пневматическое, гидравлическое устройство или их комбинация, предназначенное для осуществления производственных и других операций, обычно выполняемых человеком (иногда животным). Использование роботов позволяет облегчить или вовсе заменить человеческий труд.

С развитием робототехники определились 3 разновидности роботов:

- с жёсткой программой действий;

- управляемые человеком-оператором;

- с искусственным интеллектом, действующие целенаправленно без вмешательства человека.

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

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

Для выполнения цели проекта поставлены и решены следующие задачи:

  1.  Разработка структурной схемы устройства управления.  Разрабатывается структурная схема работы учебного мобильного робота с дистанционной системой управления.
  2.  Разработка микропроцессорного устройства управления двигателями постоянного тока. Осуществляется разработка схемы электрической принципиальной – выбор двигателей, микроконтроллера, интерфейса связи. Расчет схемы электрической принципиальной и осуществляется разработка печатной платы и сборочного чертежа.
  3.  Разработка алгоритма и программы устройства управления;

1 РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ УСТРОЙСТВА УПРАВЛЕНИЯ

В данном разделе разрабатывается структурная схема системы.

1.1 Структурная схема системы

На рисунке 1  представлена структурная схема системы.

Рисунок 1 – Структурная схема устройства управления

С помощью программного обеспечения установленного на телефоне формируются и передаются сигналы на устройство приемник, в данном случае это Bluetooth модуль.

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

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

2 РАЗРАБОТКА МИКРОПРОЦЕССОРНОГО УСТРОЙСТВА УПРАВЛЕНИЯ ДВИГАТЕЛЯМИ ПОСТОЯННОГО ТОКА

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

2.1 Разработка схемы электрической принципиальной

2.1.1 Выбор двигателя

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

2.1.2 Выбор микроконтроллера

В качестве основного элемента получения  и обработки сигналов был выбран микроконтроллер Atmega8 фирмы Atmel (см. приложение Б). У микроконтроллера имеются порты UART, 3 таймера, что необходимо для данной работы.

Цифровые сигнальные процессоры фирмы Atmel получили широкое применение, так как они имеют доступную цену и достаточный набор периферии.

2.1.3 Выбор микросхемы и интерфейса связи

Для управления двигателями стоял выбор между драйверами L298N и L293D. Но выбор остановился на драйвере L298N. Он работает в более широком диапазоне напряжений, и в связи с этим отпадает риск перегрева микросхемы. Так же он легкодоступный и имеет полный ряд функций необходимых для выполнения данной работы.

В качестве интерфейса связи с компьютером в данном проекте выбран интерфейс UART. Данный интерфейс был выбран не случайно, потому что для передачи данных используется Bluetooth модуль, который в свою очередь использует интерфейс UART. Так же его плюсом является хорошая скорость передачи данных - 9600 Кбит/с.

2.1.4 Расчет механической мощности.

Вес модели равен 0,7 кг, максимальная скорость 1м/с при диаметре колес 30 мм.

Рассчитаем ускорение:

м/c.

Вращающий момент рассчитывается следующим образом:

Cm=

При моменте инерции и угловом ускорении α =

мН*м

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

об/мин

Мощность двигателя пропорциональна вращающему моменту и частоте вращения:

Pm = Cm*V

Pm=Вт.

2.2 Расчет схемы электрической принципиальной

2.2.1 Выбор силового драйвера управления.

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

Максимальное рабочее напряжение: Uпит < Uдрайвера=46 В;

Напряжение питания Uпит=+5 В, +3,3 В;

Максимальный выходной ток (на один канал): Iпит < Iдрайвера=2 А:

2.2.2 Расчет резисторов.

Вывод Reset микроконтроллера, согласно технической документации, рекомендовано подключать к питанию через подтягивающий резистор номиналом 10 кОм.

Резисторы для соединения микроконтроллера и Bluetooth модуля устанавливаются исходя из технической документации модуля: рабочее напряжение 3.3 В, при работе с напряжением 5 В установить резисторы номиналом 4,7 кОм.

Для стабильной работы и избежание сгорания светодиода необходимо, что бы ток текущей в цепи, соответствовал номинальному (10 или 20 миллиампер), для этого установим резистор сопротивлением 1 кОм.

2.2.3 Расчет конденсаторов.

Для стабилизации напряжения поступающего с источника питания были параллельно подключены конденсаторы емкостью 30 мкФ и 100 мкФ.

Уже известно, что Bluetooth модуль работает от напряжения 3,3 В, получается рабочее напряжение в микросхеме 5 В будет излишним, что может привести к сгоранию модуля. Поэтому для уменьшения напряжения необходимо подключить стабилизатор L78L33. Исходя из его технической документации потребуются 2 конденсатора емкостью 0,33 мкФ и 0,1 мкФ. Схема соединения представлена на рисунке 2.

        

Рисунок 2 – Схема соединения стабилизатора L78L33

2.3 Разработка печатной платы

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

При конструировании печатной платы необходимо учитывать следующее.

Если нет каких-либо ограничений, печатная плата (ПП) должна быть квадратной или прямоугольной. Максимальный размер любой из сторон не должен превышать 520 мм. Толщина ПП должна соответствовать одному из чисел ряда: 0.8; 1.0; 1.5; 2.0 в зависимости от площади ПП.

Центры отверстий должны располагаться в узлах координатной сетки. Каждое монтажное и переходное отверстие должно быть охвачено контактной площадкой.

Диаметр монтажных отверстий, диаметры выводов микросхем колеблются в пределах 0,8…1,2 мм, а диаметры выводов резисторов колеблются около 0,66 мм. Для упрощения процесса изготовления, монтажные отверстия на плате имеют диаметр 0,8 и 1,2 мм. Шаг координатной сетки составляет 1,27 мм.

Паять элементы припоем ПОС-61. Материал платы стеклотекстолит фольгированный СТЭФ 2-1,5-50 по ГОСТ 10316-86.

Для smd-элементов рекомендуется печатный монтаж, согласно datasheet.

2.4 Разработка сборочного чертежа

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

1) разработка сборочного чертежа устройства управления двигателями постоянного тока осуществляется на основе разработанной принципиальной электрической схемы с учетом требований к чертежным документам;

2) в соответствии со схемой деления изделия на составные части присвоить обозначение сборочной единице и ее элементам по ГОСТ 2.201-68;

3) проставить необходимые размеры согласно требованиям ГОСТ 2.109-73;

4) заполнить спецификацию, выдерживая все требования ГОСТ 2.108-68;

5) заполнить основную надпись и выполнить другие необходимые надписи (технические требования и пр.).

3 РАЗРАБОТКА АЛГОРИТМА И ПРОГРАММЫ УСТРОЙСТВА УПРАВЛЕНИЯ

 

В данном разделе осуществляется разработка алгоритма для микропроцессорного устройства управления двигателями постоянного тока, а также разработка программы управления на телефон.

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

На рисунке 3 представлена схема алгоритма работы микропроцессорного устройства управления.

Значения передаваемого байта:

10 : 00 – Стоп; 01 – Вперед; 10 – Назад; 11 – Стоп.

23 : 00 – Стоп; 01 – Вправо; 10 – Влево; 11 – Стоп.

Рисунок 3 - Схема алгоритма работы микропроцессорного устройства управления двигателем постоянного тока

4.2 Разработка программы.

4.2.1Разработка программы  управления двигателями постоянного тока.

Данная программа необходима для управления двигателями постоянного тока. Микроконтроллер управляется программой с телефона.

Программа управления двигателем постоянного тока, с использованием микроконтроллера ATmega8 (см. приложение А).

4.2.2 Разработка программы на телефон.

Для запуска этой программы необходимо иметь на компьютере установленную версию Windows 98/2000/ME/XP. Данная программа разрабатывалась в среде Android SDK.

Для работы используются следующие пространства имен:

import java.io.IOException;

import java.io.OutputStream;

import java.util.List;

import java.util.UUID;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.ProgressDialog;

import android.bluetooth.BluetoothAdapter;

import android.bluetooth.BluetoothDevice;

import android.bluetooth.BluetoothSocket;

import android.content.Context;

import android.content.DialogInterface;

import android.content.Intent;

import android.content.DialogInterface.OnClickListener;

import android.hardware.Sensor;

import android.hardware.SensorEvent;

import android.hardware.SensorEventListener;

import android.hardware.SensorManager;

import android.net.Uri;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuInflater;

import android.view.MenuItem;

import android.view.MotionEvent;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

import android.widget.Toast;

4.2.3 Назначение и условия применения программы.

Программа предназначена для формирования и передачи сигналов на микропроцессорное устройство (см. приложение А).

Для запуска этой программы необходимо иметь устройство с операционной системой Android любой версии. Данная программа разрабатывалась в среде Android SDK.

4.2.4 Обращение к программе.

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

Для запуска программы необходимо включить Bluetooth на устройстве и запустить приложение «BluCar». С помощью кнопки «Connect to a device» установить соединение с Bluetooth модулем («linvor»). После того как светодиод перестанет мигать можно приступать к передаче данных.

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

Для проверки работоспособности учебного мобильного робота необходимо следующее:

Включить питание учебном мобильном роботе при помощи кнопки представленной на рисунке 4.

Рисунок 4 – Кнопка включения питания.

Дождаться мигания двух светодиодов представленных на рисунке 5. Первый (белый) установлен на схеме мигая через каждую секунду, извещая о том, что в схеме есть питание и она готова к работе. Второй светодиод находится на Bluetooth модуле, и имеет 2 режима работы:

- мигание: ожидание подключения;

- постоянное горение: показывает наличие подключения.

Рисунок 5 – Рабочее состояние светодиодов.

Далее включаем на телефоне Bluetooth и запускаем программу «BluCar» представленную на рисунке 6. В программе нажимаем кнопку «Connect from device», из предоставленного списка выбираем linvor, которым является Bluetooth модуль. Дожидаемся когда светодиод на модуле начинает гореть постоянно, что означает успешное подключение. Учебный мобильный робот с дистанционной системой управления готов к работе.

                       

Рисунок 6 – Программа на телефоне «BluCar».

Способы управления:

- кнопка «Forward» - движение вперед;

- кнопка «Reverse» - движение назад;

- поворот телефона по горизонтальной плоскости правым ребром вниз – поворот передних колесо вправо;

- поворот телефона по горизонтальной плоскости левым ребром вниз – поворот передних колес влево;

Для выключения мобильного робота необходимо отключить питание схемы и в программе нажать кнопку «Disconnect from device».

ЗАКЛЮЧЕНИЕ

    В результате выполнения выпускной квалификационной бакалаврской работы на тему: «  Разработка дистанционной системы управления учебным роботом» произведена и создана система дистанционного управления учебным роботом по каналу связи Bluetooth. Учебным роботом является машинка с двумя двигателями постоянного тока и элементом питания. Устройством передачи сигнала был выбран телефон с возможностью передачи информации по Bluetooth, а устройство приемник -  это Bluetooth модуль установленный на плате в машинке.

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

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

    Вышеуказанные выводы сделаны по первой (теоретической) части. Создана структурная схема.

    Во второй главе описано как  разработано микропроцессорное устройство дистанционного управления двигателями постоянного тока.

    В третьей главе создан алгоритм и программа на телефон для визуализации управления двигателями постоянного тока.

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

СПИСОК ЛИТЕРАТУРЫ

1. Семенов Б. Ю. Силовая электроника для любителей и профессионалов – М.: Солон-Р, 2001. –126 с.

2. Лорен Дэрси, Шейн Кондер: Android за 24 часа. Программирование приложений под операционную систему Google. Изд. Рид Групп, 2011 г.

3. Касаткин А. С. Электротехника: Учеб. пособие для вузов. 4-е изд. – М.:Энергоатомиздат,1983. –440 с., ил.

4. Евстифеев А.В.: Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL. Издательский дом "Додэка-XXI", 2008. – 558 с.

5. Романычева Э. Т. Разработка и оформление конструкторской документации радиоэлектронной аппаратуры. / Справочник. М.: Радио и связь, 1989. – 448с.

6. Сивухин Д. В. Общий курс физики: Т.1. Механика: Учебное пособие для физических специальностей вузов. – М.: Наука, 1974. – 520 с. 

7. Хорвиц П., Хилл У. Искусство схемотехники. В 3 – х томах. Пер. с англ. – М.: Мир, 1993.

8. Atmel, 8-bit Microcontroller with 16K Bytes In-System Programmable Flash Atmega16 – Datasheet.

9. L298 – Dual Full-Bridge Driver – Datasheet.

10. L78L00 SERIES – Positive voltage regulators – Datasheet.

11. Bluetooth Serial Converter UART Interface 9600bps User’s Guide - Datasheet

12. Википедия: Свободная энциклопедия. 2012. URL: http://ru.wikipedia.org . (Дата обращения 20.05.2012).

ПРИЛОЖЕНИЕ А

Текст программы управления двигателями постоянного тока, с использованием микроконтроллера ATmega8.

#define F_CPU 8000000UL

#define BAUD 9600

#define MYUBRR F_CPU/16/BAUD-1

#include <avr/io.h>

#include <util/delay.h>

#include <avr/interrupt.h>

#include <stdlib.h>

unsigned int gtime;

void InitPorts()

{

DDRB=(0<<PB7)|  

  (0<<PB6)|  

  (0<<PB5)|  

  (0<<PB4)|  

  (0<<PB3)|

  (0<<PB2)|  

  (0<<PB1)|  

  (1<<PB0);  

PORTB=0;

DDRC=(0<<PC6)|  

  (1<<PC5)|  

  (1<<PC4)|  

  (1<<PC3)|

  (1<<PC2)|  

  (1<<PC1)|  

  (1<<PC0);  

PORTC=0;

}

void InitTimer0()

{

 //Init timer0

TCCR0 =  (0 << CS12)| // CS12-10 = 0b011

   (1 << CS11)| // 64

   (1 << CS10);

TCNT0 = 0x00;    // начальная установка счетчика

TIMSK=(1 << TOIE0);  // разрешение прерывания по сравнению

}

/////////////////////////////////////////////////////////////////

//Инициализация USART

/////////////////////////////////////////////////////////////////

void InitUSART(unsigned int baud)

{

UBRRH = (unsigned char)(baud>>8);

UBRRL = (unsigned char)baud;

UCSRB= ((1<<TXEN)|(1<<RXEN));

UCSRB |= (1 << RXCIE);

UCSRC = ((1<<URSEL)|(0<<UMSEL)|(0<<USBS)|(1<<UCSZ1)|(1<<UCSZ0));

}

/////////////////////////////////////////////////////////////////

//отправка байта USART

/////////////////////////////////////////////////////////////////

void USART_Transmit( unsigned char data )

{

 while ( !( UCSRA & (1<<UDRE)) );

UDR = data;

}

/////////////////////////////////////////////////////////////////

//отправка строки USART

/////////////////////////////////////////////////////////////////

void USART_Transmit_str( char *str)

{

 while(*str != 0)

{

 USART_Transmit( *str++ );

}

}

/////////////////////////////////////////////////////////////////

void led_on(void) //Включить светодиод

{

PORTB|=(1<<PB0);

}

void led_off(void) //Выключить светодиод

{

PORTB&=~(1<<PB0);

}   

/////////////////////////////////////////////////////////////////

//функции управления двигателями

//вперед первый двигатель

void left()

{   

PORTC&=~(1<<PC0);

PORTC|=(1<<PC1);

PORTC|=(1<<PC4);

}

/////////////////////////////////////////////////////////////////

//назад 1 двигатель

void right()   

{

PORTC|=(1<<PC0);

PORTC&=~(1<<PC1);

PORTC|=(1<<PC4);

}

/////////////////////////////////////////////////////////////////

//вперед 2 двигатель

void forward()

{   

PORTC&=~(1<<PC2);

PORTC|=(1<<PC3);

PORTC|=(1<<PC5);

}

/////////////////////////////////////////////////////////////////

//назад 2 двигатель

void back()   

{

PORTC|=(1<<PC2);

PORTC&=~(1<<PC3);

PORTC|=(1<<PC5);

}

/////////////////////////////////////////////////////////////////

//стоп

void stop()  

{

PORTC&=~(1<<PD6);

PORTC&=~(1<<PD7);

PORTC&=~(1<<PC4);

PORTC&=~(1<<PC3);

PORTC&=~(1<<PC2);

PORTC|=(1<<PC5);  

}

//назад 2 двигатель

void f_l()   

{

PORTC&=~(1<<PC0);

PORTC|=(1<<PC1);

PORTC|=(1<<PC4);

PORTC&=~(1<<PC2);

PORTC|=(1<<PC3);

PORTC|=(1<<PC5);

}

//назад 2 двигатель

void f_r()   

{

PORTC|=(1<<PC0);

PORTC&=~(1<<PC1);

PORTC|=(1<<PC4);

PORTC&=~(1<<PC2);

PORTC|=(1<<PC3);

PORTC|=(1<<PC5);

}

//назад 2 двигатель

void b_r()   

{

PORTC|=(1<<PC0);

PORTC&=~(1<<PC1);

PORTC|=(1<<PC4);

PORTC|=(1<<PC2);

PORTC&=~(1<<PC3);

PORTC|=(1<<PC5);

}

void b_l()   

{

PORTC&=~(1<<PC0);

PORTC|=(1<<PC1);

PORTC|=(1<<PC4);

PORTC|=(1<<PC2);

PORTC&=~(1<<PC3);

PORTC|=(1<<PC5);

}

/////////////////////////////////////////////////////////////////

//прерывание USART

/////////////////////////////////////////////////////////////////

ISR (USART_RXC_vect)

{

 char b;

b = UDR;

 if (b==16)

{

 forward(); //вперед

}

 else if(b==32)

{

 back(); //назад

}

 else if(b==4)

{

 left(); //влево

}

 else if(b==8)

{

 right(); //вправо

}

 else if(b==20)

{

 f_l(); //вперед влево

}

 else if(b==36)

{

 b_l(); //назад влево

}

 else if(b==24)

{

 f_r(); //вперед вправо

}

 else if(b==40)

{

 b_r(); //назад вправо

}

 else if(b==0)

{

 stop(); //стоп

}

}

/////////////////////////////////////////////////////////////////

ISR (TIMER0_OVF_vect)

{

 static int i=0;

i++;

 if(i==245)

{

 led_on();

}

 if(i==490)

{

 led_off();

 i=0;

}

}

/////////////////////////////////////////////////////////////////

int main(void)

{  

InitPorts();

 //InitTimer1();

InitTimer0();

InitUSART(MYUBRR);

USART_Transmit_str("OK");

 // Global enable interrupts

asm("sei");

 while (1)

{            

}

 return 0;

}

ПРИЛОЖЕНИЕ Б

 

Текст программы для передачи данных с телефона на микропроцессорное устройство управления.

import java.io.IOException;

import java.io.OutputStream;

import java.util.List;

import java.util.UUID;

import android.app.Activity;

import android.app.AlertDialog;

import android.bluetooth.BluetoothAdapter;

import android.bluetooth.BluetoothDevice;

import android.bluetooth.BluetoothSocket;

import android.content.Context;

import android.content.Intent;

import android.hardware.Sensor;

import android.hardware.SensorEvent;

import android.hardware.SensorEventListener;

import android.hardware.SensorManager;

import android.os.Bundle;

import android.os.PowerManager;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuInflater;

import android.view.MenuItem;

import android.view.MotionEvent;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

import android.widget.Toast;

public class blu_car extends Activity {

protected static final int ACTION_DOWN = 0;

protected static final int ACTION_UP = 1;

protected static final int ACTION_MOVE = 2;

private static final int REQUEST_CONNECT_DEVICE = 1;

private static final int REQUEST_ENABLE_BT = 2;

// добавление необходимых кнопок

private byte AttinyOut;

private boolean ledStat;

private boolean connectStat = false;

private Button led_button;

private Button forward_button;

private Button reverse_button;

private Button connect_button;

private TextView xAccel;

protected static final int MOVE_TIME = 80;

private long lastWrite = 0;

private AlertDialog aboutAlert;

private View aboutView;

// настраиваем работу с сенсорным дисплеем

private SensorManager mySensorManager;

private List<Sensor> sensors;

private Sensor accSensor;

protected PowerManager.WakeLock mWakeLock;

// настройка Bluetooth

private BluetoothAdapter mBluetoothAdapter = null;

private BluetoothSocket btSocket = null;

private OutputStream outStream = null;

private ConnectThread mConnectThread = null;

private String deviceAddress = null;

private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

// сохраняем кнопки в файл

led_button = (Button) findViewById(R.id.led_button);

forward_button = (Button) findViewById(R.id.forward_button);

reverse_button = (Button) findViewById(R.id.reverse_button);

connect_button = (Button) findViewById(R.id.connect_button);

xAccel = (TextView) findViewById(R.id.accText);

// выбор сенсора

mySensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);

sensors = mySensorManager.getSensorList(Sensor.TYPE_ACCELEROMETER);

if(sensors.size() > 0)

{

accSensor = sensors.get(0);

}

// создание диалогового окна

AlertDialog.Builder builder = new AlertDialog.Builder(this);

LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);

aboutView = inflater.inflate(R.layout.about_text, null);

// создание диалога

builder.setMessage(null).setView(aboutView).setCancelable(true).setTitle(R.string.about).setIcon(R.drawable.ic_menu_info_details);

aboutAlert = builder.create();

// настройка включение Bluetooth через приложение

mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();

if (mBluetoothAdapter == null) {

Toast.makeText(this, R.string.no_bt_device, Toast.LENGTH_LONG).show();

finish();

return;

}

if (!mBluetoothAdapter.isEnabled()) {

Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);

startActivityForResult(enableIntent, REQUEST_ENABLE_BT);

}

/**********************************************************************

* Buttons for controlling BluCar

*/

// соединение с Bluetooth модулем

connect_button.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

if (connectStat) {

// нажатие кнопки дисконнект

disconnect();

}

else{

// нажатие кнопки коннект

connect();

}

}

});

// движение вперед

forward_button.setOnTouchListener(new View.OnTouchListener() {

@Override

public boolean onTouch(View v, MotionEvent event) {

if ((event.getAction() == ACTION_DOWN) | (event.getAction() == ACTION_MOVE)) {

forward_button.setPressed(true);

AttinyOut = (byte) (AttinyOut | 16);

write(AttinyOut);

return true;

}else if (event.getAction() == ACTION_UP) {

forward_button.setPressed(false);

AttinyOut = (byte) (AttinyOut & 236);

write(AttinyOut);

return true;

}

forward_button.setPressed(false);

return false;

}

});

// движение назад

reverse_button.setOnTouchListener(new View.OnTouchListener() {

@Override

public boolean onTouch(View v, MotionEvent event) {

if ((event.getAction() == ACTION_DOWN) | (event.getAction() == ACTION_MOVE)) {

reverse_button.setPressed(true);

AttinyOut = (byte) (AttinyOut | 32);

write(AttinyOut);

return true;

}else if (event.getAction() == ACTION_UP) {

reverse_button.setPressed(false);

AttinyOut = (byte) (AttinyOut & 220);

write(AttinyOut);

return true;

}

reverse_button.setPressed(false);

return false;

}

});

}

/** Thread used to connect to a specified Bluetooth Device */

public class ConnectThread extends Thread {

private String address;

ConnectThread(String MACaddress) {

address = MACaddress;

}

public void run() {

BluetoothDevice device = mBluetoothAdapter.getRemoteDevice(address);

try {

btSocket = device.createRfcommSocketToServiceRecord(MY_UUID);

} catch (IOException e) {

}

mBluetoothAdapter.cancelDiscovery();

try {

btSocket.connect();

} catch (IOException e1) {

try {

btSocket.close();

} catch (IOException e2) {

}

}

// создание канала связи

try {

outStream = btSocket.getOutputStream();

} catch (IOException e2) {

}

}

}

private final SensorEventListener mSensorListener = new SensorEventListener() {

@Override

public void onAccuracyChanged(Sensor sensor, int accuracy) {}

@Override

public void onSensorChanged(SensorEvent event) {

// проверка наличия команды

long date = System.currentTimeMillis();

if (date - lastWrite > MOVE_TIME) {

xAccel.setText(" " + event.values[0]);

if (event.values[0] > 4.5) {

// поворот направо

AttinyOut = (byte) (AttinyOut & 248);

AttinyOut = (byte) (AttinyOut | 4);

}else if (event.values[0] < -4.5) {

// поворот налево

AttinyOut = (byte) (AttinyOut & 244);

AttinyOut = (byte) (AttinyOut | 8);

}else {

AttinyOut = (byte) (AttinyOut & 240);

}

write(AttinyOut);

lastWrite = date;

}

}};

public void connect() {

// вызов списка сканируемых устройств

Intent serverIntent = new Intent(this, DeviceListActivity.class);

startActivityForResult(serverIntent, REQUEST_CONNECT_DEVICE);

}

public void onActivityResult(int requestCode, int resultCode, Intent data) {

switch (requestCode) {

case REQUEST_CONNECT_DEVICE:

// нажатие кнопки коннект

if (resultCode == Activity.RESULT_OK) {

// получение IP адреса

deviceAddress = data.getExtras().getString(DeviceListActivity.EXTRA_DEVICE_ADDRESS);

// соединение с устройством по IP адресу

mConnectThread = new ConnectThread(deviceAddress);

mConnectThread.start();

connectStat = true;

connect_button.setText(R.string.connected);

// сброс

AttinyOut = 0;

ledStat = false;

write(AttinyOut);

}

break;

case REQUEST_ENABLE_BT:

if (resultCode == Activity.RESULT_OK) {

} else {

Toast.makeText(this, R.string.bt_not_enabled_leaving, Toast.LENGTH_SHORT).show();

finish();

}

}

}

public void write(byte data) {

if (outStream != null) {

try {

outStream.write(data);

} catch (IOException e) {

}

}

}

public void emptyOutStream() {

if (outStream != null) {

try {

outStream.flush();

} catch (IOException e) {

}

}

}

public void disconnect() {

if (outStream != null) {

try {

outStream.close();

connectStat = false;

connect_button.setText(R.string.disconnected);

} catch (IOException e) {

}

}}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

MenuInflater inflater = getMenuInflater();

inflater.inflate(R.menu.option_menu, menu);

return true;

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case R.id.about:

// Show info about the author (that's me!)

aboutAlert.show();

return true;

case R.id.quit:

// Quit the application

System.exit(0);

return true;

}

return false;

}

@Override

public void onStart() {

super.onStart();

}

@Override

public void onResume() {

super.onResume();

mySensorManager.registerListener(mSensorListener, accSensor, SensorManager.SENSOR_DELAY_GAME);

}

@Override

public void onPause() {

super.onPause();

}

@Override

public void onStop() {

super.onStop();

}

@Override

public void onDestroy() {

if (mWakeLock.isHeld()) {

mWakeLock.release();

}

emptyOutStream();

disconnect();

if (mSensorListener != null) {

mySensorManager.unregisterListener(mSensorListener);

}

super.onDestroy();

}

}

ПРИЛОЖЕНИЕ В (справочное)

ХАРАКТЕРИСТИКА УСТРОЙСТВ, ИСПОЛЬЗУЕМЫХ В РАЗРАБАТЫВАЕМОЙ СХЕМЕ

В выпускной квалификационной работе используется микроконтроллер Atmega8. Питание микроконтроллера осуществляется от источника напряжения +5В. Данный микроконтроллер обладает следующими особенностями:

1) 8-разрядный;

2) рабочая частота  0 – 16 МГц;

3) встроенный 2-цикловый перемножитель;

4) flash память программ 16 Кбайт;

5) 1 кБайт ОЗУ;

6) 3 канала ШИМ;

7) два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения;

8) один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения;

9) 8-канальный 10-разрядный аналого-цифровой преобразователь;

10) порты UART, SPI (ведущий/ведомый);

11) рабочее напряжение  4,5 – 5,5 В;

12) программируемая блокировка, обеспечивающая защиту программных средств пользователя.

Микроконтроллеры данного семейства содержат 8-разрядное RISC CPU, периферийные модули и гибкую систему тактирования.

Семейство Atmega имеет гарвардскую архитектуру памяти с разделенным адресным пространством для памяти программы и памяти данных. На рисунке Б.1 представлена цоколевка микроконтроллера Atmega8.

                      

Рисунок Б.1 – Цоколевка микроконтроллера  Atmega8.

В качестве преобразователя логических уровней RS-232 – UART был выбран Bluetooth модуль. Цоколевка микросхемы представлена на рисунке Б.2. Характеристика:

Рабочее напряжение U = 3,3 В;

Действующий ток  I = 0,42 мА:

Рисунок Б.2 – Цоколевка Bluetooth модуля.

В силовой цепи используется драйвер L298N. На рисунке Б.3 представлена цоколевка данного драйвера. Характеристика:

Максимальное рабочее напряжение U=46 В;

Напряжение питания Uпит=+5 В, +3,3 В;

Максимальный выходной ток (на один канал): I=2 А:

Рисунок Б.3 – Цоколевка драйвера L298N.

На рисунке Б.4 представлена цоколевка стабилизатора L78L33 в корпусе ТО-92.

                        

Рисунок Б.4 – Цоколевка стабилизатора L78L33.

ПРИЛОЖЕНИЕ Г

ПЕРЕЧЕНЬ ЭЛЕМЕНТОВ

ПРИЛОЖЕНИЕ Д

СХЕМА ЭЛЕКТРИЧЕСКАЯ ПРИНЦИПИАЛЬНАЯ

ПРИЛОЖЕНИЕ Е

ПЛАТА ПЕЧАТНАЯ

ПРИЛОЖЕНИЕ Ж

СПЕЦИФИКАЦИЯ

ПРИЛОЖЕНИЕ З

СБОРОЧНЫЙ ЧЕРТЕЖ



 

Другие похожие работы, которые могут вас заинтересовать.
1900. Разработка дистанционной следящей системы передачи угла поворота 107.08 KB
  Принципиальная схема дистанционной следящей системы передачи угла поворота приведена на рис. Входная и выходная ось следящей системы связаны соответственно с движками задающего П1 и отрабатывающего П2 потенциометров. Функциональная схема системы представлена на рис.
17082. РАЗВИТИЕ ИНФОРМАЦИОННОЙ СИСТЕМЫ, ТЕОРИИ И МЕТОДОВ ДИСТАНЦИОННОЙ ДИАГНОСТИКИ КОНТАКТНОЙ СЕТИ ПО ПАРАМЕТРАМ ЭЛЕКТРОМАГНИТНЫХ РАДИО- И ОПТИЧЕСКИХ ИЗЛУЧЕНИЙ ДУГОВОГО ТОКОСЪЕМА 2.32 MB
  Проблема обеспечения надежного токосъема приобретает все большее значение т. Решение проблемы обеспечения высокой надежности КС и качественного токосъема проводится в направлении совершенствования и разработки методов расчета создание новых более совершенных конструкций КС токоприемников и их взаимодействия. Значительный вклад в разработку теории методов расчета в решение проблем обеспечения качественного токосъема построения систем и средств контроля основных параметров КС внесли и вносят ученые и инженеры практически всех...
5556. Разработка системы управления РТК штамповки 423.86 KB
  Целью курсового проекта является разработка системы управления РТК штамповки. Актуальность разработки данной системы управления состоит в том что она позволит снизить прежде всего долю ручного труда что позволит повысить качество выпускаемой продукции и экономические затраты так как РТК внедряется на базе существующих прессов. Определим вид автоматического устройства управления которое будет управлять объектом. Данный объект управления – сложный процесс состоящий из отдельных операций.
8160. Разработка системы управления многоосевым манипулятором 712.51 KB
  Целью дипломной работы является разработка программы в среде программирования MtLb. Задачами дипломной работы в связи с указанной целью: 1. В ходе исследований и решения поставленных задач были использованы следующие методы: теоретический анализ и сравнение различных методов распознавания образов моделирование алгоритмов работы программы. Введение раскрывает актуальность объект предмет цель и задачи методы исследования раскрывает практическую значимость работы.
21286. Разработка системы дистанционного управления бытовой техники 1.06 MB
  Большое количество фирм предоставляют возможность разработать систему управления вашим бытом для вас но в основном эти системы очень дорогостоящие. В данной работе будет рассмотрен один из способов как это сделать на примере системы дистанционного управления бытовой техникой с использованием сети Internet для создания и поддержания комфортной температурой в доме. Для того что бы создать те самые комфортные условия была поставлена задача управления комфортной температурой дома дистанционно. Системы дистанционного управления Система...
5381. Разработка интегрированной системы проектирования и управления колонны К-4 установки АВТ-4 485.6 KB
  В качестве объекта был выбран блок стабилизации бензина установки АВТ-4. Стабилизатор К-4 предназначен для стабилизации прямогонного бензина путем отгонки из него углеводородных газов и сероводорода.
11669. Анализ системы управления персоналом и разработка рекомендаций ее совершенствования в «РИА «ОК-ПРЕСС» 150.78 KB
  Механизмы управления механизмы мотивации РЕКЛАМНАЯ организация конкурентное преимущество оценка деятельности персонала сбалансированная система показателей контроллинг. Предметом исследования является организация управления персоналом РИА ОКПРЕСС. Цель исследования – изучение и анализ системы управления персоналом и разработка рекомендаций ее совершенствования в РИА ОКПРЕСС. В процессе работы проведено исследование основных концепций методов и моделей используемых для изучения механизмов управления в организациях анализ...
18878. Разработка концепции адаптивной и интегрированной системы финансового управления кредитной организации 57 KB
  Анализ процентной политики коммерческого банка: Учебное пособие. Экономический анализ деятельности коммерческого банка: Учебник для вузов. Резервы роста ресурсов коммерческого банка в современных условиях. Как банкам избежать банкротства.
11085. Разработка компонентов системы удаленного доступа и управления распределенными вычислительными ресурсами 4.48 MB
  Это обусловлено различными факторами главным из которых является насущная потребность в решении актуальных задач фундаментальной и прикладной науки для анализа и исследования которых производительности существующих средств вычислительной техники оказывается недостаточно...
12514. РАЗРАБОТКА МЕРОПРИЯТИЙ ПО СОВЕРШЕНСТВОВАНИЮ СИСТЕМЫ УПРАВЛЕНИЯ ПЕРСОНАЛОМ В КАФЕ ИП ИЛЬИН А.Ю. «САМУРАЙ» 306.05 KB
  Управление персоналом представляет собой целенаправленное воздействие на человеческую составляющую организации, которая ориентируется на установление соответствия между целями организации и возможностями сотрудников. Менеджмент персоналом базируется на обобщенном представлении о месте человека в организации.
© "REFLEADER" http://refleader.ru/
Все права на сайт и размещенные работы
защищены законом об авторском праве.