Шаговый двигатель, помогите!

Epszit

✩✩✩✩✩✩✩
17 Май 2023
3
0
Заголовок темы должен отражать содержимое. Исправь или тема будет удалена
Приветствую! В общем я пытаюсь управлять стартом при помощи низкого сигнала (на оптопару идет 24 вольта, и она замыкает с землей третий пин), также есть два датчика которые хотел назначит на стоп (сигнальный провод при контакте выдает минус) - это 2 и 3 пины. Питание для датчиков разведены на плате +24, с нее же питается ардуинка через бек и сам двигатель. При подаче сигнала двигатель начинает движение нормально, но если во время движения подать еще один входной сигнал (любой) на 2 3 или 4 пин, даже если в условии на срабатывание ничего нет, двигатель начинает глючить. Подскажите пожалуйста, куда копать? Идей вообще нет, только если плату перепаивать и МК менять


1689263891185.png1689264197187.png
тест входных сигналов:
#include <Arduino.h>
#define SMOOTH_ALGORITHM
#define DRIVER_STEP_TIME 5
 
#include "GyverStepper2.h"
#include "GyverTimers.h"
 
GStepper2<STEPPER2WIRE> stepper(3200, 10, 11, 12);   // step, dir, en);   
#include <EEPROM.h>

bool d = true;
void setup() {
  Serial.begin(57600);

  stepper.autoPower(true);//отключение при достижении позиции                           
 
  pinMode(3, INPUT_PULLUP);//Сигнал с робота о начале
  pinMode(2, INPUT_PULLUP);//первый датчик D1
  pinMode(4, INPUT_PULLUP);//второй датчик D2
  pinMode(5, OUTPUT); //сигнал при движении
  pinMode(6, OUTPUT); //сигнал по достижении цели
  pinMode(7, OUTPUT); //не используется
  pinMode(A0, INPUT); //Ускорение
  pinMode(A1, INPUT); //Скорость
  stepper.setAcceleration(10000); // стандартные значения скорости и ускорения (на случай, если не сработает считывание с порта
  stepper.setMaxSpeed(10000);
}

void loop() {
  stepper.tick();
  if (!digitalRead(3) == true) {
    Serial.println("Кнопка СТАРТ нажата");
    if (d == true){
        stepper.setTarget(999999999);  // цель 
    }
    d = false; 
  }
  if (!digitalRead(2)) {
    Serial.println("Датчик1");
//    d = false;
  }
  if (!digitalRead(4)) {
    Serial.println("Датчик2");
//    d = true;
  }

}
 

te238s

★★✩✩✩✩✩
14 Ноя 2021
374
98
@Старик Похабыч,чего уж говорить. У меня,дотошного подельника перфекционизма,при наладке часто бывает так,что схема отличается от проекта ПП на компьютере,которая отличается от уже вытраленной,а в коде все назначения были сделаны вообще по неизвестной схеме.😁

двигатель начинает глючить
Забудьте эту фразу!!! Есть нормальные слова: задёргался,задымился,заклинил,замедлился.
Так что с мотором происходит?
 

Stamp

★✩✩✩✩✩✩
12 Янв 2021
61
33
@Epszit, У Бабая спросите, он на движках собаку съел. Даже не понятно, почему он темой не заинтересовался.