Ардуино + Моторшилд + 2 ШД + оптический сенсор =

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем NAGRIS, 4 янв 2014.

  1. NAGRIS

    NAGRIS Нуб

    [​IMG]
    Здравствуйте!

    Станок для нарезания пленки на листы.

    Бухта пленки массой около 30 кг разматывается шаговым двигателем (ШД), когда метка окажется под сенсорным датчиком ШД останавливается, срабатывает нож (второй ШД), отрезанный лист падает в лоток.

    Есть вопросы по схеме станка.

    Пока мой выбор:

    Ардуино УНО (Фридуино, ...)

    ШД 42STH47-0406A (12 В, 400 мА, момент 3,17 кг*см)
    http://amperka.ru/collection/stepper-motor/product/stepper-motor-nema17-42sth47-0406a

    Мотор шилд 3 (управление 2 ШД, 0,6 мА (1,2 А пиковое), 7-24 В)
    http://www.freeduino.ru/arduino/mshield.html

    Оптический датчик для обнаружения метки на прозрачной пленке, ширина метки около 3 мм
    http://amperka.ru/collection/photo-sensors

    Есть несколько вопросов.

    1 - Потянет ли ШД бухту 30 кг?

    (Провел эксперимент: бухту 25,7 кг диаметром 30 см провернул груз массой 1879 гр. Бухта была насажена на трубу. На станке будет на подшипниках.)

    1.1 - Если нет, то какой двигатель лучше брать (У меня следующий на очереди Nema 23 HS 5602
    http://duxe.ru/product_info.php?cPath=30_61&products_id=447&osCsid=41e565394b78ed8a8ee12ca2356312ed)

    2 - Возможно ли управлять на моторшилде 3 двумя ШД независимо?

    2.2 - Если двигатель брать мощнее, то какой моторшилд лучше брать? (У меня на очереди http://amperka.ru/collection/boards/product/arduino-motor-shield)

    2.3 - Как управлять двумя ШД на таких моторшилд?

    3 - При установке моторшилд на ардуино останется ли возможность подключить оптический сенсор + кнопки управления станком (дополнительно экран + возможно датчик температуры + датчик влажности)

    (Читал на каком-то форуме жалобу, что занимает все пины. На другом форуме читал, что колодки сквозные.)

    4 - При заклинивании двигателя, что произойдет с двигателем, с моторшилд, с ардуино?

    5 - При торможении, если бухта провернет ШД, что произойдет?

    (Читал что двигатель станет генератором тока, что при этом может сгореть?)

    6 - Какой оптический датчик лучше взять?

    7 - Нож - это две пластины, нижняя жестко закреплена верхняя ходит вверх-вниз, как ножницы. Чем лучше двигать верхний нож? (Двигатель линейного хода или катушка с толкателем.)


    Спасибо всем ответившим.
     
  2. Alex19

    Alex19 Гуру

    Начну, может более опытные подтянутся:).

    Мощность пока не умею определять.
    Не забудьте, что в ШД крутящий момент падает с ростом скорости.

    2. На руках такого нет. По документации нет, этот шилд на 2-х L293D.
    http://kiborgov.net/hardware/engines/arduino_shield_motor_v3_arduino.html, там есть ссылка на более подробное описание http://learn.adafruit.com/adafruit-motor-shield.

    2.2 Этот шилд работает, только с 1 ШД. У меня с ходу не удалось запустить его в нормальном режиме. В этой ветке разобрался, работает нормально.
    http://forum.amperka.ru/threads/как-подключить-шд-к-ардуино-уно-через-мотор-шилд.2173/

    2.3
    Код (Text):

    #include <AFMotor.h>  //Подключаем заголовочный файл библиотеки

    //Создаем объект для двигателя на 1 канале (M1 и M2)
    AF_Stepper motor(200, 1);

    //Создаем объект для двигателя на 2 канале (M3 и M4)
    AF_Stepper motor2(200, 2);

    void setup() {
      motor.setSpeed(10);  // 10 оборотов в минуту
      motor2.setSpeed(10);  // 10 оборотов в минуту
    }

    void loop() {
      // 1 мотор
      motor.step(2048, FORWARD, SINGLE);    //1 оборот
      motor.step(2048, BACKWARD, DOUBLE);    //1 оборот
      //в режиме INTERLEAVE скорость в 2 раза ниже, а шаги в
      //2 раза меньше. То же число полушагов даст 0.5 оборота
      motor.step(2048, FORWARD, INTERLEAVE); //0.5 оборота
      motor.step(1024, BACKWARD, MICROSTEP); //0.5 оборота
      motor.release();
      delay(1000);

      // 2 мотор
      motor2.step(2048, FORWARD, SINGLE);    //1 оборот
      motor2.step(2048, BACKWARD, DOUBLE);    //1 оборот
      //в режиме INTERLEAVE скорость в 2 раза ниже, а шаги в
      //2 раза меньше. То же число полушагов даст 0.5 оборота
      moto2r.step(2048, FORWARD, INTERLEAVE); //0.5 оборота
      motor2.step(1024, BACKWARD, MICROSTEP); //0.5 оборота
      motor2.release();
      delay(1000);
    }
    Код писал, на основании примера из документации.

    3.
    http://learn.adafruit.com/adafruit-motor-shield/faq
    All 6 analog input pins are available. They can also be used as digital pins (pins #14 thru 19)

    Digital pin 2, and 13 are not used.

    The following pins are in use only if the DC/Stepper noted is in use:
    Digital pin 11: DC Motor #1 / Stepper #1 (activation/speed control)
    Digital pin 3: DC Motor #2 / Stepper #1 (activation/speed control)
    Digital pin 5: DC Motor #3 / Stepper #2 (activation/speed control)
    Digital pin 6: DC Motor #4 / Stepper #2 (activation/speed control)

    The following pins are in use if any DC/steppers are used
    Digital pin 4, 7, 8 and 12 are used to drive the DC/Stepper motors via the 74HC595 serial-to-parallel latch

    The following pins are used only if that particular servo is in use:
    Digitals pin 9: Servo #1 control
    Digital pin 10: Servo #2 control

    Для примера 2.3 без использования SPI, то заняты будут 11, 3, 5, 6. Остальные свободны.

    Если двигателя будут мощнее, на мой взгляд лучше отдельные модули, для управления шаговыми, а не шилды.
     
  3. NAGRIS

    NAGRIS Нуб

    Alex19

    Спасибо.

    В статье http://www.musidora.ru/carrystepmotor.htm есть график скорость - момент.
    В описании двигателя 42STH47-0406A http://amperka.ru/collection/stepper-motor/product/stepper-motor-nema17-42sth47-0406a максимальная скорость старта = 2500 шагов / сек, 200 шагов на оборот.
    Т.е. если я правильно понял, то при таких параметрах момент близок к максимальному.

    Значит при оборотах чуть больших 12 об / сек (2500 / 200 = 12) момент будет близок к максимальному.

    Мне хватит, в крайнем случае можно программно, со временем, постепенно увеличивать скорость (бухта будет становится легче, момент можно уменьшить, а скорость увеличить).

    По FAQ - если я правильно перевел, то используются 4 пина всегда, и еще 4 если необходимо включать / управлять скоростью.

    Т.е. в моем случае будут использованы 8 пинов?
     
  4. Alex19

    Alex19 Гуру

    Не за что. Все друг другу помогаем по мере сил.

    Нет максимальный момент, в удержании, когда мотор стоит. У меня блок питания с амперметром в удержании, он потребляет 0,36A. Чем выше скорость, тем больше падает потребление, как следствие момент.

    Жаль, что нет диаграммы в описании, зависимости скорости и момента, для этого двигателя. Сегодня нет времени, завтра гляну при каких скоростях какое потребление.

    Очень интересная надпись Max slewing PPS - 2500 в описании
    http://files.amperka.ru/datasheets/LDO-42STH47-0406A.pdf. Не ужели это максимальная скорость у самого 2 таких, будет жаль если это правда.

    Нет, просто 4 пина от ардуины, если хотите использовать 2 ШД.

    The following pins are in use only if the DC/Stepper noted is in use:
    Digital pin 11: DC Motor #1 / Stepper #1 (activation/speed control)
    Digital pin 3: DC Motor #2 / Stepper #1 (activation/speed control)
    Digital pin 5: DC Motor #3 / Stepper #2 (activation/speed control)
    Digital pin 6: DC Motor #4 / Stepper #2 (activation/speed control)

    По датчикам, тут интересно самому. Когда разберетесь какой лучше использовать, отпишите, пожалуйста.
     
  5. NAGRIS

    NAGRIS Нуб

    Спасибо.

    Смотрю видео на Ютубе, выглядят двигатели какими-то маленькими.
     
  6. Alex19

    Alex19 Гуру

    Много работы, поэтому не отписал вчера.
    Не удалось мне раскрутить выше 500 об. с этим двигателем. На стандартной библиотеке, ну да ладно.

    Удачи в проекте!
     
  7. NAGRIS

    NAGRIS Нуб

    Спасибо.