как подключить шд к ардуино уно через мотор шилд

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

  1. vitaly

    vitaly Нуб

    Попробовал остановить пальцами штифт - вообще никакой тяги - останавливается элементарно :-((
    Это так и должно быть?
    Мне так то двигатель запрогромать нужно, чтобы торт вращать туда-сюда. Может мне шаговый и не нужен?
    Не подскажете?
     
  2. fr0ster

    fr0ster Гик

    Сложно сказать, а торт какого веса? Не такой, какой в Тайне третьей планеты Коле на Альдебаран отправляла бабушка? :)

    А насчет штифта и пальцев, может вы гвозди гнете пальцами. А серьезно, крутящий момент от частоты вращения зависит и вам больше шаговик подойдет, у обычного максимальный крутящий момент на высокой частоте вращения, там без редуктора не обойтись
     
  3. vitaly

    vitaly Нуб

    Торт обычный -килограмм или два, не знаю какие они эти торты обычно :)
    Ну, значит осталось мне обвес только раздобыть, всё это прикрутить и будет ясно -менять двигатель на более мощный или можно будет программно побороться за результат...
    Пока мне дали наводку только на
    http://purelogic.ru/
    типа у них есть все нужные крепления, редукторы, шестерёнки и т.п. Но я по сайту полазал - чет там у них безумно всё дорого. Может кто подскажет, где разумные цены на гарнитуру к ШД?
     
  4. Alex19

    Alex19 Гуру

    Сам сейчас воюю с крутящим моментом.

    Оно указывается фиксировано для конкретной модели двигателя. Это количество шагов в обороте, предположим двигатель имеет шаг 1,8 градуса. В обороте 360 градусов, 360/1,8 = 200 шагов в обороте. 400 если двигатель имеет 0,9 градуса.

    Зависит от двигателя, драйвера, не нашел в переписке модели, хотя судя по пинам 4-7, очень похожие на мои шильды Амперка и DFRobot на L298.

    Если мощность двигателя позволяет, попробуйте собрать на макетке управление на базе L293D.
    У меня по сравнению с шильдами на L298, крутящий момент вырос раза в 2. Это не значит, что шильды плохие, возможно еще не разобрался как правильно ими управлять.

    Для такого решения вполне подходит.

    У них появилось представительство в Москве, не слышал, они г. Воронеж. Хотел с ними работать, но другая компания оказалась оперативнее. По ценам все относительно, просто они не для этих задач. Но удивлен, что вам дали ссылку на него. Что же у вас за двигатель?

    Для начала убедитесь в моменте, прежде чем использовать редуктор. Иногда проще и дешевле подобрать двигатель. Ну а если надумаете, то посмотрите в сторону ременного редуктора (вроде бы так называется). По креплениям не подскажу, сами делаем.

    Но найти можно, есть в магазине Амперка
    https://amperka.ru/collection/mechanics

    Если мотор стандартных размеров NEMA17, NEMA23 и т.д. то все проще. Если не стандартные, то посложнее. Вот к примеру, кронштейн для двигателя NEMA17 наберите в яндексе.
     
  5. vitaly

    vitaly Нуб

    У меня и двигатель и шилд ровно как у стартёра темы:
    Мотор https://amperka.ru/product/stepper-motor-nema17-42sth47-0406a
    Мотор шилд https://amperka.ru/product/arduino-motor-shield
    Я как увидел такое совпадение, сразу понял, что мне дико повезло :)
    В Амперке есть набор, но в нём не всё. Неужели нет специализированного магазина, в котором вся эта мелочевка продаётся в избытке? Самому делать не хватает ни материалов ни инструментов ни сноровки...
     
  6. Alex19

    Alex19 Гуру

    Если мотор этот, то крутящий у него не плохой, у самого 2 таких. И просто пальцами его не остановить.
    Но вот от этих шилдов мне так и не удалось получить такой момент.

    Вот собранный на микросхеме L293D, момент превосходный. Пока остановился в поисках, надо разобраться с прямым доступом к портам.

    Не видел таких, магазинов, чтобы все в 1 месте.
    Как идеальный вариант искать заводы, компании, людей которые могут делать механизмы из метала или печатать на 3D принтерах. Есть компании, которые печатают под заказ.
     
  7. Megakoteyka

    Megakoteyka Оракул Модератор

    Можно еще токаря найти со станком с ЧПУ - таких сейчас немало и услуги их стоят не особо дорого. Только сперва придется придумать и начертить необходимые детали, как и в случае с 3D-принтером.
     
  8. Alex19

    Alex19 Гуру

    Отставил тему, в надежде, что придут с прямым подключением L298 и L9110S и подключу без проблем.

    Пришли, не запустил с ходу. Пришлось разбираться с устройством шагового и принципом работы, а так же с особенностью L298 на шилдах.

    В итоге запустил DFRobot L298p и Amperka шилд, без проблем. Работаю превосходно, момент отличный.
    Спасибо Unixon, за это пост
    http://forum.amperka.ru/threads/как-подключить-шд-к-ардуино-уно-через-мотор-шилд.2173/page-7#post-17499
    просто когда он писал, обладал не достаточным кол-вом знаний, чтобы понять его.

    Вот код для DFRobot
    Чуть не забыл нужно установить режим PLL.
    Код (Text):

    int IN1=4;
    int IN2=5;
    int IN3=6;
    int IN4=7;
    void setup() {
    pinMode(IN1,OUTPUT);
    pinMode(IN2,OUTPUT);
    pinMode(IN3,OUTPUT);
    pinMode(IN4,OUTPUT);
    }
    void loop(){
    digitalWrite(IN1,HIGH);
    digitalWrite(IN2,LOW);
    digitalWrite(IN3,LOW);
    digitalWrite(IN4,LOW);
    delay(10);
    digitalWrite(IN1,LOW);
    digitalWrite(IN2,LOW);
    digitalWrite(IN3,LOW);
    digitalWrite(IN4,HIGH);
    delay(10);

    digitalWrite(IN1,HIGH);
    digitalWrite(IN2,HIGH);
    digitalWrite(IN3,LOW);
    digitalWrite(IN4,LOW);
    delay(10);
    digitalWrite(IN1,LOW);
    digitalWrite(IN2,LOW);
    digitalWrite(IN3,HIGH);
    digitalWrite(IN4,HIGH);
    delay(10);
    }
     
    Вот код для Amperka Motor Shield L298p
    Код (Text):

    int IN1=4;
    int IN2=5;
    int IN3=6;
    int IN4=7;

    void setup() {
    pinMode(IN1,OUTPUT);
    pinMode(IN2,OUTPUT);
    pinMode(IN3,OUTPUT);
    pinMode(IN4,OUTPUT);
    }
    void loop(){
    digitalWrite(IN1,HIGH);
    digitalWrite(IN2,HIGH);
    digitalWrite(IN3,LOW);
    digitalWrite(IN4,HIGH);
    delay(10);

    digitalWrite(IN1,LOW);
    digitalWrite(IN2,LOW);
    digitalWrite(IN3,HIGH);
    digitalWrite(IN4,HIGH);
    delay(10);

    digitalWrite(IN1,LOW);
    digitalWrite(IN2,HIGH);
    digitalWrite(IN3,LOW);
    digitalWrite(IN4,HIGH);
    delay(10);

    digitalWrite(IN1,LOW);
    digitalWrite(IN2,LOW);
    digitalWrite(IN3,HIGH);
    digitalWrite(IN4,LOW);
    delay(10);

    /*

    (7) IN1 = D4
    (8) ENA = D5
    (9) IN2 = !D4
    (13) IN3 = D7
    (14) ENB = D6
    (15) IN4 = !D7

    */
    }

     
    Сделал, так же библиотеку для DFRobot, ну как сделал, слишком громко сказано, скопировал из существующей. Поменяв лишь включение обмоток.

    Отдельная библиотека, как писал fr0ster
    Для Amperka Motor Shield L298p, постараюсь чуток позже. Устал и уже убрал, все по полочкам.

    Придет еще 1 L298p с прямым подключением буду воевать с ними. Думаю, что тот, что уже пришел, бракованный при попытке дать 1 на 4 порт, зажигает 3 и 4 порт. А при подаче с 1 по 3 порт все ок. Поэтому крутится, но не стабильно.

    И L9110S без enable, на нем даже не запустились 5V моторчики от джойстика приставки. Но может не то описание нашел.

    Отпишу, как разберусь с этими модулями. Ну и конечно, хочется A4988, не смог заказать, нету.

    Почти все платы перепробую управления шаговыми:).
     

    Вложения:

    Последнее редактирование: 13 дек 2013
  9. fr0ster

    fr0ster Гик

    В общем пошерстил тут книги.
    У меня выходит, что подключать фазы через шилд на L298 можно тремя режимами примерно так.

    Однофазный с целым шагом
    ENA - IN1 - IN2 - ENB
    H H X L
    L X H H
    H L X L
    L X L H
    Двуфазный с целым шагом
    ENA - IN1 - IN2 - ENB
    H H H H
    H L H H
    H L L H
    H H L H
    Полушаговый
    ENA - IN1 - IN2 - ENB
    H H X L
    H H H H
    L X H H
    H L H H
    H L X L
    H L L H
    L X L H
    H H L H

    Соответственно H -высокий уровень, L - низкий, X - без разницы, прерывание в любом случае обмотку обесточит. Так же для первых двух режимов цикл в 4 такта, для последнего 8.
     
  10. Alex19

    Alex19 Гуру

    Еще не все изучил по шаговым и по L298, нет времени. Но кажется каждый отдельный шил на L298 для может иметь свою схему работы. Видимо связано с тем, как реализована принципиальная схема.

    Вечером подключу шилд амперки и скину библиотеку.

    Мне кажется лучше прямое управление шаговыми двигателями через L298.
    Еще не смог проверить такой, бракованный попался, как тут
    [​IMG]


    Минус на 2 ноги больше и нужно крепление, но проще понять как управлять. У них все должно быть одинаково. С шилдами как мне кажется все не так.

    Да и греются L298 прилично при интенсивной работе, знаю по ЧПУ, на таком проще приделать нормальный радиатор.

    Мой заказ задерживается все свез другу в Москву, а вот оттуда пока забрать не удается. Там еще 1 с прямым управлением.
     
    Последнее редактирование: 13 дек 2013
  11. fr0ster

    fr0ster Гик

    Если делать сапому шилд, то на связке L297+L298, кучи проблем не будет и управление много проще.
    А шилды судя по схемам в плане управления мало чем отличаются.
    То есть ничем. Вопрос управления токами обмотки скромно обходится.
     
  12. Alex19

    Alex19 Гуру

    Согласен.
    Если делать самому, во первых интереснее, начинаешь понимать принципы это полезно:).
    Во во вторых можно сделать именно то, что надо и не плохо сэкономить.

    Но покупка готового по идее должна экономить время.

    Код для работы с DFRobot с библиотекой StepperDFRobot.

    Код (Text):

    #include <StepperDFRobot.h>

    StepperDFRobot motor = StepperDFRobot(200, 4, 5, 6, 7);

    void setup()
    {
        motor.setSpeed(50);
    }

    void loop()
    {
        motor.step(100);
        delay(1000);
    }
     
    Код для работы с StepperAmperka, в прищепке библиотека.

    Код (Text):

    #include <StepperAmperka.h>

    StepperAmperka motor = StepperAmperka(200, 4, 5, 6, 7);

    void setup()
    {
        motor.setSpeed(50);
    }

    void loop()
    {
        motor.step(100);
        delay(1000);
    }
     
    Надеюсь кому-то будет полезно.
     

    Вложения:

    acos нравится это.
  13. fr0ster

    fr0ster Гик

    Не съэкономит время, пока разберешся как пины развести и что как дернуть.
    А потом встанет вопрос а как получить максимум от мотора, по крутящему моменту или точности.
    Или вообще захочется микрошаговый режим для шаговика.
     
  14. Alex19

    Alex19 Гуру

    Согласен, но с 1 оговоркой. Если покупать решения именно для шаговых у фирм производителей с хорошим описанием и кучей примеров, то все сводится к прочтению документации. К примеру https://www.sparkfun.com/products/11876
    или других клонов A4988, но с хорошим описанием и множеством примеров.

    В этом году уже не попробую, забрать бы, что уже купил, но надеюсь в следующем.

    Максимум по крутящему моменту, это как правило не правильное переключение обмоток. Если переключение правильное то момент будет равен моменту двигателя. У меня был плохой момент именно из-за этого, 1 обмотка переключалась не верно, как следствие момент и точность.

    Опять же A4988, решает эту проблему. И всякие типы редукторы.

    Тут каждый решает для себя сам. Сам бы с удовольствием делал бы все от а до я:), но иногда за тот же отрезок времени можно заработать на эксперименты с готовыми и на жизнь.
     
  15. fr0ster

    fr0ster Гик

    Насчет момента это не про ошибки.
    Есть режим двуфазный, есть полушаговый. У первого крутящий момент больше, второй точнее.
    А редукторы это немного не то.
     
  16. Alex19

    Alex19 Гуру

    Может быть, с полушаговым режимом на ардуине еще не разобрался. Да и сравнения момента производится на глаз.

    Пока не понимаю чем полу шаги отличаются от редукторов. Хотя активно использую и то и другое:), на ЧПУ, станках и механизмах.
     
  17. fr0ster

    fr0ster Гик

    На глаз тут не поможет, момент определять.
    Да и угол поворота когда он меньше градуса на глаз не поймать разницу.

    Редуктор за счет уменьшения скорости увеличивает крутящий момент, в приложении к шаговику угол поворота та же, но скорость меньше, то есть редуктор ни на точность ни на угол поворота не влияет.
    А вот полушаговый режим разбивает шаг на полушаги и таким образом тот же угол покрывается за большее количество тактов.
     
  18. Alex19

    Alex19 Гуру

    Уф, рабочий день закончился. Порой приходится работать и в выходные:(.

    Пока нет возможности проверить с ардуиной на реальных механизмах, сейчас основные проекты пошли.

    Спасибо. По редукторам как раз понятно.

    Пробежался по доке, очень интересно посмотреть на их работу в реальных механизмах, надо проиграться на сколько падает момент.
     
  19. alepro

    alepro Нуб

    Уважаемый nailxx, а почему пины именно в этой последовательности, объяснит, пожалуйста?
     
  20. nailxx

    nailxx Официальный Нерд Администратор

    Подгон под стандартную библиотеку Stepper, чтобы обеспечить нужную последовательность включения обмоток.

    Взгляните на нашу недавнюю статью о Motor Shield. Там есть раздел о работе с шаговиками.