Вопрос по питанию проекта
- Войдите на сайт для отправки комментариев
Здравствуйте, собираю свой проект робот-пылесос. В состав входит : два колеса ( с мотор редуктором, стандартные желтые), драйвер L298N, ультразвуковой датчик, сервопривод (sg90). Питаться это все должно от двух 18650, соединены параллельно через модуль разряда-заряда TP4056(тоже параллельно соединил, проверял заряжает до 4.2 и выключается обо по мере заряда каждого). Кинул через повышайку MT3608, получил общую шину 5.5 В , запитал ардуино в VIN/GND( на 5V и GND поставил конденсатор 470 электролитический) и драйвер от этой же шины.
Включаю драйвер, ардуинка загорается, движки свистят, но не крутят. Подключал от стационарного блока питания по аналогичной схеме( выход у него тоже 5.5). Все работает прекрасно кружиться, вертиться.
Я так понял, что проблема именно в питании, повышайка слишком зашумлена либо не вытягивает по току. Что посоветуете сделать? Заменить повышайку? На какую? Пробовал запитывать повышайкой только силовую нагрузку, аккумами отдельно питал ардуинку, получилась та же песня.
До 7-9 В пробовал повышать, тоже результатов нет
Очевидно нужно посчитать потребление всех элементов и подобрать повышайку соотвественную. Очевидно, что форум за тебя этого делать не будет.
В нормальном режиме, считаем что крутиться два движка, там не больше 0.5 А по паспорту, да во время пуска с пусковыми токами может быть и 1А+, но я пробовал включать только 1 двигатель в схему, та же песня
Технические характеристики, движков
Без схемы и скетча здесь будет только глум, смехуёчки и Ваши обиды на форум, на его обитателей и на жизнь в целом. Так что или выкладывайте схему и скетч, или прекращайте писать/читать тему пока ещё не до конца разочаровались в человечестве. Это я Вам «как мать говорю и как женщина»
И, кстати, не знаю, что Вы там повышали, но 5.5 на Vin не подают. Делайте пять и подавайте на 5V
Пробовал и на 5V повышать и в 5V. Тот же результат, не уверен нужен ли для этого скетч, но схемку, набросаю скину.
Что вы всё данными сыплете :) Возьмите повышайку на 5 Вольт и прямо два движка к ней и замер напряжения скажите - будет понятно всё и сразу.
Мда, видимо засиделся, я уже, что-то забыл, что так можно). Щас попробую.
#include <Ultrasonic.h> #include "ServoSmooth.h" //Шим: 3,5,6,9,10,11 #define echo 8 #define trig 7 int serv = 9; // 9 and 10 for servo int start1 = 1; Ultrasonic ultrasonic(trig, echo); ServoSmooth servo1; //Ultrasonic float dist_3[3]={0.0, 0.0, 0.0}; float k; float middle, dist, dist_filt; byte delta; unsigned long sensTimer; //end int rflag=1; int lflag=0; #define PIN_ENA 5 //Вывод управления скоростью вращение мотора №1 #define PIN_ENB 6 //Вывод управления скоростью вращение мотора №2 #define PIN_IN1 2 //Вывод управление направлением вращения мотора №1 #define PIN_IN2 3 //Вывод управление направлением вращения мотора №1 #define PIN_IN3 4 //Вывод управление направлением вращения мотора №2 #define PIN_IN4 12 //Вывод управление направлением вращения мотора №2 int power = 200; // Значение ШИМ ( или скорости вращения) void setup() { // Установка всех управляющих пинов в режим выхода pinMode(PIN_ENA, OUTPUT); pinMode(PIN_ENB, OUTPUT); pinMode(PIN_IN1, OUTPUT); pinMode(PIN_IN2, OUTPUT); pinMode(PIN_IN3, OUTPUT); pinMode(PIN_IN4, OUTPUT); // Команда остановки двум моторам digitalWrite(PIN_IN1, LOW); digitalWrite(PIN_IN2, LOW); digitalWrite(PIN_IN3, LOW); digitalWrite(PIN_IN4, LOW); servo1.attach(serv,70); servo1.smoothStart(); } //Начало функций движений void MForward(){ //delay 850 power = 200; analogWrite(PIN_ENA, power); analogWrite(PIN_ENB, power); digitalWrite(PIN_IN1, HIGH); digitalWrite(PIN_IN2, LOW); digitalWrite(PIN_IN3, HIGH); digitalWrite(PIN_IN4, LOW); } void MBack(){ //delay 850 power = 200; analogWrite(PIN_ENA, power); analogWrite(PIN_ENB, power); digitalWrite(PIN_IN1, LOW); digitalWrite(PIN_IN2, HIGH); digitalWrite(PIN_IN3, LOW); digitalWrite(PIN_IN4, HIGH); } void MRight(){ //delay 1500 power = 210; analogWrite(PIN_ENA, power); analogWrite(PIN_ENB, power-10); digitalWrite(PIN_IN3, HIGH); digitalWrite(PIN_IN4, LOW); digitalWrite(PIN_IN1, LOW); digitalWrite(PIN_IN2, HIGH); } void MLeft(){ //delay 1500 power = 210; analogWrite(PIN_ENA, power-10); analogWrite(PIN_ENB, power); digitalWrite(PIN_IN1, HIGH); digitalWrite(PIN_IN2, LOW); digitalWrite(PIN_IN3, LOW); digitalWrite(PIN_IN4, HIGH); } void Mstop(){ digitalWrite(PIN_IN1, LOW); digitalWrite(PIN_IN2, LOW); digitalWrite(PIN_IN3, LOW); digitalWrite(PIN_IN4, LOW); } // Конец функций движения void loop() { //Задержка запуска if(start1 == 1) { delay(700); start1 = 0; servo1.write(70); } //Проверка движения /* MForward(); delay(850); Mstop(); delay(500); MBack(); delay(850); Mstop(); delay(500); MLeft(); delay(1500); Mstop(); delay(500); MRight(); delay(1500); Mstop(); delay(500); Mstop(); delay(1500); */ for(int i = 0;i <= 2;++i){ dist_3[i] = ultrasonic.distanceRead(); // получить расстояние в текущую ячейку массива } dist_filt = middle_of_3(dist_3[0], dist_3[1], dist_3[2]); // фильтровать медианным фильтром из 3ёх последних измерений if(dist_filt >= 25){ MForward(); delay(50); } else { if(rflag==1){ Mstop();delay(20); MRight(); //поворот на 90 delay(1000); Mstop(); delay(50); MForward();// прямо на 1 габарит delay(850); MRight(); //поворот на 90 delay(1000); rflag=0; lflag=1; } else{ if(lflag==1){ Mstop();delay(20); MLeft(); // влево на 90 delay(1000); Mstop(); delay(50); MForward();// прямо на 1 габарит delay(850); MLeft();// влево ещё на 90 delay(1000); lflag=0; rflag=1; } } } } // медианный фильтр из 3ёх значений float middle_of_3(float a, float b, float c) { if ((a <= b) && (a <= c)) { middle = (b <= c) ? b : c; } else { if ((b <= a) && (b <= c)) { middle = (a <= c) ? a : c; } else { middle = (a <= b) ? a : b; } } return middle; }Вы можете быть уверены или не уверены в чём угодно. Но Вы здесь первый день, а я - шестой год. И я Вам абсолютно точно говорю:
Без схемы и скетча здесь будет только глум, смехуёчки и Ваши обиды на форум, на его обитателей и на жизнь в целом.
Так что, можете не выкладывать, но когда Вам захочется назвать всех здешyих обитателей мудаками, вспомните о моём предупреждении и крепко подумайте, кто повёл себя как мудак :-)
Скетч я скинул, но было бы теперь хорошо закрыть тему, если модераторы есть. При пуске 2 движков действительно проседает напряжение под нагрузкой до 3.5. Думаю проблема всё таки в преобразователе .
Память останется навсегда
Скетч я скинул, но было бы теперь хорошо закрыть тему, если модераторы есть. При пуске 2 движков действительно проседает напряжение под нагрузкой до 3.5. Думаю проблема всё таки в преобразователе .
Для твёрдости гипотезы надо замерить на аккуме когда к нему напрямую движки.
Скетч я скинул, но было бы теперь хорошо закрыть тему, если модераторы есть. При пуске 2 движков действительно проседает напряжение под нагрузкой до 3.5. Думаю проблема всё таки в преобразователе .
Для твёрдости гипотезы надо замерить на аккуме когда к нему напрямую движки.
Если напрямую, то с 4.1 до 3.56 В просадки. А вот повышайка даже если ставить 9В понижает до 3.5.
Китайские два ампера этого модуля нужно делить на два
Китайские два ампера этого модуля нужно делить на два
Да, но я нашел ещё один гвоздь, как оказалось модуль заряда-разряда, даже при небольшой нагрузке, снижает напряжение
ставьте TP4056 только на заряд, а разряд напрямую
Всем, спасибо, что ответили, завтра, перепаяю сообщу об изменениях .
В этом году заметил, что купил разные TP4056. Одни дают 2А, а вторые - нет. Под увеличилкой фоткал отличие маркировки их компонентов, так что кому будет сильно интересно, могу найти.
И из-за этого тоже подумывал, а что если "только на заряд, а разряд напрямую". Проблема только, что лично мне функция защиты от полного разряда тоже полезна. И вроде как её можно компенсировать встроенной в AVR системой BOD:
Но руки так и не дошли и пока стараюсь там где надо использовать TP4056, которые точно выдают 2А.
Защиту от разряда делает не TP4056, а маленький чип на краю платы. Кроме того продаются отдельные платы защиты типа таких - https://aliexpress.ru/item/32822496220.html
Ну и снизить напряжение модуль может только при зарядке и подаваемое на батарею, на самой батарее он ничего снизить не может. Вполне возможно, что вы коряво подключили
Защиту от разряда делает не TP4056, а маленький чип на краю платы. Кроме того продаются отдельные платы защиты типа таких - https://aliexpress.ru/item/32822496220.html
Ну и снизить напряжение модуль может только при зарядке и подаваемое на батарею, на самой батарее он ничего снизить не может. Вполне возможно, что вы коряво подключили
Вот так соединял, если снимать с Out+/- идут просадки по напряжению, напрямую к аккуму, просадок нет.
Это просто сказка какая-то ))) Зачем вы это наворотили? Зачем там вообще две платы? Вам так критична скорость зарядки? Тогда выберите другую плату зарядки, например эта - https://aliexpress.ru/item/4001185451085.html - на 3 ампера. А так вы, простите, хню наворотили
ЗЫ: если IN+ и OUT+ на плате TP4056 соединяются напрямую, то IN- и OUT- разрываются мосфетом защиты. А вы что насоединяли? ))
В общем, как я и говорил - коряво подключили, вот и имеете проблемы
Это просто сказка какая-то ))) Зачем вы это наворотили? Зачем там вообще две платы? Вам так критична скорость зарядки? Тогда выберите другую плату зарядки, например эта - https://aliexpress.ru/item/4001185451085.html - на 3 ампера. А так вы, простите, хню наворотили
ЗЫ: если IN+ и OUT+ на плате TP4056 соединяются напрямую, то IN- и OUT- разрываются мосфетом защиты. А вы что насоединяли? ))
В общем, как я и говорил - коряво подключили, вот и имеете проблемы
Понял, снимать + и - с out можно, если in+ и in - не задействованы, если задействованы, то только через мосфет
Простите, но вы таки не понимаете, что вы там наворотили. Уберите одну плату и убедитесь, что проблема ушла. Если так уж критично две платы - тупо соедините их в параллель. А сейчас у вас нагрузка подключена к OUT+ одной платы и OUT- другой. И если плюсы плат соединены, то OUT- плат разорваны. В общем, дело ваше, можете настаивать дальше, но так работать не будет ))
ЗЫ: чуть наврал - не IN- и OUT- разрываются мосфетом, а OUT- и BAT-
Е мае... а китайцы то уже серийные продают... Отстали мы.... Там за 10 тыр и ультразвуковые сенсоры, и оптические, и лидар !!!! Если это все по отдельности покупать то в полтинник не уложисся.... А он еще и умный все видит, все слышит, по вай фай управляется, вотку привозит , если попросишь.... А тут собирают.... Чудны дела твои , господи...
Е мае... а китайцы то уже серийные продают... Отстали мы.... Там за 10 тыр и ультразвуковые сенсоры, и оптические, и лидар !!!
А если купить 2 и раздербанить, можно запилить проект из соседней темы про синхронизацию машинок с объездом препятствий)) Надо закинуть туда идею