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

Таблица лидеров


Популярные публикации

Отображаются публикации с наибольшей репутацией на 20.04.2016 во всех областях

  1. 1 балл
    Тема является своего рода заметкой по мониторингу источников бесперебойного питания фирмы ippon. Заметкой именно потому, что шаблон был написан уже давно, а статья так и не появилась на свет и как обычно бывает, все постепенно начинает забываться, а наработанная информация растворяться в бытие. Дабы не потерять последние крошки выкидываем оставшиеся наработки. Постепенно тема будет переписана и дополнена. Самым удобным способом мониторинга является, уже знакомый нам по теме с ИБП APC, протокол SNMP. Для подключения устройства в локальную сеть необходимо дополнить его сетевым адаптером UPS Ippon Smart Winner 1500/2000/3000. Сама карточка поддерживает следующие протоколы: HTTP HTTPS IPv4 IPv6 NTP SMTP SNMP v1 SNMP v2c SNMP v3 SSH V1 SSH V2 SSL TCP/IP Telnet На диске, идущем в комплекте, имеется весь необходимый софт и документация. Также, если немного покопаться, можно найти MIB файл со всеми поддерживаемыми OID. На всякий случай мы прикрепим к посту MIB файл на базе которого был создан текущий шаблон. Перед тем как перейти к шаблону хочу отметить, что он содержит макрос {$SNMP_COMMUNITY} значение которого необходимо изменить на используемое вами Community. Шаблон позволяет производить мониторинг следующих параметров: The measured output real complex power in VA Величина отрицательного напряжения аккумуляторной батареи Величина положительного напряжения аккумуляторной батареи Версия прошивки Network Management Card Версия прошивки микропроцессора Время оставшееся до истощения заряда батареи Время прошедшее с момента перехода на работу от батареи Входная мощность Входное напряжение Входной ток Выходная мощность Выходная нагрузка ИБП в процентах от номинальной мощности Выходное напряжение Выходное напряжение Выходной ток Код неисправности ИБП из таблицы Q6 Код предупреждения ИБП из таблицы Q6 Максимальная разрешенная выходная нагрузка Максимальная разрешенная рабочая температура Модель ИБП Название производителя Описание напитанной нагрузки (устанавливается администратором) Описание устройства (устанавливается администратором) Серийный номер Статус батареи Текущее состояние ИБП Температура батареи Температура внутри ИБП Уровень заряда батареи Частота тока на входе Частота тока на выходе Данных параметров должно быть достаточно для создание базовых проверок и триггеров. Мы добавили несколько для основных тревог. И пару базовых графиков. Данный шаблон вполне подойдет для создания на его основе Ваших решений. Мы будем рады увидеть Ваши наработки или помочь Вам в реализации, каких либо идей по мониторингу этих источников бесперебойного питания. EPPC.MIB.zip templates_ups_ippon.xml.zip
  2. 1 балл
    А можно и к домофону подключиться ! У нас все нормальные почтальены имеют свой универсальный ключ, так вот если перехватывать открытие двери определенными ключами и открывать щель для писем в почтовом ящике, мол типа: дядька провереный, ложи! А в остальных случаях держать щель закупориной намертво! Плюс ковсему еще и оповещение отсылать на домофонную трубку. или всетаки это полный бред?
  3. 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 редуктором.
  4. 1 балл
    Мне кажется проблема в сигналах на этих пинах! По умолчанию стоит высокий уровень и пропадает он при поднесении ключа т.е. Вам надо инвертировать сигнал, как это сделать есть в форуме на странице 4.
×
×
  • Создать...