Общие сведения
Колесо 70 × 6 мм на вал D3 — плоский синий диск в тонкой шине, наружный ⌀70 мм, на вал ⌀3 мм с лыской, то есть со срезом вдоль вала. На одном и том же моторе оно везёт тележку вдвое быстрее колеса 34 мм. Для мотор-редукторов 12 мм и моторов N20 с платой FLASH-I2C.
На вал колесо садится через переходник. В центре диска стоит ромбовидный фланец на вал D3 с надписью «D3» — та же деталь, что продаётся отдельно. Квадратная втулка фланца входит в квадратное окно диска и передаёт ему вращение, а в отверстие фланца садится вал мотора. Фланец стоит с наружной стороны, мотор вставляют с обратной — там в центре квадратное гнездо с отверстием под вал.
На фото фланец стоит в диске без винтов. Соскочить с вала диск не может: снаружи его держит пластина фланца, изнутри — мотор. Под отверстиями на концах фланца в диске тоже есть отверстия, так что при желании фланец стягивают с диском двумя винтами с гайками — так он закреплён у колеса 47 × 12. Удобство такой схемы: если посадку на валу разбили и колесо стало проворачиваться, диск не выбрасывают — меняют один фланец.
Диск весь в отверстиях: круглые идут по кругу, ещё есть четыре дуговые прорези. К ним можно прикрутить свою деталь — метку для датчика оборотов, декоративную крышку, — подобрав винты по отверстиям. Шина чёрная, узкая — 6 мм, с протектором «ёлочкой».
Есть и второе колесо ⌀70 мм — с широкой шиной на четырёх спицах, в его центре такой же фланец D3, только притянутый двумя винтами. По скорости и силе тяги они одинаковы.
Колёса продаются по одному: на двухколёсную тележку нужно два, на четырёхколёсную — четыре. Мотора в комплекте нет.
На какие моторы встаёт. Нужен вал ⌀3 мм со срезом вдоль вала — лыской. Такой вал у:
- наших мотор-редукторов 12 мм — их ещё называют N20 и Micro Metal Gearmotor;
- моторов N20 с платой FLASH-I2C — с энкодером и без.
У наших мотор-редукторов 12 мм вал выходит из редуктора на 8 мм, у мотора 1:50 — на 10 мм, и срез идёт по всей длине вала. У моторов FLASH-I2C длина вала в карточках не указана — измерьте её сами.
Не встанет на ТТ мотор-редуктор (вал толще и другой формы, для него есть своё колесо), мотор-редукторы 25 мм и валы сервоприводов. Не путайте и с мотором 12 мм без редуктора: у него тонкий круглый вал без среза, да и силы без редуктора не хватит. Сторонний мотор проверьте: вал ровно 3 мм и со срезом. У некоторых моторов N20 срез короче вала — если колесо дальше не идёт, не давите сильнее, а посмотрите, где кончается срез.
Характеристики
- Наружный диаметр шины: 70 мм;
- Ширина шины: 6 мм;
- Посадка на вал: через фланец D3 — отверстие ⌀3 мм с лыской, вал охвачен на длине 6 мм, стопорных винтов нет;
- Сторона мотора: со стороны квадратного гнезда, фланец — снаружи;
- Цвет: диск синий, шина чёрная;
- Путь за один оборот вала: 219,9 мм (π × 70 мм);
- Высота оси над полом: 35 мм (радиус колеса).
Какая будет скорость
За один оборот вала тележка проезжает длину окружности колеса. Скорость с нашими моторами уже посчитана:
| Мотор | Обороты, об/мин | Скорость, см/с | Метр проедет за, с |
|---|---|---|---|
| 12 мм, 1:1000 | 15 | 5,5 | 18 |
| 12 мм, 1:500 | 30 | 11 | 9,1 |
| 12 мм, 1:298 | 50 | 18 | 5,5 |
| FLASH-I2C N20-75rpm | 75 | 27 | 3,6 |
| 12 мм, 1:150 | 100 | 37 | 2,7 |
| FLASH-I2C N20-150rpm, с энкодером | 150 | 55 | 1,8 |
| 12 мм, 1:75 | 200 | 73 | 1,4 |
| 12 мм, 1:50; FLASH-I2C N20-300rpm с энкодером и без энкодера | 300 | 110 | 0,9 |
| 12 мм, 1:30; FLASH-I2C N20-500rpm, с энкодером | 500 | 183 | 0,5 |
| FLASH-I2C N20-750rpm, с энкодером | 750 | 275 | 0,4 |
«12 мм» — мотор-редуктор без электроники, к Arduino его подключают через драйвер. «FLASH-I2C» — тот же мотор N20 на плате со своим драйвером, им управляют по шине I2C. «1:150» — передаточное число редуктора: вал крутится в 150 раз медленнее моторчика и во столько же раз сильнее (без учёта потерь в шестернях). Вашего мотора нет в таблице — посчитайте сами: скорость в мм/с = 219,9 × обороты в минуту / 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 мм на том же моторе едет вдвое быстрее колеса 34 мм, но и тянет вдвое слабее. Поэтому большое колесо ставят на медленный мотор, маленькое — на быстрый.
- Большое колесо проходимее. Оно легче переезжает провод, стык плитки, край ковра, и днище тележки идёт выше над полом.
- Но у него длиннее рычаг на шестерни. Когда тележку толкают или катят руками, сила у шины проворачивает редуктор через рычаг длиной в радиус колеса. У колеса 70 мм этот рычаг вдвое длиннее, чем у 34 мм, и шестерням достаётся вдвое больше.
- Колесо 70 × 6 — самое быстрое и самое слабое из четырёх. Его пара — медленные моторы, 15–100 об/мин: тележка с ними идёт от 5,5 до 37 см/с. Быстрые моторы (300 об/мин и выше) и сами слабее медленных, а колесо 70 мм делит их силу ещё вдвое — тяжёлую тележку такая пара может не стронуть.
Как надеть колесо на вал

Схема условная: форма ступицы у каждого колеса своя.
- Совместите лыску вала с лыской отверстия во фланце — посмотрите в отверстие на просвет. На вал колесо встаёт только в одном положении. Если давить «как получится», вал срежет пластик, и колесо потом будет проворачиваться.
- Положите колесо на стол фланцем вниз, надписью «D3» к столу. Если оно легло на шину и фланец до стола не достаёт, подложите под фланец монеты стопкой. Упор должен приходиться во фланец, иначе вал выдавит его из диска.
- Фланец охватывает 6 мм вала, а у наших мотор-редукторов 12 мм вал длиной 8 мм (у 1:50 — 10 мм). Когда вал упрётся в стол (в монету), его конец встанет вровень с фланцем, а у редуктора останется около 2 мм вала (у 1:50 — около 4 мм), и щель, скорее всего, получится сама. Но гнездо в диске со стороны мотора чуть утоплено: диск стоит к редуктору ближе, чем торец фланца, и щель до диска будет меньше этих 2 мм. Если вал у вашего мотора короче 8 мм или его длина неизвестна, проложите между диском и редуктором картонку, как на схеме: она зажмётся раньше, чем диск дойдёт до редуктора.
- Вставьте вал в квадратное гнездо. Держите мотор за корпус и давите плавно, строго по оси, пока вал не упрётся в стол (в монету) или не зажмётся картонка. Дальше не давите: усилие пойдёт в шестерни.
- Вытащите картонку, если прокладывали, и посмотрите сбоку на просвет: диск сидит на втулке фланца до упора, вплотную к его пластине, а между диском и редуктором видна щель. Если диск касается редуктора, снимите колесо и наденьте заново с картонкой.
- Держа мотор на весу, включите его: колесо не должно бить «восьмёркой». У колеса 70 мм даже небольшой перекос виден сразу.
Не забивайте колесо молотком и не стучите мотором по столу. Вал идёт прямо в редуктор, и от удара сминаются зубья латунных шестерён.
Снимают колесо целиком, вместе с фланцем: мотор держат за корпус, колесо — за диск у центра и тянут ровно вдоль вала. Не раскачивайте и не проворачивайте: раскачка разбивает отверстие, а большое колесо — длинный рычаг на шестерни (почему нельзя крутить рукой — ниже).
Если колесо проворачивается, слетает или бьёт
- Проворачивается на валу. Посадку сорвали: давили, не совместив лыски, или много раз снимали и надевали. Проще всего заменить фланец на вал D3. Если нужно, чтобы держалось намертво, — тонкий слой густого гелевого секундного клея на бок вала, только на тот участок, что уйдёт во фланец. У редуктора клея быть не должно: жидкий затечёт по валу внутрь и заклинит шестерни. Учтите: колесо после этого с вала не снимется — диск зажат между приклеенным фланцем и мотором.
- Сползает с вала вместе с фланцем — посадка фланца на валу ослабла. Досадите колесо так же, как надевали (упор — во фланец), а если снова сползёт — замените фланец или посадите его на клей, как сказано выше.
- Диск болтается или трётся о редуктор, хотя вал не проворачивается. Диск сидит на втулке фланца свободно и съезжает к мотору. Прижмите его к пластине фланца и стяните их двумя винтами с гайками через отверстия на концах фланца — под ними в диске тоже отверстия. Винт подберите по отверстию диска, затягивайте до плотного, без усилия. Головки и гайки крутятся вместе с колесом: проверьте, что они не задевают скобу мотора и край панели.
- Не рассверливайте отверстие, если колесо идёт туго. Уйдёт натяг — колесо начнёт проворачиваться и сползать.
- Бьёт «восьмёркой». Надели с перекосом. Снимите и посадите ровно: кривое колесо бьёт на каждом обороте и расшатывает редуктор на латунных шестернях.
- Тормозит, скрипит, мотор греется. Ступица трётся о редуктор или колесо задевает крепление мотора, панель, провода. Сдвиньте колесо по валу чуть наружу и проверьте зазоры.
- Не катайте тележку руками и не крутите колёса пальцами: колесо становится рычагом и проворачивает редуктор с обратной стороны. Особенно этого не любят медленные моторы — 1:298, 1:500, 1:1000.
Колесо на моторах FLASH-I2C: скорость в м/с и путь в метрах
У части моторов N20 с платой FLASH-I2C есть энкодер — датчик, который считает обороты мотора. Моторы с энкодером (N20-750rpm, N20-150rpm, N20-300rpm, N20-500rpm) с библиотекой iarduino_I2C_Motor умеют ехать с заданной скоростью в метрах в секунду, останавливаться через заданное расстояние и считать пройденный путь. Для этого библиотеке нужен размер колеса: один раз в setup() укажите радиус в миллиметрах — для этого колеса 35. Не диаметр: с диаметром библиотека решит, что колесо вдвое больше, и робот проедет вдвое меньше заданного.
Адреса. С завода у всех модулей 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 = 35; // РАДИУС колеса 70 × 6 мм, в мм
motR.radius = 35;
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 крепятся за свою плату, скоба им не нужна.
Третья точка опоры — шаровая опора. Чтобы тележка стояла ровно, высота опоры должна совпасть с высотой панели над полом. Ось этого колеса — на высоте 35 мм. У мотора 12 мм сечение 10 × 12 мм и вал посередине, поэтому от плоской грани, которой он лежит в скобе на панели, до оси 5 мм. Отсюда:
- мотор стоит на панели сверху — низ панели на 35 − 5 = 30 мм минус толщина панели; при панели 4 мм выходит ровно 26 мм, как у шаровой опоры 20 мм (высота в сборе 26 мм);
- мотор висит под панелью — низ панели на высоте 35 + 5 = 40 мм: опоре 20 мм нужна стойка 14 мм.
Не совпало на пару миллиметров — доберите шайбами или стойкой под опорой. У модуля FLASH-I2C измерьте, на сколько ось вала выше плоскости, которой плата прилегает к панели, и считайте так же: радиус колеса плюс или минус это расстояние.
Что пригодится вместе
- Медленный мотор-редуктор 12 мм — например, 1:150, 100 об/мин (тележка с ним идёт до 37 см/с) или 1:500, 30 об/мин;
- Фланец на вал D3 про запас — если посадка на валу разболтается;
- Крепёж для мотора N20 — скоба на панель, одна на мотор;
- Шаровая опора 20 мм — третья точка опоры (как подобрать высоту — выше);
- Драйвер, если мотор без платы FLASH-I2C: TC1508 сразу на два мотора (для моторов 12 мм драйвер питают от 5 В), Trema-драйвер на один или Motor Shield на два. Напрямую к выводам Arduino мотор не подключают;
- Источник питания 5 В и 5–12 В на аккумуляторе 14500 (аккумулятор покупается отдельно). Выход 5 В — для Arduino. Регулируемый выход — для моторов: выставьте на нём подстроечным резистором не больше 6 В и проверьте мультиметром. Так он подойдёт и мотор-редукторам 12 мм, и колодке V MOT модулей FLASH-I2C.
Комплектация
- 1 × колесо 70 × 6 мм с фланцем D3 в центре.

















