Есть набор Матрёшка Z (http://amperka.ru/product/matryoshka-z), есть колёсная платформа (предположительно вот эта - https://arduino.ua/prod1494--kolesnaya-polnoprivodnaya-roboplatforma), моторы в которой, судя по всему, вот с таrими характеристиками - https://d.radikal.ru/d39/1804/ea/bec4d3f3d704.jpg, модуль драйвера двигателей - L298N. Необходимо заставить это чудо ездить и выполнять команды от платы ArduinoUno (которая в перспективе также будет управлять парочкой дальномеров, сервоприводом, несколькими дополнительными датчиками). Однако это, как оказалось, крайне непростая задача. Тот, кто разработал колёсную платформу, видимо, как-то связан с международным терроризмом или это просто опасный террористический лайфхак… После двух дней тщетных попыток, после перелопачивания кучи информации на тему в интернете появляется стойкое желание убивать, и прежде всего тех сукиных детей, которые разработали L298N, которые поставили туда чёртовы клемники, которые разрабатывали сюда питание, которые не удосужились написать вменяемое пояснение что к чему для новичков. К чёрту религиозный фанитизм и идеологическую обработку! Даёшь человеку такой вот набор и всё, террорист готов! В сотый раз подключаешь новую схему питания, наблюдаешь как крутится только один ряд колёс и крутится только в одну сторону, проверяешь программу, меняешь местами управляющие провода, в стопятсотый раз с мультиметром проверяешь соединения, крутишь чертовы выскакивающие клемники, а в голове крутится одна мысль: «За это время я бы уже набадяжил целое ведро гексогена!» Короче выручайте друзья, хоть убей не пойму, как это заставить правильно работать. Судя по всему, двигателям не хватает питания и конкретно силы тока. Из-за этого вращение двигателей идёт абы как, движки то вообще не стартуют, то крутится одна сторона, крутятся отдельные двигатели (без колёс и нагрузки в принципе крутятся все). Подключал штатный держатель на 4 батарейки АА, собрал самодельный блок на 8 батареек АА, пробовал соединять кроны, по-всякому комбинировать. Наилучший результат у самодельного блока и у его последовательного соединения с штатным держателем, но сила тока при этом убывает как при коротком замыкании, да и не внушает что-то такая конструкция уверенности… что-то явно не так. L298N подключал по схеме отсюда - http://zelectro.cc/motor_shield_l298n_arduino , от регулировки скорости вращения отказался, поставив при этом на место перемычки и заизолировав концы проводов, идущие от самодельного подключения к данным пинам (за неимением проводов мама-папа, загнуты провода папа-папа, места возможных соединений заизолированы). Программа самая простая, никаких проблем там быть не может. На фото для подключения 12+V, L298N приведена к соответствующему виду, снят джампер. Собственно, как заставить сие чудо нормально работать? В инете пишут о каких-то повышающих модулях. Как это устроено? Это можно собрать вручную? Можно как-то решить проблему без подобных приблуд? Какой вариант будет наиболее эффективен? Как вообще рассчитывать питание для такой вот платформы? P.S. Прошу воздержаться от сарказма и ответов в стиле: «кури гугл, всё там есть». Отвечаю сразу – «Курил. Нет!». При попытке найти схемы устройств для преобразования силы тока выдаёт всякую ерунду, аналогично по формулам для расчёта источника питания, по таким же вопросам. А что есть, непонятно как конкретно сделать.
А таких и нет. Ибо силу тока можно повысить только лишь с понижением напряжения. Все провода надо запаивать, ибо только такое соединение надежно и его можно проверить визуально. Для дальнейшего обсуждения необходимо предоставить: схему соединения (как есть, а не из инета) и код.
На твоей мутной фотке я не вижу соединение GND модуля и GND Arduino. Один провод от GND модуля нужно подключить к GND Arduino - это сигнальная земля. Второй провод от GND модуля нужно подключить к (-) батареи - это силовая земля.
Надо бы запаять, но в принципе проверял, без колёс вполне бодро вращаются моторы, но не долго… Такое впечатление что там при включении короткое замыкание происходит, но вот почему, непонятно… Код простой. Код (C++): int ENA = 9; int ENB = 3; int IN1 = 13; int IN2 = 12; int IN3 = 11; int IN4 = 10; int i; void Forward() { Stop(); digitalWrite (IN2, HIGH); digitalWrite (IN1, LOW); digitalWrite (IN3, HIGH); digitalWrite (IN4, LOW); } void Back() { Stop(); digitalWrite (IN2, LOW); digitalWrite (IN1, HIGH); digitalWrite (IN3, LOW); digitalWrite (IN4, HIGH); } void Right() { Stop(); digitalWrite (IN2, HIGH); digitalWrite (IN1, LOW); digitalWrite (IN3, LOW); digitalWrite (IN4, HIGH); } void Left() { Stop(); digitalWrite (IN2, LOW); digitalWrite (IN1, HIGH); digitalWrite (IN3, HIGH); digitalWrite (IN4, LOW); } void Stop() { digitalWrite (IN2, LOW); digitalWrite (IN1, LOW); digitalWrite (IN3, LOW); digitalWrite (IN4, LOW); } void setup() { //pinMode (ENA, OUTPUT); pinMode (IN1, OUTPUT); pinMode (IN2, OUTPUT); //pinMode (ENB, OUTPUT); pinMode (IN3, OUTPUT); pinMode (IN4, OUTPUT); } void loop() { Forward(); delay(2000); Back(); delay(2000); Right(); delay(2000); Left(); delay(2000); Stop(); delay(2000); } Схема вроде правильная... Разматывать конструкцию что соединяет пины ардуино и платы лень. То, что болтается 2 железки которые ведут в никуда, концы которых заизолированы, как понимаю, ни на что повлиять не может. Да и я отгибал один конец, проверял уже…. Просто от батарейки моторы тянут отлично. GND это желтый провод. Он зажат в клемнике вместе с красным, тем, что идёт на минус батарейки. Два зелёных - питание от батарейки и питание на 5V от ардуино.
Вариантов два - либо МК перезагружается из-за наводок по цепи питания, либо косяки с соединениями. Исправность драйвера пока не обсуждаем.
На другом форме посоветовали проверить питание, подключить для этого вместо батареек хороший БП. Я подключил от ноутбука на 19V и 4.74А… моторы вращаются как на дрели, в правильные стороны и синхронно… Соединения не раз перепроверял… Может всё же с питанием проблема? Каким оно здесь должно быть в оптимальном варианте, чтобы не пожечь ничего? Сколько батареек нужно? Каких? Может модуль какой для этого цеплять надо?
На какое напряжение моторы, такое питание и подавать, то бишь 6в. Замерь напругу на моторах - может драйвер не открывается до конца на таком напряжении. От 19 вольт моторы не расплавились?
Я включал всего на пару секунд для проверки. Страшно, блин Точных спецификаций моторов не знаю. Вроде 6Vдля него оптимально, но пишут, что он 3 до 12. Не знаю… При подключении к разрядившемуся блоку из 8 АА картина такая – примерно 9.1 на блоке, 2.6 на клемах сжимающих контакты моторов, отсюда следует что 6.5 остается на плате L298N. Напряжение при подключении очень быстро падает… Значит при 18Vна, если на плате осталось 6.5, то на моторы, судя по всему, пришло по 12.5… Сила тока при этом доходила местами до 2.6 А, но больше держалась на 0.7-0.8. Это всё без колёс и движения. Если исходить из того, что мой источник питания просто слабый, то мне, вероятно, нужно около 12Vпри максимуме силы тока чтобы на моторы по 6Vприходило. Пишут, что 3 последовательно соединённых 18650-х аккумулятора должны помочь… но может это не так? Не оптимальный вариант? А как должен работать драйвер? Потеря 6.5Vна L298N это норма?
Если батарейки дохлые, то 6.5 воль могут проседать на самих батарейках. Просто они не в состоянии дать нужный ток. Их сколько не ставь, под нагрузкой напряжение просядет и ток будет недостаточным.