Category Archives: Робототехника

Тест колесных шасси

Постучался мне тут в почту недавно представитель магазина simplab.ru и молвит, мол не желаешь ли что-нибудь бесплатно на обзор взять. Ну я не будь дураком и взял что подороже :) Ардуинские примочки мне мало интересны, я при желании их сам спаяю, а вот всякая механика вещь интересная.

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

Ну две так две. Тем более что различаются они минимально, только формой пластин и числом двигателей. Зато будет с чем сравнить.
(далее…)

Read More »

Мотор редуктор ZGRM12FT20-298 или мечта детства


 

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

Read More »

Электронный компас на LSM303DLH


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

Микросхема LSM303DLH
Особо любопытно выглядит пузико — натуральная печатная плата. С дорожками и переходными дырками. Сразу расхотелось делать под ней дорожки. А то какая-нибудь заусеница на дорожке проковыряет лак на пузе и коротнет не туда.
 


 

Что еще не понравилось — контактные площадки не видно с торцов. Позиционировать и проверять точность запайки сложно. В этом плане QFN корпуса удобней.

 

Размером корпус 5х5 мм. Как тетрадная клеточка. Ужас :)
(далее…)

Read More »

Управление множеством сервомашинок

При построении разных роботов порой приходится использовать несколько сервоприводов. А если это какой-нибудь шестиногий паук, то приводов там этих просто тьма. Как ими управлять? На форуме кое кто даже сокрушался, что ему бы для этих целей плисину применить. Хотя на кой черт там ПЛИСка, когда с рулением даже трех десятков сервоприводов справится самый рядовой микроконтроллер, затребовав под это дело всего один таймер.

Итак, кто не помнит как управляются сервы может прогуляться в старую статью и освежить знания.

Возьмем, для начала, 8 сервомашинок. На каждую серву идет вот такой сигнал:

На каждую серву со своей ноги контроллера должна идти такая вот последовательность. Итого подобие ШИМ’a на 8 каналов. Как сгенерировать эту бодягу? Да проще простого. Принцип тут простой. Импульсы медленные — всего то 50Гц, меняются тоже нечасто — серва штука инерционная, поэтому даже сто раз в секунду ей не подергаешь. Так что времени на обработку у нас вагон и маленькая тележка.

Сами импульсы будут генерироваться одним таймером, в фоновом режиме. Принцип генерации прост: Все импульсы стартуют одновременно, выставляя свои уровни в 1.
Затем в таймер, в регистр сравнения, заносится время длительности первого импульса. По прерыванию сравнения происходит:

  • Сброс бита на порту первого канала
  • Загрузка в регистр сравнения таймера значения длительности второго импульса

(далее…)

Read More »

Кибергусеница

Дабы отдать дань уважения сайту решил написать данную статью о своем роботе-самоделке. Это была моя магистерская и инженерная работа и теперь хочется поделиться ею со всем просвященным миром)

Итак, несколько слов об устройстве. Ниже приведена 3d моделька девайсины.

В основе робота сервомашинки Futaba S3003 — самые простые и дешевые, что удалось раздобыть на нашей кафедре (кафедра ТМ и М ЮЗГУ(КурскГТУ)). О том, что такое сервомашинка и как она работает у Вас есть отдельная статья на данном сайте, поэтому останавливаться на этом я не буду.
(далее…)

Read More »

Робоконструктор Velleman Robotic Arm KSR10

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

Это очередной робоконструктор — механическая рука с пятью степенями свободы. Velleman Robotic Arm KSR10
Штука довольно редко встречающася, т.к. на Ebay я нашел всего одного продавца и в exUSSR эта редиска слать не желает. Встречается в нескольких буржуйских магазинах и вроде бы была в ЧиД, но оттуда была выкуплена нами :) Цена вопроса от 60…100 баксов.

Сам агрегат это очередная продвинутая игрушка, но для баловства и отработки алгоритмов нам больше и не требуется. (далее…)

Read More »

Контроллер маломощного униполярного шагового двигателя

Предыстория
Понадобилось мне прошлой осенью восстановить измерительный стенд. Одна из главных частей стенда — система протяжки лески с закрепленной на ней трубочке сквозь СВЧ-резонатор (это такая медная банка весом 20-30 кг). Причем протяжка должна осуществляться периодически с фиксацией положения (на 1мм подвинул, остановился, подождал секунду, ещё на 1мм подвинул, и так далее). Естественно сразу возникла мысль о шаговом двигателе (ШД). Но как им управлять? Разобрался. Начал искать схемные решения — биполярными двигателями сложно управлять, поэтому выбор пал на униполярный. Был приобретён кЫтайский моторчик под названием
MOTS1 (ST28), который в России продаётся Velleman`ом

Купленный моторчик оказался без какой-либо документации. В интернете — тоже почти ничего. Позже экспериментально нашёл необходимую последовательность управляющих сигналов.
(далее…)

Read More »

Пример виртуальной машины

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

Простой пример для чего это нужно — фрезерный станок с ЧПУ. И надо на нем выточить голову Сократа из цельного куска металла. Задача, на самом деле, не шибко сложная.

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

Другое дело если разбить программу на элементарные операции, вроде «Резец вверх», «резец вниз», «шаг на n мм», а прошивке скормить последовательность этих микроопераций в виде байт-кода или текстового скрипта. Как все серьезно упрощается. Да и попутно можно нашинковать Платона с Гераклом, было бы желание, да образец для копирования.

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

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

Ну, хватит воды, приведу пример того, что у меня получилось за вечерок курения в код. Код рабочий, но я там ничего не оптимизировал. Так, накидал чтоб работало, до ума доведете сами. Сделано все на базе ядра диспетчера. Я его уже описывал, поэтому работу его функций пояснять не буду
(далее…)

Read More »

Виртуальная машина и байт код

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

Тут на помощь придет виртуальная машина. Суть в чем — в памяти контроллера, в основную программу, занесены основные процедуры управления устройством. Если это робот, то это могут быть такие простые команды как «вперед», «назад», «повернуть» и так далее.

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

Потом нам нужен обработчик скриптов, который бы брал откуда нибудь, нашу последовательность действий — скрипт и преобразовывал это в вызовы реальных кусков кода -микрооперации.
Обработчик скриптов может быть той же самой задачей диспетчера, запущенной фоном. А откуда он будет брать данные неважно. Их вполне можно засасывать по usart или тащить из EEPROM памяти. А можно загнать на IIC память и получится сменный картридж :)
(далее…)

Read More »

Мотор-редукторы IE-BO2-120M и IE-BO2-48M

Фирма Inex Global кроме робоконструкторов барыжит еще и прикольными мотор-редукторами. Теми самыми, что стоят в Robopica и Microcamp. В Челябинск их периодически таскает Элемент. Я прикупил парочку на пробу, есть у меня одна задумка на их счет, но об этом несколько позже ;)

Пока же расскажу о самом движке. Бывают они двух моделей IE-BO2-120M и IE-BO2-48M, отличаются друг от друга передаточным отношением редуктора 1:120 и 1:48.

Больше ничем, отличить 120 от 48 визуально можно только по цвету кожуха. У 120 кожух черного цвета, у 48го белый. У меня сейчас в наличии только два 48ых.
(далее…)

Read More »

Робоконструктор MicroCamp

В Элементе появилась очередная игрушка, так что я не устоял и подорвался туда с фотиком.
Итак, это робоконструктор, подобный RoboPICA, но на этот раз на ATmega8 и колесном шасси. Этакая вертлявая каракатица на двух колесах и двух шариках, поворачивает по тракторному — реверсом колес. Проходимость у ней, конечно, не танковая, но зато по маневрености она гусеничному шасси огромную фору даст. (далее…)

Read More »

Вот жеж нифига себе! Пора готовиться к войне?

Интересно какой момент развивают привода? Видно что там конические шестерни и скорей всего малоинерционные роторы. А также любопытно сколько это все жрет тока.

З.Ы.
В свободное время потихоньку крою план для лазерной нарезки частей манипулятора о 6 степенях свободы. Будет у моей платформы клешня =)

Read More »

Русская инструкция на робоконструктор RoboPica

Помните я обещал русский мануал к RoboPica? Так вот, я не успел и конструктор смели с прилавков быстрей чем я договорился выцыганить книжку на сканирование. Однако Bschepan, один из довольных обладателей этой игрушки, сделал доброе дело и выложил скан упиханый в DejaVu.

Русская инструкция на робоконструктор RoboPica

Рекомендую всем кто начинает раскуривать контроллеры PIC. Там все довольно подробно расписано на примере компилятора MicroC от Микроэлектроники.

Read More »

Сервомашинка HS-311

PLC похачил, защита там оказалась даже не детской — идиотской, пароль шел от PLC в комп открытым текстом и сверялся с введеным уже в софте. Так что RS232 сниффер это наше все :) Рубанул капусты и решил ее куда нибудь потратить. На глаза попалась сервомашинка HS-311. Вот и прикупил ее показать что это за зверь.
 

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

В основном все управление тут стандартизировано (если есть тут RCшники, то может добавите свои пять копеек?) и сервомашинки, по большей части, различаются усилием на валу, быстродействием, точностью управления, габаритами, весом и материалом изготовления шестеренок. Цена колеблется от 200-300 рублей за самую дешевую и до бесконечности за ультрамегатехнологичные девайсы. Как и в любой фанатской области, верхняя планка цен тут не ограничена и наверняка под потолком в ход идут какие нибудь шестерни из перфорированного титана и карбоновые корпуса с обратной связью через миллионимпульсный оптический энкодер =) В общем, всегда можно чем нибудь померяться.
 

Я же не стал выпендриваться и взял пока самую дешевую, самую распространенную HS-311. Тем более у меня уже есть планы по ее переделке.
 
Характеристики HS-311

  • Момент на валу: 3кг*см
  • Размеры: 41x20x37 мм
  • Вес: 44.5 гр
  • Скорость поворота вала на 60 градусов: 0.19 сек
  • Управление импульсное
  • Цена: 350-450р

(далее…)

Read More »

Робоконструктор Robo-PICA

В Челябинском Элементе появилась прикольная вещь — робоконструктор Robo-PICA. Пользуясь моментом, пришел туда с фотиком и зафоткал все содержимое коробки, а потом выложил на всеобщее обозрение.

кликабельно — больший размер

Дальше будут в основном фотки с моим кратким описанием.
(далее…)

Read More »

Робот на контроллере PIC от SWG. Часть 3

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

О ходе работ можно почитать в записях ать и два и, главное комментариях к ним

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

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

Под бамперами будет крепиться пластина толщиной миллиметров 10 из довольноплотного поролона или даже микропористой резины, пока еще не решил, пробую разные материалы. Надо чтобы был мягкий, но не очень. Будет выступать запределы плат миллиметров на 10-15, защищая светодиоды подсветки и сами платы. Пока просто положил платы бамперов в коробку, чтобы показать общуюкомпоновку.

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

На платах бамперов синие колодочки снизу — датчики пола с фоторезисторами ибелыми светодиодами подсветки. (Сделал из клеммников, слегка рассверлив их местами). Прозрачные светодиоды сверху — подсветка ИК локатора на TSOP(стоят посредине, вверх ногами).Черные кубики на внутренних углах — оптопары на отражение датчиков столкновения. Над ними к боковым стенкам будуткрепиться угольники — шторки с белой областью на черном фоне или отверстием определенной формы.

Когда уже платы были готовы, подумал, что можно было припаять оптопары не сверху, а снизу платы, и нарисовать нужные фигуры прямо на дне коробки. Вообще — то это и сейчас еще не поздно сделать, пока еще не решил. Тем более, что в библиотеку я по запарке тоже занес их зеркально, и при запайке пришлось загнуть ноги под ними для правильной распайки, а снизу они встанут правильно. В общем, накопилась куча мелочей, на обдумывание которых бесполезно уходит время. («Тирания альтернатив»). С пересылкой состояния датчиков тоже вроде все просто, но когда начинаешь добавлять кучу всяких защит от всего, и проверок правильности функционирования, все обрастает, как снежный ком, постоянно приходится все проверять на возможные и невозможные ситуации, чтобы все нормально отрабатывало. Слишком велика будет цена падения, например, в открытый люк, а постоянно закрывать все дырки и двери — тоже не выход… Но и сильно перестраховавшись, можно вообще никогда не стронуться с места.

(далее…)

Read More »

Ультразвуковой дальномер

Подключенный сонар
Подключенный сонар

Вот прикупил я для своего робота ультразвуковой дальномер — Maxbotix LV-MaxSonar EZ1. На днях ко мне пришла посылка из Терраэлектроники, где сей замечательный девайс был куплен. Сам сонар стоит под 750 рублей, доставка обошлась в 800 :) Но я заказывал кучу всего вкусного, так что оно того стоило. Несмотря на нехватку времени, не побаловаться этой игрушкой я не мог. Итак, встречайте краткий тест системы.

Описание:
Девайс представляет из себя головку излучателя с платой контроллера на заднице. Контроллер собран на базе PIC16F676 и микросхемы LM324. Схема сонара указана в даташите, а прошивку в итоге можно и самому написать, так что рано или поздно я повторю его на AVR :) Тем более где то я эту схему уже видел… Впрочем, схема тут не важна, УЗ сонаров как грязи разработано умельцами, самое главное тут это излучатель, вот его найти задачка та еще. Я применил MaxBotix’овский пьезоизлучатель. И если цена готового модуля почти 800рублей, то сама пищалка стоит всего 150 рублей.

(далее…)

Read More »

Робот на контроллере PIC от SWG. Часть 2

Предварительная версия схемы
Предварительная версия схемы
Тем временем, SWG продолжает совершенствовать своего робота. Структурно его конструкции похожа на моего робота — тоже раздельные специализированные контроллеры. Недавно он прислал мне схему контроллера датчиков/ИК буфферов. Короче глаза и прочие сенсоры. А также наброски кода для управления всем этим добром. Респект!

Хы, надо сказать я несколько отстаю в разработке :) Он уже за датчики взялся, а у меня пока только ходовая отлаживается… ничо ничо, вот щас с заказами разберусь и закажу себе УЗ сонары :)))) А там еще посмотрим кто первый в космос полетит :)

SWG:
Оперативную связь с ходовым контроллером планирую с использованием в обоих контроллерах линий портов B0, B1, с задействованием внешнего прерывания по B0. Кроме того, у контроллера буферов будет также выход на межмодульную шину I2C, для связи с центральным процессором, а иногда и с ходовым контроллером, (для несрочных операций, типа уточнения местоположения препятствия, диагностики исправности датчиков и т.д.) На всякий случай вывожу на разьем также неиспользуемые линии портов, в т.ч. и USART (на всякий случай, в первую очередь для отладки). В качестве датчиков столкновений пока нарисовал микрики, но ставить скорее всего буду все же оптопары, что лучше будет отрабатывать толчки с разных направлений, но потребует дополнительных резисторов для CD подсветки, и желательно управление ей. Свободные линии портов для этого еще есть. На всякий случай (для отладки, а также наглядности работы буфера, и облегчения настройки локаторов, на A4 хочу поставить сигнальный светодиод. (при подачи тока на него он светится разными цветами, переключая их по очереди).

Бонусом в архиве идет доработанная программа ходового контроллера:

  • Исходник на Pascal
  • Cкомпилированные им ассемблерный листинг и HEX — код, а также
  • Дизассемблерный из HEX-кода листинг. Получен программой из комплекта IC-Prog, которой я прошиваю PIC16F876).

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

Read More »