Линейное перемещение и механизм сдвига

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем МихаилП, 11 фев 2016.

  1. МихаилП

    МихаилП Нерд

    Подскажите пожалуцста, где почитать про написания кода. Интересует
    Как задать определённое количество шагов от нажатия кнопки.
     
  2. MXXX

    MXXX Гик

  3. МихаилП

    МихаилП Нерд

    Спасибо. В том то и дело что много. В основном Вода. Хочется точно и проще.
     
  4. Onkel

    Onkel Гуру

    Библия для продвинутого ардуинщика - даташит и Керниган/Риччи. Ни там, ни там воды нет.
    Для чтения технической литературы по мк нужен некий уровень, так что или "точно", или "никак" но "проще".
     
  5. МихаилП

    МихаилП Нерд

    значит начну с простейшего. По скетчу, что предложили попробовать ранее, возник вопрос.
    Как управлять шагами, там указанно 2048 шагов за 1 оборот. Если установлю 512 шагов , мотор будет делать четверть оборота или же он будет делать полный оборот за 512 шагов?
     
    Последнее редактирование: 14 фев 2016
  6. Onkel

    Onkel Гуру

    к -во шагов на оборот - это свойство мотора, и оно не меняется. Вы должны выставить число шагов на оборот по мотору.
     
  7. МихаилП

    МихаилП Нерд

    так так... что то я снова запутался:( какая функция отвечает за это?
     
  8. Onkel

    Onkel Гуру

    число шагов на оборот - это железное свойство мотора.
     
  9. Onkel

    Onkel Гуру

    какой у вас драйвер шд?
     
  10. МихаилП

    МихаилП Нерд

    Драйвер UNL2003. Один оборот это для меня много. С моим механизмом, ШД выдвигает шпиндель на 3-4 мм, ещё не замерял. Но мне надо на 1мм, значит попробовать четверть 1 оборота. Как это сделать ещё не разобрался.
     
  11. MXXX

    MXXX Гик

    Что вы в трех соснах то запутались ) Посмотрите внимательно пример, который я Вам скидывал.
    Код (C++):
    myStepper.step(stepsPerRevolution); // Оборот в одну сторону
    Эта команда поворачивает вал мотора на нужное количество шагов.
    Код (C++):
    myStepper.step(2048); //Повернуть вал на 2048 шагов по часовой стрелке, что равно 1 полному обороту для 28BYJ-48.
    myStepper.step(1024); //Повернуть вал  по часовой стрелке на 180 градусов
    myStepper.step(-512); //Повернуть вал против часовой стрелки на 90 градусов
     
    и.т.д.
    Вам нужно сначала изучить основы любого языка программирования.
     
  12. МихаилП

    МихаилП Нерд

    Я менял на 512, но мотор некрутил.
     
  13. МихаилП

    МихаилП Нерд

    Основы C++ ?
     
  14. MXXX

    MXXX Гик

    Ну так Вы меняли то где? Инициализации мотора что ли? Там трогать нельзя! Там устанавливаются параметры мотора
    Код (C++):
    #include <Stepper.h>

    const int IN1 = 30; //Указать PIN подключенный к N1 драйвера
    const int IN2 = 32;//Указать PIN подключенный к N2 драйвера
    const int IN3 = 34;//Указать PIN подключенный к N3 драйвера
    const int IN4 = 36;//Указать PIN подключенный к N4 драйвера

    // ЗДЕСЬ НЕ ТРОГАТЬ!!!
    const int stepsPerRevolution = 2048; // шагов за один оборот

    // Последовательность управления должна быть именно такая
    // 1-3-2-4. Если задать 1-2-3-4 Будет крутить максимум до 8 оборотов,
    // слабо и с вибрацией
    Stepper myStepper(stepsPerRevolution, IN1, IN3, IN2, IN4);

    // Эта функция сработает 1 раз в момент загрузки контроллера
    void setup() {
      myStepper.setSpeed(16);
    }

    // Эта функция будет циклично повторяться до бесконечности
    void loop() {
      myStepper.step(2048); //Повернуть вал на 2048 шагов по часовой стрелке, что равно 1 полному обороту для 28BYJ-48.
      delay(1000); //Задержка 1 сек.
      myStepper.step(1024); //Повернуть вал  по часовой стрелке на 180 градусов
      delay(1000); //Задержка 1 сек.
      myStepper.step(-512); //Повернуть вал против часовой стрелки на 90 градусов
      delay(1000); //Задержка 1 сек.
    }
     
  15. MXXX

    MXXX Гик

    Любой язык. Вам основы программирования нужно выучить. Принципы одинаковы в любом языке
     
  16. МихаилП

    МихаилП Нерд

    Спасибо за скетч, буду разбираться ☺️ Я все переменял в коде... А оказалось не то. Значит надо новое определение для мотора написать.(новый код)
     
  17. Onkel

    Onkel Гуру

    любую книжку по ардуино берете и вкуриваете. Книжку лучше иностранную, если не знаете языков - то переводные есть. А то наши авторы стали любить утолщать свои книжки за счет фотографий пассатиж и ножниц.
     
  18. МихаилП

    МихаилП Нерд

    Спасибо за советы)) поищу книженцию
     
  19. МихаилП

    МихаилП Нерд

    книгу не нашел пока(
    поэтому прошу помочь мне подключить энкодер к ШД. Ищу код что бы попробовать разобраться. Помогите пожалуйста.
     
  20. MXXX

    MXXX Гик

    Михаил, Вам сколько лет? Такое ощущение, что Вы прямо с занятий по робототехнике школьного кружка пишите ))) Ищите книги и читайте. Если хотите чтобы за Вас писали код, то для этого есть соответствующая ветка форума
    http://forum.amperka.ru/forums/Закажу-проект.22/