Перейти к основному содержимому

Микроконтроллеры и компьютеры

Микроконтроллеры и компьютеры выполняют разные роли в робототехнике

Коротко

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

Зачем это нужно

В робототехнике легко запутаться в платах. Arduino, ESP32, Raspberry Pi, ноутбук, промышленный компьютер - все они "что-то считают" и выполняют программы. Но задачи у них разные.

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

Главная идея

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

микроконтроллер -> быстро управляет устройствами
компьютер -> обрабатывает данные и помогает человеку работать с системой

Роли микроконтроллера, одноплатного компьютера и персонального компьютера

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

Что такое одноплатный компьютер

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

Микроконтроллер

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

Примеры задач:

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

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

Компьютер

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

В робототехнике компьютер пригодится, когда нужно:

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

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

Сравнение устройств

УстройствоСильная сторонаГде использовать
Arduino-подобная платапростое управление выводамиучебный робот, датчики, моторы через драйвер
ESP32микроконтроллер с беспроводными возможностямироботы с Wi-Fi/Bluetooth, датчики, управление
Raspberry Piмаленький компьютер с операционной системойкамера, сеть, файлы, интерфейс, Python-проекты
Ноутбук или ПКудобная разработка и большая мощностьпрограммирование, симуляции, обработка данных
Связка компьютер + микроконтроллерразделение ролейсложный робот с камерой и низкоуровневым управлением

Здесь нет универсального победителя. Простую тележку с датчиком расстояния можно собрать на микроконтроллере. Роботу с камерой и распознаванием объектов может понадобиться компьютер.

Почему их соединяют

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

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

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

камера -> компьютер анализирует объект -> команда микроконтроллеру -> моторы выполняют движение

Такой подход помогает не перегружать одно устройство всеми задачами.

Как выбрать устройство для проекта

ВопросЕсли ответ "да"Что ближе
Нужно быстро читать кнопки и датчики?дамикроконтроллер
Нужно управлять моторами и сервоприводами?дамикроконтроллер + драйверы
Нужно работать с камерой?даодноплатный компьютер или ПК
Нужны файлы, экран, веб-интерфейс?дакомпьютер
Нужен Wi-Fi для простого устройства?даESP32 или компьютер
Нужно учиться основам электроники?дамикроконтроллер
Нужно запускать тяжелую библиотеку?дакомпьютер

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

Что запомнить про микроконтроллеры и компьютеры

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

Практика

Задание 1

Выберите устройство для задачи.

ЗадачаЧто выберешьПочему
Робот едет по линии
Робот распознает объект с камеры
Датчик температуры отправляет данные по Wi-Fi
Оператор смотрит графики работы робота

Задание 2

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

Задание 3

Робот на Raspberry Pi должен управлять двумя моторами. Подумайте, зачем ему может понадобиться отдельный драйвер моторов или микроконтроллер.

Проверьте себя

  • Чем микроконтроллер отличается от обычного компьютера?
  • Почему Raspberry Pi называют одноплатным компьютером?
  • Для каких задач в роботе удобен микроконтроллер?
  • Для каких задач нужен компьютер?
  • Зачем соединять компьютер и микроконтроллер?
  • Почему выбор платы начинается с задачи?
Ориентиры для самопроверки

Сначала ответьте без подсказки. Ответ можно считать полным, если вы:

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

Если один из пунктов объяснить не получается, найдите соответствующую главу статьи, перечитайте её и повторите ответ.

Словарь статьи

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

Связанные темы

Источники