Намотчик обмоток

Фрезеры, лазеры, квадрокоптеры ...
Аватара пользователя
707dm
Сообщения: 241
Зарегистрирован: 22 окт 2015, 18:14
Имя: Дмитрий
Откуда: Иркутск
Благодарил (а): 1 раз
Контактная информация:

Re: Намотчик обмоток

Непрочитанное сообщение 707dm » 11 июн 2017, 14:33

Чиффа а перемычки на микрошаг надо ставить если по умолчанию целый будем использовать?
Почему в сутках не 36 часов ;)

Аватара пользователя
707dm
Сообщения: 241
Зарегистрирован: 22 окт 2015, 18:14
Имя: Дмитрий
Откуда: Иркутск
Благодарил (а): 1 раз
Контактная информация:

Re: Намотчик обмоток

Непрочитанное сообщение 707dm » 11 июн 2017, 14:39

и еще вопрос концевики на размыкание или на замыкание припаять?
Почему в сутках не 36 часов ;)

Аватара пользователя
Чиффа
Сообщения: 378
Зарегистрирован: 09 июн 2016, 08:04
Имя: Сергей
Откуда: Арзамас
Благодарил (а): 14 раз
Поблагодарили: 31 раз

Re: Намотчик обмоток

Непрочитанное сообщение Чиффа » 11 июн 2017, 14:48

мой опыт подсказывает, что целый шаг дает меньшую мощность, чем дробленый. Целый шаг мощнее, но поскольку он перемещает сразу резко на бОльшее расстояние, он хуже справляется с инерционностью тяжелых вещей. Короче, микрошаг подбирать по месту))

концевики в ненажатом состоянии должны быть разомкнуты - нормальноразомкнутые
DIY принтер, 28х23х18, директ, прямой привод осей.

Аватара пользователя
707dm
Сообщения: 241
Зарегистрирован: 22 окт 2015, 18:14
Имя: Дмитрий
Откуда: Иркутск
Благодарил (а): 1 раз
Контактная информация:

Re: Намотчик обмоток

Непрочитанное сообщение 707dm » 11 июн 2017, 15:44

Короче перетыкал кучку драйверов(не знаю какие точно живые),потом снял с принтера заведомо рабочий,вращение не пошло,ток крутил концевики нажимал,у как будто стоит на удержании,х не реагирует вообще,концевики воткнул в х Мин и мах.
Почему в сутках не 36 часов ;)

Аватара пользователя
707dm
Сообщения: 241
Зарегистрирован: 22 окт 2015, 18:14
Имя: Дмитрий
Откуда: Иркутск
Благодарил (а): 1 раз
Контактная информация:

Re: Намотчик обмоток

Непрочитанное сообщение 707dm » 11 июн 2017, 15:52

Перечитал,концевики переткнул результат тот же
Почему в сутках не 36 часов ;)

Аватара пользователя
707dm
Сообщения: 241
Зарегистрирован: 22 окт 2015, 18:14
Имя: Дмитрий
Откуда: Иркутск
Благодарил (а): 1 раз
Контактная информация:

Re: Намотчик обмоток

Непрочитанное сообщение 707dm » 11 июн 2017, 16:00

Х пошёл,у стоит не реагирует
Вложения
1497185545763893924183.jpg
Почему в сутках не 36 часов ;)

Аватара пользователя
Чиффа
Сообщения: 378
Зарегистрирован: 09 июн 2016, 08:04
Имя: Сергей
Откуда: Арзамас
Благодарил (а): 14 раз
Поблагодарили: 31 раз

Re: Намотчик обмоток

Непрочитанное сообщение Чиффа » 11 июн 2017, 16:01

Хм. Ну, моторы на удержании - уже хорошо. А если переменную Dt менять? До 10 поднять, работать будет?
DIY принтер, 28х23х18, директ, прямой привод осей.

Аватара пользователя
707dm
Сообщения: 241
Зарегистрирован: 22 окт 2015, 18:14
Имя: Дмитрий
Откуда: Иркутск
Благодарил (а): 1 раз
Контактная информация:

Re: Намотчик обмоток

Непрочитанное сообщение 707dm » 11 июн 2017, 16:02

а как по ком порту управлять?
Почему в сутках не 36 часов ;)

Аватара пользователя
Чиффа
Сообщения: 378
Зарегистрирован: 09 июн 2016, 08:04
Имя: Сергей
Откуда: Арзамас
Благодарил (а): 14 раз
Поблагодарили: 31 раз

Re: Намотчик обмоток

Непрочитанное сообщение Чиффа » 11 июн 2017, 16:04

Y делает движение через Otn_XY шагов Х двигателя. Уменьш Otn_XY до 10, и уменьш Interval до 80-40
Сча ком порт прикручу.
DIY принтер, 28х23х18, директ, прямой привод осей.

Аватара пользователя
707dm
Сообщения: 241
Зарегистрирован: 22 окт 2015, 18:14
Имя: Дмитрий
Откуда: Иркутск
Благодарил (а): 1 раз
Контактная информация:

Re: Намотчик обмоток

Непрочитанное сообщение 707dm » 11 июн 2017, 16:05

а как по ком порту управлять?
Почему в сутках не 36 часов ;)

Аватара пользователя
Чиффа
Сообщения: 378
Зарегистрирован: 09 июн 2016, 08:04
Имя: Сергей
Откуда: Арзамас
Благодарил (а): 14 раз
Поблагодарили: 31 раз

Re: Намотчик обмоток

Непрочитанное сообщение Чиффа » 11 июн 2017, 16:16

Спойлер

Код: Выделить всё

// Обозначаем пины:
byte  XSTP_pin = A0;   // шаг двигателя катушки (X на рампсе) (нога)
byte  XDIR_pin = A1;   // направление двигателя катушки (нога)
byte  X_EN_pin = A2;   // включение двигателя катушки (нога)

byte  YSTP_pin = A6;   // шаг двигателя каретки (Y на рампсе) (нога)
byte  YDIR_pin = A7;   // направление двигателя каретки (нога)
byte  Y_EN_pin = A8;   // включение двигателя каретки (нога)
// Концевики: (концевики нормально разомкнутые, подключены к +5В одним выходом, другим на Мегу)
byte  Ymin_pin = 14;  // на рампсе Ymin (нога)
byte  Ymax_pin = 18;  // на рампсе Zmin (нога)
//можно использовать только 1 концевик, нам же пофиг на направление движения каретки ;)

////////////////////////
//Константы и прочие полезности:
boolean XDIR = 0, YDIR = 0;           // направление движения моторов, начальные значения
unsigned long Time_mem;
unsigned long Time_now;
unsigned int X_count = 0;         // счетчик шагов Катушки
unsigned int Y_count = 0;         // счетчик шагов Каретки
unsigned long Interval = 70;     // время на итерацию, мСек. Собссно чем больше, тем медденнее идет намотка
boolean flag_HOME = 0;            // если равен 1, то едем домой Кареткой. Не забыть при выставлении этого флага указать направление движения YDIR!!!
boolean flag_WORK = 0;            // если равен 1, то пошла намотка
byte Dt = 5;                     // время от поднятия ног XSTP или YSTP до их опускания, мСек
unsigned int Otn_XY = 50;        // через сколько шагов катушки будет сделан шаг каретки. Можно подобрать опытным путем, но лучше сначала рассчитать.
byte i;                          // стандартный индекс цикла

byte com = 0;                     // что мы приняли с com-порта

boolean LED = 0;                  // отладка



void setup() {

  ////////////////////////
  //Конфигурируем ноги МК:
  pinMode(13, OUTPUT);            // отладка

  pinMode(XSTP_pin, OUTPUT);
  pinMode(XDIR_pin, OUTPUT);
  pinMode(X_EN_pin, OUTPUT);
  pinMode(YSTP_pin, OUTPUT);
  pinMode(YDIR_pin, OUTPUT);
  pinMode(Y_EN_pin, OUTPUT);
  pinMode(Ymin_pin, INPUT);
  digitalWrite(Ymin_pin, HIGH);
  pinMode(Ymax_pin, INPUT);
  digitalWrite(Ymax_pin, HIGH);


  // Отладка по COM-порту
  Serial.begin(115200);  // С мегой не работал, у нее портов много, так что пока пробуем 1й


  // Включаем двигатели:
  digitalWrite(X_EN_pin, LOW);        // вроде двигатели включаются подтяжкой к земле ???
  digitalWrite(Y_EN_pin, LOW);        //
  digitalWrite(XDIR_pin, XDIR);
  digitalWrite(YDIR_pin, YDIR);
}

void loop() {
  // Смотрим сколько прошло времени
  Time_now = millis();
  if (Time_now - Time_mem >= Interval) {     // Если прошло достаточно времени, то:
    Time_mem = Time_now;                     // обнуляем время сразу, а то забудем!
    if ((flag_WORK) && (flag_HOME)) {        // если мы одновременно паркуемся и мотаем
      flag_WORK = 0;                         // обнуляем оба флага
      flag_HOME = 0;                         //
    }
    if (digitalRead(Ymin_pin) == 0) {        // Смотрим не сработал ли концевик
      flag_HOME = 0;                         // если да, то прекращаем ехать домой
      YDIR = !YDIR;                          // меняем нарпавление движения каретки на случай, если мы наматывали
      for (i = 0; i < 5; i++) {
        digitalWrite(YSTP_pin, HIGH);        // тут мы отъезжаем от сработавшего концевика на 5 шагов
        delay(Dt);                           // чтобы он разомкнулся,
        digitalWrite(YSTP_pin, LOW);         // а то мы так и будем сюда заходить
        delay(Dt);
      }


      //  digitalWrite(13, LED);              // отладка
      //  LED = !LED;                         // отладка
    }
    if (digitalRead(Ymax_pin) == 0) {        // Смотрим не сработал ли концевик
      flag_HOME = 0;                         // если да, то прекращаем ехать домой
      YDIR = !YDIR;                          // меняем нарпавление движения каретки на случай, если мы наматывали
      for (i = 0; i < 5; i++) {
        digitalWrite(YSTP_pin, HIGH);        // тут мы отъезжаем от сработавшего концевика на 5 шагов
        delay(Dt);                           // чтобы он разомкнулся,
        digitalWrite(YSTP_pin, LOW);         // а то мы так и будем сюда заходить
        delay(Dt);
      }
      //   digitalWrite(13, LED);              // отладка
      //   LED = !LED;                         // отладка
    }

    if (flag_HOME == 1) {                    // если мы едем домой, то
      //digitalWrite(YDIR_pin, YDIR);            // задаем направление движения
      digitalWrite(YSTP_pin, HIGH);          // дрыгаем ногой
      delay(Dt);                             // по поводу задержки я хз сколько она должна быть,
      digitalWrite(YSTP_pin, LOW);           // и вообще, по поводу реализации с delay я в сомненьях, но работать должно :)
    }
    if (flag_WORK == 1) {                    // если мы всетаки наматываем катушку
      digitalWrite(XSTP_pin, HIGH);          // дрыгаем ногой
      delay(Dt);                             //
      digitalWrite(XSTP_pin, LOW);           //
      X_count++;
      if (X_count == Otn_XY) {               // если пора двигать каретку, то
        X_count = 0;                         // обнуляем счетчик шагов катушки
        digitalWrite(YSTP_pin, HIGH);        // двигаем каретку
        delay(Dt);                           //
        digitalWrite(YSTP_pin, LOW);         //
      }
      //   digitalWrite(13, LED);              // отладка
      //   LED = !LED;                         // отладка
    }




    if (Serial.available() > 0) {
      com = Serial.read();                      // читаем com-порт.
      if (com - 48 == 1) {
        flag_HOME = 1; //Если пришла 1, то мы едем домой!!!
        flag_WORK = 0;
      }
      if (com - 48 == 0) {
        flag_HOME = 0; //Если пришел 0, то все обнуляем!!!
        flag_WORK = 0;
      }
      if (com - 48 == 2) {
        flag_HOME = 0; //Если пришла 2, то все начинаем мотать!!!
        flag_WORK = 1;
      }

    }
  }

}
При включении ничего никуда не едет.
Подключаемся по монитору порта, меняем скорость на 115200 бод,
отправляем 1 - начинает парковаться,
отправляем 2 - начинает мотать катушку
отправляем 0 - останавливаем все
если включить и намотку и парковку одновременно, то все остановится.
DIY принтер, 28х23х18, директ, прямой привод осей.

Аватара пользователя
707dm
Сообщения: 241
Зарегистрирован: 22 окт 2015, 18:14
Имя: Дмитрий
Откуда: Иркутск
Благодарил (а): 1 раз
Контактная информация:

Re: Намотчик обмоток

Непрочитанное сообщение 707dm » 11 июн 2017, 16:41

может параметры кома тоже надо поправить ?
Вложения
Снимок.JPG
Снимок.JPG (40.94 КБ) 1696 просмотров
Почему в сутках не 36 часов ;)

Аватара пользователя
707dm
Сообщения: 241
Зарегистрирован: 22 окт 2015, 18:14
Имя: Дмитрий
Откуда: Иркутск
Благодарил (а): 1 раз
Контактная информация:

Re: Намотчик обмоток

Непрочитанное сообщение 707dm » 11 июн 2017, 16:46

или тут что не так?
Вложения
Снимок.JPG
Снимок.JPG (29.06 КБ) 1696 просмотров
Почему в сутках не 36 часов ;)

Аватара пользователя
Lenivo
Сообщения: 1807
Зарегистрирован: 25 май 2017, 12:46
Имя: Александр
Благодарил (а): 92 раза
Поблагодарили: 179 раз

Re: Намотчик обмоток

Непрочитанное сообщение Lenivo » 11 июн 2017, 16:47

Не в обиду будет сказано - мелкие проекты лучше делать самому, чем разбираться в сыром чужом софте.
Чужой софт можно использовать за основу.

Запустите через рампс - движок Х, чтоб просто крутил, затем запустите движок У чтобы тоже просто крутил. Убедитесь что электрика и электроника в порядке (то есть подберите драйверы рабочие и работающие кнопки.) А после этого уже приступайте к отладке программы. НЕ НАДО перепрыгивать через этапы. Ни к чему хорошему это не ведёт. ВЫ должны быть уверены , что с электрикой у вас всё в порядке, а только потом искать глюки в программе.

Аватара пользователя
707dm
Сообщения: 241
Зарегистрирован: 22 окт 2015, 18:14
Имя: Дмитрий
Откуда: Иркутск
Благодарил (а): 1 раз
Контактная информация:

Re: Намотчик обмоток

Непрочитанное сообщение 707dm » 11 июн 2017, 16:54

шд местами менял,драйвера тоже,работает 1 канал у,в чем косяк сам буду месяц искать.
Почему в сутках не 36 часов ;)

Ответить

Вернуться в «Другие наши интересные проекты»

Яндекс.Метрика