Подскажите по железу.

Pahom-ka
Offline
Зарегистрирован: 01.12.2014

Добрый день!

Есть желание сделать небольшую автоматику для котла, тему по автоматизации читал, скетч видел, в принципе это не совсем то, но многое понятно.

Непонятно по выбору железа, что конкретно нужно приобрести :).

О себе - навыки программирования имеются, причем на подходящих языках даже, однако ничего, кроме прикладного софта не писал, да это и не беда.

Хочу автоматизировать управление заслонкой твёрдотопливного котла. Принцип какой: на трубе подачи воды ставим накладной датчик температуры, лучше Dallas, до 100 градусов температура может быть. Далее на нижний люк загрузки дров ставим стальную "прищепку", на которой фиксируется наш сервопривод, который через чепочку соединён с заслонкой, приподнимая-опуская её. Вес заслонки - примерно 100-150 грамм.

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

Алгоритм я вроде продумал, ряд проблем будем отлаживать по ходу событий.

В общем из что мне нужно из железа?

Arduino Uno

LCD Keypad Shield 

DS18B20 - герметичный

макетка и набор проводов

а вот дальше - какой нужен привод, шаговый или серво, и какую плату расширения к нему лучше выбрать? Нужно поднимать заслонку на 90 градусов, возможно через рычаг, т.е. делая усилие на 180 градусов. 

Pahom-ka
Offline
Зарегистрирован: 01.12.2014

Кстати ещё бы в идеале - логировать данные, для последующего анализа, например просто на флэшку в текстовый файл, а потом считать. Ибо всё равно недельку будет работать в тестовом режиме, а вот если бы писать в файлик например: температуру подачи, температуру стенки котла, угол поворота заслонки (а это чем получить?), время, то с этих данных можно было бы выстроить оптимальную систему контроля и управления.

axill
Offline
Зарегистрирован: 05.09.2011

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

По вопросам. UNO вполне позволит вам реализовать довольно много логики, но если есть возможность в таких проектах лучше заложиться на мегу. LCD - в принципе любой. Зависит от того какие красивости хотите на нем показывать. Начните с самого простого текстового диспеля 16 символов на 2 строки. Датчик DS18B20 для температуры воды и котла подойдет - он работает до 125 градусов, а вот более горячие вещи (например температура газов в отводной трубе) уже нужно брать другие датчики - термисторы или термопары. Про блок питания не забудьте, подойдет любая зарядка от телефона с USB - у них 5В на выходе, сожно питать ардуину через пин 5В, либо блок питания на 12В с DC штекером который можно воткнуть в штекер питания  UNO/MEGA

шаговик применяют там, где нужна высокая точность перемещения (до десятых или даже сотых долей миллиметра). Если точность не очень высокая то бывает удобнее серву. Но еще нужно смотреть на то каквая махника привода в итоге получится. У сервы все таки ограничения по повороту (максимум один круг), а у шаговика такого ограничения нет - может любое число оборотов накручивать

Pahom-ka
Offline
Зарегистрирован: 01.12.2014

Спасибо за ответ!

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

На данный момент хочу лишь управлять заслонкой твёрдотопливного котла, т.е. с помощью сервопривода поднимать-опускать её в зависимости от температуры воды в системе. На первом этапе буду снимать текущие показатели работы, товарищ-инженер подсказал, что оптимально снять следующие параметры - температуру на улице, в помещении, подачи с котла. Также думаю снять угол открывания заслонки (как это происходит сейчас), а также внешнюю температуру котла (для статистики, а также аварийного режима). Поставил бы и анемометр, для расчёта зависимости тяги от скорости ветра, но дорогое удовольствие. Возможно будет барометр.

Т.е. после снятия например недельных параметров, мы построим графики зависимостей, и будем определять нужный угол открывания заслонки в дальнешей работе.

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

Прошу помочь точно подобрать железо, например я никак не могу понять точно, какой мощности моторчик может работать напрямую с ардуиной, а которому понадобится дополнительное питание.

В общем на данный момент я хочу остановиться на следующем железе:

Бесконтактный датчик температуры на базе MLX90614Arduino Mega 2560

Герметичный датчик температуры DS18B20 - 2 штуки (котёл и на улице) - вопрос, какова максимальная длина линий для них?

Датчик температуры DS18B20+ - температура в помещении

Arduino Mega 2560 - сердце

Привод FS5109M - можно ли его соединять напрямую к меге.

Ну пока вот такие вопросы.

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Pahom-ka пишет:

Прошу помочь точно подобрать железо, например я никак не могу понять точно, какой мощности моторчик может работать напрямую с ардуиной, а которому понадобится дополнительное питание.

Никакой моторчик не может работать напрямую. Делайте все на реле. Для начала лучше запустите только цепи сигнализации, с расчетом на то, что с того же реле потом можно будет взять управляющий сигнал.

axill
Offline
Зарегистрирован: 05.09.2011

Andrey_Y_Ostanovsky пишет:

Никакой моторчик не может работать напрямую. Делайте все на реле. Для начала лучше запустите только цепи сигнализации, с расчетом на то, что с того же реле потом можно будет взять управляющий сигнал.

ну не соглашусь. Реле прошлый век, точнее  им места осталось совсем мало. Для низквольтных нагрузок лучге применять мосфеты или специализированные микросхемы с встроенными мосфетами (аля мотор шилды). Для сетевых нагрузок симисторы или SSR

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

Не знаю что там у вас как устроено, пока предполагаю, что у вас может быть два варианта - серво мотор либо обычный DC мотор. Для DC мотора потребуется еще енкодер, чтобы знать положение заслонки. С сервой в принципе можно без енкодера, ибо енкодер встроен в серву. Серве вы задаете угол поворота и она на этот угол поворачивает.

Pahom-ka
Offline
Зарегистрирован: 01.12.2014

А подскажите пожалуйста серв, с которого потом можно по i2c получить угол поворота, т.к. его будут крутить помимо самого серва вручную, и как можно не блокировать серв, чтобы можно было провернуть его?

axill
Offline
Зарегистрирован: 05.09.2011

переведите на русский) ничего не понятно

с сервы ничего считывать не нужно. Вы серве даете команду повернуть на угол X, она и повернется на угол X

Pahom-ka
Offline
Зарегистрирован: 01.12.2014

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

axill
Offline
Зарегистрирован: 05.09.2011

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

насчет того, чтобы совместить ручное и автоматическое управление. Готового ничего вы не найдете. Нужно изобретать. Один из вариантов - исключить ручной поворот заслонки, поставить рядом пару кнопок для ручного управления сервой.  В этом варианте вам энкодер не обязателен, и так будете знать положение заслонки. С сервой один минус - она должна быть всегда под напряжением, чтобы держать заданное положение

Если без кнопок, а именно ручной поворот заслонки - придется разрешить конфликт. Потоу как если вы оставите заслонку свободной, то как будете гарантировать, что автоматика сможет ее повернуть? А если гарантируете, что автоматика будет работать, то значит она должна блокировать положение заслонки. Не то, чтобы не возможно разрешить этот конфликт, но голову поломать придется. Например подпружыненный храповик, который от нажима рукой прошелкивает положения. Или типа щеколды на пружинке которую надо будет отжать, чтобы повернуть вручную

Pahom-ka
Offline
Зарегистрирован: 01.12.2014

Гироскоп не вариант?) Мне в принципе особая точность не нужна, ускорений там не будет никаких, заслонка досаточно тяжко поворачивается сама-то.

А по поводу ручного и авто-управления - если вариант с гироскопом прокатывает, то тогда я могу просто на полуплечо привода накинуть цепочку, её зацепить за заслонку. Т.е. при растопке ручной режим, а при дальнейшей работе - работа по гироскопу в автоматическом режиме. Привод всё равно ночью закроет заслонку, при падении температуры например до 20 градусов на датчиках. Потом растопили, накинули цепку, нажали например кнопкку на клавиатуре (не просто так беру шилд экрана с кнопками), и погнали в авторежиме. Как-то так думаю.

Logik
Offline
Зарегистрирован: 05.08.2014

Необходимости в отслежывании положения заслонки нет, у Вас обычная система автоматического регулирования с отрицательной обратной связью по температуре. Если заслонку ручками приоткрыли, то температура на выходе растет, автоматика начнет закрывать заслонку обратно. Через пару итераций все будет как до ручного вмешательства.  Здесь ручное вмешательство это ещё одно неизвестное внешнее воздействие, как изменение тяги трубы от ветра или качества топлива.

Сервопривод при отсутствии питания руками можно провернуть, туговат за счет редуктора, но вполне крутится. Держать его все время под питанием даже вредно, греется. В Вашем случае я бы такой алгоритм применял: периодически, раз в пару минут делаем  замеры температуры, расчитываем новое положение заслонки включаем сервопривод, устанавливаем в требуемое положение (там ШИМ, не сложно) и выключаемся. А в паузах можна руками крутить как угодно.

Pahom-ka
Offline
Зарегистрирован: 01.12.2014

дело в том, что хотел основываться на статистических данных, например как сильно открывается заслонка в те или иные температуры на улице, насколько хватает топлива, например чтобы ночью будильник поставить и подойти подкинуть дров в нужный момент. Часть этой информации буду выводить на дисплей, может ещё подключу пищалку например, чтобы можно было вовремя подкинуть топлива.

Параллельно ищу в интернете информацию по оптимальной работе печи/котла, чтобы максимально эффективно использовать систему.

Пока остановился на следующей конфигурации - ардуина уно (меги в том магазине не было, мож поменяем налету), дисплей с кнопками, модуль для флэшки, часы, сервопривод, гироскоп, 3 датчика температуры. На этом пока всё.

Завтра-послезавтра привезут, на сегодня уже начну писать скетч, как всё будет отлажено - выложу сюда же.