Робототехника и автоматика
Датчики, приводы, контроллеры, системы управления
Платформа для быстрой сборки электроники: плата с микроконтроллером, питанием и USB для загрузки программы плюс среда Arduino IDE. Программа-скетч пишется на упрощённом C++ и состоит из setup() (один раз) и loop() (повторяется). Пины платы настраиваются входами — читать датчики, или выходами — управлять светодиодами, реле, моторами.
✗ «Arduino — это и есть микроконтроллер». Нет: Arduino — плата вокруг микроконтроллера (питание, разъёмы, USB) плюс среда программирования; сам микроконтроллер — микросхема на плате.
Устройства и правила, благодаря которым техника работает без человека: датчик или таймер следит за условием, при его выполнении запускается действие. Бывает без программы (термостат утюга сам размыкает цепь) и с программой (контроллер «умного дома»). Человек один раз задаёт правило — автоматика выполняет его снова и снова.
✗ «Автоматика — это всегда компьютер с программой». Нет: автоматическим бывает и простое устройство без всякой программы — поплавок в сливном бачке или термостат утюга.
Датчик ускорения по трём осям: внутри микросхемы — грузик на пружинках; при разгоне, торможении или наклоне он смещается, и схема измеряет это смещение. В покое датчик чувствует силу тяжести: по тому, на какую ось она приходится, программа вычисляет наклон. Скорость поворота он не меряет — это работа гироскопа.
✗ «Акселерометр и гироскоп — одно и то же, оба про наклон». Нет: акселерометр меряет ускорение и чувствует силу тяжести — отсюда наклон в покое; гироскоп меряет только скорость поворота.
Датчик угловой скорости: измеряет, на сколько градусов в секунду устройство поворачивается вокруг каждой из трёх осей. Программа накапливает эти повороты и получает угол — так робот держит курс, а дрон выравнивается. В телефонах и роботах это крошечная микросхема (МЭМС), а не крутящийся волчок.
✗ «Гироскоп показывает, куда наклонён телефон». Нет: гироскоп измеряет только скорость поворота; наклон программа вычисляет, обычно добавляя данные датчика ускорения.
Устройство, которое превращает физическую величину (свет, температуру, расстояние, наклон) в электрический сигнал для электроники — простой схемы или контроллера. Бывают цифровые («да/нет») и аналоговые (диапазон значений).
✗ «Датчик сам принимает решения». Нет: датчик только измеряет; решение принимает схема или программа, к которой он подключён.
Классическая задача робототехники и соревнований: робот с инфракрасными датчиками, глядящими в пол, различает трассу — чёрная линия отражает мало света, белое поле много. Съехал датчик на белое — программа меняет обороты моторов, и робот подруливает обратно. Это обратная связь: измерить — сравнить — подправить.
✗ «Робот заранее знает трассу, как навигатор — маршрут». Нет: карты у него нет — робот каждый миг видит только яркость пятна под датчиком и тут же подруливает.
Передача команд устройству по каналу связи: инфракрасным лучом (телевизор), по радио (машинка, дрон) или через интернет. Передатчик в пульте кодирует нажатие в сигнал, приёмник на устройстве распознаёт его и включает нужные моторы. Решения принимает человек, машина только выполняет — в этом отличие от автоматики.
✗ «Вся сила в пульте: он и двигает машинку». Нет: пульт лишь посылает команды; моторы крутит батарея самой машинки, а команды разбирает её приёмник.
Плата с электронными ключами между контроллером и мотором: слабый сигнал управления переключает большой ток от отдельного источника. Драйвер меняет направление вращения (переворачивает полярность на моторе) и скорость — подавая ток быстрыми порциями (ШИМ). Питание цепей разное, но «минус» общий: земли контроллера и драйвера обязательно соединяют.
✗ «Мотор можно подключить прямо к пину платы, драйвер — лишняя деталь». Нет: пин отдаёт лишь десятки миллиампер, мотору нужны сотни и больше — без драйвера выход сгорит.
Летательный аппарат без пилота на борту; учебный дрон — обычно квадрокоптер: четыре мотора с пропеллерами. Датчики замечают малейший наклон, автоматика тут же подправляет обороты — без этой обратной связи дрон перевернулся бы за доли секунды. Летит он наклоном: передние пропеллеры чуть замедлились — дрон наклонился и поехал вперёд.
✗ «Дроном полностью управляет пилот — каждым мотором». Нет: пилот только задаёт, куда лететь; ровно держит дрон автоматика, подправляющая обороты моторов сотни раз в секунду.
Пара «излучатель — приёмник»: инфракрасный светодиод светит, приёмник ловит отражение. Белое поле отражает много света, чёрная линия — мало, так робот различает трассу; датчик препятствия замечает отражение от предмета. Отдельный вид — приёмник пульта: он ловит не отражение, а мигающий код передатчика.
✗ «Раз глаз не видит инфракрасного света — его и нет». Нет: это обычный свет, просто глаз к нему не чувствителен; многие камеры телефонов видят вспышки ИК-светодиода пульта.
Устройство, превращающее электрический сигнал в действие: мотор — во вращение, поворотный привод — в поворот на заданный угол, реле — во включение другой цепи, нагреватель и лампа — в тепло и свет. Это последнее звено цепочки «датчик → контроллер → исполнительное устройство».
✗ «Привод сам решает, что и когда делать». Нет: исполнительное устройство только выполняет пришедшую команду; решение принимает схема или программа, которая им управляет.
Выключатель, срабатывающий от касания: подвижный узел доезжает до края и нажимает рычажок, контроллер получает сигнал и останавливает мотор или запоминает точку. Так 3D-принтер ищет ноль: шаговый мотор не знает положения своего вала, поэтому ось едет до щелчка концевика — отсюда начинается отсчёт всех координат.
✗ «Принтер и станок помнят, где стоят их оси, даже после выключения». Нет: позиция теряется, поэтому перед работой каждая ось едет до концевика — только его срабатывание даёт точку отсчёта.
Датчик расстояний на лазерном луче: посылает импульсы, ловит отражение и вычисляет дистанцию, а вращающаяся головка снимает за секунду тысячи точек по кругу. По этим точкам робот строит карту помещения и находит на ней себя. Отличие от ультразвукового дальномера: луч узкий, измерений в тысячи раз больше, дальность выше.
✗ «Лидар — это камера, он видит картинку». Нет: лидар меряет лазером расстояния — вместо фотографии получается множество точек с дистанциями, из которых строится карта.
Цепочка подвижных звеньев, соединённых суставами-приводами, с рабочим органом на конце: захватом, присоской или инструментом. Контроллер задаёт угол каждого сустава, чтобы привести рабочий орган в нужную точку. Чем больше суставов, тем в большее число положений дотягивается рука.
✗ «Роборука сама видит деталь и решает, как её взять». Нет: типовой манипулятор слепо повторяет запрограммированные движения; сдвинь деталь — и без датчиков он схватит воздух.
Микросхема, объединяющая процессор, память и выводы входов-выходов. Выполняет записанную в память программу в цикле: прочитать датчики → вычислить → выдать сигналы на исполнительные устройства. В отличие от компьютера не запускает разные программы, а решает одну задачу — зато мал, дёшев и экономичен.
✗ «Микроконтроллер — это просто слабый компьютер». Нет: у него всё на одном кристалле — процессор, память, входы-выходы, и он выполняет одну записанную в него программу, а не запускает разные.
Цикл «измерить → сравнить с целью → подправить действие». Датчик сообщает системе результат её же работы: термостат меряет температуру, сравнивает с заданной и включает или выключает нагрев; робот на линии меряет отклонение и подруливает. Без обратной связи система работает вслепую и не замечает своих ошибок.
✗ «Обратная связь — это отзывы и комментарии». В технике это другое: устройство само измеряет результат своей работы и по нему подправляет следующее действие.
Программа, хранящаяся в постоянной памяти устройства; микроконтроллер выполняет её с момента подачи питания. «Прошить» — записать программу в эту память: именно это происходит при загрузке скетча в Arduino. Новая прошивка полностью заменяет старую — поведение устройства меняется без переделки железа.
✗ «Прошивка делается на заводе один раз и навсегда». Нет: прошивку можно заменять; загружая скетч в Arduino, ты каждый раз записываешь в микроконтроллер новую прошивку.
Несколько зубчатых передач в общем корпусе между мотором и механизмом. Каждая ступень понижает обороты и усиливает вращение, передаточные числа ступеней перемножаются: две пары «12 зубьев крутит 36» дают замедление в 9 раз. Мотору выгодно крутиться быстро и слабо, а колесу или подъёмнику нужно медленно и сильно — редуктор их согласует.
✗ «Редуктор отнимает у мотора мощь — без него крутило бы сильнее». Наоборот: редуктор жертвует оборотами и во столько же раз усиливает вращение; без него мотор быстрый, но слабый.
Электромагнитный выключатель: слабый ток в катушке создаёт магнитное поле, оно притягивает пластину, и контакты замыкают отдельную мощную цепь. Цепь управления и силовая цепь электрически не соединены, поэтому слабая электроника безопасно управляет мощной нагрузкой. Щелчок реле — звук перекидывающихся контактов.
✗ «Реле — это обычный выключатель, просто в коробочке». Нет: по реле щёлкает не палец, а слабый электрический сигнал — так маленький ток включает большую лампу или мотор.
Машина, работающая по циклу «почувствовать → решить → сделать»: датчики собирают данные об окружении, программа в контроллере принимает решение, моторы и другие исполнительные устройства выполняют действие. Этим робот отличается от механизма с пультом, где решает человек.
✗ «Робот — это машина, похожая на человека». Нет: форма не важна — робот-пылесос, манипулятор на заводе, дрон; робота отличает работа по программе и реакция на окружение.
Мотор с редуктором и встроенной схемой управления: датчик внутри измеряет угол, схема сравнивает его с заданным и доворачивает вал до совпадения, а при сбивании возвращает. Обычный хобби-серво работает в пределах 0–180° и удерживает положение под нагрузкой. Заданный угол приходит сигналом от контроллера.
✗ «Серво — просто маленький моторчик». Нет: внутри ещё редуктор и схема с датчиком угла, поэтому серво не крутится без остановки, а поворачивается на заданный угол и держит его.
Излучатель посылает короткий ультразвуковой щелчок, приёмник ждёт эхо, контроллер измеряет время полёта. Расстояние = время × скорость звука (около 340 м/с) ÷ 2 — звук летит туда и обратно. Ультразвук — звук выше слышимого человеком, поэтому измерений не слышно.
✗ «Дальномер видит предметы, как глаз». Нет: он посылает неслышный писк и ждёт эхо; мягкая или сильно наклонённая поверхность эха не возвращает — такой предмет датчик «не замечает».
Система из датчиков, контроллера и исполнительных устройств в доме: датчики измеряют свет, температуру, движение; контроллер проверяет правила «если — то»; реле, лампы и моторы выполняют действие. Дополнительно домом можно управлять с телефона — даже издалека.
✗ «Умный дом сам думает и решает, как человек». Нет: он выполняет правила, которые задали люди: «стемнело — включи свет». Нет правила — ничего не «придумает».
Внутри несколько обмоток; контроллер подаёт в них ток по очереди, и вал проворачивается на фиксированный шаг — часто 1,8°, то есть 200 шагов на полный оборот. Считая поданные шаги, можно точно позиционировать вал без датчика угла — так двигаются оси 3D-принтера и станков.
✗ «Шаговик знает, где стоит его вал». Нет: контроллер отсчитывает шаги вслепую; пропущенные под нагрузкой шаги никто не заметит — поэтому 3D-принтер перед печатью ищет ноль концевыми выключателями.
Несущая конструкция мобильного робота: рама плюс ходовая часть — моторы и колёса или гусеницы. Компоновка решает, как машина себя поведёт: широкая колея и тяжёлая батарея внизу в центре — устойчивость, гусеницы — проходимость, два независимых ведущих колеса — разворот на месте.
✗ «Шасси — это колёса». Нет: колёса — только часть; шасси — вся несущая основа машины: рама, моторы, колёса и крепления, на которых держится всё остальное.
Сигнал — прямоугольные импульсы с постоянной частотой; доля времени «включено» называется коэффициентом заполнения и задаёт среднюю мощность. На Arduino это analogWrite(пин, 0–255): 0 — выключено всегда, 255 — включено всегда, 127 — половину времени. Глаз и мотор сглаживают мигание сами: видим яркость, получаем скорость.
✗ «analogWrite выдаёт плавное напряжение, как ручка громкости». Нет: пин умеет только «включено» и «выключено»; плавность — это среднее от очень быстрых переключений.
Машина, превращающая электрическую энергию в механическое вращение: ток в обмотке создаёт магнитное поле, оно взаимодействует с магнитами и поворачивает вал. Направление вращения зависит от полярности подключения, скорость — от напряжения. Чтобы крутить тяжёлое медленно и сильно, к мотору добавляют редуктор.
✗ «Электродвигатель — как мотор машины, только меньше: внутри что-то сгорает». Нет: в нём ничего не горит — вал крутят ток и магнитное поле, поэтому он тихий, без топлива и выхлопа.
Датчик угла поворота: на валу — диск с метками (прорезями или магнитами), рядом — датчик, дающий электрический импульс на каждую метку. Программа считает импульсы: их число — угол поворота, число в секунду — скорость вращения. Так робот узнаёт, сколько на самом деле проехало каждое колесо.
✗ «Мотор с энкодером сам едет ровно и точно». Нет: энкодер только считает повороты вала; точным движение делает программа, которая по этим счётчикам подправляет моторы.