На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА "Электроника и схемотехника"
В дополнение к основным ПРАВИЛАМ ФОРУМА :

1. Не забывайте указывать полное наименование, модель,марку, изготовителя и краткие характеристики оборудования.
2. Аргументируйте свое мнение - приводите развернутое высказывание или источник информации.
3. Запрещается обсуждать, размещать запросы и ссылки на схемы и оборудование
конфликтующие с законом или несущие явную потенциальную угрозу применения.
4. Не разрешается давать советы из разряда "Выкинь это старьё" и подобные.
5.Наглая реклама и самопиарщиана подлежит отстрелу сопровождаемому соответстующим наказанием
6.Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы.
Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.
7.Запрещается создание тем, не относящиеся непосредственно к "Электронике и схемотехнике"
8.В этом разделе КАТЕГОРИЧЕСКИ запрещен мат во всех его проявлениях, а также: Ругань, оскорбления, переход на
личности.

Если Вы увидели нарушение правил раздела или форума, не поленитесь сообщить об этом модератору.
Участники форума, нарушающие правила, будут наказываться, а вносящие вклад в развитие форума - награждаться (DigiMoney и прочими радостями).


Приятного вам общения! ;)
Страницы: (3) [1] 2 3  все  ( Перейти к последнему сообщению )  
> Упровление шаговыми двигателями с компа
    Не так давно мне в руки попали два униполярных шаговых двиготеля:
    1. EM-200 / 28X31G / STH-39D018 (5 проводов)

    2. EM-201 (6 проводов, на плате надпись TH-1)

    Чел, который мне их отдал, вытащил их из принтера EPSON Stylus 300. Мне стало интерестно, как можно осуществить управление ими с компа(я пишу на С++). и вообще принципиальная схема включения.

    Help плиз, люди добрые! Буду блогадарен любой помощи, особо за ссылки на литературу.
      Вероятно, какаято программа на компе будет выдавать информацию о направлении, скорости и количестве шагов, на контроллер по управлению двигателем. Контроллер будет генерировать соответствующую последовательность импульсов тока на обмотки двигатель.
        Цитата Максим Гайгальник @
        Вероятно, какаято программа на компе будет выдавать информацию о направлении, скорости и количестве шагов, на контроллер по управлению двигателем. Контроллер будет генерировать соответствующую последовательность импульсов тока на обмотки двигатель.

        для этого достаточно 8255 и 8253..если обслуживать прерывания и на шину прям исашную втыкать - то ышо пару мелких...хотя МК может оказаться и дешевше...

        по поводу конкретного схемного решения - нуна даташиты на указанные движки и от этого потом и плясать...в принцепе ничего сложного не должно быть...хотя наверное всё же на МК будет просче и быстрее...Как правило на шаговики заводят обратную связь по току и при превышении тока, идушего через драйвер шаговика, отсекают напряжение...Хотя обычно это для большого тока заморачиваются...тут надо смотреть в доки для начала...


        с уважением
        (круглый)
        Сообщение отредактировано: kolobok0 -
          Для управления шаговыми движками нужен специальный драйвер управления(в исполнении одной микросхемы), или проще говоря кучка ключевых транзисторов для управления обмотками.
          Схемки "как, куда и что" можно надыбать здесь http://stepmotor.ru/articles/ispolz.php
            Цитата kolobok0 @
            для этого достаточно 8255 и 8253..если обслуживать прерывания и на шину прям исашную втыкать - то ышо пару мелких...хотя МК может оказаться и дешевше...

            по поводу конкретного схемного решения - нуна даташиты на указанные движки и от этого потом и плясать...

            Вопрос к kolobok0: расскажи что такое 8255 и 8253, а также даташиты?

            Добавлено
            Как узнать какой длительности должен быть импульс, чтобы произошел один шаг? И как осуществляется ревеосирование?
              Цитата ][oTT@6bl4 @
              Как узнать какой длительности должен быть импульс, чтобы произошел один шаг? И как осуществляется ревеосирование?

              Вы вышеприведенную ссылку смотрели? Или вам всю статью сюда скопировать ;)

              8255 = Programmable Peripheral Interface (PPI) или по русски 40-ножечная микросхема
              у которой есть три порта, каждый по 8 бит. Каждый порт и комбинацию портов можно программно изменять режимы(ввод-вывод) работы

              8253 = Programmable Interval Timers (PITs), - програмируемый таймер

              даташит = Техническая документация на изделие,
              как пример приатачен даташит на 8253
              Прикреплённый файлПрикреплённый файл8253.zip (112.93 Кбайт, скачиваний: 318)
                Цитата AlexJ @
                Для управления шаговыми движками нужен специальный драйвер управления(в исполнении одной микросхемы), или проще говоря кучка ключевых транзисторов для управления обмотками.

                Я делал на простых 315-ых... проще найти, проще менять если сожжёшь.

                Цитата ][oTT@6bl4 @
                1. EM-200 / 28X31G / STH-39D018 (5 проводов)
                2. EM-201 (6 проводов, на плате надпись TH-1)

                бери тестер, прозванивай все возможные комбинации концов и думай, как там обмотки раскиданы.
                Цитата ][oTT@6bl4 @
                Чел, который мне их отдал, вытащил их из принтера EPSON Stylus 300.
                можно на его плате посмотреть чего там на эти моторы идёт.

                в общем случае, шаговый мотор работает под воздействием импульсов, поочерёдно подаваемых на его обмотки в определённой последовательности, реверс осуществляется изменением направления последовательности. напрмиер, для двигателей ДШР последовательность выглядит так(три цифры, для 1й,2й,3й обмоток(фаз) соответственно):(110 011 101) (110 011 101), реверс: (011 110 101) (011 110 101)... графии были бы нагляднее, но сорри, рисовать лень.



                ребят, нафих ему прпям в шину фтыкать? человеку интересно мотор покрутить, а не контроллер паять...
                управлять ШД можно и непосредственно с компа... ЛПТ порт позволяет без проблем выврдить не менее восьми сигналов уровня ТТЛ - хватит на два мотора и ещё останется :) (хотя, Я БЫ поставил оптронную развязку. И НЕ ЗАБУДЬ, что параллельно любым электромагнитам(в т.ч. и электромоторам), ели включаешь их транзистором, НЕОБХОДИМО ставить диоды (для данных моторов - на ампер достаточно) обратной полярностью (анодом к "земле", катодом к "плюсовому" выводу мотора) - это для защиты трындистора от импульса ЭДС самоиндукции.)

                ВНИМАНИЕ! чтобы под WinNT корректно, без левых кривых и костыльных дров работать с ЛПТ-портом, в разъёме твоего устройства необходимо распаять перемычки: 1-13, 10-16, 11-17, 12-20. Это необходимо, чтобы виндозный драйвер порта считал твою железку исправным принтером и не рапортовал о её неисправности. выводы шины данных - 2...9, "земля" - 18...25
                  Цитата AlexJ @
                  8255 = Programmable Peripheral Interface (PPI) или по русски 40-ножечная микросхема

                  По русски КР580ВВ55. :D
                  Цитата AlexJ @
                  8253 = Programmable Interval Timers (PITs), - програмируемый таймер

                  КР580ВИ53. :D
                    Цитата ][oTT@6bl4 @
                    Цитата kolobok0 @
                    для этого достаточно 8255 и 8253..если обслуживать прерывания и на шину прям исашную втыкать - то ышо пару мелких...хотя МК может оказаться и дешевше...

                    по поводу конкретного схемного решения - нуна даташиты на указанные движки и от этого потом и плясать...

                    Вопрос к kolobok0: расскажи что такое 8255 и 8253, а также даташиты?

                    Добавлено
                    Как узнать какой длительности должен быть импульс, чтобы произошел один шаг? И как осуществляется ревеосирование?

                    На Ваш вопрос уже прозвучали ответы...
                    Со своей стороны решил запостить ссылку на досаточно исчерпывающую статью Редико. Думаю эту фамилию многие знают :)

                    http://radiotech.by.ru/Shematic_PCB/Avtomatika/step_motor.htm


                    с уважением
                    (круглый)
                      Цитата ][oTT@6bl4 @
                      Как узнать какой длительности должен быть импульс, чтобы произошел один шаг?

                      больше - не меньше :) многие ШД могут стоять на режиме удержания (т.е. подав импульс на обмотки, не снимаешь с них напряжения, пока не понадобится сделать следующий шаг)... Необходимая длительность импульса зависит от нагрузки на мотор, чем больше нагрузка, тем длинее нужен импульс. определить можно экспериментально, начни с 0.1сек (это ОЧЕНЬ много, зато наверняка хватит) и уменьшай, пока не появятся сбои (пропуски шагов).
                      Цитата ][oTT@6bl4 @
                      И как осуществляется ревеосирование?
                      см. мой пост выше.
                      Цитата medved_68 @
                      По русски КР580ВВ55.
                      Эээ... А зачем она ему? для управления мотором такая заморочка наф не нужна, хватит простой схемки "только выходы" на одном регистре...
                      два-три корпуса мелкой логики на селектор адреса, с выхода селектора на CS регистра, и будет вам щщастье, раз уж охота лезть в шину.
                      Цитата medved_68 @
                      КР580ВИ53.
                      а таймер в данном случае ИМХО вообще нафиг не нужен. НАМНОГО проще это реализовать на уровне драйвера.
                      Цитата kolobok0 @
                      Как правило на шаговики заводят обратную связь по току и при превышении тока, идушего через драйвер шаговика, отсекают напряжение..
                      ему не станочный привод вертеть, а просто мотрчиком поиграть! уж если делать что-то реальное на таком моторчике, то достаточно будет просто на его питание стабилизатор с защитой по току ;)

                      зы. И всё же, я НАСТОЯТЕЛЬНО рекомендую автору для начала разобраться с мотором (определить обмотки, убедиться в исправности моторчика, поочерёдно тыкая в обмотки импульсами "вручную"), а потом подключить его К ЛПТ-ПОРТУ (три оптрона развязки, три ключевых транзистора (чёнить типа 814/815 подойдёт - дёшево и сердито).) если захочется - эту схему потом можно вместо ЛПТ подключить к выходу регистра на самодельную платку... Кстати, в современных компах ужЕ нет ИСА-шины, а в PCI тыкаться намного сложнее...

                      ззы. а можно и в ком-порт, там как раз три выхода - Tx, DTR, RTS. (программная реализация управления этими выходами в нужном режиме обсуждалась не раз). так даже прикольнее - если заюзать USB2COM - переходник, например м/с PL2303 - получится контроллер, подключаемый к юсб :D
                        Цитата ][oTT@6bl4 @
                        Как узнать какой длительности должен быть импульс, чтобы произошел один шаг?

                        Конечно лучше всего найти доки на конкретный двигатель. У него есть еще много других интересных
                        параметров.
                        Вот советский двигатель ШДР-711
                        Исследования вполне можно начинать с диапазона 1[mc] - 20 [mc]
                        Сообщение отредактировано: ЫукпШ -
                          внесу свой вклад: вот Сайт Армавирского Электротехнического Завода, линк на раздел "шаговые двигатели."

                          Обратите внимание на:
                          Цитата
                          Режим работы: S1-продолжительный при частоте отработки шагов не выше максимальной приемистости или фиксированной стоянке под током

                          (Это из даташита на ДШР39). Из этого мы видим, что избыточная скорость отработки шагов может привести к перегреву двигателя... следовательно, НЕ РЕКОММЕНДУЕТСЯ разгонять двигатель до скорости, превышающей номинальную. (для данной модели это означает, что длительность шагового интервала не должна быть менее 1.4мс, а длительность импульса не должна быть менее 2.8мс. следовательно, максимальная частота вращения данного двигателя (для рассчёта использованы данные из даташита) составляет ровно 3.5 оборота в секунду, т.е. примерно 17об/мин.)

                          зы. а вот схема включения ДШР39 и временнЫе диаграммы его работы. Высока вероятность, что тот моторчик, что с 6ю выводами, окажется аналогичным.
                            Я управлял шаговыми двигателями четрыехпроводными ДШ-200 напрямую с компьютера при разработке программы управления тепловым объектом на основе нечеткой логики. Для прямого досутпа к LPT-порту в WindowsXP использовал библиотеку inpout32.dll

                            ExpandedWrap disabled
                               /* прототипы  для функций DLL  : */
                                   typedef short _stdcall (*inpfuncPtr)(short PortAddr);
                                   typedef void _stdcall (*oupfuncPtr)(short PortAddr, short datum);
                               
                              /* объявление указателей */
                                     HINSTANCE hLib;
                                     inpfuncPtr inp32;
                                     oupfuncPtr out32;
                              __fastcall TForm1::TForm1(TComponent* Owner)
                                      : TForm(Owner)
                              {
                                    hLib = LoadLibrary("inpout32.dll"); // загружаем библиотеку
                               
                                 /* проверяем правильность загрузки*/
                                      if (hLib == NULL) return ;
                                      
                                 inp32 = (inpfuncPtr) GetProcAddress(hLib, "Inp32");
                                      if (inp32 == NULL)  return ;
                                      
                                 out32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");
                                      if (out32 == NULL)  return ;
                                }
                              // вращаем двигатель в одну сторону
                              void TForm1::CloseRotate()
                               {
                                 RegPort=1;
                                 for(l=0;l<=3;l++)
                                  {
                                     out32(0x378,RegPort); // записываем 1
                                     Sleep(25); // формируем выдержку времени
                                     RegPort=RegPort<<1; // сдвигаем на разряд  влево
                                  }
                               }
                              // и в другую
                              void TForm1::OpenRotate()
                               {
                                 RegPort=8;
                                 for(l=0;l<=3;l++)
                                  {
                                    out32(0x378,RegPort); // записываем 8;
                                    Sleep(25); // формируем выдержку времени
                                    RegPort=RegPort>>1; // сдвигаем на разряд вправо
                                  }
                              }
                            Что касается пятипроводных,то о подключение и работе с ними можно поискать на Теория и работы с шаговыми двигателями
                            Сообщение отредактировано: AntiAspirant -
                              Цитата AntiAspirant @
                              Для прямого досутпа к LPT-порту в WindowsXP использовал библиотеку inpout32.dll

                              задолбали ламерюги, неумеющие пользоваться портом принтера... после монтажа в разъём перемычек, указанных мной выше, (1-13, 10-16, 11-17, 12-20), работа с портом без проблем осуществляется через стандартные API.
                              Я бы ещё понял, если бы требовалось более восьми линий и управляющие линии применялись бы в нестандартном режиме, но для вывода восьми байтов следует использовать штатные средства.
                                to, Змей.
                                Что следует использовать штатные средства - громко сказано,и про ламерюг тоже. На 9 этаж подниматься удобнее на лифте все же, чем карабкаться по вбитым в стену костылям. ;) Дело вкуса, кому что больше нравится использовать, ты поделился опытом, я тоже поделился опытом, и не стоит горячиться с теримином тут "ламерюги".
                                Сообщение отредактировано: AntiAspirant -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (3) [1] 2 3  все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0717 ]   [ 15 queries used ]   [ Generated: 15.05.24, 01:46 GMT ]