Не работает hx711 при подключении питания от аккамулятора

проект автокармушка на nano, проблема такая: когда питается от usb (пк) при нажатии работает шаговый двигатель nema 17, но при подключении от аккумулятора не работает, но если отпаять один провод E+ hx711 и нажать на кнопку моторчик начинается вращаться. Питание подключается к пину vin приходит 6-8 вольт, но я так же пробовал от аккумуляторов через провод микро usb к нормальному входу тоже не работает.(погуглил нашел информацию такую как что при подаче на vin просаживается сильно и из-за этого мусор передает ацп в ардуинку и не вращается мотор. могу приложить яндекс диск с фото или указать свою соц сеть для знающего чтобы объяснили мне

сейчас проверил довод один, когда нажал на кнопку при питании от аккамуляторов и решил надавить на весы ничего не произошло, но решил и оттянуть весы на вверх и моторчик начал вращаться и когда отпустил тут же прикратился, проблема в передаче данных от hx711 могу попробовать исправить кодом, но если есть предложения слушаю внимательно !!!

Это потому, дядя Фёдор, что у тебя схемы нету…

P.S.
Да и код не выложил

#include <EEPROM.h> 

#include <RTClib.h> 

#include <GyverHX711.h >

#define DOUT_PIN  7

#define SCK_PI N 8

#define KOEF 5 12.0

#define TARGET_WEIG HT 25

#define FEED_SPEE D 3000

#define BT N_PIN 2

#define STEP S_FRW 18

#define STE PS_B KW 10

 

const byte drvPins[] = {3 , 4, 5, 6};

const byte feedT ime[][2] = { 

  {7, 0}, 

  {12, 0} ,

  {17, 0 },

   { 21, 0},

};

  

RTC_DS3231 rtc;

GyverHX711 scale(DOUT_PIN, SC K_PI N, HX_GAIN64_A);

 

b yte lastFedHour = 255;

 byte lastFedMin = 255;

b ool  lastBtnState = HI GH;

 

void setup()  {

  Serial.begin(9600);

  Serial.println ("А втокормушка запуще на" );

 

  scal e.tare();

 

  rtc.beg in();

  if (rtc.lostPower()) {

    rtc.adjust(Da teTime (F(_ _DATE__), F(__TIME__)));

  }

 

  for (byte i = 0; i <  4; i++) pinMode(drvPins[i], OUTPUT);

 

   pinMode(BTN_PI N, INPUT_PULLUP);  }

 

 void  loop() {

  static uint32_t tmr = 0;

 

  if ( millis() - tmr > 500) {

    tm r = mi llis();

    DateTime now = rtc.now(); 

   

    float currentWeigh t = getWeight();

    S erial.print(now.hour());

    Se rial.print(":");

    Serial. print(now.minute());

    Serial. print("Вес: ");

    Serial.print(currentWeight);

   Serial.pr intln(" г");

   

    for (byte i = 0; i < 4; i++) {

      if (feedTime[i ][0] == now.hour() && feedTime[i][1] == now.minute()) {

        if (la stFedHour != now.hour() || lastFedMin  != now.minute()) {

          lastFed Hour = now.hour();

          lastFedMin = now.min ute();

          Serial.pr intln("ПЛАНОВОЕ КОРМЛЕНИЕ");

          topUpToTarget();

       }

        break;

       }

    }

  }

 

  bool btnState = digitalRead (BTN_PIN);

  if (btnState == LOW && lastBtnState == HIGH) {

   Seria l.prin tln("РУЧНОЕ КОРМЛЕНИЕ ПО КНОП КЕ") ;

     topUpToTarget();

 

  }

  lastBtnState = btnS tate ;

 }

 

float getWeigh t() {

  return scale.read() / KOEF;

 }

 

void t opUpToTarget() { 

  w hile (getWeight() <  TARGET_WEIGHT) {

    oneRev();

    de lay( 50); 

  }

  disableMoto r();

  Serial.println("Досыпка завершена");

}

 

 void  dis ableMotor() {

   for (byte i = 0; i < 4; i++)  digitalWrite(drvPins[i], 0);

}

 

void oneRev() { 

  static uint16_t val = 0;

  for (byte i = 0; i < S TEPS _FRW ; i++) runMotor(val++);

  for  (byte i = 0; i < STEPS_BKW; i++) runMotor(val--);

}

 

vo id runMotor(int thisStep) {

   static const byte steps[] = {0b1010, 0b0110, 0b0101, 0b1001};

  f or (byte i = 0; i < 4; i++)

    digitalWrite(drvPins[i], bitRead(steps[thisStep & 0b11], i));

 delayMicroseconds(FEED_SPEED);

}

только подаеться от 6в идо 8.46 всесть блок питания на9в 2 А который питает 2 аккамулятора и от них уже идет на ардуино вот сейчас замерил 7В на драйвеере шагового двигателя

как понял просто вес уже какой=то больше 25 грамм и моторчик просто в тупую не запускается

А где аккумулятор-то?

Во-первых, на этом форуме принято писать по-русски.
Во вторых, если есть несколько вариантов, то приводить надо все, в частности:

  1. При питании от USB.
  2. При питании от аккумулятора.
  3. С отпаянным проводом.
  4. Непонятно что, но которая “тоже не работает”.

Ну и общее замечание: если возникают проблемы предположительно связанные с питанием, следует цепи питания шунтировать конденсаторами: один электролит на 100-1000 мкФ и по одному 0.1 мкФ вблизи каждого из блоков.

Напишите четче, что от чего питается в каждом случае

Примерно так:

  • от USB

    • мотор от 2S АКБ
    • Ардуино от 5в USB в разъем
  • от АКБ

    • мотор от АКБ
    • Ардуино от того же АКБ в Vin

Правильно?

Как вариант возможно мешает как в случае с сериальным “авалеблом”. В Гайверовской библе так-же есть проверки на приход данных.