Мощный роботизированный манипулятор в виде руки » Программирование устройств на PIC микроконтроллерах


Логин:
Пароль:
О сайте:

Pic.Rkniga.ru - Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерам Форум Статьи по PIC микроконтроллерам Статьи Справочная информаци по PIC микроконтроллерам Справочник Литература по PIC микроконтроллерам Литература Схемотехника Схемотехника устройств на PIC микроконтроллерах Микроконтроллеры Программаторы Все по программированию PIC микроконтроллеров Программы, Софт Программы Ссылки Написать нам
Опрос

Сколько лет вы занимаетесь программированием PIC микроконтроллеров?


от 0-1 года
1-3 года
3-5 лет
5-10 лет
более 10


Последние материалы
  • Каршеринг в Москве - это Просто, Удобно и Недорого.
  • Кнопка On/OFF на PIC12F629.
  • Часы с синхронизацией от китайского будильника
  • ШИМ регулятор на PIC16F628A.
  • Счетчики прямого и обратного счета на PIC16F628A.
  • Таймер отключения питания для мультиметра и не только.
  • Программирование на C микроконтроллеров PIC24
  • Измеритель напряжения и тока
  • Маршрутный компьютер для электровелосипеда
  • Простой двухканальный термометр на PIC16F690 и датчиках DS18B20
  • Популярные материалы
    Случайная книга
    Программирование устройств на PIC микроконтроллерах » Схемотехника » Прочее » Мощный роботизированный манипулятор в виде руки
    Мощный роботизированный манипулятор в виде руки
    Автор публикации: alex Просмотров: 4795 Добавлен: 10-04-2013, 10:34 Комментарии: 0



    Цель и обзор этого проекта
         Целью этого проекта является создание автоматического электронного манипулятора, который, подобно человеческой руке, способен двигаться практически во всех направлениях. На манипуляторе должны быть захваты, способные хватать обычные предметы, вроде куска бумаги, ручки, карандаша.
         Очень желательно, чтобы внешний вид был простым, с как можно меньшим количеством подвижных частей, т.к. манипулятор будет управляться всего одним PIC 18F452. Это потенциально ограничивает возможность управления плавными движениями руки.
         Автоматический электронный манипулятор «Деревянная Угроза» должен быть по возможности изготовлен из дешевых бытовых предметов (за исключением сервоприводов). Цель – доказать, что и в таком исполнении манипулятор может (и будет!) работать.

    Деревянная рука
    Список элементов
    • Электронные элементы:
      • LM7805 Стабилизатор напряжения 5В.
      • PIC 18F452 Микроконтроллер.
      • Соединитель RJ45 (гнездовая часть)
      • (5) сервоприводов Hi-Tec 311 standard
      • Осциллограф с граничной частотой в 20 MHz
      • Однополюсный переключатель на 2 направления
      • Конденсатор 1µF
      • Панелька на 30 выводов
      • Макетная плата с 540 отверстиями
      • Припой
      • Провод размера 24
      • Провод размера 30
    • Другие детали
      • Куски дерева
      • 8 маленьких гвоздей
      • Эпоксидка, схватывающаяся за 5 минут
      • Дверные петли
      • Кусок пластика
    • Инструменты
      • Обжим для проводов
      • Паяльник
      • Стационарный компьютер
      • Программа MPLAB IDE (установленная на компьютере)
      • Программатор PIC’ов
      • Дрель
      • Молоток
      • Ножовка
      • Наждачная бумага
    Схема
    Схема аппаратной части «Деревянной Угрозы» (автоматического электронного манипулятора) очень проста. От PIC контроллера идут линии связи к каждому из сервоприводов, и к разъему RJ45. На этот разъем поступают сигналы от джойстика.

    Принципиальная схема

    Особенности схемотехники
    • Силовая цепь
      • Силовая цепь представляет собою подключенный на вход стабилизатора LM7805 аккумулятор на 9V. На выходе стабилизатора, для сглаживания пульсаций, между выходом микросхемы и массой подключен конденсатор на 1uF.
    • Подключение сервоприводов
      • Из каждого сервопривода выходит по 3 провода. Силовой, общий и управляющий провод от генератора импульсов. Силовые и общие провода подключаются напрямую к источнику 6v. Каждый из проводов генераторов подключается к отдельному выводу PIC контроллера (в соответствии со схемой).
    • Соединитель RJ45
      • Я использовал аналоговый джойстик от приставки PlaySation 1 для дистанционного управления манипулятором. Гнездовая часть разъема RJ45, в которую вставляется штекер, установленный на джойстике, смонтирована на манипуляторе.
    • Вывод 1 PIC - MCLR*/Vpp
      • К этому выводу с высоким уровнем (логическая 1; +5 V) подключается кнопка. Этот вывод является выводом сброса. При поступлении на него сигнала низкого уровня (логический 0, +0 V) контроллер перезапустится – сброс памяти. Я не включил в устройство кнопку сброса, и поэтому устройство будет работать до тех пор, пока на него подается напряжение питания.
    Теория работы
    Работа сервоприводов
         На рисунке изображены простые импульсы с ШИМ модуляцией: импульс с модуляцией сигнала. Сервоприводы работают не по этому принципу.
    Простые импульсы с ШИМ модуляцией

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

    T = 20 mS
    t = 0.9S -> 2.1S

         Если в график подставить это значения t и T, то мы получим стандартные аналоговые сервосигналы. Следует заметить, что значение t может изменяться, в то время как значение T всегда неизменно. Значение T, равное 20 мс определяет период колебания сигнала, из которого ясно, что рабочая частота составляет 50Гц.

    1 / 0.020 секунды = 50Hz.

         Другая часть сигнала, с которой мы хотим разобраться, это t. Это «верхняя» часть сигнала, обозначающая наличие положительного потенциала +5v. Оставшаяся часть сигнала длительностью в 20 мс, 0v, это должно быть выходной сигнал. Изменение от 0.9 мс до 2.1 мс – это то, что управляет и направляет движение сервопривода. Большинство сервоприводов могут поворачиваться на 90° или 180°. Те, которые использовал я, могут вращаться на 180°.
         Итак, проще говоря, мы можем приказать сервоприводу вращаться на определенный угол с высокой точностью. Некоторые значения для приводов с вращением в 180° (входной сигнал: t, T и выходной: угол движения) приведены в таблице.

    t = 0.9mS
    T = 20mS
    Угол = 0°

    t = 1.5mS
    T = 20mS
    Угол = 90°

    t = 2.1mS
    T = 20mS
    Угол = 180°


    Составляющие элементы
         Составляющие элементы, формирующие основу автоматического электронного манипулятора в виде руки, вырезаны из дерева. Во внутрь встраивается макетная плата с PIC контроллером, управляющим сервоприводами. Итак, посмотрим на «Деревянную угрозу» попристальней.

    Захваты
    Захваты

         Захваты (выпиленные ножовкой из куска дерева, и скрепленные между собой маленькими болтами с гайками) крепятся на основании с помощью болтов. Данный способ, несмотря на свою простоту, чрезвычайно прочен. Примененные мной сервоприводы марки Hi-Tec 311 Standard обладают достаточной мощностью для ухвата большого количества предметов.

    Первая площадка для крепления сервоприводов
    другой привод будет располагаться сверху

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

    Вторая площадка для крепления сервоприводов
    Вторая площадка для крепления сервоприводов

         Последнее сочленение манипулятора так же имеет форму буквы L, и сервопривод, расположенный здесь, так же надежно закреплен на округлом основании. На фотографии его не видно, но это округлое основание прикреплено к сервоприводу, который вращает платформу и манипулятор.

    Подставка
    Подставка под манипулятор

         Подставка под манипулятор – это всего лишь деревянный ящик, в котором размещена электроника, управляющая манипулятором. Справа видно гнездо разъема RJ45, а слева – макетная плата с расположенными на ней элементами. Если бы я не использовал прибор для обжима проводов, то они представляли бы из себя спутанное месиво. Так как в цепях не проходят большие токи, стоит использовать этот прибор.

    Программное обеспечение
    В архиве находится исходний к языке программирования СИ.

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

    Опрос входов контроллера
         В устройстве используется контроллер с вмонтированными в него двумя чипами HEF4021BT, которые принимают сигналы о нажатии кнопок. Алгоритм работы, используемый в коде, называется «процедура сброса бита». Ее принцип – симулирование тактов генератора посредством выходных сигналов другого цифрового устройства. Гораздо больше для этой цели подошел бы стандартный джойстик от SP1. Я пока не буду подробно останавливаться на этом.
    /*Begin Controller Data Polling*/
    PORTDbits.RD1 = 1; //Clock Up
    PORTDbits.RD3 = 1; //Take Input
    PORTDbits.RD1 = 0; //Clock Down
    PORTDbits.RD3 = 0;
    /*******************************/
    //Algorithm for capturing input
    for(i=0;i<16;i++)
    {
    PORTDbits.RD1 = 1;
    //Clock Up
    PORTDbits.RD1 = 0;
    //Cloc Down
    c_val += PORTDbits.RD2;
    //Add Input to our integer
    if(i!=15)
    c_val = c_val << 1;
    }
    /**End Controller Data Polling**/

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

    Обработка прерываний
    Слишком сложно досконально объяснить принцип работы контроллера прерываний.
         Контроллер прерываний установлен на высокий приоритет адреса 0x08. Теперь определим ассемблированный оператор «goto» для обозначения функции обработки прерываний, в данном случае «InterruptHandlerHigh». Как только будет настроен правильный контроль прерываний, все они будут отсылаться на обработку, где, в зависимости от типа прерываний, с ними можно сделать все необходимое.

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

    Данные и результаты

    Пристальное рассмотрение
         Теперь, когда «Деревянная Угроза» полностью собрана и запрограммирована, пришло время убедится, сколь хорошо эта штука работает (и работает ли вообще). Первый видеосюжет – это начальный тест работоспособности программного обеспечения и самого устройства, поэтому вся электронная начинка выставлена на всеобщее обозрение. Для начала проверим способность устройства хватать предметы.
         Во втором видеосюжете «Деревянная Угроза» предстанет перед нами во всей своей красе, в полностью собранном виде. Мы проверим все движения, которые может совершать манипулятор.

    Заключение
         Устройство работает, и, надо добавить, обладает довольно большой мощностью. Большей, чем может показаться при просмотре демонстрационного видеосюжета. При взгляде на использованные компоненты манипулятор выглядит впечатляюще. Однако, много чего еще можно улучшить. Вот несколько примеров того, чем же хорошо устройство, и что можно улучшить.
    За
    • Автономное или дистанционное управление
    • При использовании источника питания в 9 В силу манипулятора можно увеличить
    • Стоимость конструкции менее $60
    Против
    • Слишком быстрые движения
    • Реализация из дерева не способствует механической прочности
    • Захваты и сервоприводы работают на пределе возможностей

    Улучшение движений
         Быстрые движения манипулятора происходят из-за инкрементора в программном коде и недостатка контрольных возможностей используемого ПО. Детальная проработка программного обеспечения может убрать эту проблему. Именно этот недостаток, а не то, что манипулятор выполнен из дерева, так сильно влияет на работу сервоприводов.

    Захваты и мощность сервоприводов
         Все любительские сервоприводы теряют мощность при определенном значении крутящего момента. Приводы Hi-Tec 311 Standard, используемые мною, обладают очень малым коэффициентом крутящего момента. Есть в продаже приводы, обладающие коэффициентом, на 100-400% превосходящим этот, но и стоят они намного дороже.

    Дальнейшие исследования
         В дальнейших проектах по конструированию манипуляторов я надеюсь применять обработанные сбалансированные стальные детали. Это, конечно, будут уже не совсем самодельные устройства – вид у них будет уже совсем другой; это буду уже намного лучшие манипуляторы.

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

    Автор: Chris
    В архиве исходный код для микроконтроллера на языке СИ

    mosnrobotmanipruka.rar [3,13 Kb] (cкачиваний: 159)

    Категория: Прочее, PIC18
    « Назад
    Комментарии