Как сделать драйвер для шагового двигателя из принтера + видео обзор

Драйвер для шагового двигателя из принтера

Простой драйвер для шагового двигателя

Порой встает вопрос о том, как бы управлять шаговым двигателем. Как правило, это нужно осуществить, при проектировании какой-нибудь самоделки или более серьезного проекта, например станка с числовым программным управлением. Естественно, такое управление можно купить. Но, драйвер для шагового двигателя из принтера также можно сделать. Это будет самый простой вариант, который наглядно продемонстрирует возможность управлять этим устройством.

Понадобится старый принтер или сканер, можно неработающий. Оттуда, собственно, и будет извлечен шаговый двигатель, если такового нет в наличии. Также из платы потребуется выпаять управляющую микросхему под названием ULN2003. Она может быть и другая, в разной технике стоят различные микросхемы. Подойдут её аналоги: TD62003, отечественная К1109КТ22, более популярная MC1413, L203 и SG2003.

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

Схема подключения проста.

Потребуется приобрести разъем DB-25, который будет подключаться к порту компьютера, для управления двигателем, в случае, если конструируется ЧПУ станок. Диапазоны входного напряжения указаны для конкретно этой микросхемы. Остальные микросхемы, возможно, потребуют отличного от этого напряжения питания.
В качестве источника питания отлично подойдет компьютерный блок питания. В принципе, подойдет любое зарядное или БП, напряжением от 12В до 24В, с током от 350мА.
Стоит отметить, что желательно обладать технической документацией к модели используемого двигателя, что упростит его подключение к драйверу.

Сам драйвер выглядит так:

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

Если конструкция делается для станка с ЧПУ, то на компьютер потребуется скачать программу Turbo CNC и настроить её под свои нужды.

Мнения читателей

Нет комментариев. Ваш комментарий будет первый.

Вы можете оставить свой комментарий, мнение или вопрос по приведенному выше материалу:

Источник

3d-принтер и ЧПУ станок в одном устройстве своими руками

Блог для тех, у кого чешутся руки и есть желание заниматься цифровой техникой и не только цифровой и не только техникой.

Страницы

воскресенье, 1 июня 2014 г.

3. Изготовление драйвера шагового двигателя (для экспериментов).

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

В качестве силовых ключей я применил транзисторы IRF634B максимальное напряжение исток-сток 250В, ток стока 8,1А, этого более чем достаточно для моего случая. Со схемой более менее разобрались будем рисовать печатную плату. Рисовал в встроенном в Windows редакторе Paint, скажу это не самая лучшая затея, в следующий раз буду использовать какой-нибудь специализированный и простой редактор печатных плат. Ниже представлен рисунок готовой печатной платы.

Далее это изображение в зеркальном отражении распечатываем на бумаге при помощи лазерного принтера. Яркость печати лучше всего сделать максимальной, а бумагу нужно использовать не обычную офисную а глянцевую, подойдут обычные глянцевые журналы. Берем лист и печатаем поверх имеющегося изображения. Далее получившуюся картинку прикладываем к заранее подготовленному куску фольгированного стеклотекстолита и хорошенько проглаживаем утюгом в течении 20 минут. Утюг нужно нагреть до максимальной температуры.
Как подготовить текстолит? Во первых его нужно отрезать по размеру изображения печатной платы (при помощи ножниц по металлу или ножовкой по металлу), во вторых зашкурить края мелкой наждачной бумагой, чтобы не осталось заусенцев. Также необходимо пройтись наждачкой по поверхности фольги, снять окислы, фольга приобретет ровный красноватый оттенок. Далее поверхность обработанную наждачной бумагой нужно протереть ваткой смоченной в растворитель (используйте 646 растворитель он меньше воняет).
После прогрева утюгом, тонер с бумаги запекается на поверхность фольгированного стеклотекстолита в виде изображения контактных дорожек. После этой операции плату с бумагой необходимо остудить до комнатной температуры и положить в ванночку с водой примерно на 30 минут. За это время бумага раскиснет и ее нужно аккуратно скатать подушечками пальцев с поверхности текстолита. На поверхности останутся ровные черные следы в виде контактных дорожек. Если у вас не получилось перенести изображение с бумаги и у вас есть огрехи, тогда следует смыть тонер с поверхности текстолита растворителем и повторить все заново. У меня все получилось с первого раза.
После получения качественного изображения дорожек, необходимо вытравить лишнюю медь, для этого нам понадобится травильный раствор который мы приготовим сами. Раньше для травления печатных плат я использовал медный купорос и обычную поваренную соль в соотношении на 0,5 литра горячей воды по 2 столовые ложки с горкой медного купороса и поваренной соли. Все это тщательно размешивалось в воде и раствор готов. Но в этот раз попробовал иной рецепт, очень дешевый и доступный.
Рекомендуемый способ приготовления травильного раствора:
В 100 мл аптечной 3% перекиси водорода растворяется 30 г лимонной кислоты и 2 чайные ложки поваренной соли. Этого раствора должно хватить для травления площади 100 см2. Соль при подготовке раствора можно не жалеть. Так как она играет роль катализатора и в процессе травления практически не расходуется.
После приготовления раствора, печатную плату необходимо опустить в емкость с раствором и наблюдать за процессом травления, тут главное не передержать. Раствор съест непокрытую тонером поверхность меди, как только это произойдет плату необходимо достать и промыть холодной водой, далее ее нужно просушить и снять с поверхности дорожек тонер при помощи ватки и растворителя. Если в вашей плате предусмотрены отверстия для крепления радиодеталей или крепежа, самое время просверлить их. Я опустил эту операцию по причине того что это всего лишь макетный драйвер шагового двигателя, предназначенный для освоения новых для меня технологий.
Приступаем к лужению дорожек. Это необходимо сделать чтобы облегчить себе работу при пайке. Раньше я лудил при помощи припоя и канифоли, но скажу это «грязный» способ. От канифоли много дыма и шлака на плате который нужно будет смывать растворителем. Я применил другой способ, лужение глицерином. Глицерин продается в аптеках и стоит копейки. Поверхность платы необходимо протереть ваткой смоченной в глицерине и наносить припой паяльником точными мазками. Поверхность дорожек покрывается тонким слоем припоя и остается чистой, лишний глицерин можно удалить ваткой или промыть плату в воде с мылом. К сожалению у меня нет фотографии полученного результата, после лужения, но получившееся качество впечатляет.
Далее необходимо припаять все радиодетали на плату, для пайки SMD компонентов я использовал пинцет. В качестве флюса использовал глицерин. Получилось очень даже аккуратно.
Результат налицо. Конечно после изготовления плата выглядела лучше, на фото она уже после многочисленных экспериментов (для этого она и создавалась).

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

Листинг программы:

/*
* Тестовая программа для шаговика
*/
#include
#define STEPS 200

Stepper stepper(STEPS, 31, 33, 35, 37);

void setup()
<
stepper.setSpeed(50);
>

void loop()
<
stepper.step(200);
delay(1000);
>

Данная управляющая программа заставляет делать один полный оборот вала шагового двигателя, после перерыва длительностью в одну секунду, повторяется до бесконечности. Можно поэкспериментировать со скоростью вращения, направлением вращения а также углами поворотов.
Драйвер шагового двигателя (версия 2)

Источник

МК-управление микрошаговым драйвером LB1847 из старого принтера

Данная статья родилась в помыслах изготовить себе трёх-координатный микростанок с ЧПУ для выполнения некоторых минимальных задач по сверлению, фрезерованию и вырезке печатных плат.
В течение некоторого времени мне очень часто на запчасти отдают старые матричные и струйные принтеры по причинам того, что хозяева решили купить себе новый и более совершенный принтер или МФУ, ибо старенький свой принтер уже морально устарел или его ремонт будет стоить соизмеримо с приобретением нового принтера, а старый попросту выкинули.
После разборки и выброса ненужных пластмассовых деталей и внутренней механики, я себе оставлял только печатные платы, шаговые двигатели с пасиками и стальные направляющие, по которым когда-то бегала печатающая головка. Давным-давно я посматривал в них на интересную микросхему, которая питает тамошние шаговые двигатели.
Просто запросив в поиске даташит на данную микросхему, я увидел в ней не просто драйвер с четырьмя парами ключей, а полноценный микрошаговый ШИМ контроллер.

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

Схема подключения довольно простая.

Как сделать драйвер для шагового двигателя из принтера

В считанные минуты была нарисована печатка и при помощи ЛУТа сделана плата, обвязку из резисторов, конденсаторов и диодов Шоттки, тоже снял со старой платы:

Как сделать драйвер для шагового двигателя из принтера

Далее это все было подключено к одной из моих самодельных тестовых плат с микроконтроллером Atmega32. Конечно, можно использовать любую доступную вам, но нужно учитывать, что должно хватать выводов для подключения, так как на управление используется аж 12 линий.

Как сделать драйвер для шагового двигателя из принтера

Ну и пусть, просто подключим их на питание микросхемы и забудем про них.

Так мы сократили количество используемых выводов до 10. При дальнейшем исследовании этой таблицы явно заметно, что вывод ENABLE получая логическую «1» (просто обесточивает канал, давая возможность другому каналу притянуть к себе магнитный ротор на максимальном токе), и при этом не имеет значения в какой фазе этот канал находится.

Сразу заметно, что та самая единица появляется тогда как на входах 2-3-4 каждого канала присутствует логический «0». Тут просто вспомним о справочнике микросхем логики и найдем нужный для нас логический элемент. Нам понадобится два элемента 3ИЛИ-НЕ, выбираем микросхему, импортная 7427, отечественная К155ЛЕ4 или подобные.

Как сделать драйвер для шагового двигателя из принтера

Обвязку полного подключения LB1847 не изображал, так как она ничем не отличается от той, что в даташите. На Vref временно поставил проволочный подстроечный резистор.

Как видно, теперь мы используем только 8 выводов для управления, чего вполне достаточно для использования одного полного порта микроконтроллера.

Теперь приступим к программированию нашего микроконтроллера. Для этого нам потребуется предварительно рассчитать значение выхода целого порта микроконтроллера для каждого микрошага.

Тут я просто использовал программу Excell, где создал таблицу и встроенными формулами рассчитал значение PORTB для режима Phase 2 W1-2 (учтите, что пример в даташите указан только для одной фазы, необходимо продублировать его для второй с изменением направления тока через обмотки ).

Как сделать драйвер для шагового двигателя из принтера

Сразу забегу вперед. Я изначально вдоволь наигрался как заданием статических величин по значениям перемещения вала, так и с вводом значения перемещения через порт RS232, но потом всё же захотелось вручную лицезреть сие детище и подключил энкодер, дабы насладиться механическим управлением с визуальным вращением вала шагового двигателя.

Как сделать драйвер для шагового двигателя из принтера

Функция опроса энкодера

Функция опроса энкодера не имеет никаких особенностей, банально читает значения с выводов и по их изменению добавляет или отнимает значение счетчика, тем самым диктуя главной программе направление на вращения. Единственное что опрос у меня сейчас проходит на частоте 100кГц, и мне было лень добавлять отдельный счетчик (три строчки программы), чтобы отсчитывать только полные щелчки оборота энкодера, да это и совсем не нужно на данной стадии тестовых испытаний.

Обработчик прерывания таймера

Аналогичная функция на обработку обратного счета для движения оси шагового двигателя в обратную сторону.

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

Например: для холостого перемещения на пару тысяч шагов можно составить простой алгоритм, который может п лавно н ачать с одного микрошага за такт разрешения таймера, и каж дые 10 тактов поднимать на единицу пока не достигнет «8», так будет программно реализован четверть шаг (счетчик тоже будет добавлять или отнимать по 8 шагов), а далее за 100 шагов до окончания пути начать уменьшать значение перешагивания каждые 10 тактов и двигатель плавно остановится на нужном ему значении. Такая реализация программно обеспечит высокую скорость перемещения при максимальной точности перемещения вала двигателя даже под нагрузкой (старт-разгон-работа-торможение-остановка). Можно, конечно, поднять значение и до 16, в таком случае двигатель выйдет на режим полушага.

Главный цикл программы

Для проверок использовался один из биполярных шаговых двигателей с тех самых разобранных принтеров.

Как сделать драйвер для шагового двигателя из принтера

Он имеет шаг 7,5 градусов, что соответствует 48 шагам на полный оборот, при 32 микрошагах это выходит точность 1536 микрошагов на полный оборот вала двигателя. Если бы нам не было жалко использовать еще 2 вывода микроконтроллера, то легко можно получить 1/64 шага. А присмотревшись в конструктив этой микросхемы, думаю несложно и поболее 128 шагов сделать, только придется много расчетов произвести на усредненные значения, правда будет серьёзная нелинейность вращения, но и то что мы получили вполне достаточно, незачем нам вращение менее 0,1 градуса.

Энкодер, что я нашел у себя, имеет 24 щелчка на полный оборот, в каждом щелчке 4 импульса изменения состояния, то есть 96 импульсов на полный оборот.

Без использования энкодера программно запускал его на довольно быстрое вращение и действительно чувствовалась сила на валу при том, что я его питаю 12V вместо 24V родного питания принтера.

Вот посмотрите что из этого вышло.

При необходимости можно сохранять в энерго-независимой памяти текущие значения шага, и использовать его при отключениях устройства, только заранее привести значение к нулевому, ибо после отключения-включения устройства полушаг может провернуть вал как в одну, так и в другую сторону. Или просто использовать калибровку (например, на оптопаре или концевике) при включении устройства.

Данная статья была предварительным тестом работы микросхемы LB1847, все собрано практически на коленке, только для уточнения всех нюансов её работы. Далее планируется использовать более продвинутый микроконтроллер (скорее всего STM32) и организация одновременного управления тремя (и более) двигателями.

При необходимости можно еще дополнительно вывести на МК выводы DECAY, MD и программно управлять режимом спада тока при различных условиях.

Источник

Эксперимент с шаговым двигателем Mitsumi от лазерного принтера.

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Как-то раз достался мне (абсолютно безвозмездно) хладный труп лазерного принтера.

Принтер был разобран на органы, ценного и полезного для rep-rap-а в нем ничего не нашлось, кроме пожалуй шагового двигателя Mitsumi M49SP-1. Польза в котором сомнительная.

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

После раздумий куда его применить, пришла в голову мысль попробовать его в качестве привода экструдера принтера. В качестве эксперимента. Нормальные, обычные Nema17 шаговики у меня есть в некотором количестве,

Как сделать драйвер для шагового двигателя из принтера

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

Еще подумалось что микрошаг 32 ситуацию с шагом в 7,5 градусов слегка улучшит.

Спроектировал во FreeCAD-е и распечатал переходную пластину с закладными гайками м3 с этого мотора на nema17.

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

Родную шестерню не удалял, зубчики достаточно острые и по идее должны вполне цепляться за пруток.

Распечатанный экструдер у меня уже был, печатал остатками китайского пла.

Как сделать драйвер для шагового двигателя из принтера

С моим принтером пришел такой же, только литой. А модельку случайно нашел на тинге и распечатал в некотором количестве.

Собрал монстр-экструдер воедино.

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

Ножка из Леруа Мерлен на укосине.

А в катушку распечатал вот такие вставки и стопор.

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

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

Экспериментально определил количество шагов на 1см.

Тестовая печать прямоугольного столба в 2 стенки.

Как сделать драйвер для шагового двигателя из принтера

Как сделать драйвер для шагового двигателя из принтера

. дала вот такие занимательные артефакты.

Оно даже печатает, но при печати мотор разогрелся.

В общем для прямого привода моторчик явно не годится. 🙂

Надо попробовать собрать экструдер с редуктором или с ременной передачей.

Прекрасно понимаю что все это блажь и баловство, не заменит этот моторчик хорошо работающий nema17 17hs4401.

Подытожу: не каждый эксперимент удачный, зато в процессе приобретается бесценный опыт 🙂

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Источник

Видео

🔨 КАК ЗАПУСТИТЬ ШАГОВЫЙ ДВИГАТЕЛЬ 💡 Без Драйвера!Скачать

🔨 КАК ЗАПУСТИТЬ ШАГОВЫЙ ДВИГАТЕЛЬ 💡 Без Драйвера!

ШАГОВЫЙ ДВИГАТЕЛЬ ПРОСТОЙ ДРАЙВЕР ДЛЯ НЕГОСкачать

ШАГОВЫЙ ДВИГАТЕЛЬ ПРОСТОЙ ДРАЙВЕР ДЛЯ НЕГО

Что можно сделать из старого принтераСкачать

Что можно сделать из старого принтера

Stepper Motor Run Without Driver - Шаговый Двигатель Без ДрайвераСкачать

Stepper Motor Run Without Driver  - Шаговый Двигатель Без Драйвера

Как запустить ШАГОВЫЙ ДВИГАТЕЛЬ от ПРИНТЕРА без драйвера? И почему это НЕ работает?Скачать

Как запустить ШАГОВЫЙ ДВИГАТЕЛЬ от ПРИНТЕРА без драйвера? И почему это НЕ работает?

Шаговый двигатель, как подключить без сложностей!!!!Скачать

Шаговый двигатель, как подключить без сложностей!!!!

Переделка шагового двигателя в обычный биполярныйСкачать

Переделка шагового двигателя в обычный биполярный

Регулировка тока на шаговых двигателях, 3D Принтер Ендер 3Скачать

Регулировка тока на шаговых двигателях, 3D Принтер Ендер 3

Как поменять драйвер? Делаем 3D принтер тихим!Скачать

Как поменять драйвер? Делаем 3D принтер тихим!

Как запустить шаговый мотор от принтера. Controlling a stepper motor through a signal generatorСкачать

Как  запустить шаговый мотор от принтера. Controlling a stepper motor through a signal generator
Поделиться или сохранить к себе:
Добавить комментарий

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