Двигатель от сканера как подключить
Шаговые двигатели нашли широкое применение в современной промышленности и самоделках. Их используют там, где необходимо обеспечить точность позиционирования механических узлов, не прибегая к помощи обратной связи и точным измерениям.
Сегодня хочу поговорить об особой разновидности шаговых моторов — миниатюрные шаговые двигатели, которые применяются в конструкциях оптических систем. Мы подробно рассмотрим их устройство и способы управления такими крошечными моторчиками.
Шаговый двигатель — бесколлекторный (бесщёточный) электрический двигатель с несколькими обмотками (фазами), расположенными на статоре и магнитами (часто постоянными) на роторе. Подавая напряжения на обмотки статора, мы можем фиксировать положение ротора, а подавая напряжение на обмотки последовательно можно получить перемещение ротора из одного положения в другое (шаг), причём этот шаг имеет фиксированную угловую величину.
Мы не будем останавливаться на рассмотрении каждого типа шагового двигателя. Об этом в сети написано довольно много и хорошо, например здесь.
Хочу поговорить об особой разновидности шаговых моторов — миниатюрные шаговые двигатели, которые применяются в конструкциях оптических систем. Такие малыши имеются в свободной продаже. Но в сети, особенно в русскоязычной, очень мало информации по таким моторчикам. Потому, когда мне потребовалось использовать их в своём проекте, пришлось изрядно поискать информации и провести пару экспериментов.
Результатами своих поисков и экспериментами я поделюсь в этой статье.
Мы рассмотрим вопросы управления такими маленькими моторчиками, а именно:
- драйвер L293D + микроконтроллер ATtiny44;
- драйвер TMC2208 + микроконтроллер ATtiny44;
- микроконтроллер ATtiny44 (без драйвера).
Знакомство
Сначала немного посмотрим на внешний вид нашего героя:
Он действительно очень маленький! Согласно умной книжке Петренко С.Ф.
«Пьезоэлектрические двигатели в приборостроении», меньших размеров электромагнитные моторчики создать в принципе невозможно… то есть возможно, но с уменьшением диаметра проволоки, из которой изготавливают обмотки, всё больше энергии рассеивается в виде тепла в окружающую среду, что приводит к уменьшению КПД моторчика и делает их использование нерациональным.
Из примечательного, можно отметить, что его вал очень короткий и имеет специальную проточку для установки шестерни или рычага.
Отчётливо видны две обмотки, которые даже покрыты изоляцией разного цвета. Значит, наш моторчик относится, скорее всего, к классу биполярных шаговых двигателей.
Посмотрим как он устроен:
Считаю, наше знакомство с этими моторчиками будет не полным, если мы не посмотрим, что же у него внутри. Ведь всегда интересно заглянуть внутрь механизма! Разве нет?
Собственно, ничего необычного мы не увидели. Ротор намагничен. Подшипников нигде не наблюдается, всё на втулках. Задняя втулка запрессована в корпус двигателя. Передняя ничем не закреплена. Интересно, что корпус двигателя собирался точечной сваркой. Так что переднюю крышку корпуса пришлось спиливать.
Теперь перейдём к вопросу подключения и его электрическим характеристикам.
Убедимся, что он биполярный, прозвонив обмотки. Действительно биполярный, всё как на картинке выше. Сопротивление обмоток около 26Ом, хотя продавец указал 14Ом.
В описании сказано, что напряжение питания 5В. Хотя мы то с вами знаем, что для шагового двигателя важен ток, который будут потреблять его обмотки.
Пробуем подключить.
Эксперимент №1. L293D + ATtiny44
Как мы знаем, для управления биполярным шаговым двигателем необходимо не просто прикладывать напряжения к двум обмоткам в нужной последовательности, но и изменять направление тока в этих обмотках, причём делать это независимо друг от друга. Для этого на каждую обмотку нужен собственный Н-мост. Чтобы не городить его из транзисторов, был взят готовый в лице микросхемы L293D. Ещё одно её преимущество — у микросхемы имеются специальные выводы Enable1 и Enable2, который включают и выключают каждый мост. Их можно использовать чтобы подавать ШИМ сигнал, тем самым, возможно контролировать напряжения питания каждого моста. Зачем это может понадобиться, мы увидим дальше.
Кроме того, L293D может коммутировать напряжения до 36В и выдавать до 1,2А на каждый канал, чего вполне должно хватить для питания обмоток нашего моторчика.
Управляющие входы L293D подключены к выходам OC0A и OC0B, что позволит в будущем подавать на них ШИМ сигнал.
Прошивать контроллер будем через внутрисхемный программатор (на схеме не указан).
Вот как выглядит собранная схема на макетной плате:
И вот так расположен наш подопытный:
Теперь можно приступать к экспериментам.
Рассчитаем ток, который будет течь через обмотки двигателя при подключении их к напряжению 5В:
I=U/R = 5В/26Ом = 190мА
Совсем небольшой. Интересно как долго он сможет держать такой ток и не перегреться.
Включим в цепь одной из обмоток амперметр и вольтметр, и проведём замеры соответствующих величин при подачи питания на эту обмотку через драйвер.
При падении напряжения на обмотке 2.56В амперметр показывает ток 150мА, причём хорошо заметно, как начинает падать величина силы тока в процессе нагревания обмоток. Надо отметить, что не так уж и сильно он греется.
Убедившись, что напряжение 5В для моторчика опасности не представляет, попробуем покрутить им в разные стороны. И вот теперь пару слов мы скажем про режимы работы шагового двигателя.
Об этом довольно хорошо сказано здесь.
Не будем повторяться, но вспомним, что шаговый двигатель может работать в трёх режимах:
- Полношаговый однофазный это когда одновременно напряжение подаётся только на одну фазу двигателя, ротор делает шаг, затем текущая фаза выключается и включается следующая.
- Полношаговый двухфазный это когда напряжение подаётся одновременно на две фазы мотора, при этом, ротор притягивается одновременно к двум обмоткам, что создаёт больший крутящий момент.
- Микрошаговый режим в этом случае реализуется тот же принцип, что и на полношаговом двухфазном, то есть работают одновременно две обмотки, но напряжение (и как следствие ток) распределяется между ними неравномерно. Фактически, это означает, что мы можем поставить моторчик в неограниченное количество положений (на практике, разумеется, такого сделать нельзя). Увеличивается точность позиционирования.
Исходный код программы выглядит следующим образом:
Полношаговый режим. Одна фаза
Двигатель делает 16 шагов на один оборот. Причём шаги для двух фаз имеют не одинаковую угловую величину. Не знаю с чем это связано. Может конструкция двигателя такая?
Посмотрим на максимальную частоту шагов, которую он может обеспечить в таком режиме, не пропуская их.
Минимальная задержка между шагами 2мс, значит 500 шагов/секунду. Неплохо, это 31 об/сек = 1850 об/мин.
Полношаговый режим. Две фазы
Обратите внимание, что в этом случае шаги получаются ровнее, они одинаковы по величине (во всяком случае, более одинаковы, чем в предыдущем случае).
Естественно, в этом случае под напряжением находятся одновременно две обмотки и теплоотдача возрастает. Двигатель уже через несколько секунд нагревается достаточно сильно, потому эксперимент я прекратил.
Что с максимальной частотой шагов? 500 шагов/секунду; 31 об/сек = 1875 об/мин.
Надо сказать, что для шагового двигателя он довольно шустрый. Это связано с малым количеством магнитных полюсов на роторе.
Эксперимент №2. TMC2208 + ATtiny44
TMC2208 — название микросхемы-драйвера для управления биполярными шаговыми двигателями, аналогично называется модуль на её основе, который выпускается для установки в самодельные (и не только) 3D принтеры и имеет унифицированное расположение выводов.
Много и доходчиво сказано про этот модуль вот здесь.
В интернете много написано про то, как установить его в свой 3D принтер, но нас интересует как подключить модуль к микроконтроллеру, потому давайте разбираться.
Характеристики микросхемы впечатляют (только впечатлительных людей):
- напряжение питания логической части: 3-5В;
- напряжение питания двигателя 5.5-36В;
- пиковый ток 2А;
- настройка максимального тока двигателя;
- поддержка интерфейса UART как для управления, так и для конфигурирования внутренних регистров;
- автоматическое отключение питания;
- поддержка микрошагового режима управления двигателем вплоть до 1/16 шага.
Управлять ей очень просто, по сути нужно всего два пина микроконтроллера. Один подключаем к DIR — указываем направление вращения двигателя, другой подключаем к STEP — при подаче импульса микросхема производит необходимые манипуляции с токами и напряжениями на обмотках двигателя и тот делает один шаг.
Схема подключения будет выглядеть так:
Дополнительно я использовал пин EN, чтобы отключать моторчик и длительное время не держать обмотки под напряжением.
Перед тем как всё запустить нужно произвести предварительную настройку модуля. Во-первых, выставить желаемый режим микрошага. Во-вторых, выставить желаемый максимальный ток двигателя.
С микрошагом всё просто. За это отвечают пины MS1 и MS2.
Отмечу, что микросхема не скачкообразно меняет напряжение, а делает это «плавно», но так как микросхема цифровая, то на выходе у нас не гладкий сигнал, а сигнал с маленьким шагом, если верить документации, то каждый шаг она разбивает на 256 микрошагов. Сделано это для увеличения плавности хода, снижения шумов от двигателя и по идее не должно позволять конструкции, к которой он прикручен, входить в резонанс. Короче, всё для того, чтобы 3D принтер работал тише.
Чтобы выставить ток двигателя необходимо измерить напряжения на контакте Vref, который указан на рисунке. Изменить значение напряжения можно при помощи потенциометра, установленного рядом с контактом. Напряжение на контакте будет пропорционально току двигателя, и зависимость будет иметь следующий вид:
Нашему моторчику нужно примерно 150мА, потому Vref = 0,216В. Устанавливаем…
Подразумевается, что увеличение тока микросхема обеспечивает за счёт увеличения напряжения на обмотке. Потому, нужно позаботиться о том, чтобы этого напряжения хватило. Но, полагаю, для того маленького моторчика должно хватить и 5В.
Протестируем работу моторчика с различными режимами микрошага и посмотрим что получится (пауза между микрошагами 10мс):
Можно заметить, что движения моторчика стали более плавными (по сравнению с предыдущим экспериментом), однако характерные 16 шагов всё равно наблюдаются довольно чётко. Что же… видимо это черта шаговых двигателей с ротором из постоянных магнитов.
Ещё необходимо отметить, что моторчик в этом режиме нагревается почти также сильно, как в полношаговом режиме с двумя фазами. Оно и понятно, обмотки постоянно находятся под напряжением, непрерывно происходит выделение тепла.
Полагаю, для таких моторчиков использование такого драйвера, да и вообще режимов микрошага не очень целесообразно.
Эксперимент №3. ATtiny44-драйвер
Вернёмся ненадолго к первому эксперименту и вспомним, что входы EN1 и EN2 микросхемы драйвера подключены к пинам OC0A и OC0B микроконтроллера. Это значит, что мы можем подать туда ШИМ сигнал, генерируемый при помощи таймера TIMER0 и таким образом изменять напряжение, прикладываемое к обмоткам двигателя и соответственно регулировать ток, который будет протекать через них.
Согласно даташиту на микроконтроллер ATtiny44 максимальный ток, который может выдать один пин составляет всего 40мА. Причём не указано для какого вида тока (пульсирующего или постоянного) эта характеристика. Просто она есть и она вот такая…
Надо сказать, что я более 7 лет знаком с микроконтроллерами фирмы ATMEL. И ни разу у меня не возникло желания проверить эту строчку из даташита.
Возможно, производитель просто подстраховывается и на самом деле он может выдать больше, а может это действительно максимум, что может выдать один пин.
Мы это выясним. Но сначала нужно выяснить при каком минимальном токе моторчик вообще способен вращаться.
Используя схему из первого эксперимента, подгоняем значение тока через обмотки равное 40мА. Запускаем в полношаговом режиме с двумя фазами (так как будет выше крутящий момент):
Отлично! При 40мА двигатель успешно запустился! Был также выявлено минимальное значение тока обмоток, необходимое для устойчивой работы мотора, и равно оно 30мА.
Разумеется, крутящий момент будет значительно ниже, но для нас важен сам факт того, что удалось запустить моторчик с таким маленьким энергопотреблением.
Схема подключения шагового двигателя к микроконтроллеру будет следующей:
Поскольку каждый пин микроконтроллера работает как полумост (может коммутировать вывод микросхемы либо на Vcc, либо на GND), то для управления биполярным шаговым мотором нам понадобиться 4 пина микроконтроллера.
Немного поясню как работает эта программа. Это модифицированный код из первого эксперимента. Как я говорил выше, будет использован 8 битный TIMER0 для генерирования ШИМ сигнала на выходах OC0A и OC0B. Таймер настраивается в режим FastPWM с предделителем на 8 (частота сигнала при 8МГц тактового генератора микроконтроллера составляет 3906Гц).
Чтобы изменять полярности сигналов на обмотках происходит переключение пина микроконтроллера от Vcc к GND изменением соответствующего бита в регистре PORTx и изменением коэффициента заполнения ШИМ путём записи значений в регистры OCR0A и OCR0B (значения подбирались экспериментально).
Курс схемотехники, прослушанный на первом курсе института подсказывает, что мультиметр показывает среднеквадратическое значение напряжения и тока в двигателе.
Шаговый двигатель вращается от пинов микроконтроллера без драйверов!
Но здесь мы не выходим за пределы возможностей микроконтроллера, по крайней мере, если верить тому, что пишут в документации. В таком режиме микроконтроллер и моторчик могут работать долго. Действительно, эксперимент длился 20 минут. За это время не наблюдалось ни пропуска шагов, ни сброса контроллера, ни перегрева (ни у двигателя, ни у контроллера).
Отбросим все предосторожности
Уберём из эксперимента ШИМ и будем напрямую управлять пинами микроконтроллера при помощи регистров PORTx. Посмотрим что будет с микроконтроллером после этого.
Работает… с максимальным током в 51мА… Что же… неожиданно, похоже это и есть предельный ток, который может отдать один пин микроконтроллера? Если я ошибаюсь, поправьте меня.
В любом случае, ролик с ютуба не обманул. Действительно можно управлять этим моторчиком без всяких драйверов.
Выводы
Мы подробно изучили миниатюрные биполярные шаговые моторчики, их конструкцию и способы управления ими, для использования в собственных приложениях.
1. Миниатюрный биполярный шаговый мотор с ротором из постоянных магнитов действительно миниатюрный.
Его основные особенности:
- малое количество магнитных полюсов, как следствие, малое количество шагов (у моего, напомню, всего 16);
- относительно большая скорость вращения (следствие из предыдущего пункта), в эксперименте удалось достичь 1875 об/мин;
- неудовлетворительно работает в микрошаговых режимах (не удерживается промежуточное положение ротора);
3. Использование специализированного драйвера TMC2208 является спорным вопросом, так как микрошаговый режим не поддерживается самим двигателем, хотя переходы между шагами выполняются более плавно.
4. Возможно подключение шагового двигателя непосредственно к портам микроконтроллера. Но это только в рамках эксперимента, так как крутящий момент в данном случае совсем незначителен, да и малый ток не позволяет совершать шаги с большой скоростью.
В следующий раз расскажу, для чего именно нам потребовались такие маленькие шаговые моторчики.
Берем детали от старого сканера. Чтобы построить собственный ЧПУ контроллер нужно для начала извлечь из сканера шаговый двигатель и плату управления. Здесь не приведено никаких фотографий, потому что каждый сканер выглядит по-своему, но обычно нужно просто снять стекло и вывернуть несколько винтов. Кроме двигателя и платы можно оставить еще металлические стержни, которые потребуются для тестирования шагового двигателя.
Шаг 3.
Извлекаем микросхему из платы управления Теперь нужно найти на плате управления шаговым двигателем микросхему ULN2003. Если вы не смогли обнаружить ее на своем устройстве, ULN2003 можно купить отдельно. Если она есть, ее нужно выпаять. Это потребует некоторого умения, но не так уж сложно. Сначала при помощи отсоса удалите как можно больше припоя. После этого осторожно просуньте под микросхему конец отвертки. Осторожно прикоснитесь концом паяльника к каждому выводу, продолжая при этом нажимать на отвертку.
Шаг 4.
Пайка Теперь нам нужно припаять микросхему на макетную плату. Припаяйте к плате все выводы микросхемы. На показанной здесь макетной плате имеется две шины электропитания, поэтому положительный вывод ULN2003 (смотрите схему здесь и на рисунке ниже) припаивается к одной из них, а отрицательный - к другой. Теперь, нужно соединить вывод 2 коннектора параллельного порта с выводом 1 ULN2003. Вывод 3 коннектора параллельного порта соединяется с выводом 2 ULN2003, вывод 4 - с выводом 3 ULN2003 и вывод 5 - с выводом 4 ULN2003. Теперь вывод 25 параллельного порта припаивается к отрицательной шине питания. Далее к управляющему устройству припаивается мотор. Делать это придется путем проб и ошибок. Можно просто припаять провода так, чтобы потом цеплять на них крокодилы. Еще можно использовать клеммы с винтовым креплением или что-нибудь подобное. Просто припаяйте провода к выводам 16, 15, 14 и 13 микросхемы ULN2003. Теперь припаяйте провод (желательно черный) к положительной шине питания. Управляющее устройство почти готово. Наконец, подсоедините к шинам электропитания на макетной плате цилиндрическое гнездо для питания постоянного тока. Чтобы провода не могли отломаться, их закрепляют клеем из пистолета.
Шаг 5.
Установка программного обеспечения Теперь о программном обеспечении. Единственная вещь, которая точно будет работать с вашим новым устройством - это Turbo CNC. Скачайте его здесь. Распакуйте архив и запишите на CD. Теперь, на компьютере, который вы собираетесь использовать для управления, перейдите на диск C:// и создайте в корне папку "tcnc". Затем, скопируйте файлы с CD в новую папку. Закройте все окна. Вы только что установили Turbo CNC.
Шаг 6.
Настройка программного обеспечения Перезагрузите компьютер чтобы перейти к работе в MS-DOS. В командной строке наберите "C: cncTURBOCNC". Иногда лучше использовать загрузочный диск, тогда копия TURBOCNC помещается на него и нужно набирать, соответственно "A: cncTURBOCNC". Возникнет экран, похожий на изображенный на рис. 3. Нажмите пробел. Теперь вы находитесь в главном меню программы. Нажмите F1, и при помощи клавиш со стрелками выберите меню "Configure". При помощи клавиш со стрелками выберите "number of axis". Нажмите Enter. Введите количество осей, которые будут использоваться. Поскольку у нас только один мотор, выбираем "1". Нажмите Enter чтобы продолжить. Снова нажмите F1 и в меню "Configure" выберите пункт "Configure axes", затем дважды нажмите Enter.
Появится следующий экран. Нажимайте Tab пока не перейдете к ячейке "Drive Type". При помощи стрелки вниз выберите пункт "Phase". Снова при помощи Tab выберите ячейку "Scale". Чтобы использовать калькулятор, нам нужно найти число шагов, которые двигатель делает за один оборот. Зная номер модели двигателя, можно установить на сколько градусов он поворачивается за один шаг. Чтобы найти число шагов, которые двигатель делает за один оборот, теперь нужно поделить 360 на число градусов за один шаг. Например, если мотор поворачивается за один шаг на 7,5 градусов, 360 поделить на 7,5 получится 48. Число, которое получится у вас, забейте в калькулятор шкалы (scale calculator).
Остальные настройки оставьте как есть. Нажмите OK, и скопируйте число в ячейке Scale в такую же ячейку на другом компьютере. В ячейке Acceleration установите значение 20, поскольку установленных по умолчанию 2000 слишком много для нашей системы. Начальную скорость установите равной 20, а максимальную - 175. Нажимайте Tab пока не дойдете до пункта "Last Phase". Установите в нем значение 4. Нажимайте Tab пока не дойдете до первого ряда иксов.
Скопируйте следующее в четыре первых ячейки:
1000XXXXXXXX
0100XXXXXXXX
0010XXXXXXXX
0001XXXXXXXX
Остальные ячейки оставьте без изменений. Выберите OK. Теперь вы настроили программное обеспечение.
Шаг 7.
Строим тестовый вал Следующим этапом работы будет сборка простого вала для тестовой системы. Отрежьте 3 бруска дерева и скрепите их друг с другом. Чтобы получить ровные отверстия проведите на поверхности дерева ровную линию. Просверлите на линии два отверстия. Еще 1 отверстие просверлите посередине ниже первых двух. Отсоедините бруски. Через два отверстия, что находятся на одной линии, проденьте стальные пруты. Чтобы закрепить пруты воспользуйтесь небольшими шурупами. Проденьте пруты сквозь второй брусок. На последнем бруске закрепите двигатель. Не имеет значения, как вы это сделаете, будьте изобретательны.
Чтобы закрепить двигатель, имевшийся в наличии, использовали два отрезка стержня с резьбой 1/8. Брусок с прикрепленным двигателем надевается на свободный конец стальных прутов. Снова закрепите их шурупами. Сквозь третье отверстие на первом бруске проденьте стержень с резьбой. Заверните на стержне гайку. Проденьте стержень сквозь отверстие во втором бруске. Поворачивайте стержень до тех пор, пока он не пройдет сквозь все отверстия и не дойдет до вала двигателя. Соедините вал двигателя и стержень при помощи шланга и зажимов из проволоки. На втором бруске гайка удерживается при помощи дополнительных гаек и винтов. В завершение, отрежьте брусок дерева для подставки. Привинтите ее шурупами ко второму бруску. Проверьте, установлена ли подставка ровно на поверхности. Регулировать положение подставки на поверхности можно при помощи дополнительных винтов и гаек. Так делается вал для тестовой системы.
Шаг 8.
Подсоединяем и тестируем двигатель Теперь нужно соединить двигатель с контроллером. Во-первых, соедините общий провод (смотрите документацию к двигателю) с проводом, который был припаян к положительной шине питания. Другие четыре провода соединяются путем проб и ошибок. Соедините их все, и затем меняйте порядок соединения, если ваш двигатель делает два шага вперед и один назад или что-либо подобное. Для проведения тестирования подключите 12 В 350 мА источник питания постоянного тока в цилиндрическое гнездо. Затем соедините разъем DB25 c компьютером. В TurboCNC проверьте как соединен двигатель. В результате тестирования и проверки правильного подсоединения двигателя у вас должен получиться полностью работоспособный вал. Чтобы проверить масштабирование вашего устройства, прикрепите к нему маркер и запустите тестовую программу. Измерьте получившуюся линию. Если длина линии составляет порядка 2-3 см, устройство работает правильно. В противном случае, проверьте вычисления в шаге 6. Если у вас все получилось, поздравляем, самое трудное уже позади.
Шаг 9.
Изготовление корпуса
Часть 1
Изготовление корпуса - это завершительный этап. Присоединимся к защитникам природы и сделаем его из вторсырья. Тем более, что контроллер у нас тоже не с магазинных полок. У представленного вашему вниманию образца плата имеет размер 5 на 7,5 см, поэтому корпус будет размером 7,5 на 10 на 5 см, чтобы оставить достаточно места для проводов. Из картонной коробки вырезаем стенки. Вырезаем 2 прямоугольника размером 7,5 на 10 см, еще 2 размером 5 на 10 см и еще 2 размером 7,5 на 5 см (см. рисунки). В них нужно вырезать отверстия для разъемов. Обведите контуры разъема параллельного порта на одной из 5 х 10 стенок. На этой же стенке обведите контуры цилиндрического гнезда для питания постоянного тока. Вырежьте по контурам оба отверстия. То, что вы будете делать дальше, зависит от того, припаивали ли вы к проводам двигателя разъемы. Если да, то закрепите их снаружи второй пока пустой стенки размером 5 х 10. Если нет, проткните в стенке 5 отверстий для проводов. При помощи клеевого пистолета соедините все стенки вместе (кроме верхней, см. рисунки). Корпус можно покрасить.
Шаг 10.
Изготовление корпуса
Часть 2
Теперь нужно приклеить все компоненты внутрь корпуса. Убедитесь, что на разъемы попало достаточно много клея, потому что они будут подвергаться большим нагрузкам. Чтобы коробка оставалась закрытой, нужно сделать защелки. Из пенопласта вырежьте пару ушек. Затем вырежьте пару полос и четыре небольших квадратика. Приклейте по два квадратика к каждой из полос как показано на рисунке. Приклейте ушки по обеим сторонам корпуса. Сверху коробки приклейте полосы. Этим завершается изготовление корпуса.
Шаг 11.
Возможные применения и заключение Этот контроллер можно применять как: - ЧПУ устройство - плоттер - или любую другую вещь, которой нужно точное управление движением. - добавление- Здесь приведены схема и инструкции по изготовлению контроллера с тремя осями. Чтобы настроить программное обеспечение, следуйте вышеуказанным шагам, но в поле "number of axis" введите 3.
Для настройки первой оси делайте все как было сказано выше, для второй оси тоже, но в строках первых четырех фаз введите следующее:
"XXXX1000XXXX
XXXX0100XXXX
XXXX0010XXXX
XXXX0001XXXX"
Для третьей оси в строках первых четырех фаз введите:
"XXXXXXXX1000
XXXXXXXX0100
XXXXXXXX0010
XXXXXXXX0001"
Идея подключить шаговый двигатель (ШД) к ардуино и заставить его работать появилась у меня достаточно спонтанно, когда я случайно купил два нерабочих DVD-RW привода за 100 р. на Юноне. После того как один из приводов был раскурочен, в руках у меня оказался вот такой шаговый двигатель.
Чем же отличается шаговый двигатель от обычного коллекторного или асинхронного? Если не вдаваться в детали, то задача обычного двигателя — вращать вал в определенную сторону с определенной частотой, а задача шагового двигателя — повернуть вал в определенную сторону на определенный угол и удерживать его в таком положении.
Тут ещё одно замечание. Выводов "в воздухе" быть не должно — все выводы должны быть подключены. Они имеют очень большую чувствительность к помехам.
Как видно на схеме, у двигателя две обмотки, чтобы подключить его к плате, надо определить какой вывод к какой обмотке относится. Я напаял 4 разноцветных провода поверх заводского шлейфа.
Делать нужно именно так. Сам шлейф можно обрезать или просто заизолировать, но отпаивать от выводов обмоток нельзя — выводы провалятся внутрь двигателя и он придёт в негодность.
Когда провода напаяны, приступаю к определению принадлежности выводов к той или иной обмотке. Проще всего это сделать мультиметром в режиме омметра.
В моем случае синий и зеленый провод это выводы одной обмотки, а оранжевый и белый — другой. Где начало и конец обмотки непринципиально — если двигатель пойдёт не в ту сторону, достаточно поменять местами выводы на любой обмотке.
Теперь проверяю двигатель на отсутствие замыканий между обмотками:
Тут тоже всё в порядке.
Для питания логической части собрал простейший стабилизатор на микросхеме LM7805 по такой схеме:
На выход добавил конденсатор 40 мкФ на 16 В. Стабилизатор и плату управления разместил на макетной плате.
В следующей записи опишу процесс настройки платы и программирование платы ардуино. На следующем фото небольшая превьюшка следующей части)
Разобрав старый принтер мне достался вот такой красавец:
Собрал по классической схеме удвоитель напряжения и подключил его к одной фазе двигателя:
Конденсаторов на 10 000 мкФ и лихвой хватит для роботы с моим шаговиком.
Диоды Шоттки имеют немного высший КПД нежели обычные кремниевые, потому я остановился на них. Мои диоды рассчитанные на ток 5 Ампер, так что спалить их не боюсь.
Попробуем сделать искру:
Накопившейся энергии в конденсаторах хватило даже на две.
Напряжение ушло выше 20-ти вольт, но не следует думать что выше 20 вольт это уже много, как видим энергия накопившаяся в конденсаторах несильно раскрутила компьютерный кулер. Как учили в школе, мощность (измеряется в Ваттах) это напряжение умножено на ток, ток же, небольшой, что можно будет увидеть на видео ниже:
Может от руки полученная мощность и небольшая но кулер крутится немного быстрей ежели через обычный мостовой выпрямитель, да и можно же собрать ещё один удвоитель и подключить его к второй свободной фазе и подсоединяя последовательно или параллельно можно удваивать ток или же напряжение.
Читайте также: