Как сделать микросхему для робота

Добавил пользователь Алексей Ф.
Обновлено: 04.10.2024

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

И если раньше для создания робота требовались большие деньги, много времени и сил, то теперь их сборка представляет собой конструктор. Ты устанавливаешь детали на платформу, заливаешь код на плату (готовый или самописный — зависит от твоих навыков в программировании и того, что ты ждёшь от робота), и вот, готовый терминатор, который будет служить тебе верой и правдой.

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

Базой любого робота является его подвижная часть. База может быть колёсной или гусеничной, но мы рекомендуем именно гусеничную. Такая база имеет лучшую проходимость, нежели колёсная, может поворачиваться на месте, а также более устойчива на неровной поверхности. Некоторые при сборке робота на гусеничной базе покупают игрушечный танк, разбирают и оставляют только базу, на которую крепят плату и другие детали. Это вариант неплохой, но затратный. Проще и дешевле купить гусеничную базу. Пример такой базы — пластина для Rover. Ссылка на неё ниже. Плюс этой базы в том, что на ней закреплено пластиковое основание, которое позволяет легко закрепить плату микроконтроллера Arduino, драйвер двигателей, элементы питания и датчики. Это делает возможным быстро собрать робота без необходимости разметки и сверления.

Платы

Дополнительные датчики

Чтобы твой робот не бился об стены и другие преграды, его нужно оснастить датчиками препятствия. Существуют датчики столкновений, датчики линий, инфракрасные датчики, ультразвуковые дальномеры и другие датчики. Также, чтобы сделать робота умным, можно оснастить его датчиками движения и освещения, которые позволят ему ориентироваться на местности, объезжая не только статичные, но и динамичные объекты. Рекомендуем устанавливать минимум два датчика препятствий на передней части робота. Желательно установить ещё два датчика и в задней части. Помни: чем больше датчиков, тем лучше.

Питание

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

Далее от блока питания ток поступает на платы и батареи. Для того чтобы робот был автономным, необходимо установить блок для батареек. Блоки бывают как компактными, для небольших круглых батареек, так и массивными, в которые устанавливается 10 батареек АА . Помни, что чем больше блок для батареек, тем больше вес робота. Если ты собираешь компактного робота, то лучше выбрать блок на 2 батарейки.

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

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

Второй робот - улучшенная версия первого.

Робот - просто и быстро!

Робот - просто и быстро!

Список покупок. Итак, нам понадобятся:

  • Набор для начинающего PICAXE-28X1. Включает в себя отладочную плату, а также все, что может понадобиться для программирования микроконтроллеров. Приобрести надо USB версию программатора, на фотографии изображен похожий, но НЕ соответствующий нашему проекту набор!

Набор для начинающего PICAXE-28X1

Драйвер двигателей (ИС) L293D

  • PICAXE Servo Upgrade Pack. Использовать серводвигатель PICAXE не обязательно, вы можете воспользоваться любым доступным вам серводвигателем, и резистором сопротивлением в 330 Ом вместо желтой микросхемы (см. фото).Значения 3-х проводов: 2 - питание серводвигателя, оставшийся третий - сигнал.

PICAXE Servo Upgrade Pack Использовать серводвигатель PICAXE не обязательно

  • Sharp GP2D120 IR Sensor - 11.5" / Аналоговый (!) Внимание! Не покупайте цифровую версию!

Sharp GP2D120 IR Sensor - 11.5

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

  • Два моторчика с колесами Чем больше передаточное число - тем сильнее, а значит медленнее, будет ваш робот. Меньшее передаточное число увеличивает скорость, однако уменьшает силу. Я бы рекомендовал что-нибудь между 120:1 и 210:1 для нашего проекта.

Два моторчика с колесами Чем больше передаточное число - тем сильнее, а значит медленнее, будет ваш робот

Неплохо было бы к этому списку добавить следующие элементы:

  • Несколько светодиодов, что бы усовершенствовать робота;
  • Крошечный динамик, что бы создать интересные звуковые эффекты.






Устанавливаем микросхемы на отладочную плату (см. фотографии). В случае, если вместо рекомендуемого серводвигателя, вы использовали собственный - вместо желтой микросхемы устанавливаем резистор сопротивлением 330 Ом (опять-таки см. фотографию).



Пояснения : черная микросхема (20 выводов ) - это наш микроконтроллер, микросхема черная поменьше - драйвер двигателей L293D.



Теперь подключаем двигатели (моторчики) к отверстиям 4 "A & B" (пока, порядок не важен). Как их подключить - дело вкуса. Вы можете либо припаять их, либо сделать соединения.



Припаяем провода к моторчикам. Провода А - к первому, провода В - к второму.


Для подключения серводвигателя припаиваем дополнительный вывод (см. фотографии). Подключаем.





Сервомотор должен немного покрутиться и остановится. Что бы вернуться пишем: servo 0, 150 Теперь можно устанавливать ИК сенсор. Финишная прямая.

Для создания робота нужно сделать правильный выбор микроконтроллера. Сначала нужно разобраться с понятием, что такое микроконтроллер и что он делает?

Микроконтроллер — это вычислительное устройство, способное выполнять программы (то есть последовательность инструкций).

Он часто упоминается как “мозг” или “центр управления” робота. Как правило, микроконтроллер отвечает за все вычисления, принятие решений и коммуникации.

Для того, чтобы взаимодействовать с внешним миром, микроконтроллер имеет ряд штырей или выводов для электрического распознавания сигнала. Так сигнал может быть включен на максимум (1/С) или минимум (0/выкл) с помощью инструкции программирования. Эти выводы также могут быть использованы для считывания электрических сигналов. Они поступают с датчиков или других приборов и определяют, являются сигналы высокими или низкими.

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

микроконтроллер для робота

Большинство современных микроконтроллеров может также измерять напряжение аналоговых сигналов. Это сигналы, которые могут иметь полный диапазон значений вместо двух четко определенных уровней. Происходит это с помощью аналогового цифрового преобразователя (АЦП). В результате микроконтроллер может присвоить сигналу числовое значение в виде аналогового напряжения.Это напряжение не является ни высоким, ни низким и, как правило, находится в диапазоне 0 — 10 вольт.

Что может делать микроконтроллер?

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

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

микроконтроллер и светодиоды

микроконтроллер со светодиодами

Аналогичным образом, микроконтроллеры могут быть использованы для контроля других электрических устройств. В первую очередь таких как приводы (при подключении к контроллеру двигателя), устройства хранения (например, карты SD), WiFi или bluetooth-интерфейсы и т. д. Как следствие этой невероятной универсальностью, микроконтроллеры можно найти в повседневной жизни.

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

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

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

Какие существуют более специализированные функции микроконтроллера?

Специальное оборудование, встроенное в микроконтроллеры позволяет этим устройствам сделать больше, чем обычный цифровой ввод/вывод, базовые расчеты и принятие решений. Многие микроконтроллеры с готовностью поддерживает наиболее популярные протоколы связи, такие как UART (RS232 или другой), SPI и I2C. Эта функция невероятно полезна при общении с другими устройствами, такими как компьютеры, датчики, или другие микроконтроллеры.

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

rs232

rs232

Аналого-цифровые преобразователи (АЦП), используются для преобразования аналоговых сигналов напряжения в цифровые. Там количество пропорционально величине напряжения, и это число может затем использоваться в программе микроконтроллера. Для того, чтобы выходное промежуточное количество энергии отличается от высокого и низкого, некоторые микроконтроллеры имеют возможность использовать широтно-импульсную модуляцию (ШИМ). Например, этот способ позволяет плавно изменять яркость свечения светодиода.

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

Аналоговые или цифровые?

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

Двоичное состояние переключателя 0 или 1. Высокий уровень сигнала может быть 5 вольт, а низкий 0. Если же вам нужно измерить, например, температуру, то нужен аналоговый входной сигнал. Далее АЦП на микроконтроллере интерпретирует напряжение и преобразует его в числовое значение.

Как программировать микроконтроллеры?

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

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

среда программирования Lego EV3

среда программирования Lego Education EV3

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

Почему не использовать стандартный компьютер?

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

системный блок компьютера

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

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

Как выбрать микроконтроллер правильно?

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

  • Ардуино
  • BasicATOM
  • BasicX
  • Lego EV3
  • и многие другие

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

Какой микроконтроллер самый популярный для моего приложения?

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

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

Есть какие-то особенные требования у вашего робота?

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

Возможно другим контроллерам требуется специфическое оборудование (например, АЦП, ШИМ, и коммуникационный протокол поддержки). Также требования к памяти и скорости, а также число выводов должны быть приняты во внимание.

Какие компоненты доступны для конкретного микроконтроллера?

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

Большинство датчиков и компонентов может взаимодействовать напрямую со многими микроконтроллерами. Хотя некоторые комплектующие предназначены для взаимодействия с конкретным микроконтроллером. Возможно они будут уникальными и несовместимыми другими типами микроконтроллеров.

Что нас ждет в будущем?

Цена на компьютеры резко идет вниз, и достижения в области технологии делают их меньше и эффективнее. В результате одноплатные компьютеры стали привлекательным вариантом для роботов. Они могут работать с полноценной операционной системой (Windows и Linux являются наиболее распространенными).

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

Основные критерии выбора

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

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

Этим критериям соответствует модуль EV3 из набора Lego Mindstorms EV3.

SERVODROID - Центр робототехники для начинающих -->Открытый образовательный проект по робототехнике своими руками -->

МЕХАНИЧЕСКИЙ ТАРАКАН – это конструкция, которая весьма популярна среди любителей мастерить своими руками. Такие механические тараканы - прекрасный способ вызвать интерес к творчеству среди подрастающего поколения.

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

СИНУСОИД ОДНОМОТОРНЫЙ


Робот ALTO, которого можно собрать самому

Робот с искусственным интеллектом своими руками

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

Схема для создания корпуса робота из бумаги и исходный код программы для его работы можно найти на сайте Experiments with Google (кнопка Get the code). Но это еще не все, потому что для создания робота нужна электроника, которую нужно купить:

  • Coral USB Accelerator — это устройство, которое включает в себя процессор Edge TPU. Он нужен для того, чтобы робот обладал способностью к машинному обучению. Его можно купить на Aliexpress;
  • Raspberry Pi 4 — небольшой компьютер размером с банковскую карту. К нему можно будет подключить камеру, динамики и прочее оборудование, нужное для робота. Он тоже есть на Aliexpress.


Coral USB Accelerator и Raspberry Pi 4

Знаете ли вы, что роботов можно создавать даже изо льда? Посмотреть на такого робота можно по этой ссылке.

Программирование робота

Для обучения робота нужно будет использовать платформу TensorFlow, которая включает в себя инструменты для тренировки нейронных сетей (можно сказать, для создания искусственного интеллекта). Звучит сложно, да и цена устройства Coral USB Accelerator и компьютера Raspberry Pi 4 может озадачить. Но ведь речь идет о достаточно серьезном устройстве, в ходе создания которого человек получает навыки, которые могут пригодиться ему в высокотехнологичном будущем. Знание английского тоже обязательно, потому что инструкция по сборке робота ALTO и его настройке выложены на GitHub и не переведены на русский.


Робот ALTO может распознавать предметы и многое другое — главное, научить его этому

Представители Google считают, что робота можно научить выполнению самых разных задач. Самая простая из них — распознавание предметов. Если перед камерой робота поставить яблоко, он может поднять левую руку. А если поставить банан — правую. Это только самые банальные примеры, а на деле, полученные в ходе сборки робота знания, должны помочь в создании более навороченных устройств. Глядишь, кто-нибудь сможет даже разработать собственный робот-пылесос или создать охранную систему с распознаванием лиц.

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

Читайте также: