Робот для обучения программированию

При изучении программирования крайне полезно иметь пособие, помогающее практически освоить технику программирования. В качестве такого пособия идеально подходит недорогой но функциональный программируемый робот. В качестве исходной точки при разработке такого робота был выбран робот, разработанный автором в 2020 году для участия в соревнованиях:

Однако применение такого робота в качестве учебного пособия связано с рядом трудностей. Во-первых, этот робот имеет вычислительное ядро, основанное на микроконтроллере серии stm32f103, что позволяет программировать его только на языках С/С++, с использованием программатора stlink, что не очень удобно в учебных целях. Во-вторых это специализированный робот, предназначенный для езды по черной линии и использовать его в качестве универсального учебного пособия не очень удобно. В-третьих, производство такого робота связано с большими трудозатратами из-за наличия многоканального датчика черной линии, собираемого вручную. Поэтому в качестве учебного пособия для изучения программирования был разработан новый робот.

Вычислительное ядро нового робота представляет из себя микроконтроллер stm32f411ceu6. Этот микроконтроллер относительно дешев и обладает впечатляющими аппаратными возможностями: в нем имеются аппаратный умножитель, интерфейсы i2c и usart, несколько многоканальных таймеров с аппаратными квадратурными детекторами. Указанный микроконтроллер позволяет программировать робота на языке высокого уровня MicroPython и применять широкий набор датчиков: 3-х осевые акселерометр и гироскоп, датчик расстояния, датчик отраженного света.

Для нового робота была разработана 3D модель, оптимизированная по результатам опытной эксплуатации робота на протяжении 10000 часов. Внешний вид робота представлен на следующем рисунке:

Саму 3D модель можно скачать тут(свободно для некоммерческих учебных целей).

В качестве двигателей робота используются два электромотора GA12--N20 6V 50RPM. Эти двигатели развивают большой момент при достаточной скорости, обеспечивая роботу хороший ход. Для управления моторами применяется драйвер на основе микросхемы MX1508, обладающей высокой надежностью и защитой от перегрева. Так как эта микросхема не обладает устойчивостью от неправильной полярности источника питания и моментально сгорает при ошибке подключения, в схеме робота имеется диод, защищающий от таких ошибок.

О том как собрать и настроить робота будет рассказано в следующей статье.