Форум самогонщиков Сайт Барахолка Магазин Помощь солдатам

Универсальный контроллер на Arduino + TFT татчскрин

Форум самогонщиков Автоматика
1 2 3 4 5 ... 11 2
capsolo Профессор Зелик 5.3K 1.6K
Отв.20  08 Апр. 16, 12:46
цветной дисплей высокого разрешения требует ресурсов контроллера,Mnz, 08 Апр. 16, 12:12
Так-то есть еще варианты: моник может и сам себя обслуживать, общаясь с Дуней через серийник
http://mysku.ru/blog/china-stores/39509.html

Мля ДУня с экраном на 32бит процессоре Улыбающийся СЮР
Ключница Специалист Иваново 133 56
Отв.21  08 Апр. 16, 13:26, через 41 мин
mr.ptec, это была бы совсем другая история.
Давайте придерживаться той конфигурации, которую я использую, Nextion и еже с ними не рассматриваются.
bengoor Доцент Кронштадт 1.8K 1.1K
Отв.22  08 Апр. 16, 15:17
Господа, все очень просто, либо мы все сообща делаем народный проект с татчкскрином, либо я продолжаю потихоньку одна допиновать свое детище и может быть он станет коммерческим, хотя для меня это лишь хобби.Ключница, 08 Апр. 16, 08:36
Могу посодействовать в детальном описании алгоритма работы ректификации, того который используется у Максима. Там предусмотрено практически все. Если интересно, могу в субботу тут описать весь алгоритм с нюансами. Так как у меня автоматика работает уже 1,5 года, прошел все режимы за это время.
Вся эта красота будет работать с той обвязкой которая нужна. Сейчас мне нужно уточнить алгоритм работы колонны при ректификации, что бы потом не переделывать и не дорабатывать. Если в 2-х словах, то алгоритм работы я вижу следующим образом:
1 Запускаем кнопкой "Пуск" (2 меню), включается ТЭН на полную мощность, при нагреве до определенной температуры включается подача воды, отбор закрыт.
2 Нагрев до температуры "Работа" (4 меню), мощность понижается, колонна работает на себя, время задается в 8 меню,.
3 Начинается отбор голов, настройка скорости отбора 8 меню, серво в положении 1, о чем свидетельствует индикатор на бутылке.
4 Срабатывает уровень голов, серво переключает в положении 2, мощность и отбор увеличиваются.
5 При повышении температуры выше "Работа", отбор прекращается до понижения температуры, и так до тех пор, пока либо паузы не будут слишком большие, либо температура не будет понижаться в отведенное время, ТЭН работает с прежней мощностью.
6 ТЭН включается на полную мощность. Серво переводит в положение 3, начинается отбор хвостов до темп "Остановка" (4 меню).
7 При достижении темп "Остановка" выключается ТЭН, вода выключается при заданном ей режиме в 5 меню.Ключница, 07 Апр. 16, 10:18
Такой алгоритм не годится хотябы потому что при ректификации мощность не меняется в процессе отбора голов, тела хвостов.
Так же как показала практика, отбирать теже головы удобнее не по объему, а по времени. Надо так же это закладывать.
Еще хочу сказать по поводу серво - закладывать вариант управления отбором фракций только через серво не совсем верно: достаточно непросто собрать узел отбора. Если кто-то разработает и начнет продавать недорого такие узлы готовые, думаю будет классно. Надо для начала предусмотреть работу с и обычными клапанами, хотябы с 2.
Mnz Магистр Город 254 86
Отв.23  08 Апр. 16, 15:49, через 32 мин
Так-то есть еще варианты: моник может и сам себя обслуживать, общаясь с Дуней через серийникcapsolo, 08 Апр. 16, 12:46
Думаю не стоит объяснять какая будет скорость обновления картинки на экране?
capsolo Профессор Зелик 5.3K 1.6K
Отв.24  08 Апр. 16, 15:50, через 2 мин
какая будет скорость обновления картинки на экране?Mnz, 08 Апр. 16, 15:49
Экран сам по себе с 32бит процессором и граф ускорителем. Там только что видео нельзя глядеть. Общается условными знаками по серийнику с Дуней.
Ключница Специалист Иваново 133 56
Отв.25  08 Апр. 16, 16:16, через 26 мин
bengoor, вот наконец то пошел конструктивный разговор! Буду ждать описания алгоритма.
С серво еще не работала, но он есть в наличии, буду пробовать.
ys1797 Доцент Санкт-Петербург 1K 338
Отв.26  08 Апр. 16, 19:11
Вы только учтите, что тачскрины все разные, есть 8 битные, есть 16 битные, есть SPI, т.е. с последовательным интерфейсом.
Есть тач-панель с контроллером, есть просто аналоговая.
Нулевая точка координат в разных дисплеях может находиться в совершенно неожиданном углу.
Ориентация тач-панели относительно дисплея - это абсолютно рандомная тема, возможны все варианты.
Контакты от тач панели имеют свойства отваливаться, а если рядом с агрессивными парами - то это только усугубит ситуацию.

Вообще мое видение такого: выбрать одну зарекомендовавшую себя панель у конкретного производителя и только с ней и работать,
а все остальные - это на свой страх и риск. В противном случае будет большой бардак и вопли что у кого-то не работает то, у кого-то это.
У кого кнопки не там или тачскрин не "тачскринит" Улыбающийся.
|

capsolo Профессор Зелик 5.3K 1.6K
Отв.27  08 Апр. 16, 22:20
тачскрины все разныеys1797, 08 Апр. 16, 19:11
Ты библиотеку  UTFT под Ардуиной видел? Открой хедер - очень удивишься. Там более 30 наименований.
Маут Доцент Там....потом покажу 1.4K 243
Отв.28  08 Апр. 16, 22:22, через 2 мин
Кто-то может ответить конкретно? Чё воду толочь в ступе? Это всё реально?
сообщение удалено
Маут Доцент Там....потом покажу 1.4K 243
Отв.29  08 Апр. 16, 23:17, через 55 мин
мечтать никто никому не запрещает)))mr.ptec, 08 Апр. 16, 23:13
то есть это блаж? так?
ys1797 Доцент Санкт-Петербург 1K 338
Отв.30  09 Апр. 16, 00:02, через 46 мин
Ты библиотеку  UTFT под Ардуиной видел? Открой хедер - очень удивишься. Там более 30 наименований.capsolo, 08 Апр. 16, 22:20

Издеваешься?
Почитай профильные обсуждения на тамошнем русскоязычном форуме.
sl Магистр Ульяновск 238 94
Отв.31  09 Апр. 16, 01:36
bengoor, движок тебе в тело Улыбающийся, спасибо что ты появился и озвучился, мои вопросы по автоматике от Максима к тебе будут.
Всем куча извинений за офтоп в теме, просто пользую авто от Максима и есть вопросы, которые автору не могу задать, по причине его занятости (не хочу отвлекать по мелочам). Ещё раз простите, не сдержался от радости найти +++пользователя.
Botinok Кандидат наук Хайфа 361 153
Отв.32  09 Апр. 16, 07:51
Помоему прекрасная идея. Виндовс тоже раньше считался блажью и сообщество было против. Если для таких тупых в электронике и схема технике добрые люди сделают подобный интерфейс будет очень круто. Спасибо!
capsolo Профессор Зелик 5.3K 1.6K
Отв.33  09 Апр. 16, 09:12
ys1797, да что мне этот форум Подмигивающий чет не так будет - допилю сам. Заработает, куда денется
bengoor Доцент Кронштадт 1.8K 1.1K
Отв.34  09 Апр. 16, 10:48
Ну что ж приступим.
Сначала опишу основной алгоритм, далее опишу нюансы.
Для начала хочу сказать что РМ нужно делать фазный с детектом 0. Для обратной связи используем трансформатор напряжения, для более точной инфы еще и датчик тока. У меня такая схема работает и держит мощность стабильно.
Минимум 3 датчика температуры: куб, колонна, ТСА. Можно еще на воду поставить датчик, по желанию.
Для начала буду просто писать о фракциях(головы, тело, хвосты), каким образом мы будем переходить опишу ниже.
1 стадия "разгон". Подаем всю мощю(открываем симистор на полную). Читаем температуру колонны, когда она достигла установленного значения(допустим 60 градусов), значит закипело. Подаем воду, переходим на стадию работы на себя.
2 стадия "работа на себя". Устанавливаем технологическую мощность работы колонны(у каждого она своя, она не меняется до конца процесса). Работаем на себя установленное время(например 30 минут). За это время температура в колонне стабилизируется. Отсчитали заданное время и перешли к стадии головы.
3 стадия "отбор голов". В настройках устанавливаем следующие параметры: величина ШИМ для отбора голов в процентах(1-100%) и время ШИМ в сек(от 1 сек до 30 мин в идеале). Как работает ШИМ думаю тут описывать не надо. По своему опыту с клапаном AR-HX-3 ставлю шим 2% и время 20 сек. Получаю примерно 70-80 мл/ч. В идеале сделать шан не 1% а 0.5% для более точной настройки. Далее нужно установить настройку окончания отбора голов. По температуре отбирать по мне так неудобно. Самое удобное это отбор по времени или по объему. Со временем все понятно, отсчитали нужное время и перешли на следующую стадию. Если отбирать по объему, то тут нужен датчик, который мы погружаем в емкость на нужный нам объем. Как только он сработал, значит головы наполнили емкость и замкнули его. Переходим дальше. Есть еще один способ понять, что головы закончены - по проводимости. Но датчика как такового отлично работавшего я лично не видел. Писали единицы что вроди как пользуются таким, но это не массовое явление. Если конечно будет разработан и доступен такой датчик, то можно и такой алгоритм заложить. У Максима он есть. Перед переходом на следующую стадию запоминаем температуру стабилизации для контроля ее превышения. Переходим к следующей стадии.
4 стадия. Тут можно говорить что это фракция №2(а какая - тело или подголовники тут каждый решает сам). Алгоритм ее отбора одинаков. Если работаем с фракционником, то отбираем все через тот же клапан, только ШИМ ставим другой. Если работаем с 2 клапанами без фракционника, то работаем с клапаном тела. Тут настройки будут немного разливаться в зависимости от вида отбора. Опишу для каждого вида. Если работаем без фракционика то так: температура окончания отбора тела и перехода на хвосты. Если работаем с фракциоником, то так: или температура окончания отбора фракции или время отбора(из практики подголовники удобно отбирать по времени зная скорость, а вот тело удобнее отбирать по температуре куба так как мы не знаем конечный объем спирта). Теперь о ШИМ, он в обоих случаях будет работать одинаково. Есть 2 пути: 1 - консервативный, это устанавливаем постоянный ШИМ и поддерживаем его на протяжении всего процесса отбора тела(снижаем его только в случае сработки стопа например на заданное количество процентов(относительных или абсолютных кому как удобно). 2 путь - прогрессивный, его все больше начинают использовать в работе: плавающий ШИМ. Задаем в настройках ШИМ начала, он устанавливаем когда мы переходим на тело, далее у нас в настройках есть таблица соотвествия %ШИМ от температуры куба например до 10 точек. То есть это выглядит так: начальный ШИМ 20%, 85*С - 18%, 90*С - 15%, 95*С - 10%. То есть начинаем отбирать с 20%, достигаем температуры 85 - опускаем до 18%, далее пользуем формулу апроксимации с вычисляем ШИМ в каждой точке температуры как линейную между 85*С и 90*С, дошли до 90*С поставили 15%, и так далее. Будут вопросы как сделать, обращайся, есть наработки. Начинаем отбирать тело, при этом наблюдая за Ткуба и Тколонны. По Ткуба регулируем ШИМ и следим за окончанием тела, а по Тколонны следим чтобы не было затела хвостов. Так же в настройках нужно поставить дельту Тколонны. Если температура колонны достигла Тстабилизации+дельта - срабатывает стоп. Закрываем отбор и ждем опускания температуры до Тстабилизации. При этом уменьшаем ШИМ на заданное количество процентов. Правда тут есть прикол. Этот % ШИМ будет установлен до очередной точки таблицы ШИМов, дальше по ней уже установится тот который прописан. Идеально было бы делать поправку. То есть например сработал стоп при ШИМе 20% и уменьшил его до 18%, при этом доходя до очередной точки таблицы в которой у нас прописан ШИМ 18 мы учитываем снижение на 2% от стопа и ставим ШИМ 16% и так далее. Тащим эти поправки до конца таблицы. У Максима это не сделано. Но если колонна настроена хорошо, то стоп не должен наступить до хвостов. С телом вроди как все. Если фракционик, то переходим к следующей стадии, если это не хвосты, то работаем по такому же алгоритму как и тело. Если это 2 клапана, то дошли до температуры окончания тела и перешли к хвостам.
5 стадия "отбор хвостов". Тут в настройках нужно указать только температуру окончания отбора хвостов и всего процесса. ШИМ открываем процентов на 90, в настройках смысла нет указывать это, зашито в программу, чтобы не сильно перегревался. Отбирем хвосты через клапан голов. С фракционником проще. Время ШИМ можно взять с голов.
Теперь нюансы, их достаточно.
1.Аварийные ситуации отслеживаем. Датчик разлития жидкости сработал - пищит сигнал, шлет разные аварийные смс и так далее, отсчитываем время например 10-20 сек, если на протяжении этого времени датчик продолжает утверждать что потоп - выключаем аппарат аварийно, закрываем клапана, отключаем нагрев, закрываем воду.
Авария отключения воды - сработал ТСА, температура превысила 45-60*С. Отключаем аварийно по такому же алгоритму. Ждем опуская температуры чтобы снова можно было запуститься.
Датчик давления в кубе - превышение давления - авария, готовься к захлебу. Так же аварийно гасим все.
Пропал 0 - авария. Выключаем все.
Пропало напряжение в сети(транс сдох) - авария - гасим все.
Пропал ток с датчика тока - авария(обрыв тена, сдох датчик тока) - гасим все.
Ошибка датчика температуры - авария. Предлагаю обрабатывать контрольную сумму и считать ошибки, если подряд накопилось 3 ошибки - значит датчик сдох. Если после 2 ошибок данные пошли, то скидываем счетчик и заново. Алгорим могу дать.
Если забыл еще какие аварии, пишите.
2.Теперь поговорим про температуру стабилизации. Не секрет что процесс ректификации может длиться до суток, а то и больше. Так же не секрет, что атмосферное давление напрямую влияет на Ткипения(в частности Тстабилизации). Стабилизировались на одной температуре, через 5 часов давление скакнуло на 6 мм рт ст - при этом температура в колонне поднялась на 0.2*С. А если дельта была 0.2 то сработал стоп ложный. Или давление упало на 6 мм, тогда температура упала на 0.2*С, имея дельту 0.2 мы фактически ложно подняли ее до 0.4, что при подходе хвостов нам гарантировано пустит их в отбор. Первый вариант неприятный но не опасный, второй вариант - может испортить нам всю работу. Максим для компенсаци давления использует такой алгоритм: если наступил стоп и температура за установленное в настройках время не вернулось к Тстаб, то Тстаб принимается за текущую температуру. Это поможет если давление вырасло, хотя это не особо страшный рещим для нас. А вот если давление упало, то такой алгоритм не сработает. Надо тогда применять еще и такой: температура в процессе работы снизилась на 0.1*С и держится например 30 мин - значит давление упало и надо перезаписать новую Тстаб. Хотя тут есть подводный камень - температура может упасть из-за плохого утепления и сквозняка. Поэтому есть более продвинутый алгоритм - ставим датчик давления BMP085(BMP180) и контролим давление. Стабилизировались, запомнили температуру и давление. Если в процессе оно изменилось на 3 мм рт ст, меняем Тстаб на 0.1*С.
3.Так же при работе с фракциоником нужно иметь датчик емкости для каждой фракции. При сработке датчика фракция переходит дальше. Все датчики висят на однои входе паралельно, переключение осуществляется с помощью бегунка. Есть видео и фото.
4.Во время работы в любой момент можно менять настройки, а не так что в начале задали и менять нельзя в работе.
5.Что касается датчиков температуры то чтобы удобнее было с ними работать вижу 2 пути: развести все датчики на отдельне пины. Обычно 3 датчика и 3 пина в меге можно выделить. В этом случае не надо париться с адрсами. Обращайся к нужному пину. Всегда известно на каком разъеме какой датчик сидит. Менять сломанный так же удобно. Второй выход это повесить на один пин но сделать режим инициализации датчик. Если интересно у меня есть алгоритм.
Пока вроди все. Если что вспомню - напишу
создается впечатление, что мы не спирт производим, а готовим беспилотный космический корабль на Марс.Ключница, 07 Апр. 16, 21:39
Алгоритм похлеще будет)))
shram1970 Доцент Желтая гора 1.3K 325
Отв.35  09 Апр. 16, 11:46, через 59 мин
Что касается датчиков температуры то чтобы удобнее было с ними работать вижу 2 путиbengoor, 09 Апр. 16, 10:48
Этого больше всего не хватает.Приходится держать два комплекта датчиков.
SamVLG Специалист Волгоград 179 28
Отв.36  09 Апр. 16, 15:34
bengoor,
Ты под то что описАл можешь код написАть?
bengoor Доцент Кронштадт 1.8K 1.1K
Отв.37  09 Апр. 16, 15:58, через 25 мин
Ты под то что описАл можешь код написАть?SamVLG, 09 Апр. 16, 15:34
Речь об этом не шла. Ключница код пишет, я алгоритмом помог. Если я код напишу на том уровне, которым я владею, аппарат будет не спирт делать, а булочки печь в лучшем случае)
capsolo Профессор Зелик 5.3K 1.6K
Отв.38  09 Апр. 16, 17:37
Да Ключница с твоего алгоритма офигела. Подмигивающий чтобы воспринять то, что ты изложил, нужно кое-в чем ориентироваться. Учитывать изменение атм давления от суток к суткам - это такая проблема, которая не у всех далеко проявляется Подмигивающий такие вопросы поднимаешь, что видно - уже натерпелся.
lsdf Доцент Иваново 1.8K 323
Отв.39  09 Апр. 16, 18:14, через 37 мин
Предложу помощь ,  поскольку Ключница - землячка, в программировании не силён, но  по железу и другому вполне смогу помочь.