Перейти к публикации
iT4iT.CLUB

Поиск по сайту

Результаты поиска по тегам 'jalousie'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Операционные системы
    • UNIX
    • Mac OS
    • Windows
  • Системы мониторинга
    • Zabbix
  • Сетевое оборудование
    • Cisco Systems
    • MikroTik
    • Ubiquiti Networks
  • Микроконтроллеры
    • Arduino

Блоги

Нет результатов для отображения.

Нет результатов для отображения.


Искать результаты в...

Искать результаты, содержащие...


Дата создания

  • Начать

    Конец


Последнее обновление

  • Начать

    Конец


Фильтр по количеству...

Зарегистрирован

  • Начать

    Конец


Группа


Найдено 1 результат

  1. Доброе время суток. Хочу поделиться опытом автоматизации изобретения Джона Уэбстера - Жалюзи, что в переводе с Французского звучит как Ревность! Скажу честно, что мой опыт обуздать это не хитрое устройство имеет как положительный, так и отрицательный результат. И я буду очень рад поделиться им с Вами, дабы Вы не совершали моих ошибок, и результат Вашей работы вызывал настоящую Ревность у всех, кто её видит! Первое с чего стоит начать это изучить конструкцию механизма Ваших жалюзи. У меня дома внедрен и плотно эксплуатируется в спальне механизм с вертикальным расположением ламелей. Сам механизм прост как две копейки. Веревка с расположенными на ней пластиковыми шариками вращает вал, который производит поворот всех секций с ламелями. Ничего лишнего, устройство работает как часы. Второе, и самое главное (на чем я прокололся), это выбор привода для управления механизмом. Я правильно подумал, что для поворота всех секций необходимо довольно большой крутящий момент и дать его мне может сервопривод. Решено было взять серву MG995 с металлическими шестернями, крутящим моментом 13 кг. на сантиметр и переделать её в сервопривод постоянного вращения. Сама процедура модернизация "мускул" проекта очень проста. Аккуратно разбираем привод (внутри много смазки) и запоминаем его устройство. На основной шестерни расположен ограничитель хода (простой цилиндр из другого метала, отличается цветом от шестерней), удаляем его (без усилия вытягивается плоскогубцами). Вынимаем всю электронику и запоминаем расположения контактов переменного резистора необходимого для позиционирования устройства. Удаляем переменный резистор и заменяем его двумя обычными и равными половине номинала удаленного органа (в моем случае это два резистора по 2.5 кОм). Полагаю, что можно воспользоваться любыми резисторами одинакового номинала до 10 кОм. Но это стоит перепроверить! Собираем все обратно. К сожалению, у меня не сохранились фотографии всего процесса извращения над сервоприводом. Запечатленным остался лишь момент замены не нужного переменка на делитель из постоянных резисторов. Далее идет примерка сервы к поворотному шкиву Жалюзи и соответственно попытки приколхозить привод к нему. Ничего сложного в этой операции нет. Можно использовать один из рычагов идущих в комплекте с сервоприводом. Но я решил заменить подходящий пластиковый рычаг, на железный, купленный отдельно. Пара минут манипуляций и союз между шкивом и рычагом (хотя второй тоже выглядит как шкив, тфу... масло масляное...) заключен. Позже, было принято решение перевернуть крепежные болты дабы сохранить возможность установки фиксирующей крышки от Жалюзи. На самом деле позже было принято очень много решений. После теста возможностей сервопривода был выявлен один крошечный недостаток, но он убивал на корню всю возможность автоматизации. Это был дребезг (другого слова я подобрать не могу) который заставлял привод совершать еле заметные и слышимые дерганья в произвольном направлении, но иногда постоянно в одном, что могло привести к натяжению поворотного вала Жалюзи в одном из крайних положений. Причина крылась в неидеальности нашего мира. Создать идеальный резистор не подверженный окружающей среде способна только задача из учебника по физике. А в результате, как только в комнате изменялась температура, даже на короткий миг, один из резисторов менял свои свойства. Вот тут и проявлялись те самые 1%, 5%, 10% погрешностей которые обещал производитель. Мириться с этим я не мог! Решений было два: Разобраться в устройстве мозгов сервопривода и заложить эту погрешность в программу микроконтроллера сервы. Купить заводскую серву постоянного вращения. И как Вы угадали, я сделал единственно верный выбор! Заказал новую серву и ею стало произведения Китайского искуства - модель DS04-NFC. Пластиковые шестерни, крутящий момент 5,5 кг. на сантиметр. Взяв её в руки, и сравнив с предшественницей, я отчетливо испытал чувство со столь красивым названием Жалюзи! Да это была Ревность! Как можно променять MG995 на DS04-NFC, каааакккк! Каарррлл скажииии, каааааккк! Ладно, боль стихла, выбор сделан. Необходимо проверить её в деле. И забегая вперед, я обязан сказать, что новая серва была подвержена той же болезни, что и переделанная MG995. Фокус не удался, но исправить проблему получилось программно в самом скетче! Тут стоит сделать небольшой отступ и для Новичков вроде меня дать пояснение. Питать сервопривод от самого контроллера невозможно т.к привод высасывает все соки из питающей линии. Контроллер начнет задыхаться и уйдет в ребут. Для исправления данного недостатка я посадил параллельно нестабилизированного входа Arduino преобразователь AMS-1117-5.0 (Китайский клон LM-1117-5.0). Таким образом, я могу подавать питание (рекомендую 7-9V) на вход платы c контроллером и иметь раздельное стабилизированное питание, как самого контроллера, так и сервопривода. Фокус удался... Думаю, что схему параллельного соединения приводить нет смысла. Добавлю лишь обвязку преобразователя (два танталовых конденсатора по 10mF). Для первого раза было решено использовать управление от старого пульта TV-тюнера. Ну, раз пошла такая пляска, то в довесок выдернуть из TV-тюнера IR приемник и гнездо для него. Если быть честным, то я не собирался потрошить тюнер, но один из моих Китайских поставщиков электроники решил меня обмануть кинуть (скажу по секрету, это был не его день!). Пару тройку минут с паяльником и в руках красуется изделие способное произвести неимоверное впечатление на средневекового человека, но не на нас. Выглядит этот колхоз следующим образом. Согласен, не очень красиво но, что я могу поделать. Исправлю в следующей версии. Переходим к программной части По началу стоит определиться с командами, на которые будет реагировать контроллер. Это зависит только от используемого Вами пульта дистанционного управления. За основу я взял библиотеку Arduino-IRremote-master.zip В комплекте куча примеров чтобы научиться с ней дружить. Ну а итоговый скетч будет выглядеть следующим образом #include <IRremote.h> #include <Servo.h> byte PIN_IR = 8; byte PIN_SERVO = 9; IRrecv irrecv(PIN_IR); decode_results ir; Servo myservo; unsigned long timer = 0; unsigned long lSpeed = 0; unsigned long rSpeed = 0; byte Speed; int fullSpeedTime = 3000; // Время в миллисекундах, за которое серва выходит на полную скорость void setup() { Serial.begin(9600); irrecv.enableIRIn(); } void loop() { if (irrecv.decode(&ir)) { //Serial.println(ir.value); // Поворот направо if(ir.value == 117192113) { timer = millis(); if(rSpeed == 0) rSpeed = millis(); Speed = map(millis()-rSpeed<fullSpeedTime?millis()-rSpeed:fullSpeedTime, 0, fullSpeedTime, 100, 180); Serial.println("Servo turns to the right. Speed " + String(Speed)); myservo.attach(PIN_SERVO); myservo.write(Speed); } // Поворот налево else if(ir.value == 1819890863) { timer = millis(); if(lSpeed == 0) lSpeed = millis(); Speed = map(millis()-lSpeed<fullSpeedTime?millis()-lSpeed:fullSpeedTime, 0, fullSpeedTime, 100, 0); Serial.println("Servo turns to the left. Speed " + String(Speed)); myservo.attach(PIN_SERVO); myservo.write(Speed); } irrecv.resume(); } else { // Обнуляем все задействованные таймеры и отключаем серву if(timer != 0 and millis() - timer > 200) { rSpeed = lSpeed = timer = 0; myservo.detach(); // <- Именно этот костыль заставляет серву молчать Serial.println(F("Servo stop\n")); } } } В программе используется плавный разгон сервопривода до максимальных скоростей. За это отвечает переменная fullSpeedTime, принимающая значения в миллисекундах. Думаю, что трех секунд достаточно, чтобы плавно регулировать разгон и тем самым позволить, в случае необходимости, управлять поворотом ламелей на очень малый угол, используя кратковременные нажатия на кнопку пульта дистанционного управления. Углы поворота влияют на скорость: от 0 до 100 от 100 до 180 Это те значения, что получились у меня на двух сервах, и которые я использовал в скетче. Чтобы заставить сервопривод не дергаться во время простоя я произвожу его отключение с использованием метода myservo.detach(); Все прекрасно отработало. Серва крутит, а в простоях молчит и даже не думает дернуться. Привожу еще немного снимков всей получившейся конструкции Самый главный вывод - стоит подобрать очень тихий привод. Серва жутко шумит, и если днем это терпимо, то вечером или ночью... это будет ужасно. PS: В общем первая версия была проверена и зарекомендовала себя хорошо, правда выглядит ужасно. Планирую добавить пару датчиков освещенности и автоматически менять угол поворота ламелей в зависимости от освещенности в течении дня. И заменить серву на тихий шаговый двигатель c редуктором.
×
×
  • Создать...