Сборка двухколёсной платформы

Сборка двухколёсной платформы Готовые схемы

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

Монтаж

Платформа представляет собой набор деталей, состоящий из следующих элементов:

Сборка двухколёсной платформы

В этом наборе можно собрать платформу для двухколесного робота-робота.

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

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

Вот, что примерно должно получиться:

Сборка двухколёсной платформы

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

Сборка двухколёсной платформы

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

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

Сборка двухколёсной платформы

Мы будем использовать Arduino Uno и Motor Shield для управления роботом.

Сборка двухколёсной платформы

Чтобы подключить управляющую плату к батарейному отсеку, потребуется штекер питания с внутренним отверстием 2,1 мм.

Сборка двухколёсной платформы

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

Для соответствия программному коду из примера ниже, моторы соединены с Motor Shield следующим образом: правый мотор подключен к клеммам M1 с прямой полярностью (плюс к плюсу), а левый мотор — к M2 с обратной полярностью (плюс к минусу).

В комплекте с платформой идут латунные стоечки для установки плат.

Для крепления Arduino Uno на платформе предусмотрены три отверстия. Четвертое отверстие можно просверлить или просто прикрутить стоечку не к платформе, а к самой плате, перевернув ее.

Вот, что в результате должно получиться:

Сборка двухколёсной платформы

После сборки, как и положено, останутся «лишние детали», они пригодятся, когда в последствии вы захотите закрепить на платформе сенсоры или другую перифирию.

Сборка двухколёсной платформы

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

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

Для создания скетча вам понадобится: среда программирования Arduino IDE, обычный USB-кабель и компьютер.

Вот пример кода, который управляет моторами платформы:

// Моторы подключаются к клеммам M1+,M1-,M2+,M2-  
// Motor shield использует четыре контакта 6,5,7,4 для управления моторами 
 
#define SPEED_LEFT      6
#define SPEED_RIGHT     5 
#define DIR_LEFT        7
#define DIR_RIGHT       4
 
void go(int speed, bool reverseLeft, bool reverseRight, int duration)
{
    // Для регулировки скорости `speed` может принимать значения от 0 до 255,
    // чем болше, тем быстрее. 
    analogWrite(SPEED_LEFT, speed);
    analogWrite(SPEED_RIGHT, speed);
    digitalWrite(DIR_LEFT, reverseLeft ? LOW : HIGH); 
    digitalWrite(DIR_RIGHT, reverseRight ? LOW : HIGH); 
    delay(duration); 
}
 
void setup() 
{
    // Настраивает выводы платы 4,5,6,7 на вывод сигналов 
    for(int i = 4; i <= 7; i++)     
        pinMode(i, OUTPUT);  
} 
 
void loop() 
{ 
    // Задержка 5 секунд после включения питания 
    delay(5000); 
 
    // Cекуда с небольшим вперёд 
    go(150, false, false, 1100);
 
    // Разворот на 180 градусов  
    go(125, true, false, 1350);
 
    // Две секуды с небольшим вперёд 
    go(150, false, false, 2200);
 
    // Разворот на 180 градусов в другую сторону 
    go(125, false, true, 1300);
 
    // Cекуда с небольшим вперёд 
    go(150, false, false, 1200);
 
    // Поворот на 90 градусов 
    go(125, true, false, 680);
 
    // Медленно назад полторы секунды 
    go(100, true, true, 1500);
 
    // Остановка до ресета или выключения питания 
    go(0, false, false, 0);
 
    // Всё, приехали
    while (true)
        ; 
}

Результат исполнения этого скетча представлен на видео:

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

Оцените статью