Шаговый двигатель QH4-4241

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем SashkaStudent, 13 июн 2014.

  1. SashkaStudent

    SashkaStudent Нуб

    Привет всем! Нашел сей артефакт в старом кэноновском принтере, и есть желание как-нибудь его использовать. Но раньше никаких дел с ШД не имел, и не особо представляю как правильно подключать.
    Сам ШГ имеет 4 контакта, напряжение питания 24 вольта, 8,9 ом
    Из мануала к принтеру
    172534_QH4_4241.gif
    выглядит он так: ( у меня провода белый, красный, синий, желтый)
    119570265_2_644x461_shagovyy-eldvigatel-qh4-4252-printera-smb40-b-u-fotografii.jpg

    Так же у меня имеется блок питания от этого же принтера на 24 вольта, никаких шилдов к ардуино у меня нет.
    Помогите с подключением к Arduino Uno этого ШД и написанием кода желательно без использования библиотек типа Servo, чтобы основательно понять принцип работы.
     
  2. ANV

    ANV Гуру

    Чтобы понять как работает "библиотека типа Servo" надо не свою писать, а посмотреть как другие написали: https://github.com/arduino/Arduino/blob/master/libraries/Servo/Servo.cpp

    А чтобы подключить ШД к Ардуино нужен motor shield

    Или у вас еще выдран из принтера драйвер и Вы хотите его использовать?
     
  3. SashkaStudent

    SashkaStudent Нуб

    Так точно, драйвер тоже имеется.
    Мотор шилд не хочу использовать, т.к в будущем предполагаю перенести управление с ардуино на голую atmega.
    По Вашему мнению, на сколько сложно разобраться как осуществить управление этого ШД драйвером из принтера? Или проще заказать ШД вместе со сборкой Дарлингтона?
     
  4. ANV

    ANV Гуру

    SashkaStudent нравится это.
  5. SashkaStudent

    SashkaStudent Нуб

    Спасибо за ссылку. Сложновато подключение у этого драйвера :) И некоторые моменты мне не ясны.

    Пины 22 и 21 на сколько я понимаю, это для изменения направления вращения?
    Пины 11, 4, 23 20, их назначения я не понимаю.
    Пины 25 и 18, судя по таблице истинности на 4й странице, они предназначены для регулирования выходной силы тока - в зависимости от комбинации сигнала высокого и низкого уровней на пинах 18 и 25. Но почему-то выходы с МК обозначены как PWMA и PWMB, как я понимаю речь идет о аналоговых выходах. Или это моё заблуждение?
     
  6. ANV

    ANV Гуру

    21 - сброс
    22 - установка тока
    11, 4 - это земли плечей
    20 и 23 входы для измерения тока на плече
    18 и 25 - цифровые входы, устанавливают ток в процентах от максимального (заданного пином 22). Оба предположения могут быть верны: и что просто у МК так выходы названы и что МК реально их ШИМит, чтобы получить не 4 уровня тока, а больше
     
    SashkaStudent нравится это.
  7. SashkaStudent

    SashkaStudent Нуб

    Спустя время все же добрался до шаговика. С драйвером от принтера так и не получилось разобраться, поэтому приобрел драйвер моторов l293d и попробовал собрать схему с ним.
    Подключал согласно этой схемы (правда без потенциометра, и драйвер заземлял только на блок питания)
    [​IMG]
    Для того чтобы узнать для какой катушки какие выводы соответствуют я их прозвонил.
    На ардуино загрузил этот код
    Код (Text):


    #include <Stepper.h>

    #define STEPS 100

    Stepper stepper(STEPS, 8, 9, 10, 11);

    void setup()
    {
        stepper.setSpeed(1);
    }

    void loop()
    {
     
      stepper.step(1);

    }
    ...и шаговик начал показывать признаки жизни, а именно:
    Делать полшага в одну и сразу же полшага в другую сторону.
    Предположил, что перепутал стороны обмотки, и попробовал разные комбинации. Желаемого результата добиться не получилось.
    Как я предполагаю, порядок подачи импульсов на обмотки отличается от того, который используется в библиотеке stepper. Каким способом можно узнать этот порядок? И как будет выглядеть программа?