Интересный проект
- Войдите на сайт для отправки комментариев
Чт, 30/04/2015 - 22:10
Жду пока приедет Mega2560 полистал форум . Прошу не бранить первая практика програмирования контролёр (ну прикладным всю жизнь занимаюсь что тут поделаеш)
Постановка задачи
Требуется контролировать большое количество датчиков. (Действительно большое)
Вставка из постановки задачи для умного дома
ЗОНА МОНИТОРИНГА
а. Контроллёр
1) Arduino Mega2560 + W5100 (скорей всего + отдельная для сигнализации)
2) Мультиплексоры http://www.ebay.com/itm/5pcs-CD74HC4067-Analog-Digital-MUX-Breakout-Board-16-channel-Analog-multiplexer-/371307131672?pt=LH_DefaultDomain_0&hash=item5673a13318
б. Датчики
1) Датчики температуры http://www.ebay.com/itm/10pcs-TMP36GT9-ORIGINAL-Low-Voltage-Temperature-Sensors-/171037919812?pt=LH_DefaultDomain_0&hash=item27d2a78a44
2) Герконы магнитные КЭМ-2 А или что то похожее
3) Датчики влажности DHT22 и DHT21
4) Датчики протечки Н2О-Контакт
5) Датчики движения HC-SR501
!!! 6) Датчики звука (ПОКА В ПОИСКЕ или повешу на аудиоподготовку комнат)
7) Датчики освещения Analog Ambient Light Sensor от DFrobot
Собирать буду наверное так
Все датчики температуры (а их штук 30 будет повешу на 2 мультиплексора, наверное всёже на 2 выхода, иначе боюсь лишнего сопротивления от самих мультиплесоров если их последовательно юзать таки 70ом)
Датчики DHT22 на ещё 1 мультиплексор
Освещение на ещё 1 мультиплексор
Итого в 4 порта ацп вполне уложусь но это блин аж 4*4 занятых портов выхода (хотя впринципе можно и всего 4 на все 4 мультиплексора
Вот с герконами проблемка та ещё
1. Их много
2. Охото повесить каждый на свой порт, дабы знать что и где открыто
3. Охото повесить на прерывание
Датчиков протечки не очень много но как и герконы охото каждый на свой порт и прерывание
Датчики движения ТАЖЕ БАДЯГА
Как итог выходит что и 2 мег наверное мало будет с таким апетитом, а ведь ещё и клавиатура сигнализации, считыватель брелков или сканер пальца будут
На Due переходить смысла не вижу (Если не прав поправьте)
Прошу оченить и дать рекомендации
Что-жеж вы далласа-максима так обидели...... (DS18B20) ?
Меня от 1-wire просто корёжит с её "НАДЁЖНОСТЬЮ"
Только если через мультиплексор сажать опять же по 1 ну максимум по 2 (А реально можно расмотреть, ведь цифра не повредится мультиплексором и наводками)
зачем так обманывать? ну чего тут интересного. опять умный дом
1. Я от и до хочу выложить все свои шаги.
2. Буду применять все решения которые реально тяжело найти (Например применение мультиплексора, про него очень мало написано)
3. Опять же МАКСИМАЛЬНАЯ нагрузка на контролёр, тоже крайне слаба описанная тема
4. Поиск оптимального алгоритма для большого числа датчиков и элементов
5. Совмещение с BECKHOFF
6. Далее пойдёт слабо касающееся ардуино но крайне интересная тема. Это управляющая система с элементами ИИ, ну или точнее нейросети с обучением не через базу ответов а генетичискими алгоритмами (сугубо разработка для автоматизации крупных предприятий, но как не провести тест своего детища на смежной теме:))
Можете долго иронизировать по далласовским термометрам, но ваши аналоговые измерения низких напряжений в условиях непонятных помех да ещё на длинных линиях и через мультиплексоры.... Ну-ну.......
А вот это работает уже не помню сколько, года 4 точно : http://arduino.ru/forum/programmirovanie/problemy-s-termostatom#comment-92465
Сегодняшний скриншот, видно один сдохший датчик...... № 32 ( за 4 года )
Во первых я отметил что через мультиплексоры по 1 датчику я скорей и повешу. А вообще вы пытали повесить больше 4 датчиков на длинных проводах (обязательно уже уложенных вдоль силовых) к ардуине??? она 3 еле тянет при общей длине провода больше 10 м и это с подтяжкой кондёрами
Вы прочитали про пучёк на которое всё это работает ? Был-бы простой луч- всё намного проще.
http://arduino.ru/forum/programmirovanie/problemy-s-termostatom#comment-... пост 15
1. витая пара там где возможно, в пучках с силовыми, это надо понимать почему.
2. В каждую сторону свой "пин". Если на одном- тогда петлять много - желательно луч делать.
Нетрудно сделалось отдельное питание на каждый шлейф - 78L05.
3. Всё равно на концах лучей "звездить" пришлось. И кабель уже просто сигнализационный.
4. Резисторы поменьше для ускорения переходных процессов. Стоят что нашёл- 1к8 по-моему.
По нагрузке датчика 5 миллиаперов- минимум 1к0. Это по паспорту.
Меня от 1-wire просто корёжит с её "НАДЁЖНОСТЬЮ"
Только если через мультиплексор сажать опять же по 1 ну максимум по 2 (А реально можно расмотреть, ведь цифра не повредится мультиплексором и наводками)
А что у 1-wire не так с надежностью? вы главное не верьте, что она двупроводная, используйте отдельный провод питания.
кстати герконы и релюхи тоже хорошо подключаются через даллас-максимки DS2413 и DS2408.
1-wire проектировалась для коротких сетей на 3-5 датчиков но как итог оказалась получше.
Для длинных сетей нужны приличные заморочки
(2 пары земля/данные питание/земля витые)
ХОРОШИЙ контролёр (не к ардуине напрямую)
доп питание и грамотная распайка кондёров для подтяжки.
И на кой мне с этим связываться. А тем более городить огород через DS2413 за 170 руб c герконом за 40???
Датчики температуры поставлю даласы но по 1-2 на вход (слава богу мультиплексор решает все эти проблемы)
А почему в "аппаратные вопросы" а не в "проекты"? И Жека прав насчет "интересности".
1. скиппед
2. может потому что мало интереса?
3. Зачем расчитывать/тестировать максимальную нагрузку при его копеечной стоимости?
4. Оптимальным для чего? Нагрузки процессора? Возьмите помощней.
5. Тут наверное просто спортивный интерес.
6. ИИ на дуне? Кхм.
1. не видел ни 1 места где былобы разьяснено всё и сразу что может быть интересно в умном доме (будет такая вот компиляция)
2. По мне так довольно важный момент
3.Кому как, а по мне если можно не тратить лишние деньги зачем их тратить???
4. Оптимальный по времени выполнения и скорости реакции (что может быть важно когда дело касается например пожарной сигнализации
6. ИИ будет на пк с теслой(алгоритм пока только для неё).
Сори за запятые пишу с мобилы.
3. Датчики сами паять будете? Точно дешевле получится. Причем в пересчете на количество так вобще в сравнении более мощной дуней огого!
4. Возьмите Дую. Или опять экономия?
6. Что такое тесла? Только авто такое знаю :)
И сразу могу сказать что пункты 3,4 и 6 вместе мало совместимы :(
3???
ДАтчики покупные с ебея и али. Припаивать к резисторам (где надо кондёрам) и витой прае дело нехитрое. Мультиплесор нашол распаяный на плату. Итого 2 меги (1 на сигнализацию + пожарку а вторая на информационные датчики и контроль за сервоприводами (шторы там или ещё где) и прочим.
4 О дуе подумываю но и там если алгоритм га...но то всё будет медленно работать. Опрос такого количества датчиков таки не совсем фигня. Так что особого смысла разоряться на неё кроме более быстрого старта не вижу
6 Тесла это Nvidia tesla K40
3. "Кому как, а по мне если можно не тратить лишние деньги зачем их тратить???" Зачем покупать датчики если можно спаять?
2 меги это 8 нано ;)
Экономить на дунях и ставить ИИ на графике за 4к евро?!?! Я Вас никогда не пойму.
У меня на производстве по 50-60 ds18b20 работают на один шлейф, длиной под 80 метров. И никаких проблем с надежностью не возникает. Вы просто не умеете 1-Wire готовить.
У меня на производстве по 50-60 ds18b20 работают на один шлейф, длиной под 80 метров. И никаких проблем с надежностью не возникает. Вы просто не умеете 1-Wire готовить.
На ардуине??? Ну тогда схему в студию. А на хорошем контролёре (даже на DS9490R) у нас монтажники и по 140 датчиков на 300 метров холодильного стана вешают.
3. "Кому как, а по мне если можно не тратить лишние деньги зачем их тратить???" Зачем покупать датчики если можно спаять?
2 меги это 8 нано ;)
Экономить на дунях и ставить ИИ на графике за 4к евро?!?! Я Вас никогда не пойму.
Вы умеете паять датчики??? Я за час работы получаю от 600р. Пайка датчиков это оправдает???
и на кой мне 8 нано???
ИИ уже написан (его надо только приспособить, и прикрутить голосовое распознавание и голосовой движок (эх был бы аналог Vocaloid на руском)) а стоять он будет на рабочих серверах (копейки на общем фоне нагрузки)
Upd. Тема себя оправдала на 100% нашол спеца по вокалоиду на русском СПС ФОРУМУ
Я запутался в Вашей логике. Вы готовы потратить недели на оптимизацию алгоритмов, хотя эта "проблема" рещилась бы инвестицией в десятку долларов, но не готовы экономить на пайке датчиков (эммм, а в чем принципаяльная разница в пайке датчиков и не датчиков?) мотивируя стоимостью часа своей работы. В это же время ИИ будет крутиться на железе стоимостью 5к вечнозеленых.
8 нано с плохим алгоритмом будут обрабатывать быстрее показания с датчиков, чем мега с суперпупер алгоритмом. ИМХО. Плюс повышение надежности.
Я запутался в Вашей логике. Вы готовы потратить недели на оптимизацию алгоритмов, хотя эта "проблема" рещилась бы инвестицией в десятку долларов, но не готовы экономить на пайке датчиков (эммм, а в чем принципаяльная разница в пайке датчиков и не датчиков?) мотивируя стоимостью часа своей работы. В это же время ИИ будет крутиться на железе стоимостью 5к вечнозеленых.
8 нано с плохим алгоритмом будут обрабатывать быстрее показания с датчиков, чем мега с суперпупер алгоритмом. ИМХО. Плюс повышение надежности.
по порядку
Недели на оптимизацию??? Не знаю как вы а я пишу в день (рабочий) 6-8 страниц ОПТИМИЗИРОВАННОГО кода и на код дуни дольше 3 дней убивать н собираюсь (и то потихоньку понемногу)
НЕ ВИЖУ СМЫСЛА вв этой инвестиции разница в 100 мс на цикл опроса непринципиальна, но вот стабильность этого опроса за счёт правильного алгоритма куда важнее
мега стоит 600 нано 100 но вот щиты w5100 для них скажем так переворачивают ситуацию
Что вы понимаете под пайкой датчиков??? (пайка готовых датчиков типо такого http://www.electronshik.ru/item/analog-ambient-light-sensor-683009 к проводам витой пары, или пайка самих датчиков из комплектующих ?) Если пайку самих датчиков так это крайне небыстро и очень некачественно
ИИ будет крутиться на железе компании.
Надёжность я обеспечу лёгким доступом к мегам и наличием запасной с готовым алгоритмом.
А вот понятие экономии вам походу незнакомо. Именно из за того что я и считаю так сказать каждый рубль я покупаю землю и строю дом в Питере продав квартиру в Магнитогорске
На ардуине??? Ну тогда схему в студию. А на хорошем контролёре (даже на DS9490R) у нас монтажники и по 140 датчиков на 300 метров холодильного стана вешают.
Вот с такими подтяжкам на линии 150м+ответвления по несколько метров висят 20 датчиков
Как ей подтягивать? Читал про эту схему, но монтажники с работы сказали мало эффективна эта схема: мол датчики с ней работают, но не все если их много, и вылетают часто. Так что для длинных линий рекомендуют хороший контролёр и доп питание с подтяжкой обычными дешовыми кондёрами. Обрисуйте схему мб попробую "на столе" а там посмотрю
Во как, на личности решили перейти? Нюню.
Недели на оптимизацию??? Не знаю как вы а я пишу в день (рабочий) 6-8 страниц ОПТИМИЗИРОВАННОГО кода и на код дуни дольше 3 дней убивать н собираюсь (и то потихоньку понемногу)
Дык проситесь в микрософт! Они свой код постоянно переписывают, а тут такой самородок! Написал один раз ОПТИМИЗИРОВАННЫЙ код и всё. И всего за 600 рублей в час.
НЕ ВИЖУ СМЫСЛА вв этой инвестиции разница в 100 мс на цикл опроса непринципиальна, но вот стабильность этого опроса за счёт правильного алгоритма куда важнее
мега стоит 600 нано 100 но вот щиты w5100 для них скажем так переворачивают ситуацию
Я Вам открою страшную тайну - шилды не обязательно втыкать!
Что вы понимаете под пайкой датчиков??? (пайка готовых датчиков типо такого http://www.electronshik.ru/item/analog-ambient-light-sensor-683009 к проводам витой пары, или пайка самих датчиков из комплектующих ?) Если пайку самих датчиков так это крайне небыстро и очень некачественно
Может дело не в бобине? Вы еще китайцам расскажите что пайка это медленно и некачественно.
Надёжность я обеспечу лёгким доступом к мегам и наличием запасной с готовым алгоритмом.
Правильно, лучше пусть вся система на неопределенный срок вылетит чем ее часть. Или у Вас будет часовой с мегой на готове рядом стоять?
А вот понятие экономии вам походу незнакомо. Именно из за того что я и считаю так сказать каждый рубль я покупаю землю и строю дом в Питере продав квартиру в Магнитогорске
Куда нам сирым и убогим до целой квартиры в аж самом Магнитогорске и уж тем более до стройки в Питере.
Когда научитесь не каждый рубль считать, а видеть картину целиком, то сможете и на нормальное жилье в нормальном месте заработать.
Как ей подтягивать? Читал про эту схему, но монтажники с работы сказали мало эффективна эта схема: мол датчики с ней работают, но не все если их много, и вылетают часто. Так что для длинных линий рекомендуют хороший контролёр и доп питание с подтяжкой обычными дешовыми кондёрами. Обрисуйте схему мб попробую "на столе" а там посмотрю
что значит обрисовать? там ссылка на оригинальную статью есть.
Могу сфоткать завтра на работе готовое "устройство" по этой схеме, таких устройств установлено на линии 150м три, в начале, сердине и конце, подтягивающий резистор один 2.2к возле ардуины. На линиях покороче 1-2 устройства. Автор схемы утверждает, что у него линии поболее моих работают. На форумах читал, что недостатком данной схемы является чувствительность к помехам поэтому использовал витую пару с экраном. Использовал пока только для DS18B20, в планах DS2413.
На личности я не переходил.
Дык проситесь в микрософт! Они свой код постоянно переписывают, а тут такой самородок! Написал один раз ОПТИМИЗИРОВАННЫЙ код и всё. И всего за 600 рублей в час.
Интересное у вас понимание самородка. В майках код пишут табуны прогеров когда 1 уходит его код почти нереально доработать(по практике говорю разобраться и исправить код занимает больше чем написать и отладить свой). Далее понятие оптимизированный и отлаженый код это разные понятию. На отладку уходит времени не меньше чем на написание а то и больше.
Я Вам открою страшную тайну - шилды не обязательно втыкать!
Чем прикажете комутировать всё это? USB?
Может дело не в бобине? Вы еще китайцам расскажите что пайка это медленно и некачественно.
??????????????? И что тут написанно?
Правильно, лучше пусть вся система на неопределенный срок вылетит чем ее часть. Или у Вас будет часовой с мегой на готове рядом стоять?
Как уже сказал 1 мега выгодней нескольких нано. Сигнализация даже при частичном вылете трубет СРОЧНОЙ обработки. И опять же шанс вылета 3 нано выше в 3 раза (условно) чем у 1 меги Значит я в 3 раза больше волнуюсь " А что случится с моей сигнализацией"
Последнее даже коментировать лень.
Как ей подтягивать? Читал про эту схему, но монтажники с работы сказали мало эффективна эта схема: мол датчики с ней работают, но не все если их много, и вылетают часто. Так что для длинных линий рекомендуют хороший контролёр и доп питание с подтяжкой обычными дешовыми кондёрами. Обрисуйте схему мб попробую "на столе" а там посмотрю
что значит обрисовать? там ссылка на оригинальную статью есть.
Могу сфоткать завтра на работе готовое "устройство" по этой схеме, таких устройств установлено на линии 150м три, в начале, сердине и конце, подтягивающий резистор один 2.2к возле ардуины. На линиях покороче 1-2 устройства. Автор схемы утверждает, что у него линии поболее моих работают. На форумах читал, что недостатком данной схемы является чувствительность к помехам поэтому использовал витую пару с экраном. Использовал пока только для DS18B20, в планах DS2413.
Прошу объяснить как она подключается к линии. (сама схема вполне понятна) Причина недовольства ею наших монтажников наверное и кроется в помехах таки стан с тонами металла в постоянном тепловом переходе (остывает прокат). Хотя не ручаюсь.
Вы таки делаете мне смешно! "Не знаю как вы а я...", "А вот понятие экономии вам походу незнакомо."
Вы пишите оптимизированный нерабочий код? Или что Вы подразумеваете тогда под "отладкой"? Красочное форматирование и замена табов пробелами?
Вы правда думаете что в шилде находится сгусток древней магии который заставляет все это работать? Так ведь нет, это просто контакты. И их можно соединять.
Объясняю. Паять нужно уметь. Чтобы научиться паять нужно паять. И тогда все будет быстро и качественно :) Вот такой замкнутый круг.
Какие-то у Вас странные условности. С какого перепугу у 3 нано шанс на вылет больше в 3 раза чем у одной меги? Просто по количеству? Ну тогда, следуя этой логике, у 10 молотков гораздо больше шансов что один из них сломается при забивании гвоздя чем у одной меги? Теория относительности касательно сложности электронных устройств, не?
Попробую Вам объяснить на айтишном примере. У Вас есть 3 не реплицированных сервера(так случилось) которые обеспечивают работу Вашего продукта. Первый обслуживает просто клиентов, второй - корпоративных, третий - внутренние транзакции. При падении лбюого из них - очень плохо, но выходит из строя только одна часть общей задачи. Если все работает на одном сервере - то при падении наблюдается локальный армогиддец.
Не стоит класть все яйца в одну корзинку. (с) Народная мудрость.
Заначит понятие оптимизированный от отлаженный вы всётаки не отличаете. О чём ещё речь может быть.
54 контакта меги за 500 р лучше чем 70 от 5 нан которые надо ещё закомутировать друг с другом и запитать, что скажем прямо попахивает идиотизмом.
паять я умею но паять плату датчика освещённости с моими умениями НЕКАСТВЕННО И ДОЛГО
у 10 молотков шанс что 1 сломается выше чем у 1 при работе за одно время. Ардуины то работают все 3 вместе а не поочереди над 1 задачей.(Или для вас это открытие?)
Объясню вам на другом примере 3 ардуины для сигнализации это как RAID 0 упадёт 1 И ЖОПА надо шевелиться и ехать домой смотреть причину ну или не спускать глаз с ip камер.
Прошу объяснить как она подключается к линии. (сама схема вполне понятна) Причина недовольства ею наших монтажников наверное и кроется в помехах таки стан с тонами металла в постоянном тепловом переходе (остывает прокат). Хотя не ручаюсь.
1-wire шина это три провода +5, GND и DATA, вот на этой схеме и есть три точки +5в, ШД(DATA) и Общ(GND) которыми она подключается к шине. Принцип работы тоже описан на картинке.
Прошу объяснить как она подключается к линии. (сама схема вполне понятна) Причина недовольства ею наших монтажников наверное и кроется в помехах таки стан с тонами металла в постоянном тепловом переходе (остывает прокат). Хотя не ручаюсь.
1-wire шина это три провода +5, GND и DATA, вот на этой схеме и есть три точки +5в, ШД(DATA) и Общ(GND) которыми она подключается к шине. Принцип работы тоже описан на картинке.
Это то ясно
Вконце эта схема включается или где? (у неё явно есть оптимальное расположение)
Заначит понятие оптимизированный от отлаженный вы всётаки не отличаете. О чём ещё речь может быть.
Дык сжальтесь, объясните неучу. Чё жалко что-ли?
54 контакта меги за 500 р лучше чем 70 от 5 нан которые надо ещё закомутировать друг с другом и запитать, что скажем прямо попахивает идиотизмом.
Обосновать сможете? Снова лень?
у 10 молотков шанс что 1 сломается выше чем у 1 при работе за одно время. Ардуины то работают все 3 вместе а не поочереди над 1 задачей.(Или для вас это открытие?)
Прочитайте мое сообщение. Не качественно передергиваете.
Объясню вам на другом примере 3 ардуины для сигнализации это как RAID 0 упадёт 1 И ЖОПА надо шевелиться и ехать домой смотреть причину ну или не спускать глаз с ip камер.
:) Как раз Ваш случай, с нанами будет 1/3 жопы.
А как мы все прекрасно знаем разнесенные по времени 3 *1/3 жопы !== ЖОПА а все те же 1/3 жопы
Это то ясно
Вконце эта схема включается или где? (у неё явно есть оптимальное расположение)
где вам удобно там и включаете, это не сильно принципиально.
Ну и, само собой, это далеко не самое крутое устройство для организации больших 1-wire сетей, но весьма дешевое и достаточно эфективное.
Оптимизация программного кода — это модификация программ, с целью улучшения их характеристик, таких как производительности или компактности, — без изменения функциональности.
Отла́дка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки.
54 контакта 500р + шилд 360р
ардуины нано сам шилд дешевле 1к не нашол уже отпадает вопрос на корню!
Но даже если вдруг будет шилд тоже за 360
то из 14 контактов наны по 2-4 уйдут на комутацию (это если она круговая) а это значит что свободны 50-60 контактов и нужно писать или искать библиотеку для комутации усложнять код и терять отказоустойчивость (выйдёт 1 из строя выйдет из строя вся цепь) а это уже реально опасно
далее если комутировать звездой с 1 ардуиной управляющей в вершине выйдет -2 порта с каждой и -8 с управляющей итого -16 что как не сложно догадаться равно 54 (и стоило огород городить?) Опять же выйдет из строя центральная упадёт вся сеть а значит устойчивость не лучше 1 меги
Можно конечно забабахать сложную комутацию по типу 1-wire но на такие извращения кода ради +5 контактов идти это пошлость
Если сигнализация упала на 1/3 это означает что сигнализация упала СОВСЕМ так как только целостность периметра даёт надёжность показаний. И жопа на 1/3 = жопа ( бочка мёда на 1/3 из го..на это бочка го..на)
И лично мне лучше 1 раз поволноваться чем 3 раза но "НЕ СОВСЕМ" (хотя сложно волноваться с нерабочей сигнализацией не совсем)
Это то ясно
Вконце эта схема включается или где? (у неё явно есть оптимальное расположение)
где вам удобно там и включаете, это не сильно принципиально.
Ну и, само собой, это далеко не самое крутое устройство для организации больших 1-wire сетей, но весьма дешевое и достаточно эфективное.
Попробую, всё равно ничего не теряю (мб сэкономлю на кабеле хотя с щитовой в центре дома это под вопросом)
А на помехи у меня есть тестер на работе (6 старых мобилок и несколько мощных трансформаторов)
Спс за совет
Всё, Вы победили. Начальство ругается что громко ржу.