Общие сведения
Колесо 34 × 7 мм на вал D3 — самое маленькое из наших колёс под вал ⌀3 мм с лыской, то есть со срезом вдоль вала. Для небольших роботов и тележек на мотор-редукторах 12 мм и на моторах N20 с платой FLASH-I2C. Колесо садится на вал нажимом и крутится вместе с ним без винтов.
Ступица белая, с тремя изогнутыми спицами. У отверстия под вал есть узкая прорезь: при посадке пластик вокруг вала чуть пружинит. Шина чёрная, узкая — 7 мм, с мелкой поперечной рифлёнкой.
На этих колёсах ездят наши роботы. В набор ROBORACE входят два таких колеса, два мотора N20 с платой FLASH-I2C, шаровая опора 12 мм и бампер с датчиками линии. Робот из урока «Робот „Микроша“» собран на них с мотор-редукторами 12 мм, скобами и шаровой опорой 20 мм.
Колёса продаются по одному: на двухколёсную тележку нужно два, на четырёхколёсную — четыре. Мотора в комплекте нет.
На какие моторы встаёт. Нужен вал ⌀3 мм со срезом вдоль вала — лыской. Такой вал у:
- наших мотор-редукторов 12 мм — их ещё называют N20 и Micro Metal Gearmotor;
- моторов N20 с платой FLASH-I2C — с энкодером и без.
У наших мотор-редукторов 12 мм вал выходит из редуктора на 8 мм, у мотора 1:50 — на 10 мм, и срез идёт по всей длине вала. У моторов FLASH-I2C длина вала в карточках не указана — измерьте её сами.
Не встанет на ТТ мотор-редуктор (вал толще и другой формы, для него есть своё колесо), мотор-редукторы 25 мм и валы сервоприводов. Не путайте и с мотором 12 мм без редуктора: у него тонкий круглый вал без среза, да и силы без редуктора не хватит. Сторонний мотор проверьте: вал ровно 3 мм и со срезом. У некоторых моторов N20 срез короче вала — если колесо дальше не идёт, не давите сильнее, а посмотрите, где кончается срез.
Характеристики
- Наружный диаметр шины: 34 мм;
- Ширина шины: 7 мм;
- Отверстие в ступице: под вал ⌀3 мм с лыской (тип D), с прорезью;
- Крепление на валу: нажимом, за счёт формы отверстия, стопорных винтов нет;
- Сторона мотора: обратная той, что на главном фото, — так колесо стоит на наших фото с мотором;
- Цвет: ступица белая, шина чёрная;
- Путь за один оборот вала: 106,8 мм (π × 34 мм);
- Высота оси над полом: 17 мм (радиус колеса).
Какая будет скорость
За один оборот вала тележка проезжает длину окружности колеса. Скорость с нашими моторами уже посчитана:
| Мотор | Обороты, об/мин | Скорость, см/с | Метр проедет за, с |
|---|---|---|---|
| 12 мм, 1:1000 | 15 | 2,7 | 37 |
| 12 мм, 1:500 | 30 | 5,3 | 19 |
| 12 мм, 1:298 | 50 | 8,9 | 11 |
| FLASH-I2C N20-75rpm | 75 | 13 | 7,5 |
| 12 мм, 1:150 | 100 | 18 | 5,6 |
| FLASH-I2C N20-150rpm, с энкодером | 150 | 27 | 3,7 |
| 12 мм, 1:75 | 200 | 36 | 2,8 |
| 12 мм, 1:50; FLASH-I2C N20-300rpm с энкодером и без энкодера | 300 | 53 | 1,9 |
| 12 мм, 1:30; FLASH-I2C N20-500rpm, с энкодером | 500 | 89 | 1,1 |
| FLASH-I2C N20-750rpm, с энкодером | 750 | 134 | 0,7 |
«12 мм» — мотор-редуктор без электроники, к Arduino его подключают через драйвер. «FLASH-I2C» — тот же мотор N20 на плате со своим драйвером, им управляют по шине I2C. «1:150» — передаточное число редуктора: вал крутится в 150 раз медленнее моторчика и во столько же раз сильнее (без учёта потерь в шестернях). Вашего мотора нет в таблице — посчитайте сами: скорость в мм/с = 106,8 × обороты в минуту / 60.
Обороты взяты из названий моторов: у мотор-редукторов 12 мм — на холостом ходу при питании 5–6 В, у моторов FLASH-I2C — номинальные при 6 В. Под весом робота, на ковре, на подсевших батарейках обороты падают, и тележка едет медленнее. Поэтому при питании моторов не выше 6 В считайте таблицу верхней границей. Для первого робота, который ездит по линии, берите мотор помедленнее: у медленного робота больше времени заметить поворот, а у мотора с большим передаточным числом больше сила.
Какое колесо выбрать

Наши колёса на вал ⌀3 мм садятся на одни и те же моторы, а различаются размером:
| Колесо | Путь за оборот вала | Ось над полом | Сила тяги при том же моторе |
|---|---|---|---|
| ⌀34 × 7 мм — это колесо | 106,8 мм | 17 мм | 100 % |
| ⌀42 × 19 мм | 131,9 мм | 21 мм | 81 % |
| ⌀47 × 12 мм | 147,7 мм | 23,5 мм | 72 % |
| ⌀70 × 6 мм | 219,9 мм | 35 мм | 49 % |
Есть ещё колесо ⌀70 мм с широкой шиной — по скорости и силе тяги оно такое же, как 70 × 6.
- Больше колесо — быстрее, но слабее. Во сколько раз больше диаметр, во столько же раз быстрее едет тележка и во столько же раз слабее тянет колесо. Колесо 70 мм на том же моторе едет вдвое быстрее колеса 34 мм, но и тянет вдвое слабее. Поэтому большое колесо ставят на медленный мотор, маленькое — на быстрый.
- Большое колесо проходимее. Оно легче переезжает провод, стык плитки, край ковра, и днище тележки идёт выше над полом.
- Но у него длиннее рычаг на шестерни. Когда тележку толкают или катят руками, сила у шины проворачивает редуктор через рычаг длиной в радиус колеса. У колеса 70 мм этот рычаг вдвое длиннее, чем у 34 мм, и шестерням достаётся вдвое больше.
- Колесо 34 × 7 — самое маленькое. На том же моторе оно едет медленнее остальных, зато тянет сильнее всех. Хорошая пара для быстрых моторов (300–750 об/мин), на которых большому колесу может не хватить сил, и для небольших роботов, которые ездят по линии. С мотором N20-75rpm FLASH-I2C тележка идёт до 13 см/с.
Как надеть колесо на вал

Схема условная: форма ступицы у каждого колеса своя.
- Совместите лыску вала с лыской отверстия — посмотрите в отверстие на просвет. На вал колесо встаёт только в одном положении. Если давить «как получится», вал срежет пластик, и колесо потом будет проворачиваться.
- Вырежьте из тонкого картона (коробка от лекарств, обложка тетради) полоску с прорезью под вал. Это прокладка: она оставит щель между ступицей и редуктором.
- Положите колесо на стол наружной стороной вниз — той, что на главном фото. Упор должен приходиться на ступицу, а не на шину: если ступица с этой стороны утоплена и колесо лежит на шине, подложите под её центр монету.
- Вставьте вал в отверстие, прокладку — между редуктором и ступицей. Держите мотор за корпус и давите плавно, строго по оси. Стоп — как только прокладка зажалась или вал упёрся в стол (в монету). Дальше не давите: усилие пойдёт в шестерни. Вал не обязан пройти ступицу насквозь — главное, чтобы колесо не снималось рукой без усилия.
- Вытащите прокладку вбок и, держа мотор на весу, включите его: колесо не должно бить «восьмёркой», а ступица — касаться редуктора.
Не забивайте колесо молотком и не стучите мотором по столу. Вал идёт прямо в редуктор, и от удара сминаются зубья латунных шестерён.
Снимают колесо так: мотор держат за корпус, колесо — за ступицу или обод (не за шину, её можно стянуть с обода) и тянут ровно вдоль вала. Не раскачивайте и не проворачивайте колесо: раскачка разбивает отверстие, а поворот рукой вредит редуктору (почему — ниже). Посаженное на клей колесо снимается с трудом — не рвите его рывком.
Если колесо проворачивается, слетает или бьёт
- Проворачивается на валу. Посадку сорвали: давили, не совместив лыски, или много раз снимали и надевали. Помогает густой гелевый секундный клей — тонким слоем на бок вала, только на тот участок, что уйдёт в ступицу. У редуктора клея быть не должно: жидкий затечёт по валу внутрь и заклинит шестерни. Снять колесо после этого будет трудно, так что клей — когда сборка окончательная.
- Сползает с вала на поворотах и при ударах о стену — колесо сидит неглубоко или посадка слабая. Досадите его (с той же прокладкой) или посадите на клей.
- Не рассверливайте отверстие, если колесо идёт туго, и не разжимайте прорезь. Уйдёт натяг — колесо начнёт проворачиваться и сползать.
- Бьёт «восьмёркой». Надели с перекосом. Снимите и посадите ровно: кривое колесо бьёт на каждом обороте и расшатывает редуктор на латунных шестернях.
- Тормозит, скрипит, мотор греется. Ступица трётся о редуктор или колесо задевает крепление мотора, панель, провода. Сдвиньте колесо по валу чуть наружу и проверьте зазоры.
- Не катайте тележку руками и не крутите колёса пальцами: колесо становится рычагом и проворачивает редуктор с обратной стороны. Особенно этого не любят медленные моторы — 1:298, 1:500, 1:1000.
Колесо на моторах FLASH-I2C: скорость в м/с и путь в метрах
У части моторов N20 с платой FLASH-I2C есть энкодер — датчик, который считает обороты мотора. Моторы с энкодером (N20-750rpm, N20-150rpm, N20-300rpm, N20-500rpm) с библиотекой iarduino_I2C_Motor умеют ехать с заданной скоростью в метрах в секунду, останавливаться через заданное расстояние и считать пройденный путь. Для этого библиотеке нужен размер колеса: один раз в setup() укажите радиус в миллиметрах — для этого колеса 17. Не диаметр: с диаметром библиотека решит, что колесо вдвое больше, и робот проедет вдвое меньше заданного.
Адреса. С завода у всех модулей FLASH-I2C — и у моторов, и у бампера с датчиками линии — один адрес на шине I2C: 0x09. А на одной шине у каждого модуля должен быть свой адрес. Поэтому моторам тележки адреса один раз меняют: правому 0x0A, левому 0x0B, как в уроке «Адреса модулей на шине I2C» к набору ROBORACE. Бамперу в этом уроке дают 0x0C, но можно оставить ему и заводской 0x09 — лишь бы адреса на шине не повторялись. Подключите к Arduino только правый модуль, загрузите скетч и откройте монитор порта на 9600 — там будет написано, получилось или нет. Потом подключите вместо него левый, поменяйте в скетче 0x0A на 0x0B и загрузите ещё раз. Подпишите модули, чтобы не перепутать. Новый адрес модуль запомнит и после выключения.
#include <Wire.h>
#include <iarduino_I2C_Motor.h>
uint8_t newAddress = 0x0A; // правому мотору 0x0A, левому 0x0B
iarduino_I2C_Motor mot; // адрес не указан — модуль найдётся сам
void setup(){
Serial.begin(9600);
if( !mot.begin(&Wire) ){
Serial.println("Модуль не найден, проверьте провода");
return;
}
if( mot.changeAddress(newAddress) ){
Serial.print("Готово, новый адрес: 0x");
if( newAddress < 0x10 ) Serial.print(0);
Serial.println(newAddress, HEX);
}else{
Serial.println("Адрес не изменён");
}
}
void loop(){}
Подключение и питание. Разъём I2C у модуля один, поэтому, если на вашей плате одна колодка I2C, моторы и бампер подключают через I2C Hub. По кабелю I2C питается только контроллер модуля, а мотору нужно своё питание: на колодку V MOT каждого модуля (+ и −) подайте 6 В — номинал наших моторов N20 FLASH-I2C, например с регулируемого выхода источника питания (о нём — ниже). Модули нашлись, а моторы стоят — первым делом проверьте V MOT. Тележка проедет метр со скоростью 0,2 м/с:
#include <Wire.h>
#include <iarduino_I2C_Motor.h>
iarduino_I2C_Motor motL(0x0B); // левый мотор
iarduino_I2C_Motor motR(0x0A); // правый мотор
void setup(){
Serial.begin(9600);
if( !motL.begin(&Wire) ) Serial.println("Нет модуля 0x0B");
if( !motR.begin(&Wire) ) Serial.println("Нет модуля 0x0A");
motL.radius = 17; // РАДИУС колеса 34 × 7 мм, в мм
motR.radius = 17;
motL.setDirection(false); // моторы стоят зеркально,
motR.setDirection(true); // поэтому крутятся в разные стороны
motL.setSpeed(0.2, MOT_M_S, 1.0, MOT_MET); // 0,2 м/с, стоп через 1 метр
motR.setSpeed(0.2, MOT_M_S, 1.0, MOT_MET);
}
void loop(){
Serial.print("Проехали, м: ");
Serial.print(motL.getSum(MOT_MET), 3); // путь левого колеса по энкодеру
Serial.print(" / ");
Serial.println(motR.getSum(MOT_MET), 3); // и правого
delay(500);
}
Моторы стоят зеркально, поэтому направление вращения у них разное. Если тележка поехала назад, поменяйте false и true местами, а если крутится на месте — поставьте обоим одинаковое значение. Шина под весом робота слегка проминается: для точной езды задайте 1 метр, измерьте рулеткой, сколько проехала тележка, и умножьте radius на это число (проехала 0,96 м — умножьте на 0,96).
У моторов FLASH-I2C без энкодера, например N20-75rpm, скорость задаётся только в процентах мощности (ШИМ), а остановка — только по времени, и радиус колеса им не нужен. В скетче замените обе строки setSpeed на такие: motL.setSpeed(50, MOT_PWM, 5, MOT_SEC); и то же для motR — половина мощности, стоп через 5 секунд. Пройденный путь такой мотор не считает, поэтому loop() оставьте пустым. Все функции библиотеки — в описании модуля на нашей вики.
Как собрать тележку
Мотор-редуктор 12 мм ставят на панель скобой — крепежом для мотора N20. Колесо должно стоять за краем панели или в вырезе, иначе будет тереть. Оба мотора ставьте на одной линии и на одной высоте — иначе тележку будет уводить в сторону даже при одинаковых оборотах. Моторы FLASH-I2C крепятся за свою плату, скоба им не нужна.
Третья точка опоры — шаровая опора. Чтобы тележка стояла ровно, высота опоры должна совпасть с высотой панели над полом. Ось этого колеса — на высоте 17 мм. У мотора 12 мм сечение 10 × 12 мм и вал посередине, поэтому от плоской грани, которой он лежит в скобе на панели, до оси 5 мм. Отсюда:
- мотор висит под панелью — низ панели на высоте 17 + 5 = 22 мм: подойдёт шаровая опора 12 мм (высота в сборе 14 мм) на стойке 8 мм или шаровая опора 20 мм (26 мм) — тогда сторона с опорой приподнимется на 4 мм;
- мотор стоит на панели сверху — низ панели на 17 − 5 = 12 мм минус толщина панели. Это ниже самой низкой нашей опоры (14 мм), так что с этим колесом мотор удобнее вешать под панель.
Не совпало на пару миллиметров — доберите шайбами или стойкой под опорой. У модуля FLASH-I2C измерьте, на сколько ось вала выше плоскости, которой плата прилегает к панели, и считайте так же: радиус колеса плюс или минус это расстояние.
Что пригодится вместе
- Мотор-редуктор 12 мм или мотор FLASH-I2C — любой из таблицы скоростей. Чаще всего с этим колесом берут мотор N20-75rpm FLASH-I2C;
- Крепёж для мотора N20 — скоба на панель, одна на мотор;
- Шаровая опора 20 мм или 12 мм — третья точка опоры (как подобрать высоту — выше);
- Бампер Roborace с 9 датчиками линии — если робот будет ездить по линии. Такой бампер стоит в наборе ROBORACE вместе с этими колёсами, у него шаг датчиков 7 мм; есть и вариант с шагом 14 мм;
- Драйвер, если мотор без платы FLASH-I2C: TC1508 сразу на два мотора (для моторов 12 мм драйвер питают от 5 В), Trema-драйвер на один или Motor Shield на два. Напрямую к выводам Arduino мотор не подключают;
- Источник питания 5 В и 5–12 В на аккумуляторе 14500 (аккумулятор покупается отдельно) — его часто берут вместе с этими колёсами. Выход 5 В — для Arduino. Регулируемый выход — для моторов: выставьте на нём подстроечным резистором не больше 6 В и проверьте мультиметром. Так он подойдёт и мотор-редукторам 12 мм, и колодке V MOT модулей FLASH-I2C.
Комплектация
- 1 × колесо 34 × 7 мм.
















