Wi fi выключатель для штор своими руками

Wi fi выключатель для штор своими руками

Дельта принтеры крайне требовательны к точности изготовления комплектующих (геометрия рамы, длины диагоналей, люфтам соединения диагоналей, эффектора и кареток) и всей геометрии принтера. Так же, если концевые выключатели (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), добиваясь необходимого значения высоты, но есть шанс переборщить со значениями и ваше сопло с хрустом шмякнется об стекло.

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

    Источник

    Умные шторы своими руками

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

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

    Для начала про рулонные шторы:

    • Плюсы: рулонные шторы визуально расширяют пространство, красивые и недорогие. Очень простой монтаж. Можно каждым окном управлять отдельно. Высвобождается место на подоконнике.
    • Сложности: вручную открывать 5 окон уже занимает долго времени. Открыть полностью угловое окно мешает сам механизм (пример: механизм вверху балконной двери упирается в стену и не дает открыть проход полностью). Из-за этого необходимо вешать шторы с наружной стороны окна. Цена даже на китайские моторизированные шторы начинаются от 2000 рублей, умножаем на 5 и уже сразу же думаем, как сделать все подручными средствами.

    Немного про задачи:

    Необходимо добавить к обычным рулонным шторам из строительного магазина удаленное управление и подключить к умному дому на openSource платформе Home Assistant. И еще необходимо сохранить обычное управление за веревочку.

    Если все автоматизировать, то скорость не играет роли, поэтому можно применять двигатели с редуктором. Коллекторные двигатели дешевые, но не самая надежная вещь для ежедневного применения. Сервомашинки тоже имеют коллекторные двигатели и плюс не стабильные при постоянном вращении. Отличным вариантом выглядят шаговые двигатели. Бесшумные, можно контролировать положение, стоят копейки. В итоге, комплект из 5 двигателей 28BYJ-48 с драйвером ULN2003 обошелся мне в 10$

    Про двигатель 28BYJ-48:

    Подробно о нем можно почитать здесь.

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

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

    Про конструкцию крепления:

    Задача была спроектировать корпус максимально простой для изготовления на 3д принтере с минимальными доработками. Моделировал в Fusion 360. Комплектное крепление цепляется за верх окна, но такую конструкцию на FDM принтере будет трудно сделать с нужными требованиями по прочности, поэтому была придумана конструкция с одним винтом для регулировки.

    Итого получилось три детали для 3д-печати. Ссылка для скачивания 3д-моделей.
    thingiverse
    Основная часть для двигателя, платы управления на ULM2003, креплением герконов, двигателей, лески для стабилизации штор, и регулировочного винта.

    Крышка для закрытия всего этого безобразия. Зажим или по-другому крюк.

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

    При сборке надо сделать одну доработочку: кусачками сломать ободок, который прикрывает веревку, т.к. теперь у нас есть свой неподвижный ободок, который не дает выпасть веревочке.

    Управлять шаговым двигателем будет NodeMCU на ESP8266. Он выбран из-за дешевизны, наличия резервного канала wi-fi и на нем достаточно легко написать нужные скрипты. Если нужно больше чем две шторы или дополнительные датчики, то ножек микроконтроллера уже не хватит, можно посмотреть в сторону ESP32. (на фото esp32 не приведена, т.к. она в распределительной коробке)

    Среда разработки может быть любая. ESP32 может программироваться через Arduino IDE. Но я для себя выбрал Visual Studio Code из-за скорости, модульности и бесплатности. В этой среде можно разрабатывать почти под любые платформы (не только железо). Можно даже подключить IAR ARM.(но это уже совсем другая тема)

    Задача программы простая:

    Подключиться по Wi-fi
    Подключиться к MQTT брокеру
    Подписаться на топик
    Управлять скоростью двух моторов
    Следить за состоянием концевых датчиков
    Отправлять брокеру текущие шаги

    Исходники можно взять отсюда.(осторожно это самый первый быдлокод для пробы штор). В коде надо указать свой логин и пароль от wi-fi. А также параметры MQTT-брокера.

    Заливаем программу и пробуем отправить первые данные через MQTTBox. Все работает! Как добавить шторы в систему home-assistant я напишу отдельную статью, если будет интересно всем.

    Небольшое видео как это делалось:

    Плюс выступление на какой стадии находится у меня умный дом.

    Всем пожелаю расслабиться дома!
    UPD: Ссылка на скачивание файлов для печати на 3д-принтере

    Источник

    Оцените статью