Перейти к содержанию

    

techmike

Свой
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о techmike

  • Звание
    Частый гость
  • День рождения 07.02.1978

Контакты

  • Сайт
    http://rn3aig.ru
  • ICQ
    40124105

Информация

  • Город
    Moscow
  1. Будут какие предположения? После поднятия напряжения питание до 4.0в, показания более менее устаканились, но сейчас в комнате показывает 203ppm, хотя на улице должно быть максимум 400ppm.
  2. Доброго дня. Снимаю показания с MH-Z19 по выходу PWM, Получаю одно значение, в момент снятия периодов (Th+Tl) делаю запрос по usart, получаю совсем другие значения. Питания 3.9в от Lion 18650, выход PWM подтянут на землю через 10к по питанию 100мкф и керамика 0,1. Сам датчик включен уже минут 30, показания снимаются не чаще раз в пять минут, общая наработка датчика где-то месяца полтора. Вот что запрашиваю и получают по usart (все в hex): {FF}{01}{86}{00}{00}{00}{00}{00}{79} -- запрос СО2 {FF}{86}{04}{33}{3D}{04}{3A}{D3}{F5} -- ответ с СО2 256*04+51(0x33)=1075ppm На PWM вот такая красота: [attachment=105801:AKIP52_1.gif] Th=200ms (2000*198)/996=397ppm Какому интерфейсу верить?
  3. Подружить датчики с Openhab

    Цитата(mantech @ Oct 20 2016, 14:59) Что-то винегрет получается, как бинарный протокол и http вместе "живут"? Что-то тут не так ЗЫ. А этот протокол никак на "нормальный", типа модбаса переписать нельзя? Винегрет из-за краткого изложения задачи... http живут через специальный датчик, он принимает из rs485 и шлет по http все что принял на web-сервер, логгер я его назвал. Протокол менял уже поздно, сделано более 6 различных датчиков, это 2/3 все разнообразия. Цитата(psL @ Oct 22 2016, 19:08) Можно принимать данные через ExecBinding https://github.com/openhab/openhab/wiki/Exec-Binding типо так: КодNumber Sensor           "Temperature [%2.1f °C]"  (Blablabla)   { exec="<[sh ./configurations/scripts/getvalue.sh:1000:REGEX((.*?))]"} скрипт или что там у вас будет тупо печатает значение в stdout Решил сразу делать под rest api, т.е. будет некий враппер, который будет вызывать методы openhab если что-то прилетело от датчиков, и наоборот.
  4. Подружить датчики с Openhab

    Доброго дня. Есть уже некоторое кол-во всевозможных датчиков, который в rs485 генерят пакеты данных с температурой, влажностью, напряжением питания. Все это через один из датчиков (конвертор) попадает по http на удаленный web-сервер и в его mysql БД. Протокол у датчиков самопальных и бинарный, он не похож ни на один существующий промышленный. Задача: без разработчики нового binding под openhab заливать данные с датчиков в Openhab 1.8.3, по возможности в Online режиме. Попробовал использовать tcp binding но он не работает как хотелось бы, вопрос пока решается на форуме опенхаба Tcpbinding not correcly work В целом на web-сервере есть php 5, хотелось бы с его помощью вызывать openhab и отправлять ему вместе с идентификатором датчика и полученые с него значения. На крайний случай можно с помощью http binding забирать с web-сервера данные по датчикам, но тут нужен контроль получения Openhab'ом ранее отданных показаний. Какие будут предложения? P.S. В яве я вообще не спец, биндинг писать буду пару лет =(
  5. Цитата(andrey videoplus @ Sep 17 2015, 12:55) Если на макетке работает с одним датчиком - также на макетке собрать и проверить работу всех датчиков одновременно. Это сэкономит время в будущем. с 3шт. на макетке работает нормально, т.е. проблемы именно при работе с реальной шиной.
  6. Цитата(andrey videoplus @ Sep 17 2015, 12:08) на светодиод это образно. Я бы поступил так: отключил все датчики и проверил с одним, если не работает подключил бы напрямую к контроллеру. Если напрямую работает, а удаленно нет. Значит проблема с линией, надо увеличивать тайминги, и таким образом понижать скорость. Как правило "валит фронты" длинная линия, вернее ее емкость. Из практики лечится только понижением скорости. Я в свое время намучился с этой проблемой. Это при условии что нет помех, по этому кабелю больше ничего не подключено?? Если да - отключить все, даже безобидный удаленный светодиод. причем отключать все контакты. Если даже напрямую не работает тут уже поэтапно методом "светодиода"))). Попробую с новой биллиотекой по принципу как написали. На макетке пока все работает.
  7. Цитата(andrey videoplus @ Sep 17 2015, 09:59) только я так понимаю вместо роутера атмега? Если есть возможность влезть программный код - предлагаю прогнать программу по частям от начала до конца с выводом на светодиод точек прохода. например, даем старт, потом ждем ответ, если ответ приходит засветить светодиод и стоп программа. если нет разбираемся почему мк не "видит ответа". если есть переносим точку прохода дальше по программе до самого конца, и ищем участок, после которого все идет не так как должно. но судя по всему у Вас проблема с таймингами (временные интервалы). И еще важно делать осцилограмму возле ножки мк, так мы будем понимать что он читает и какие временные интервалы делает Тайминги скорее всего и плывут или не те. Оссцилограф есть, но он весь обмен, например поиск всех датчиков, записать от начала и до конца не может, т.к. не расчитан на это. Тогда уже выводить на не светодиод, а собирать в буфер и потом выдать в usart.
  8. Цитата(andrey videoplus @ Sep 17 2015, 09:31) А какое удаление в по линии? Не пробовали в проге ставить точки прохождения, скажем на сведодиод. От мастера получается максимум 21 метр. Что за точки прохождения, как они связаны со светодиодом? При атачил визуально как шина 1wire выглядит у меня, вместо роутера как раз должне быть девайс на mega8. [attachment=95397:1wire_net.jpg]
  9. Цитата(Onkel @ Apr 10 2015, 21:55) есть т.н. "китайские" ds18b20, я делаю приборы где по 4 штуки, приходится подбирать - не все умеют работать по 4 (даже по 4 ) штуки. Каждый отдельно работает, а вот соединяешь их 4 вместе - висяк, питание честное, не паразитное. Встречал и у других людей жалобы на "не совсем настоящие" 18b20, виснут при соединении нескольких в шину на одноплатниках. Так что попробуйте по одному, а потом отобрать те, что работают вместе. Сам день убил, пока дошло до такой возможности - ну не любят некоторые 18b20 друг друга. Почему - не выяснял, мне проще подобрать. Именно таких проблем нет, в ПК (роутера) все датчики находятся и опрашиваются отлично, а вот с mega8 не все так радужно.
  10. Переделал всю шину и датчики на трехпроводную, топологию переделал в шину из звезды, сделал активную подтяжку с помощью компаратора, все равно всех ds18b30 мк не видит или не стабильно видит. Чуть посже присоеденю осцилограммы.
  11. pullup собрал по вот этой схеме: С фронтами стало лучше, было: [attachment=89206:____________2.JPG] стало: [attachment=89207:________...________.JPG] Функцию сброса отладил по таймингам из AN132. Но не отрабатывает корректно функция записи в шину. На датчиках в макетке все замечательно. А на шине, при чтении ROM, что-то не срастается. Посоветуйте где подсмотреть тайминги для длинных шин(AN132 не дало результата даже для данных линии до 600м), чтобы не подбирать долго и муторно? Схема: [attachment=89211:sheme.JPG]
  12. Цитата(adnega @ Dec 29 2014, 12:17) Никто не требует подавать питание по тем же самым проводам, что и линия связи. Просто подайте самым удобным способом. А на самом деле быстрее вскрыть плинтуса и термоусадки, чтоб сделать все по правильному. Это крайний вариант и самый не удобный способ.
  13. Цитата(cant @ Dec 29 2014, 09:50) если вы внимательно прочитаете мое предыдущее сообщение, то там четко указано, что вам необходимо обеспечить достаточное питание вашим датчикам. Как вы этого добьетесь, уже другой вопрос: ТОЛЬКО ВЫ знаете как проложены провода и какой они длины. Ваша задача - доставить питание и сигнал по одному длинному проводу. В каждом конкретном случае реализация может существенно отличаться от общепринятой, что вполне нормально. Посоветуйте пожалуйста техническое решение для решение мой задачи.
  14. Цитата(adnega @ Dec 28 2014, 18:07) А не земля ли это подпрыгивает? R2 (а еще лучше дополнительное R2') нужно установить на конце линии рядом с датчиком. 1k?
  15. Цитата(adnega @ Dec 28 2014, 15:44) +100 С паразитным питанием не пробовал, а активное: сотни метров - без проблем. Настоятельно рекомендую переделать подключение. Изыскать лишний провод и подать по нему питание на датчики. Это все наработки прошлого,все новое с питанием и вот хочу на 485 перетащить шину. Цитата(cant @ Dec 28 2014, 15:22) на пять метров мега точно не вытянет. У вас бы не возникло вопросов при проброске питания напрямую, а не через линию связи. ставьте мощный драйвер для прокачки сигнала так, чтоб еще и на питание всех датчиков с лихвой хватало, и про длину проводо не забывайте. мне кажется, вам будет достаточна схема APPENDIX B – IMPROVED CPU BUS INTERFACE из Application Note 148 APPENDIX C – ADVANCED 1-WIRE NETWORK DRIVER на мой взгляд весьма избыточна для вас Позволю немного не согласиться, судя по осцилограммам, датчикам не хватает энергии, чтобы отработать на шине обмен и думаю надо делать Pull-Up, например как в AN4206 вот на этой картинке Я не к тому что самый умный или пробывать не хочу, просто пробывал уже подтягивать полевиком к земле и не получилось, схема была похожая как раз на APPENDIX B – IMPROVED CPU BUS INTERFACE в AN148. Вот осцилограмма сброса и ответа датчика при К2=4,7k [attachment=89064:reset_long_wire93.jpg] видно что нарастающий фронт после окончания сброса завален. Тоже самое при запаралеливании еще двух портов mega8 на шину (чтобы больше отдать по току в шину): [attachment=89065:AKIP28_4.jpg] [attachment=89067:AKIP28_9.jpg] уже лучше но видимо недостаточно. А вот если поставить еще R2=2k [attachment=89066:AKIP28_15.jpg] т.е. стало хуже, появились выбросы. Согласны с моими выводами? Схему поправил. [attachment=89068:sheme.JPG]