Аппаратная платформа Arduino для автоматизации наших процессов
asvar
Специалист
Крога
163 30
Отв.400 12 Июня 13, 17:59
Ну так конечно выкладывай. Сам доделываю свою автоматику, интересно посмотреть на другие мысли!
Vitaliy_R
Бакалавр
Cherkassy
69 2
Отв.401 12 Июня 13, 19:00
Описание, фотки в студию!
Интересно будет посмотреть реализацию.
Интересно будет посмотреть реализацию.
sharky98
Новичок
Нижний Новгород
5 3
Отв.402 12 Июня 13, 22:06
Сегодня смогу выложить только схему и программу. Основная часть программа взята у уважаемых создателей темы данного форума. Все попытки прописать отдельный адрес вручную для датчиков ds18b20 не увенчались успехом. Поэтому адрес датчика берется из памяти чипа atmega, в который заранее прописывается через настройки. Программа еще тестируется, но есть планы сделать интуитивное меню, которое в любом случае сможет запустить процесс, какие бы кнопки не нажимать. Необходимость в этом есть, так как не всегда есть возможность запустить перегонку вовремя и самому. В коде программы есть участки для серво машинки, они были необходимы для управления вентилем на процессе ректификации. При использовании со всем оборудованием возникали непонятные помехи, по этой причине управление краном сейчас отсутствует. При определенных условиях управление краном не требуется, если брать ректификацию с высоким флегмовым числом, при изменении температуры отпадает необходимость закрывать кран, так как весь возможный спирт на данном аппарате был выгнан и установка отключается. На этапе дистилляции процент содержания спирта косвенно отображается на разнице температуры в испарительном кубе и точке отбора. Это условие включено в программу как еще одна возможность исключить лишнее время на получение дистиллята. Сейчас в программе отсутствует процесс ректификации и программа для автоклава. Эти дополнительные участки кода планирую добавить в ближайшее время, совместно с решением проблем управления серво машинкой.
В схеме на оптроне для считывания показаний со светодиода плиты добавлен конденсатор, так как при непосредственном отправлении сигнала на arduino приходили помехи. В остальных участках схемы таких фильтров не понадобилось. На фотографиях плиты, которые выложу позднее, будет видно, как провода впаивались непосредственно в плату расположения кнопок плиты.
В схеме на оптроне для считывания показаний со светодиода плиты добавлен конденсатор, так как при непосредственном отправлении сигнала на arduino приходили помехи. В остальных участках схемы таких фильтров не понадобилось. На фотографиях плиты, которые выложу позднее, будет видно, как провода впаивались непосредственно в плату расположения кнопок плиты.
svarnoy
Профессор
Жуковский.
9K 4.6K
Отв.403 13 Июня 13, 08:21
возникали непонятные помехи
Тоже воюю с сервой,помехи приносит.
Заказал вот такую штуку http://www.ebay.com/...984.m1497.l2649 должно помочь.
Непонял на каком канале у тебя сервопривод?
И непонятно,ты калибровку клавиатуры убрал из программы КD?
Тоже воюю с сервой,помехи приносит.
Заказал вот такую штуку http://www.ebay.com/...984.m1497.l2649 должно помочь.
Непонял на каком канале у тебя сервопривод?
И непонятно,ты калибровку клавиатуры убрал из программы КD?
asvar
Специалист
Крога
163 30
Отв.404 13 Июня 13, 08:55, через 34 мин
Феритовые кольца не пробовали пользовать на проводе питания и на дате?
У меня были такие траблы с блоком релле, давали наводку на экран настолько, что на нём вместо букв были кракозябры. Так фот кольца помогли.
У меня были такие траблы с блоком релле, давали наводку на экран настолько, что на нём вместо букв были кракозябры. Так фот кольца помогли.
sharky98
Новичок
Нижний Новгород
5 3
Отв.405 13 Июня 13, 11:48
Калибровка клавиатуры убрана, не видел необходимости в этом. В случае отказа клавиатуры прозвоню мультиметром. Благодарю за информацию о драйвере двигателя, она мне обязательно понадобится для другого проекта.
Машинка была подключена к 9 разъёму arduino. В схеме и в программе этого нет. Но вот интересная деталь при запуске только одной программы для серво и собранной схеме все работает. Поэтому первым делом запитаю машинку напрямую от батарейки, возможно, добавлю оптрон на управляющий кабель, конденсатор на несколько пикофарад. Затем если не поможет, буду удалять некоторые участки кода, думаю все проблемы от пищалки. Пищалку думаю повесить на независимый источник. Ферритовые кольца буду ставить в последний момент, у меня их нет под рукой, питание организовано от 9V DC (батарейка крона).
Машинка была подключена к 9 разъёму arduino. В схеме и в программе этого нет. Но вот интересная деталь при запуске только одной программы для серво и собранной схеме все работает. Поэтому первым делом запитаю машинку напрямую от батарейки, возможно, добавлю оптрон на управляющий кабель, конденсатор на несколько пикофарад. Затем если не поможет, буду удалять некоторые участки кода, думаю все проблемы от пищалки. Пищалку думаю повесить на независимый источник. Ферритовые кольца буду ставить в последний момент, у меня их нет под рукой, питание организовано от 9V DC (батарейка крона).
asvar
Специалист
Крога
163 30
Отв.406 13 Июня 13, 11:52, через 5 мин
Я с питанием тоже задолбался, пока не сделал общее от 12 вольт, мне 12 нужно на эл соленоиды, а 5 брал через кренку, тогда только нормально заработало. Все БП импульсные типа компьютерных, в которых и 5 и 12В, нормально не давали работать.
Пока просто нет времени, чуть позже выложу свои схемы, думаю народу пригодиться.
Пока просто нет времени, чуть позже выложу свои схемы, думаю народу пригодиться.
svarnoy
Профессор
Жуковский.
9K 4.6K
Отв.407 13 Июня 13, 16:38
думаю все проблемы от пищалки.sharky98, 13 Июня 13, 11:48Там вроде проблемы при некотором переходе через делей.
Скинь в личку пожалуйсто полный скетч с сервой.
sharky98
Новичок
Нижний Новгород
5 3
Отв.408 14 Июня 13, 00:00
Признателен svarnoy за помощь с программой! asvar, сейчас думаю наступить на те же грабли что и вы. У меня есть работоспособный блок питания от ПК хочу с ним провести пару экспериментов. Регулятор напряжения встроенный в мой аналог Arduino как написано в его характеристиках должен справиться без дополнительных фильтров, хотя, время покажет. Если не получится докуплю импульсный регулятор и обвяжу его фильтрами. Так обычно подключаются все чипы atmega рассчитанные на Operating Voltage: – 1.8 - 5.5V for ATmega48PA/88PA/168PA/328P. Если все работает нормально только от 5V DС, значит регулятор напряжения или фильтра работают неисправно, а возможно превышение в цепи по силе тока.
asvar
Специалист
Крога
163 30
Отв.409 14 Июня 13, 08:55
Если строиш всё на ардуине со своим фильтром пиания то может всё буде и хорошо, я просто делал свою плату с атмегой328. Все платы в автоматике сделаны своими руками вобщем.
Сейчас тружусь всё это (6 или 7 разных модулей) собрать в моноблок на одной плате. А то на практике оказалось потом слишком много проводов соединяют модули, как то не кашерно. Чтобы отдельно был только экран, клава и кренка с симистором на радиаторе.
Сейчас тружусь всё это (6 или 7 разных модулей) собрать в моноблок на одной плате. А то на практике оказалось потом слишком много проводов соединяют модули, как то не кашерно. Чтобы отдельно был только экран, клава и кренка с симистором на радиаторе.
sharky98
Новичок
Нижний Новгород
5 3
Отв.410 14 Июня 13, 11:24
Очень кропотливый путь выбрали. У меня есть одна идея которую планирую осуществить с помощью полностью покупных деталей. А какой загрузчик используете для atmega.
Выкладываю сегодня фотки блока управления и плиты. Есть там пару проводов идущих от основного блока к крышке, обеспечивающих питание. Можно было только два провести а там на каждое устройство отдельное питание по проводу пущено.
Выкладываю сегодня фотки блока управления и плиты. Есть там пару проводов идущих от основного блока к крышке, обеспечивающих питание. Можно было только два провести а там на каждое устройство отдельное питание по проводу пущено.
waldisko
Бакалавр
Киев
50 11
Отв.411 30 Июня 13, 18:09
Добрый день коллеги.
Хотел бы вынести на обговаривание по созданию логики к андурио и написании кода для ректификации, уже бьюсь несколько дней но ничего пока не выходит.
В планах стоит тотальный самоконтроль системы, тобишь нажал кнопку и ушел, чуть что сообщит по телефону или иным способом.
В принципе частично изложено отдельные процесы, но возникает вопросс как правильно увязать, а если быть точнее заставить работать не хуже чем оператор который постоянно все контролирует.
Одна из основным проблем которая возникает это увязка клапана отбора с зависимостью температуры в колоне.
Я например вижу это так:
1. начало разгона в кубе.
2. включение охлаждения, отключение разгонного тена.
3. при достижении определенной температуры начинаем отбирать головы, вот тут начинаються первые каверзы:
- пойти легким путем, когда колона выйдет в рабочий режим то открыть клапан отбора и контролировать по времени отбор. по истечении записать в память значение и что бы отключить отбор голов, тобишь если система перезапустится она будет понмить что отбирать головы не нужно, а нужно переходить сразу к отбору основной фракции.
- следующий легкий путь - просто задать датчик уровня, в случае заполнения записываем в значение в контроллер и переход в след. режим.
- самый сложный путь (но если решить то же можно использовать на всех стадиях, я стараюсь решить именно его) - зависимость отбора от температуры пара. Что мне приходит на ум так это то что сначала нужно регилировать флегму, а потом уже например понижать температуру. Например я пытаюсь приспособить код asvar по отбору флегмы к его же коду по регулировке мощности нагрева. Мысль пока такая - если клапан начал закрыватся на долго (параметр можно будет указывать в настройках) (зависимость от темперетуры и длительности в закрытом положении) то понижаем мощность тена на пример на 5%, ждем минуту и начинаем дальше анализировать, если клапан начал в открытом положении быть дольше оставляем мощность на прежнем уровне, при достижении определенного значения мощности система останавливает отбор голов прописывает значение в памяти ERROM котнроллера и включается режим отбора основной фракции.
4. Отбор основной фракции ни чем не отличается от предыдущего описания самы сложный путь в отборе голов, далее снова прописывается значение в памяти и уже включается -
5. отбор хвостов - сдесь уже очень просто отбираем по температуре клапан отбора открыт на максимум возможности системы, отбираем и система выключается при достижении определенной температуре в системе.
Хотел бы вынести на обговаривание по созданию логики к андурио и написании кода для ректификации, уже бьюсь несколько дней но ничего пока не выходит.
В планах стоит тотальный самоконтроль системы, тобишь нажал кнопку и ушел, чуть что сообщит по телефону или иным способом.
В принципе частично изложено отдельные процесы, но возникает вопросс как правильно увязать, а если быть точнее заставить работать не хуже чем оператор который постоянно все контролирует.
Одна из основным проблем которая возникает это увязка клапана отбора с зависимостью температуры в колоне.
Я например вижу это так:
1. начало разгона в кубе.
2. включение охлаждения, отключение разгонного тена.
3. при достижении определенной температуры начинаем отбирать головы, вот тут начинаються первые каверзы:
- пойти легким путем, когда колона выйдет в рабочий режим то открыть клапан отбора и контролировать по времени отбор. по истечении записать в память значение и что бы отключить отбор голов, тобишь если система перезапустится она будет понмить что отбирать головы не нужно, а нужно переходить сразу к отбору основной фракции.
- следующий легкий путь - просто задать датчик уровня, в случае заполнения записываем в значение в контроллер и переход в след. режим.
- самый сложный путь (но если решить то же можно использовать на всех стадиях, я стараюсь решить именно его) - зависимость отбора от температуры пара. Что мне приходит на ум так это то что сначала нужно регилировать флегму, а потом уже например понижать температуру. Например я пытаюсь приспособить код asvar по отбору флегмы к его же коду по регулировке мощности нагрева. Мысль пока такая - если клапан начал закрыватся на долго (параметр можно будет указывать в настройках) (зависимость от темперетуры и длительности в закрытом положении) то понижаем мощность тена на пример на 5%, ждем минуту и начинаем дальше анализировать, если клапан начал в открытом положении быть дольше оставляем мощность на прежнем уровне, при достижении определенного значения мощности система останавливает отбор голов прописывает значение в памяти ERROM котнроллера и включается режим отбора основной фракции.
4. Отбор основной фракции ни чем не отличается от предыдущего описания самы сложный путь в отборе голов, далее снова прописывается значение в памяти и уже включается -
5. отбор хвостов - сдесь уже очень просто отбираем по температуре клапан отбора открыт на максимум возможности системы, отбираем и система выключается при достижении определенной температуре в системе.
asvar
Специалист
Крога
163 30
Отв.412 01 Июля 13, 09:03
Я подумываю вводить вначале к-во АС и от него по времени плясать с отбором голов. На практике осталось привязать с небольшим запасом ко времени и клапану отбора (частоте его открытия). Мощность подразумеваю после разгона колоны остаётся неизменной до конца процесса.
vish
Специалист
Амурская область
152 21
Отв.413 01 Июля 13, 11:34
Считаю, что скорость отбора должна быть постоянной, иначе будет меняться флегмовое число. Алгоритм автоматизации мне представляется таким. Отбор голов начинается после стабилизаци колонны и может включаться вручную сминимальной скоростью. Во время отбора ведётся контроль температуры и в случае её неизменности в течение определённого времени подаётся сигнал окончания отбора голов для замены посуды. Можно отбор голов делать по времени, но браги бывают разные и точность будет хуже. После замены посуды включаем режим отбора тела, увеличив скорость. При повышении температуры на минимальное значение, которое термометр может зарегистрировать, клапан закрываеся до понижения температуры. Конечно, лучше контролировать температуру по двум точкам колонны, тогда клапан будет закрываться по сигналу нижней точки контроля и хвосты не попадут в отбор.
asvar
Специалист
Крога
163 30
Отв.414 01 Июля 13, 11:43, через 10 мин
Я не знаю как можно отбирать с одинаковой скоросью головы и тело? Если известно что головы отбирают +-100 мл /час. А номинальный отбор колонн уже в зависимости от самой колонны (500, 1000, 2000 мл ). Поэтому я не могу понять как скорость отбора может быть постоянной.
И про какие браги ты говоришь? Расчитать и налить определённое кол-во СС и разбавить до 40% помоему не проблема - так можно чётко знать кол-во АС в кубе.
Разъясни что имел в виду.
И про какие браги ты говоришь? Расчитать и налить определённое кол-во СС и разбавить до 40% помоему не проблема - так можно чётко знать кол-во АС в кубе.
Разъясни что имел в виду.
Slava 61
Научный сотрудник
Таганрог. Юг России.
11.1K 3.1K
Отв.415 01 Июля 13, 12:02, через 20 мин
Считаю, что скорость отбора должна быть постоянной, иначе будет меняться флегмовое число.vish, 01 Июля 13, 11:34А разве капля в секунду не постоянна? Плюс минус 1-5 ms. И что там поменяется не ты ни колонна не заметит.
asvar
Специалист
Крога
163 30
Отв.416 01 Июля 13, 12:04, через 2 мин
А если нужна капля в 10-20 секунд? или нужно 200 капель в минуту?
vish
Специалист
Амурская область
152 21
Отв.417 01 Июля 13, 12:40, через 36 мин
Я не знаю как можно отбирать с одинаковой скоросью головы и тело? Если известно что головы отбирают +-100 мл /час. А номинальный отбор колонн уже в зависимости от самой колонны (500, 1000, 2000 мл ). Поэтому я не могу понять как скорость отбора может быть постоянной.Я имел ввиду, что постоянная скорость должна быть при отборе основной фракции. Даже, если РК позволяет увеличить скорость, не повышая температуру.
И про какие браги ты говоришь? Расчитать и налить определённое кол-во СС и разбавить до 40% помоему не проблема - так можно чётко знать кол-во АС в кубе.
Разъясни что имел в виду.
asvar, 01 Июля 13, 11:43
Состав СС тоже может отличаться в зависимости от браги, скорости перегонки и иметь разное количество голов.
Slava 61
Научный сотрудник
Таганрог. Юг России.
11.1K 3.1K
Отв.418 01 Июля 13, 13:16, через 37 мин
А если нужна капля в 10-20 секунд? или нужно 200 капель в минуту?asvar, 01 Июля 13, 12:04Зачем и для чего?
waldisko
Бакалавр
Киев
50 11
Отв.419 01 Июля 13, 14:51
Коллеги, когда я отбираю головы что бы соблюсти температурный диапазон испарения метанола в колоне, делаю на пониженной мощности, таким образом получаю очень характерного запаха спирт, мало того я его снимаю не по капле, как раньше, а чуть быстрее, выходит примерно 150 милилитров в час иногда больше, в рабочее состояние колона у меня выходит всего за 5-10 минут, когда температура везде нормализируеться оставляю такой какая есть, далее включаю клапан отбора и смотрю не меняется ли температура в колоне (у меня 2 датчика температуры, датчика давления нет, но знаю как ведет себя колона в предзахлебном состоянии и что бывает когда захлеб).
Так вот о чем отбирать головы на самом деле проблемы нет, можно просто вычситать от количество и крепости СС залитого в куб, далее ставим банку с датчиком уровня на нужный уровень, при достижении заданного значения клапан отбора отключается и включается клапан отбора основной фракции, при этом система помнит что уже произвела отбор голов.
При отборе основной фракции как раз есть зависимость (и не только основной, а также и голов) мощности нагрева и количества флегмы, конечно в начале когда СС концентрированный то получать одно удовольствие в конце конечно уже трудности, тут и нужна автоматика процесса.
У меня на уме такой алгоритм работы колоны:
При повышении температуры в колоне выше порога, закрыть клапан отбора, если по истечении времени (например 1 минуты) температура вернулась в прежние параметры или пошла вниз то открываем клапан но уже он будет закрываться например на 1/10 секунды, и так пока клапан полностью не закроется (или например до определенного значения - пока клапан не будет закрыть 5/10 секунды), далее понижаем мощность нагрева например на 5%, ждем минуту и снова открываем клапан, но процесс начинается снова с полностью открытого клапана и до закрытия например его до 6/10 сек далее процесс повторяется до заданных значений, после чего остановка отбора и начало отбора хвостов
Конечно я рассматриваю вариант отбора по температуре, если поставить датчик давления думаю что кардинально он не сыграет, а нужен лишь для вывода колону в предзахлебное состояние, но если вы знаете свою колону то по мощности нагрева можно спокойно регулировать эти процессы, или все таки докупить его в процессе.
К стати считаю датчик давления полезной штукой как раз снимать хвосты, что бы максимально быстро выгнать их.
Вся фишка в том что бы сделать алгоритм универсальным, а не просто отслеживать температуру поддерживать ее, а клапан отбора работает сам по себе или вообще примитивным способом открыть закрыть.
Например я бы выделял не 3 фракции (головы, основа, хвосты), а например 5 (головы (можно даже на 2 части бить головы 5%) основа 1 - 65-70%, основа 2 - 10-15%(хороший спирт но добывается в другом более высоком температурном диапазоне (по вкусовым свойствам проигрывает), основа 3 - 5-10%(почти хороший спирт, но имеет небольшие неприятные вкусовые свойства издали с еле напоминающим вкусом самогона, можно использовать для настоек фруктов, напрочь перебивает), хвосты 10%.
Так вот о чем отбирать головы на самом деле проблемы нет, можно просто вычситать от количество и крепости СС залитого в куб, далее ставим банку с датчиком уровня на нужный уровень, при достижении заданного значения клапан отбора отключается и включается клапан отбора основной фракции, при этом система помнит что уже произвела отбор голов.
При отборе основной фракции как раз есть зависимость (и не только основной, а также и голов) мощности нагрева и количества флегмы, конечно в начале когда СС концентрированный то получать одно удовольствие в конце конечно уже трудности, тут и нужна автоматика процесса.
У меня на уме такой алгоритм работы колоны:
При повышении температуры в колоне выше порога, закрыть клапан отбора, если по истечении времени (например 1 минуты) температура вернулась в прежние параметры или пошла вниз то открываем клапан но уже он будет закрываться например на 1/10 секунды, и так пока клапан полностью не закроется (или например до определенного значения - пока клапан не будет закрыть 5/10 секунды), далее понижаем мощность нагрева например на 5%, ждем минуту и снова открываем клапан, но процесс начинается снова с полностью открытого клапана и до закрытия например его до 6/10 сек далее процесс повторяется до заданных значений, после чего остановка отбора и начало отбора хвостов
Конечно я рассматриваю вариант отбора по температуре, если поставить датчик давления думаю что кардинально он не сыграет, а нужен лишь для вывода колону в предзахлебное состояние, но если вы знаете свою колону то по мощности нагрева можно спокойно регулировать эти процессы, или все таки докупить его в процессе.
К стати считаю датчик давления полезной штукой как раз снимать хвосты, что бы максимально быстро выгнать их.
Вся фишка в том что бы сделать алгоритм универсальным, а не просто отслеживать температуру поддерживать ее, а клапан отбора работает сам по себе или вообще примитивным способом открыть закрыть.
Например я бы выделял не 3 фракции (головы, основа, хвосты), а например 5 (головы (можно даже на 2 части бить головы 5%) основа 1 - 65-70%, основа 2 - 10-15%(хороший спирт но добывается в другом более высоком температурном диапазоне (по вкусовым свойствам проигрывает), основа 3 - 5-10%(почти хороший спирт, но имеет небольшие неприятные вкусовые свойства издали с еле напоминающим вкусом самогона, можно использовать для настоек фруктов, напрочь перебивает), хвосты 10%.