Балансирующий робот на 555-ом таймере


Вы пробовали когда-нибудь сделать балансирующего робота? Ну, то есть такого, который на двух колесах стоит и не падает? Наверное, сразу на ум приходят всякие гироскопы, датчики ускорений, микроконтроллеры… А все гораздо проще!

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

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

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

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

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

Цепочка Rp-Cd — это ни что иное, как пропорционально (Rp) дифференциальное (Cd) звено регулятора. Если вы смотрели видео внимательно, вы видели осциллограммы сигналов с резисторов и после этого звена.

Резистор Rt служит для начальной установки такой скважности ШИМ-сигнала, вырабатываемого таймером, при котором сервомашинка почти неподвижна (на видео процесс подстройки имеется). В общем, это и все, что можно сказать о схеме — она на самом деле проста до безобразия.

Если робот наклоняется, то освещенность фоторезисторов меняется, один становится менее освещен, чем второй, в результате уровень напряжения в точке из соединения (т.е. на входе регулятора) меняется, что в конечном итоге приводт к тому, что меняется скважность импульсов ШИМ на выходе таймера, и сервомашинка начинает вращаться. Так как сервомашинки неплохо воспринимают ШИМ-сигнал в широком диапазоне частот (обычно от 20 до 100 Гц), то само значение частоты ШИМ в данной конструкции не играет принципиальной роли.

Так как на оси сервы сидит колесо, робот приходит в движение и смещает центр масс так, что наклон компенсируется. Движение продолжается до тех пор, пока оба резистора снова не будут освещены одинаково.

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

Я думаю, что материалы американских патентов, которые автор изучал, будут не очень интересны тем, кто рискнет повторить эту конструкцию, поэтому не даю ссылок на это. Зато повторяю предупреждение автора, что устойчивость робота зависит от параметров входной цепочки Rp-Cd, подобрать которые вам придется самостоятельно.

Оригинал заметки автора вы можете найти по ссылке.

Источник simple-devices.ru


0 комментариев на «“Балансирующий робот на 555-ом таймере”»

    • только при достижении определённого рейтинга 😉

  1. Вообще штука интересная, не помню точно но имхо где-то подобное я уже видел толи в 96 толи 97г. только на совковой микрухе КР1006ВИ1. Но там вроде речь шла об украшении на передней панели автомобиля, вместо фоторезисторов — транзисторы со спиленной крышкой, а вместо сервы движок+4 транзистора.

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Arduino Bluetooth CraftDuino DIY Google IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение