роботы
робототехника
микроконтроллеры
Главная
Новости
Спорт
Шаг за шагом
Статьи
Wiki
Форум
Downloads
Ссылки
Контакты
 

Обзор подходов к созданию роботов с элементами самосознания
Корнеллский робот. Робот университета Мейдзи. Эволюционное моделирование самосознания.

BEAM-РОБОТЫ
Создание BEAM-роботов - это не просто технологический процесс или увлекательное хобби. BEAM - это целая культура, со своей философией и эстетикой.  

Робот "Омнибот" на базе встраиваемого компьютера стандарта PC/104
Робот-теннисист разработан командой механико-математического факультета МГУ.  

:: УПРАВЛЕНИЕ С КОМПЬЮТЕРА :: ЧАСТЬ 1 ::

Управляемый компьютером вентилятор


Часть 1 - Управляемый компьютером вентилятор на базе микроконтроллера ATmega8
Часть 2 - Создаем управляющую программу для микроконтроллера (firmware)
Часть 3 - Монтаж электронной платы с микроконтроллером (hardware)
Часть 4 - Создаем управляющую программу на компьютере (software)
Часть 5 - Сборка устройства


Материалы статьи подготовлены на кафедре «Автоматика, Информатика и Системы Управления» (АИиСУ) Московского Государственного Индустриального Университета (ГОУ МГИУ).
(С 2011 года МГИУ носит название - ФГБОУ ВПО "МГИУ").
Авторы: Крюков А.И., Шубникова И.С., Тройков С.М.

Кафедра АИиСУ уже более 35 лет готовит профессионалов в области разработки и эксплуатации электронных, микропроцессорных, компьютерных, робототехнических, мехатронных и информационных систем управления для автомобильной и аэрокосмической техники, машиностроения и бизнеса. Научно-исследовательская работа сотрудников кафедры ведется в областях, связанных с разработкой систем поддержки принятия решений на основе технологий искусственного интеллекта, анализа и синтеза процессов управления сложными системами, контроля и интеллектуального выявления сбоев аппаратуры. Важным направлением научной деятельности кафедры является проведение исследований в области автоматических и электронных систем транспортных средств.
В данной статье мы последовательно расскажем о том, как создать устройство на базе микроконтроллера (МК), которым можно управлять с помощью персонального компьютера (ПК). Основной идеей данного материала является помощь начинающим в разработке и построении устройств на базе микроконтроллера с возможностью обмена данными с ПК.

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

  • вкл/выкл;
  • ручная установка направления воздушного потока
  • автоматический, так называемый «плавающий» режим направления воздушного потока.

  • Для работы нам понадобятся четыре программных продукта:
  • Microsoft Office Visio – используем для начертания схемного решения;
  • Algorithm Builder – среда программирования для МК;
  • AvrProg – утилита для прошивки МК Atmel (входит в бесплатный пакет AVR Studio);
  • RAD Studio Delphi – среда программирования для создания управляющей программы для ПК.

  • А так же из железа нам понадобится:
  • кусок оргстекла – для изготовления подставки;
  • сервопривод – обеспечит задание направления воздушного потока;
  • привод лопастей вентилятора – в нашем случае вытащили из старого привода CD;
  • крепление привода лопастей – можно изготовить из металлического корпуса того же CD привода, путем вырезания продолговатой пластинки и изгибания ее в форме буквы Г;
  • лопастной винт вентилятора – можно купить в магазине радиоуправляемых моделей;
  • преобразователь интерфейса USB-UART – в нашем случае BM8051;
  • микроконтроллер ATmega8 с колодкой на 28 ножек;
  • стабилизаторы напряжения L78L05 и L7805 (+ радиатор);
  • конденсаторы 2х0,33 мкФ и 2х0,1 мкФ;
  • макетная плата;
  • разъемы под питание платы, сервопривод, привод лопастей и под преобразователь интерфейсов;
  • набор проводов.
  • отвертка;
  • термопаста;
  • канифоль;
  • припой;
  • кусачки;
  • паяльник;
  • держатель для плат;
  • горелка (или хорошая зажигалка);
  • программатор для МК Atmel – можно собрать самостоятельно.

  • Microsoft Office Visio помогает создавать имеющие профессиональный вид схемы, служащие пониманию, документированию и анализу сведений, данных, систем и процессов. Можно использовать любое другое приложение, позволяющее создавать и/или даже моделировать происходящие в схеме процессы, как например в Electronics Workbench Multisim или Altium Designer (ренее P-CAD), предназначенный для проектирования многослойных печатных плат, вычислительных и радиоэлектронных устройств, или вообще начертить схемное решение от руки. Но мы воспользуемся Microsoft Office Visio 2010. И хотя данное приложение не входит в стандартный пакет Microsoft Office оно все же является достаточно распространенным программным продуктом, позволяющим создавать схемы, планы и чертежи в векторном формате.

    Visio обладает специальным набором библиотек для создания принципиальных электрических схем. Именно им и предстоит воспользоваться. Центральным элементом всей схемы является микроконтроллер - в нашем случае AVR ATmega8. Выбор пал именно на этот МК в связи с тем, что контроллеры серии AVR фиры Atmel являются достаточно простыми в программировании, объединяют богатый набор инструкций, ориентированы на выполнение разносторонних задач, обладают хорошим набором функций и при этом отличаются сравнительно невысокой ценой. К тому же большое количество современных устройств построено на МК именно этой фирмы, что является еще одним аргументом в пользу изучения именно этих контроллеров.

    Поскольку МК - это основа всей нашей принципиальной схемы, то ее формирование необходимо начинать именно с контроллера. Далее к нему подключаются все исполнительный, периферийные, буферные и прочие устройства. Выбор ножек МК для подключения к ним устройств зависит от требуемого функционала, например, если нам необходимо воспользоваться аналогово-цифровым преобразователем (АЦП) то провод с измеряемым (читай преобразуемым в цифровой вид) сигналом необходимо подключать к одной из ножек с обозначением ADC. Если же необходимо просто устанавливать на ножке уровень логической 1 или 0, либо считывать те же уровни, т.е. фактически выполнять задачу "общего назначения" можно воспользоваться любой ножкой любого порта, руководствуясь при этом только взаимным расположением элементов и загруженностью других портов. Не следует так же распыляться между всеми портами, припаивая к каждому из портов по одному контакту, поскольку может случиться так, что в дальнейшем Вы захотите доработать схему и может потребоваться полностью свободный порт. Так же будет очень удобно, если все исполнительные устройства (будь то двигатели или что-то иное) будут подключаться через стандартные разъемы, а будут просто припаяны - ведь может случить так, что одно устройство необходимо будет заменить другим, а переподключить разъем гораздо проще, чем перепаивать контакты.

    В зависимости от версии МК питающее напряжение обычно колеблется в диапазоне 1,5-5 В. Для создания такого напряжения можно воспользоваться стабилизатором напряжения, например, таким как L78L05 (последние две цифры обозначают уровень напряжения на выходе). Такой стабилизатор позволяет преобразовывать напряжения номиналом до 35 В на входе в 5 В на выходе. В документации к L78L05 можно найти схему его подключения - она достаточно проста и требует только наличия двух конденсаторов: 0,33 мкФ на входе стабилизатора и 0,1 мкФ - на выходе. Выход стабилизатора соединяем с ножками МК, соответственно VCC и GND.

    Вся прелесть AVR в том, что к выходам контроллера можно подключать некоторые исполнительные устройства напрямую, что мы и сделаем, подключив между ножкой PC1 (хотя это могла быть абсолютно любая другая ножка любого из трех имеющихся портов, за исключением ножек PD0 и PD1 - к ним мы вернемся чуть позже) и землей привод лопастей вентилятора.

    Далее необходимо подключить сервопривод, обеспечивающий задание направления воздушного потока. Сервомашинки имеют три провода с разъемом контактов на конце: питание (как привило красный провод), земля (черный, либо коричневый) и сигнальный, на который подается сигнал управления (как правило желтый, либо белый). Уровень управляющего сигнала составляет около 5 В, что также позволяет подключить сигнальный провод напрямую к МК (в нашем случае выбор пал на ножку PC3). С целью обеспечения достаточного питающего тока и напряжения для сервопривода подключим его через стабилизатор L7805. Такой стабилизатор имеет аналогичную схему включения как и L78L05, но обладает более высокой допустимой токовой нагрузкой на выходе (до 1,5 А).

    Остается только подключить преобразователь сигналов USB-UART, через который мы в дальнейшем будем посылать команды управления из ПК в МК. Тут-то и следует вспомнить, про выше упомянутые ножки PD0 и PD1 - это UART приемник (RxD) и передатчик (TxD). Тут следует обратить внимание, что линии RxD и TxD одного устройства должны соединяться с линиями TxD и RxD (а не RxD и TxD) другого, т.е. передатчик одного устройства должен быть соединен с приемником другого и наоборот - передатчик другого должен быть соединен с приемником первого.

    Готовая принципиальная электрическая схема показана на рис. 1. Процесс проектирования схемы можно посмотреть на youtube по ссылке.

    Принципиальная электрическая схема управляемого вентилятора на ATmega8
    Рис. 1. Принципиальная электрическая схема управляемого вентилятора на ATmega8


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


    Исходники:
    Схема и чертежи в MS Office Visio 2010
    Управляющая программа для МК в Algorithm Builder
    Управляющая программа для ПК в RAD Studio Delphi 2009

    Видео:
    Видео проектирования принципиальной схемы в MS Office Visio 2010
    Видео написания управляющей программы для МК в Algorithm Builder
    Видео пайки схемы для управляемого вентилятора
    Видео написания управляющей программы для ПК в RAD Studio Delphi 7 (1)
    Видео написания управляющей программы для ПК в RAD Studio Delphi 7 (2)
    Видео сборки и демонстрации работы управляемого вентилятора

    Авторы:
    Крюков А.И., Шубникова И.С., Тройков С.М.
    e-mail: mr.krukov@mail.ru
    кафедра «Автоматика, Информатика и Системы Управления» Московкого Государственного Индустриального Университета (ГОУ МГИУ), http://www.msiu.ru


    Cм. также:
    Часть 2 - Создаем управляющую программу для микроконтроллера (firmware)
    Часть 3 - Монтаж электронной платы с микроконтроллером (hardware)
    Часть 4 - Создаем управляющую программу на компьютере (software)
    Часть 5 - Сборка устройства

    06.07.2011










    Copyright © myrobot.ru, 2005-2013


    OpenHosting