Приветствую! Представляю обзор набора для самостоятельной сборки робота. Набор представляет собой платформу и набор модулей с деталями — все это при желании можно приобрести отдельно. Подробности, скетчи, проблемы при сборке, а также видео в работе смотрите далее.
Пришла коробка. Довольно большая. С дыркой.
Вес
Коробка пробита радиатором от модуля с L298N
Открываем
Для простоты восприятия информации и чтобы самому не путаться, я буду разбирать содержимое, параллельно рассказывать о нем, и собирать робота.
Основная платформа, к которой уже зачем-то прикрутили двигатели, кроватку под 2*18650 и модуль драйвера L298N. Сама платформа из прозрачного акрила. Достаточно толстая. Защитную бумагу отдирать не стал.
Множество отверстий позволят (при желании) навесить на платформу дополнительные сенсоры, светодиоды, камеру или вообще что угодно. Ну или ничего не вешать))
Драйвер шагового двигателя и двигателя постоянного тока L298N
Двигатели постоянного тока. Питание от 3 до 12 вольт. Рекомендованное от 6 до 8 вольт.
Заднее колесо. На шарикоподшипнике.
Вставил в клеммники провода от движков.
Полярность должна быть одинаковая. в моем случае я неправильно вставил провода от левого двигателя. Фотал сразу после распаковки, доки изучал уже потом.
Колеса. Просто одеваются на вал двигателя. При желании можно просверлить в центре отверстие и притянуть к валу саморезом.
Колеса на местах
Идем дальше. Шлейф. Должно быть 40 проводов мама-мама. Обычный, не лучше и не хуже тех что можно купить отдельно. В процессе сборки попались пара хреновых коннекторов.
Также в комплекте парочка говенных аккумов. Емкость где-то 500 mAh, сойдут как тестовые, не более.
Хороший кабель USB-miniUSB, только короткий.
Мозг нашего робота Funduino UNO
Отличие от обычной ардуины уно в том что для каждого аналогового и цифрового входа распаяны по три пина: сигнал-питание-земля. Благодаря чему можно повесить на плату множество внешних датчиков (серв, экранов) без использования сенсор-шилда. Также на плате есть переключатель питания 5 или 3.3 вольта. Подключение через миниUSB, а не через USB-b, что тоже довольно удобно.
Верхняя платформа. Сделана из черного акрила. Единственная деталь в наборе, которую будет проблематично найти отдельно в продаже. (хотя может просто плохо искал)
С нее бумагу решил убрать
Остальное.
Платформа для сервомотора
IR пульт
IR приемник
Сам сервик. Достаточно популярный SG90.
Колеса для оптических сенсоров. Видимо в комплекте с платформой.
Повесил чтоб не потерялись
Приступим к сборке.
Прикручиваю стойки к экрану.
Прикручиваем к платформе
Теперь прикрутим ардуину
Ардуинку, из-за особенности расположения стоек и отверстий на платформе, можно прикрутить только с одной стороны. Дисплей оказался не на той стороне.
Теперь прикручиваю стойки к платформе
И ставим на наше шасси
Теперь будем припиливать серву
Подвижная платформа рассчитана на использование с этими серводвигателями, поэтому все собирается без проблем. Сама платформа предназначена для двух сервомоторов — для движения в горизонтальной и вертикальной плоскостях. Вертикальное вращение нам без надобности, поэтому вставляем только один сервомотор.
Обкусываем крепление
Еще
Теперь влезает
Прикручиваю комплектными винтами
И крепим на шасси
Оставшиеся после сборки винтики, гайки и стойки.
Подключаем питание на двигатели и на драйвер
Подключаем драйвер к ардуине
Подключаем все остальное
Ультразвуковой сенсор сначала повесил на нижнюю рамку. Не фотал. При тестировании робота проявилась проблема (проблем на самом деле было много, но рассмотрю конкретную) Робот периодически начинал дебилировать, кружиться на месте и т.д.
Выяснил что в показания сенсора вносит помехи серводвигатель. Робот думает что впереди препятствии и выполняет алгоритм разворота. Не важно что и на каких входах висит, помехи есть даже если крутить отключенную серву. Сенсоры и сервы менял (имеются в запасе). Проблему решил подняв сенсор. Как раз использовал оставшееся детали от крепежа под вертикальный сервик.
ИК приемник прикрутил сзади
Готовый робот
Программа.
Скетч и мануал нашел на банггуде))) Саппорт давал ссылки на дропбокс
Я тоже их приведу www.dropbox.com/s/ao4rzw93iu3v5ox/SKU116898%20Remote%20control%20ultrasonic%20ranging%20smart%20car.rar
Там универсальная инструкция, библиотеки, примеры, сам скетч.
Библиотеки устаревшие и в Arduino 1.6.5. не работают. Скетч основной программы тоже так и не открылся.
Сам текст программы содержит достаточно много ошибок и опечаток.
В общем разбирал эту китайскую грамоту долго. Ардуиной я раньше игрался, но забросил после рождения дочки, поэтому пришлось все вспоминать, а тут еще и косяки))
Коды ик пульта были перепутаны, один код лишний, ничего на него не вешал, но и удалять не стал.
Сомнительная польза дисплея, на нем отображаются текущие действия (стоп, вперед, назад). Добавил немного текста и функцию очистки, а то все наслаивалось друг на друга.
Функцию регулирования скорости не реализовали, думаю вернуться к этому позже.
Еще уменьшил время поворота в два раза, потому что с исходными значениями робот поворачивал на слишком большой угол. Ну и так по мелочи, сильно ничего не менял.
скетч
#include <IRremote.h>
#include <Servo.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
int MotorRight1=8;
int MotorRight2=9;
int MotorLeft1=7;
int MotorLeft2=6;
int counter=0;
const int irReceiverPin = 2;
long IRfront=0x00FF629D; //Forward code
long IRback=0x00FFA857; //Backward
long IRturnright=0x00FFC23D;//Right
long IRturnleft=0x00FF22DD; //Left
long IRstop=0x00FF02FD; //Stop
long IRAutorun=0x00FF6897; //Ultrasonic Self-propelled mode
long IRturnsmallleft=0x00FFB04F;
IRrecv irrecv(irReceiverPin); // Define IRrecv thing receive IR signal
decode_results results;
int inputPin =A0; // define ultrasonic receive pin rx
int outputPin =A1; // define ultrasonic transmit pin tx
int Fspeedd = 0; // Front distance
int Rspeedd = 0; // right distance
int Lspeedd = 0; // left distance
int directionn = 0; // front=8 back=2 left=4 right=6
Servo myservo; // define myservo
int delay_time = 250; // servo turn back steady time
int Fgo = 8; // forward
int Rgo = 6; // right
int Lgo = 4; // left
int Bgo = 2; // backward
}
if(Fspeedd < 25) // If the forward distance is less than 25 cm
{
stopp(1); // Clear Output Data
ask_pin_L(); // read left distance
delay(delay_time); // wait servo steady
ask_pin_R(); // read right distance
delay(delay_time); // wait servo steady
if(Lspeedd > Rspeedd) //If left distance is more than right distance
{
directionn = Lgo; //Turn left
}
if(Lspeedd <= Rspeedd) //If left distance is less than or equal to right distance
{
directionn = Rgo; //Turn right
}
if (Lspeedd < 15 && Rspeedd < 15) //If left distance and right distance are less than 10cm
{
directionn = Bgo; //turn back
}
}
else //If front distance is more than 25cm
{
directionn = Fgo; //forward
}
}
void ask_pin_F() // measure front distance
{
myservo.write(96);
digitalWrite(outputPin, LOW); // Let ultrasonic transmitting low voltage 2us
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // Let ultrasonic transmitting high voltage 10us,here must at least 10us
delayMicroseconds(10);
digitalWrite(outputPin, LOW); // keep ultrasonic transmitting low voltage
float Fdistance = pulseIn(inputPin, HIGH); // read time difference
Fdistance= Fdistance/5.8/10; // transfer time into distance(unit:cm)
Fspeedd = Fdistance; // read distance into Fspeedd(front speed)
}
void ask_pin_L() // measure left distance
{
myservo.write(170);
delay(delay_time);
digitalWrite(outputPin, LOW); // Let ultrasonic transmitting low voltage 2us
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // Let ultrasonic transmitting high voltage 10us,here must at least 10us
delayMicroseconds(10);
digitalWrite(outputPin, LOW); // keep ultrasonic transmitting low voltage
float Ldistance = pulseIn(inputPin, HIGH); // read time difference
Ldistance= Ldistance/5.8/10; // transfer time into distance(unit:cm)
Lspeedd = Ldistance; // read distance into Lspeedd(left speed)
}
void ask_pin_R() // measure right distance
{
myservo.write(30);
delay(delay_time);
digitalWrite(outputPin, LOW); // Let ultrasonic transmitting low voltage 2us
delayMicroseconds(2);
digitalWrite(outputPin, HIGH); // Let ultrasonic transmitting high voltage 10us,here must at least 10us
delayMicroseconds(10);
digitalWrite(outputPin, LOW); // keep ultrasonic transmitting low voltage
float Rdistance = pulseIn(inputPin, HIGH); // read time difference
Rdistance= Rdistance/5.8/10; // transfer time into distance(unit:cm)
Rspeedd = Rdistance; // read distance into Rspeedd(right speed)
}
void loop()
{
if (irrecv.decode(&results))
{
if (results.value == IRfront)//forward
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print(«IR mode»);
lcd.setCursor(0,1);
lcd.print(«advance»);
advance(20);
}
if (results.value == IRback)//backward
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print(«IR mode»);
lcd.setCursor(0,1);
lcd.print(«back»);
back(20);//backward
}
if (results.value == IRturnright)//turn right
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print(«IR mode»);
lcd.setCursor(0,1);
lcd.print(«right»);
right(10); // turn right
}
if (results.value == IRturnleft)//turn left
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print(«IR mode»);
lcd.setCursor(0,1);
lcd.print(«left»);
left(10); // turn left
}
if (results.value == IRstop)//stop
{
lcd.clear();
lcd.setCursor(0,0);
lcd.print(«IR mode»);
lcd.setCursor(0,1);
lcd.print(«stop»);
digitalWrite(MotorRight1,LOW);
digitalWrite(MotorRight2,LOW);
digitalWrite(MotorLeft1,LOW);
digitalWrite(MotorLeft2,LOW);
}
if (results.value ==IRAutorun )
{
while(IRAutorun)
{
myservo.write(90); //Let servo motor return, ready for the next measurement
detection(); //To measure the angle and determine which direction to move
if(directionn == 8)
{
if (irrecv.decode(&results))
{
irrecv.resume();
Serial.println(results.value,HEX);
if(results.value ==IRstop)
{
digitalWrite(MotorRight1,LOW);
digitalWrite(MotorRight2,LOW);
digitalWrite(MotorLeft1,LOW);
digitalWrite(MotorLeft2,LOW);
break;
}
}
results.value=0;
lcd.clear();
lcd.setCursor(0,0);
lcd.print(«auto mode»);
lcd.setCursor(0,1);
lcd.print(«Advance»);
advance(1); // normal forward
}
if(directionn == 2) //If directionn(direction) = 2(backward)
{
if (irrecv.decode(&results))
{
irrecv.resume();
Serial.println(results.value,HEX);
if(results.value ==IRstop)
{
digitalWrite(MotorRight1,LOW);
digitalWrite(MotorRight2,LOW);
digitalWrite(MotorLeft1,LOW);
digitalWrite(MotorLeft2,LOW);
break;
}
}
results.value=0;
lcd.clear();
lcd.setCursor(0,0);
lcd.print(«auto mode»);
lcd.setCursor(0,1);
lcd.print(«Reverse»);
back(8); // backward
turnL(2); //Move slightly to the left side, to prevent the dead alley
}
if(directionn == 6) //If directionn(direction) = 6(turn right)
{
if (irrecv.decode(&results))
{
irrecv.resume();
Serial.println(results.value,HEX);
if(results.value ==IRstop)
{
digitalWrite(MotorRight1,LOW);
digitalWrite(MotorRight2,LOW);
digitalWrite(MotorLeft1,LOW);
digitalWrite(MotorLeft2,LOW);
break;
}
}
results.value=0;
lcd.clear();
lcd.setCursor(0,0);
lcd.print(«auto mode»);
lcd.setCursor(0,1);
lcd.print(«Right»);
back(1);
turnR(3); // turn rirht
}
if(directionn == 4) //directionn(direction) = 4(turn left)
{
if (irrecv.decode(&results))
{
irrecv.resume();
Serial.println(results.value,HEX);
if(results.value ==IRstop)
{
digitalWrite(MotorRight1,LOW);
digitalWrite(MotorRight2,LOW);
digitalWrite(MotorLeft1,LOW);
digitalWrite(MotorLeft2,LOW);
break;
}
}
results.value=0;
lcd.clear();
lcd.setCursor(0,0);
lcd.print(«auto mode»);
lcd.setCursor(0,1);
lcd.print(«Left»);
back(1);
turnL(3); // turn left
}
if (irrecv.decode(&results))
{
irrecv.resume();
Serial.println(results.value,HEX);
if(results.value ==IRstop)
{
digitalWrite(MotorRight1,LOW);
digitalWrite(MotorRight2,LOW);
digitalWrite(MotorLeft1,LOW);
digitalWrite(MotorLeft2,LOW);
break;
}
}
}
results.value=0;
}
else
{
digitalWrite(MotorRight1,LOW);
digitalWrite(MotorRight2,LOW);
digitalWrite(MotorLeft1,LOW);
digitalWrite(MotorLeft2,LOW);
}
irrecv.resume(); // Continue to receive the next set of infrared signals
}
}
Я качал много библиотек, не со всеми все получалось сразу. Например LiquidCrystal_I2C нашел рабочую только с третьего раза.
Поэтому даю ссылку на мою папку libraries
Так как заднее колесо вращается на 360 градусов, то это вносит немного рандома в движение робота.
Попробовал зафиксировать колесо стяжками — робот стал ездить более осознанно))
Видео работы
Итог: интересная игрушка. Есть возможность усовершенствовать сабж, повесить камеру, сделать фары. Можно даже замутить клешню. Место на платформе есть. Конструктором назвать сложно, скорее просто набор деталей. Проектов в сети много, как простых так и сложных. Можно купить подходящее шасси и придумывать уже свой проект. В общем ардуина есть ардуина)) Жаль только времени не хватает — вот если бы мне все это лет десять назад, эх… :)
Еще замечания по данному роботу: думаю что четырехколесная версия будет ездить лучше и четче. К тому же в старшей версии реализовано управление скоростью.
Или еще вариант без бестолкового дисплея и с питанием под АА. gearbest.com/kits/pp_226901.html
Возможно что-то забыл. Если что, спрашивайте.
Спасибо за внимание!
Надеюсь обзор понравился и оказался полезным!
Планирую купить+31Добавить в избранноеОбзор понравился+37
+65
Классная штука. Нужно было поработать с ардуино по учебе, решил собрать похожее чудовище. В моем варианте 4 колеса и нет сервопривода для сонара. Жду не дождусь мотор шилдта и самих датчиков, шасси с прикрученой ардуино платой стоит и скучает
Что-то не обнаружил на 4WD… В архиве «SKU116898 Remote control ultrasonic ranging smart car.rar» или где?
Раз в 4-моторном варианте используется тоже двухканальный драйвер, моторы правого и левого бортов просто параллелятся? Или как?
Не, я не против ардуин и прочего, но кажется за эти деньги можно купить более интересный «набор деталей». Сам с дочерью думаю чем заняться, так решили купить машинку побольше и самим прокачать. Кажется выйдет не хуже.
серва пугает своей порнографичностью. УЗ модули стоят меньше доллара, не логичнее ли поставить их 4 штуки? да высокая скорость даёт полный хаос. :)
точно шо крези робот кил ол хуманс :)
Так и знал, что халява.
За такие деньги могли бы уж крепеж движков с колесами к платформе сделать получше.
Препохабное крепление, нет жесткости.
И лучше брать круглую платформу, меньше цепляется за мебель.
Дальномер можно поставить еще один, ИК от Шарп.
В паре с ультразвуковым нормально работают.
К такому роботу цепляют tp-link3020, прошитый cyberwrt и организовывают передачу видео с робота на комп.
Так оптические датчики на колесах есть или нет? Лень скетч разбирать.
Edit: посмотрел видео — похоже, что датчиков нет.
Я тоже делал робота на таком шасси, но я его отдельно купил, не набором.
Помню, намучался я с этими датчиками, чтобы корректировать движение по прямой. Основная проблема — очень низкое разрешение у оптических колесиков-счетчиков.
Вот так выглядел самый первый вариант, управляемый с IR-пульта, тут он тоже еще криво ездит.
Что такое «пропорциональное управление двигателями»? Двигатели управляются каждый отдельно, но даже у двух совершенно одинаковых двигателей при подаче одинакового напряжения скорость скорость вращения будет отличаться. Плюс пластиковые редукторы добавляют разницы, покрытие пола и т.п.
Вот есть у вас шуруповерт — нажали чуть чуть — вертится медленно, нажали сильнее — соответственно.
А на машинке этой — либо едет, либо не едет, если грубо — то так.
т.е. с промощью пропорционального управления можно задать любую скорость на любом моторе, компенсируя разницу между ними. машинка поедет прямо. Так же можно при попадании препятствия под колесо скомпенсировать нагрузку (ведь препятствие нас тормозит разворачивая машинку) и увеличить обороты. короче тема обширная софт писать надо, головой думать =)
А на машинке этой — либо едет, либо не едет, если грубо — то так.
Нет, не так :)
Здесь тоже можно задать любую скорость на моторе цифирками в скетче. (во всяком случае на моем мотор-шилде так можно делать, я не изучал скетч из этого обзора)
Можно ехать быстро, можно ехать медленно, можно одно колесо крутить быстрее и плавно поворачивать и т.п.
Чтобы компенсировать разницу вращения моторчиков по прямой, нужно считать время между дырками в энкодере. Но из-за того, что разрешение энкодера маленькое (дырки большие и их мало), добиться хорошей точности и плавности сложно. Мой робот по прямой в принципе едет, но прямая получается немного ломаная…
Как раз приехал 4х-колесный вариант, но только шасси с моторчиками.
Материал корпуса очень хрупкий — немного перетянул винт на креплении мотора и крепление треснуло.
Моторы крепятся ну как-то очень колхозно.
Очень мелкий «дорожный просвет», хотя порог в 5см как-то переезжает.
Колесики для энкодеров есть, а вот сами оптические датчики пришлось искать. Вот это заказал, думаю подойдет: https://aliexpress.com/item/item/HC-020K-Double-Speed-Measuring-Sensor-Module-with-Photoelectric-Encoders-Kit-top/32315960987.html
Без датчиков делать нечего: разбег параметров моторов немного удивляет, просто соединил вместе все 4 мотора — машинка едет криво — на 1м пробега от прямой уходит в сторону сантиметров на 20.
Но вот самая беда, по моему мнению, это как раз драйверы двигателей. В основном все что предлагается готовое — оно на L298 или им подобных выходами на биполярных транзисторах.Если посмотреть на ДШ L299 — то меня сразу пугает VCEsat Total Drop, т.е. напряжение которое упадет на самой микросхеме при выходном токе 1А (а это по 0,5А на каждый двигатель под нагрузкой, в случае 4WD) упадет в среднем на 2,5В. При 2х литиевых банках потери будут 2,5/8*100% = 31,25%. Т.е. треть кпд/скорости/емкости батарей просто уйдет в тепло. И это не считая сопротивления проводов или пружинок в держателе батарей.
Как вариант, нашел такую плату на L9110: https://aliexpress.com/item/item/H-bridge-Stepper-Motor-Dual-DC-Motor-Driver-Controller-Board-HG7881-For-Arduino/1893431539.html Судя по ДШ потери тут будут 0,8В.
Но также нарисовал плату под DRV8837 — по расчетам выйдет не более 0,15В на каждый мотор.
есть такое. Но там всего два и только один подходит по ширине. В принципе, в закромах еще можно найти что-то полезное, но хочется чтоб все было красиво и однородно
Это и вправду гораздо более удобное решение, чем в классическом варианте:
www.icstation.com/icstation-atmega328p-board-compatible-arduino-p-3746.html
Обзор хорош.
Плюсануть, к сожалению, не могу.
Видно, что робот тупит, но и видно, что он не тупой.
Нужно поработать над алгоритмами ))
Плюсанул обзорчик.
Раз в 4-моторном варианте используется тоже двухканальный драйвер, моторы правого и левого бортов просто параллелятся? Или как?
https://aliexpress.com/item/store/product/100pcs-lot-4WD-Robot-Smart-Car-Chassis-Kits-car-L298N-Bluetooth-multi-function-smart-Robotic-car/1078812_1992553853.html
Я вообще не вижу смысла независимо управлять передними и задними колесами на одном борту.
вот на 4х
www.dropbox.com/s/a86rq68npy6r2vd/Bluetooth%20Smart%20Car%20Manual.doc
masterclub.online/topic/15825-mashinka-na-radioupravlenii-svoimi-rukami
точно шо крези робот кил ол хуманс :)
Меня вот ролик смутил задний поворотный — от мебели что ли? =) робот инвалид получился, но все равно ЗАЧЕТ!
За такие деньги могли бы уж крепеж движков с колесами к платформе сделать получше.
Препохабное крепление, нет жесткости.
И лучше брать круглую платформу, меньше цепляется за мебель.
Дальномер можно поставить еще один, ИК от Шарп.
В паре с ультразвуковым нормально работают.
К такому роботу цепляют tp-link3020, прошитый cyberwrt и организовывают передачу видео с робота на комп.
На все другое выйдет где то 15$.
https://aliexpress.com/item/item/4WD-Robot-Smart-Car-Chassis-Kits-With-Speed-Encoder-DC-3V-5V-6V-for-Arduino-SG166/32363943439.html
Edit: посмотрел видео — похоже, что датчиков нет.
Я тоже делал робота на таком шасси, но я его отдельно купил, не набором.
Помню, намучался я с этими датчиками, чтобы корректировать движение по прямой. Основная проблема — очень низкое разрешение у оптических колесиков-счетчиков.
Вот так выглядел самый первый вариант, управляемый с IR-пульта, тут он тоже еще криво ездит.
А на машинке этой — либо едет, либо не едет, если грубо — то так.
т.е. с промощью пропорционального управления можно задать любую скорость на любом моторе, компенсируя разницу между ними. машинка поедет прямо. Так же можно при попадании препятствия под колесо скомпенсировать нагрузку (ведь препятствие нас тормозит разворачивая машинку) и увеличить обороты. короче тема обширная софт писать надо, головой думать =)
Здесь тоже можно задать любую скорость на моторе цифирками в скетче. (во всяком случае на моем мотор-шилде так можно делать, я не изучал скетч из этого обзора)
Можно ехать быстро, можно ехать медленно, можно одно колесо крутить быстрее и плавно поворачивать и т.п.
Чтобы компенсировать разницу вращения моторчиков по прямой, нужно считать время между дырками в энкодере. Но из-за того, что разрешение энкодера маленькое (дырки большие и их мало), добиться хорошей точности и плавности сложно. Мой робот по прямой в принципе едет, но прямая получается немного ломаная…
Материал корпуса очень хрупкий — немного перетянул винт на креплении мотора и крепление треснуло.
Моторы крепятся ну как-то очень колхозно.
Очень мелкий «дорожный просвет», хотя порог в 5см как-то переезжает.
Колесики для энкодеров есть, а вот сами оптические датчики пришлось искать. Вот это заказал, думаю подойдет: https://aliexpress.com/item/item/HC-020K-Double-Speed-Measuring-Sensor-Module-with-Photoelectric-Encoders-Kit-top/32315960987.html
Без датчиков делать нечего: разбег параметров моторов немного удивляет, просто соединил вместе все 4 мотора — машинка едет криво — на 1м пробега от прямой уходит в сторону сантиметров на 20.
Но вот самая беда, по моему мнению, это как раз драйверы двигателей. В основном все что предлагается готовое — оно на L298 или им подобных выходами на биполярных транзисторах.Если посмотреть на ДШ L299 — то меня сразу пугает VCEsat Total Drop, т.е. напряжение которое упадет на самой микросхеме при выходном токе 1А (а это по 0,5А на каждый двигатель под нагрузкой, в случае 4WD) упадет в среднем на 2,5В. При 2х литиевых банках потери будут 2,5/8*100% = 31,25%. Т.е. треть кпд/скорости/емкости батарей просто уйдет в тепло. И это не считая сопротивления проводов или пружинок в держателе батарей.
Как вариант, нашел такую плату на L9110: https://aliexpress.com/item/item/H-bridge-Stepper-Motor-Dual-DC-Motor-Driver-Controller-Board-HG7881-For-Arduino/1893431539.html Судя по ДШ потери тут будут 0,8В.
Но также нарисовал плату под DRV8837 — по расчетам выйдет не более 0,15В на каждый мотор.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.