Контроллер для управления двигателем схемы

Контроллер для управления двигателем схемы

Дельта принтеры крайне требовательны к точности изготовления комплектующих (геометрия рамы, длины диагоналей, люфтам соединения диагоналей, эффектора и кареток) и всей геометрии принтера. Так же, если концевые выключатели (EndStop) расположены на разной высоте (или разный момент срабатывания в случае контактных концевиков), то высота по каждой из осей оказывается разная и мы получаем наклонную плоскость не совпадающая с плоскостью рабочего столика(стекла). Данные неточности могут быть исправлены либо механически (путем регулировки концевых выключателей по высоте), либо программно. Мы используем программный способ калибровки.
Далее будут рассмотрены основные настройки дельта принтера.
Для управления и настройки принтера мы используем программу Pronterface.
Калибровка принтера делится на три этапа:

1 Этап. Корректируем плоскость по трем точкам

Выставление в одну плоскость трех точек — A, B, C (расположенных рядом с тремя направляющими). По сути необходимо уточнить высоту от плоскости до концевых выключателей для каждой из осей.
Большинство (если не все) платы для управления трехмерным принтером (В нашем случае RAMPS 1.4) работают в декартовой системе координат, другими словами есть привод на оси: X, Y, Z.
В дельта принтере необходимо перейти от декартовых координат к полярным. Поэтому условимся, что подключенные к двигателям X, Y, Z соответствует осям A, B, C.(Против часовой стрелки начиная с любого двигателя, в нашем случае смотря на логотип слева — X-A, справа Y-B, дальний Z-C) Далее при слайсинге, печати и управлении принтером в ручном режиме, мы будем оперировать классической декартовой системой координат, электроника принтера сама будет пересчитывать данные в нужную ей систему. Это условность нам необходима для понятия принципа работы и непосредственной калибровки принтера.

Точки, по которым мы будем производить калибровку назовем аналогично (A, B, C) и позиция этих точек равна A= X-52 Y-30; B= X+52 Y-30; C= X0 Y60.

Алгоритм настройки:

  1. Подключаемся к принтеру. (В случае “крагозяб” в командной строке, необходимо сменить скорость COM порта. В нашем случае с 115200 на 250000 и переподключится)

    После чего мы увидим все настройки принтера.
  2. Обнуляем высоты осей X, Y, Z командой M666 x0 y0 z0.
    И сохраняем изменения командой M500. После каждого изменения настроек необходимо нажать home (или команда g28), для того что бы принтер знал откуда брать отсчет.
  3. Калибровка принтера производится “на горячую”, то есть должен быть включен подогрев стола (если имеется) и нагрев печатающей головки (HotEnd’а) (Стол 60град., сопло 185 град.) Так же нам понадобится щуп, желательно металлический, известных размеров. Для этих задач вполне подойдет шестигранный ключ (самый большой, в нашем случае 8мм, он предоставляется в комплекте с принтерами Prizm Pro и Prizm Mini)
  4. Опускаем печатающую головку на высоту (условно) 9мм (от стола, так, что бы сопло еле касалось нашего щупа, т.к. высота пока что не точно выставлена.) Команда: G1 Z9.
  5. Теперь приступаем непосредственно к настройке наших трех точек.
    Для удобства можно вместо g- команд создать в Pronterface четыре кнопки, для перемещения печатающей головки в точки A, B, C, 0-ноль.
  • Последовательно перемещаясь между тремя точками (созданными ранее кнопками или командами) выясняем какая из них находится ниже всего (визуально) и принимает эту ось за нулевую, относительно нее мы будем менять высоту остальных двух точек.
  • Предположим, что точка A у нас ниже остальных. Перемещаем головку в точку B(Y) и клавишами управления высотой в Pronterface опускаем сопло до касания с нашим щупом, считая величину, на которую мы опустили сопло (в лоб считаем количество нажатий на кнопки +1 и +0.1)
    Далее командой меняем параметры высоты оси Y: M666 Y <посчитанная величина>
    M666 Y0.75
    M500
    G28
  • Ту же операцию проделываем с оставшимися осями. После чего следует опять проверить высоту всех точек, может получится, что разброс высот после первой калибровки уменьшится, но высота все равно будет отличатся, при этом самая низкая точка может изменится. В этом случае повторяем пункты 6-7.
  • 2 Этап. Исправляем линзу

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

    Корректируется этот параметр т.н. дельта радиусом, который подбирается экспериментально.

    Калибровка:

    1. Отправляем головку на высоту щупа в любую из трех точек стола. Например G1 Z9 X-52 Y-30
    2. Сравниваем высоту центральной точки и высоту точек A,B,C. (Если высота точек A, B, C разная, необходимо вернутся к предыдущей калибровки.)
    3. Если высота центральной точки больше остальных, то линза выпуклая и необходимо увеличить значение дельта радиуса. Увеличивать или уменьшать желательно с шагом +-0,2мм, при необходимости уменьшить или увеличить шаг в зависимости от характера и величины искривления (подбирается экспериментально)
    4. Команды:
      G666 R67,7
      M500
      G28
    5. Подгоняем дельта радиус пока наша плоскость не выровняется
    3 Этап. Находим истинную высоту от сопла до столика

    Третьим этапом мы подгоняем высоту печати (от сопла до нижней плоскости — столика) Так как мы считали, что общая высота заведомо не правильная, необходимо ее откорректировать, после всех настроек высот осей. Можно пойти двумя путями решения данной проблемы:
    1 Способ:
    Подогнав вручную наше сопло под щуп, так что бы оно свободно под ним проходило, но при этом не было ощутимого люфта,

    • Командой M114 выводим на экран значение фактической высоты нашего HotEnd’а
    • Командой M666 L получаем полное значение высоты (Параметр H)
    • После чего вычитаем из полной высоты фактическую высоту.
    • Получившееся значение вычитаем из высоты щупа.

    Таким образом мы получаем величину недохода сопла до нижней плоскости, которое необходимо прибавить к полному значению высоты и и записать в память принтера командами:
    G666 H 235.2
    M500
    G28

    2 Способ:
    Второй способ прост как валенок. С “потолка”, “на глаз” прибавляем значение высоты (после каждого изменение не забываем “уходить” в home), добиваясь необходимого значения высоты, но есть шанс переборщить со значениями и ваше сопло с хрустом шмякнется об стекло.

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

    Управление двигателями постоянного тока. Часть 1

    Владимир Рентюк, Запорожье, Украина

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

    Электродвигатели являются, наверное, одним из самых массовых изделий электротехники. Как говорит нам всезнающая Википедия, электрический двигатель – электрическая машина (электромеханический преобразователь), в которой электрическая энергия преобразуется в механическую. Началом его истории можно считать открытие, которое сделал Майкл Фарадей в далеком 1821 году, установив возможность вращения проводника в магнитном поле. Но первый более-менее практический электродвигатель с вращающимся ротором ждал своего изобретения до 1834 года. Его во время работы в Кёнигсберге изобрел Мориц Герман фон Якоби, более известный у нас как Борис Семенович. Электродвигатели характеризуют два основных параметра – это скорость вращения вала (ротора) и момент вращения, развиваемый на валу. В общем плане оба этих параметра зависят от напряжения, подаваемого на двигатель и тока в его обмотках. В настоящее время имеется достаточно много разновидностей электродвигателей, и поскольку, как заметил наш известный литературный персонаж Козьма Прутков, нельзя объять необъятное, остановимся на рассмотрении особенностей управления двигателями постоянного тока (далее электродвигателями).

    К двигателям постоянного тока относятся два типа – это привычные для нас коллекторные двигатели и бесколлекторные (шаговые) двигатели. В первых переменное магнитное поле, обеспечивающее вращение вала двигателя, образуется обмотками ротора, которые запитываются через щеточный коммутатор – коллектор. Оно и взаимодействует с постоянным магнитным полем статора, вращая ротор. Для работы таких двигателей внешние коммутаторы не требуются, их роль выполняет коллектор. Статор может быть изготовлен как из системы постоянных магнитов, так и из электромагнитов. Во втором типе электродвигателей обмотки образуют неподвижную часть двигателя (статор), а ротор сделан из постоянных магнитов. Здесь переменное магнитное поле образуется путем коммутации обмоток статора, которая выполняется внешней управляющей схемой. Шаговые двигатели («stepper motor» в английском написании) значительно дороже коллекторных. Это достаточно сложные устройства со своими специфическими особенностями. Их полное описание требует отдельной публикации и выходит за рамки данной статьи. Для получения более полной информации по двигателям этого типа и их схемам управления можно обратиться, например, к [1].

    Коллекторные двигатели (Рисунок 1) более дешевы и, как правило, не требуют сложных систем управления. Для их функционирования достаточно подачи напряжения питания (выпрямленного, постоянного!). Проблемы начинают возникать, когда появляется необходимость в регулировке скорости вращения вала такого двигателя или в специальном режиме управления моментом вращения. Основных недостатков таких двигателей три – это малый момент на низких скоростях вращения (поэтому часто требуется редуктор, а это отражается на стоимости конструкции в целом), генерация высокого уровня электромагнитных и радиопомех (из-за скользящего контакта в коллекторе) и низкая надежность (точнее малый ресурс; причина в том же коллекторе). При использовании коллекторных двигателей необходимо учитывать, что ток потребления и скорость вращения их ротора зависят от нагрузки на валу. Коллекторные двигатели более универсальны и имеют более широкое распространение, особенно в недорогих устройствах, где определяющим фактором является цена.

    а) б)
    Рисунок 1. Коллекторный двигатель с редуктором (а) и
    типовая конструкция коллекторного двигателя (б).

    Поскольку скорость вращения ротора коллекторного двигателя зависит, в первую очередь, от подаваемого на двигатель напряжения, то естественным является использование для его управления схем, имеющих возможность установки или регулировки выходного напряжения. Такими решениями, которые можно найти в Интернете, являются схемы на основе регулируемых стабилизаторов напряжения и, поскольку век дискретных стабилизаторов давно прошел, для этого целесообразно использовать недорогие интегральные компенсационные стабилизаторы, например, LM317 [2]. Возможные варианты такой схемы представлены на Рисунке 2.

    а) б)
    Рисунок 2. Схемы управления маломощным коллекторным двигателем на базе ИМС LM317.

    Схема примитивная, но кажется очень удачной и, главное, недорогой. Посмотрим на нее с точки зрения инженера. Во-первых, можно ли ограничить момент вращения или ток двигателя? Это решается установкой дополнительного резистора. На Рисунке 2 он обозначен как RLIM. Его расчет имеется в спецификации, но он ухудшает характеристику схемы как стабилизатора напряжения (об этом будет ниже). Во-вторых, какой из вариантов управления скоростью лучше? Вариант на Рисунке 2а дает удобную линейную характеристику регулирования, поэтому он и более популярен. Вариант на Рисунке 2б имеет нелинейную характеристику. Но в первом случае при нарушении контакта в переменном резисторе мы получаем максимальную скорость, а во втором – минимальную. Что выбрать – зависит от конкретного применения. Теперь рассмотрим один пример для двигателя с типовыми параметрами: рабочее напряжение 12 В; максимальный рабочий ток 1 А. ИМС LM317, в зависимости от суффиксов, имеет максимальный выходной ток от 0.5 А до 1.5 А (см. спецификацию [2]; имеются аналогичные ИМС и с бóльшим током) и развитую защиту (от перегрузки и перегрева). С этой точки зрения для нашей задачи она подходит идеально. Проблемы скрываются, как всегда, в мелочах. Если двигатель будет выведен на максимальную мощность, что для нашего применения весьма реально, то на ИМС, даже при минимально допустимой разнице между входным напряжением VIN и выходным VOUT, равной 3 В, будет рассеиваться мощность не менее

    Таким образом, нужен радиатор. Опять вопрос – на какую рассеиваемую мощность? На 3 Вт? А вот и нет. Если не полениться и рассчитать график нагрузки ИМС в зависимости от выходного напряжения (это легко выполнить в Excel), то мы получаем, что при наших условиях максимальная мощность на ИМС будет рассеиваться не при максимальном выходном напряжении регулятора, а при выходном напряжении равном 7.5 В (см. Рисунок 3), и она составит почти 5.0 Вт!

    Рисунок 3. График зависимости мощности, рассеиваемой на ИМС регулятора, от выходного напряжения.

    Как видим, получается что-то уже не дешевое, но очень громоздкое. Так что такой подход годится только для маломощных двигателей с рабочим током не более 0.25 А. В этом случае мощность на регулирующей ИМС будет на уровне 1.2 Вт, что уже будет приемлемо.

    Выход из положения – использовать для управления метод широтно-импульсной модуляции (ШИМ). Он, действительно, самый распространенный. Его суть – подача на двигатель промодулированных по длительности однополярных прямоугольных импульсов. Согласно теории сигналов, в структуре такой последовательности имеется постоянная составляющая, пропорциональная отношению τ/T, где: τ – длительность импульса, а T – период последовательности. Вот она-то и управляет скоростью двигателя, который выделяет ее как интегратор в этой системе. Поскольку выходной каскад регулятора на основе ШИМ работает в ключевом режиме он, как правило, не нуждается в больших радиаторах для отвода тепла, даже при относительно больших мощностях двигателя, и КПД такого регулятора несравненно выше предыдущего. В ряде случаев можно использовать понижающие или повышающие DC/DC-преобразователи, но они имеют ряд ограничений, например, по глубине регулировки выходного напряжения и минимальной нагрузке. Поэтому, как правило, чаще встречаются иные решения. «Классическое» схемное решение такого регулятора представлено на Рисунке 4 [3]. Оно использовано в качестве дросселя (регулятора) в профессиональной модели железной дороги.

    Рисунок 4. «Классическая» схема управления коллекторным двигателем на основе ШИМ (согласно оригиналу [3]).

    На первом операционном усилителе собран генератор, на втором компаратор. На вход компаратора подается сигнал с конденсатора C1, а путем регулирования порога срабатывания формируется уже сигнал прямоугольной формы с нужным отношением τ/T (Рисунок 5).

    Рисунок 5. Диаграмма управления коллекторным двигателем на основе ШИМ. Верхняя трасса – напряжение на конденсаторе С1; средняя (пересекает верхнюю) – сигнал управления (напряжение на движке резистора RV2); нижняя – напряжение на двигателе.

    Диапазон регулировки устанавливается подстроечными резисторами RV1 (быстрее) и RV3 (медленнее), а сама регулировка скорости осуществляется резистором RV2 (скорость). Обращаю внимание читателей, что в Интернете на русскоязычных форумах гуляет похожая схема с ошибками в номиналах делителя, задающего порог компаратора. Управление непосредственно двигателем осуществляется через ключ на мощном полевом транзисторе типа BUZ11 [4]. Особенности этого транзистора типа MOSFET – большой рабочий ток (30 А постоянного, и до 120 А импульсного), сверхмалое сопротивление открытого канала (40 мОм) и, следовательно, минимальная мощность потерь в открытом состоянии.

    На что нужно в первую очередь обращать внимание при использовании таких схем? Во-первых, это исполнение цепи управления. Здесь в схеме (Рисунок 4) есть небольшая недоработка. Если со временем возникнут проблемы с подвижным контактом переменного резистора, мы получим полный почти мгновенный разгон двигателя. Это может вывести из строя наше устройство. Какое противоядие? Установить добавочный достаточно высокоомный резистор, например, 300 кОм с вывода 5 ИМС на общий провод. В этом случае при отказе регулятора двигатель будет остановлен.

    Еще одна проблема таких регуляторов – это выходной каскад или драйвер двигателя. В подобных схемах он может быть выполнен как на полевых транзисторах, так и на биполярных; последние несравненно дешевле. Но и в первом и во втором варианте необходимо учитывать некоторые важные моменты. Для управления полевым транзистором типа MOSFET нужно обеспечить заряд и разряд его входной емкости, а она может составлять тысячи пикофарад. Если не использовать последовательный с затвором резистор (R6 на Рисунке 4) или его номинал будет слишком мал, то на относительно высоких частотах управления операционный усилитель может выйти из строя. Если же использовать R6 большого номинала, то транзистор будет дольше находиться в активной зоне своей передаточной характеристики и, следовательно, имеем рост потерь и нагрев ключа.

    Еще одно замечание к схеме на Рисунке 4. Использование дополнительного диода D2 лишено смысла, так как в структуре транзистора BUZ11 уже имеется свой внутренний защитный быстродействующий диод с лучшими характеристиками, чем предлагаемый. Диод D1 также явно лишний, транзистор BUZ11 допускает подачу напряжения затвор-исток ± 20 В, да и переполюсовка в цепи управления при однополярном питании, как и напряжение выше 12 В, невозможны.

    Если использовать биполярный транзистор, то возникает проблема формирования достаточного по величине базового тока. Как известно, для насыщения ключа на биполярном транзисторе ток его базы должен быть, по крайней мере, не менее 0.06 от тока нагрузки. Понятно, что операционный усилитель такой ток может не обеспечить. С этой целью в аналогичном, по сути, регуляторе, который используется, например, в популярном мини-гравере PT-5201 компании Pro’sKit, применен транзистор TIP125, представляющий собой схему Дарлингтона. Тут интересный момент. Эти мини-граверы иногда выходят из строя, но не из-за перегрева транзистора, как можно было бы предположить, а из-за перегрева ИМС LM358 (максимальная рабочая температура +70 °С) выходным транзистором (максимально допустимая температура +150 °С). В изделиях, которыми пользовался автор статьи, он был вплотную прижат к корпусу ИМС и посажен на клей, что недопустимо нагревало ИМС и почти блокировало теплоотвод. Если вам попалась такое исполнение, то лучше «отклеить» транзистор от ИМС и максимально отогнуть. За это know-how автор статьи был премирован компанией Pro’sKit набором инструментов. Как видите все нужно решать в комплексе – смотреть не только на схемотехнику, но и внимательно относится к конструкции регулятора в целом.

    а) б)
    Рисунок 6. Пример схем регуляторов с ШИМ и изменением опорной частоты.

    Есть еще несколько интересных схем более простых ШИМ-регуляторов. Например, две схемы на одиночном операционном усилителе с драйвером опубликованы в [5] (Одна из них приведена на Рисунке 6а). Есть схемы и на базе популярного таймера серии 555 [6] (Рисунок 6б). Эти дешевые решения не должны вводить вас в заблуждение своей кажущейся простотой. Вспомним А.С. Пушкина: «Не гонялся бы ты, поп, за дешевизной». Или французов: «За каждое удовольствие нужно платить». Обе эти схемы формируют суррогатный сигнал ШИМ с изменением опорной частоты. Так схемы на ОУ из [5] меняют частоту управления во время регулирования от 170 Гц до 500 Гц, а схема на таймере – от 150 Гц до 1000 Гц, и ее диапазон регулировки (верхний диапазон) ограничен скважностью 9.5. Для некоторых применений это может быть недопустимо, так как на больших частотах двигатель может и не заработать, или не дать нужный момент вращения. Это происходит из-за того, что ток в обмотке двигателя, которая представляет собой индуктивность, устанавливается не мгновенно, а нарастает и спадает по экспоненте. Более корректные схемы на базе таймера и одиночного ОУ приведены на Рисунке 7.

    а) б)
    Рисунок 7. Схемы регуляторов с ШИМ без изменения опорной частоты.

    Аналогичные по структуре регуляторы можно построить и на цифровых логических элементах, но они имеют малую нагрузочную способность и требуют отдельного источника питания, поэтому в данной статье не рассматриваются. Применение же таймера 555 интересно тем, что частота генератора, выполненного на его базе, практически не зависит от напряжения питания. Кроме того, большинство ныне выпускаемых зарубежных аналогов, выполненных по биполярной технологии, допускает выходной ток до 200 мА и более. То есть, они могут легко справиться и с емкостью затвора MOSFET и с мощными ключами на биполярных транзисторах. Близкий к таймеру 555 советско-российский аналог – это ИМС (КР)1006ВИ1. Максимальный выходной ток для КР1006ВИ1 и КМОП-версий таймера составляет 100 мА.

    Читайте также:  Как правильно собрать редуктор лодочного мотора
    Оцените статью