Ненавязчивая автоматизация ректификационной установки
dth
Бакалавр
Арти
98 39
Отв.440 08 Июня 17, 14:14
gol_avto, температурный сервер на такой ардуине делаю для себя я. OldBean его делает в версии Lite автоматики на простой атмеге, которая будет единой платой с экраном. А я уже собрал модули и решил сделать себе термосервер подобный им.
OldBean
Доцент
Красноярск
1K 1.4K
Отв.441 08 Июня 17, 19:19
которая будет единой платой с экраном.dth, 08 Июня 17, 14:14Я такого не говорил (насчет экрана).
Итоговая печатная плата и скетч температурного сервера для такой атмеги будет?gol_avto, 08 Июня 17, 13:04Печатку мы тут совместными усилиями уже почти "добили". Правда придется сделать небольшие изменения, связанные с кнопкой. Это связано с тем, что какой-то странный ардуиновский нюанс неожиданно вылез. Суть его в том, что, если с ардуинкой работать как с ардуинкой :) , то пины A6 и A7 как цифровые входы не работают. Только как аналоговые. Поэтому с подключением кнопки к пину A7 могут возникнуть проблемы. Глубоко в эту "особенность" я не влезал - проще перекинуть кнопку на свободные пины A2 или A3 и, соответствующим образом откорректировать печатку. Там, вроде , никаких чудес не ожидается.
По поводу скетча. Скетч здесь сделать сложнее, чем печатку. Может быть коллега dth напишет и опубликует? Ну, если будут какие-нибудь трудности - естественно, поможем чем сможем. В принципе, можно попробовать и коллективно сваять скетч, но я пока плохо представляю как мог бы выглядеть такой процесс...
makh
Профессор
Sаmara
2.1K 1K
Отв.442 08 Июня 17, 20:15, через 57 мин
Только как аналоговыеOldBean, 08 Июня 17, 19:19У них еще pullup'ов нету, и как output не могут работать. Задуманы парой для организации хитрых компараторов, если ниче не путаю.
сообщение удалено
OldBean
Доцент
Красноярск
1K 1.4K
Отв.443 09 Июня 17, 03:01
Прикольно. Вот что значит сотворить себе кумира и не знать его истоков))У меня меги в планарных корпусах есть только в виде ардуинок, поэтому именно про них (ардуинок) и писал. А откуда "уши растут" - я не смотрел. О чем, кстати, тоже там-же и написал.
Ардуино здесь вообще не причем. В планарных корпусах...sevpro, 09 Июня 17, 00:17
А что, утверждение про то, что пины A6 и A7 в ардуинках не работают как цифровые входы не соответствует действительности? :)
Ну если уж захотелось поехидничать и поумничать, то получайте обратно. Ваши варианты разводки здесь и здесь, где кнопка подключена как раз к A7 (на самом деле - к A6), выглядят довольно мило. Не так ли? ;))) Отличаются эти разводки положением как раз той самой кнопки. Т.е. манипуляции были вполне осознаны. Кстати, именно Ваш вариант разводки я взял за исходник, прикидывая свой вариант (у меня-то изначально кнопка была подключена к A2).
sevpro, честно говоря, я уже давно вышел из того возраста, когда хочется пыжиться и всем доказывать какой ты уникальный и крутой. Измерять длину и сравнивать... Скучно это уже (тестостерона, видимо, уже маловато вырабатывается :))) Давайте лучше поможем ребятам скетч написать. Ну хотя бы просто для "завершенки" этого варианта автоматизации. Перед тем, как заняться вариантом Lite хотелось бы "подбить хвосты". Для этой цели, я как раз вчера слепил макетку серверка с ардуинкой (кстати, тут и обнаружил нюанс про A6 и A7 ;)))). Если в праздники появится время (вроде бы дождики обещают) - постараюсь что-нибудь конкретное прикинуть.
сообщение удалено
msg31
Научный сотрудник
Барнаул
4.6K 2.5K
Отв.444 09 Июня 17, 07:44
Мне гораздо ближе старый добрый Си.Я тоже на Си писал, потом на Ардуино (это ведь тоже Си). Теперь снова на Си загрузчик пишу. sevpro посмотри личку есть вопрос по написанию загрузчика. Вроде все работает, но есть нюанс...
Надеюсь, что никого не обидел и не вызвал желания померяться))sevpro, 09 Июня 17, 07:37
P.S. Вижу в последнее время тут спецы тусуются... Если кто работал с написанием загрузчиков, стукнитесь в личку. Есть вопрос вроде мелочь, а все-таки...
P.S 2 Хоть и флуд, но пусть повисит денек, потом сам потру.
сообщение удалено
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.445 09 Июня 17, 09:05
а с оптимизацией у языка ардуино скажем честно не очень.sevpro, 09 Июня 17, 07:56это же обычный gcc, добавлен загрузчик, определения и набор функций которые и составляют известный набор команд arduino. Не нравится - можно не использовать, просто писать на c напрямую. можно вообще не использовать IDE ардуино, писать например в CVAVR
удобно то что это сменный модуль с минимальной обвязкой по цене голого контроллера в рознице
OldBean
Доцент
Красноярск
1K 1.4K
Отв.446 09 Июня 17, 09:44, через 40 мин
потом на Ардуино (это ведь тоже Си).msg31, 09 Июня 17, 07:44Если точнее - это C++. Точнее - набор классов на C++, превращающий "язык ардуино" в некий язык более высокого уровня. Слово "высокого" здесь обозначает, как и принято в языках программирования, лишь уровень абстрагирования от железа. Как и любой высокоуровневый язык он имеет свои плюсы и минусы. Прелесть ардуинки в том, что концепт очень демократичен. Вы легко можете понижать "уровень языка", если необходимо приблизиться к железу. Это я об этом:
но иногда приходится считать буквально каждый тик процаsevpro, 09 Июня 17, 07:56Тут уже лучше asm вставлять. Оптимизаторы Си тоже могут выкинуть какие-нибудь сюрпризы.
удобно то что это сменный модуль с минимальной обвязкой по цене голого контроллера в розницеmak, 09 Июня 17, 09:05Вот именно это, в сочетании с готовым загрузчиком по USB, и есть самое главное достоинство ардуинки! А язык - это вообще дело десятое. Хотя, скорее всего, именно благодаря "языку" ардуинка и "выплыла", задавив конкурентов. Я хорошо помню, в то время, когда ардуинка делала только первые шаги (если не изменяет память где-то в средине 0-х или чуть позже) на рынке было много разных вариантов платок типа "AVR-ка + обвязка + USB". С некоторыми даже пришлось в свое время поработать. В то время (особенно, если не было программатора) такие платки воспринималось с очень большим энтузиазмом. Особенно для автоматизации всякого старого, но еще работающего приборного парка.
Если уж подойти принципиально, то добавив подтягивающий резистор (о котором я кстати писал) все будет работать и на ADC6,ADC7.sevpro, 09 Июня 17, 07:37У... Да уж проще на PC2-PC3 переключиться, чем кнопку читать через АЦП :(((
сообщение удалено
OldBean
Доцент
Красноярск
1K 1.4K
Отв.447 09 Июня 17, 12:42
В чем проблема, не понятно,sevpro, 09 Июня 17, 10:07Да нет здесь никаких проблем. Вообще.
Ну не читается цифра с A7. На макете я тут же перекинул конец на свободный A2. Там, естественно, кнопка работает. Решил просто предупредить коллег, которые планировали разводить плату, что есть такой нюанс у ардуинки (которая Pro Mini) и что лучше его сразу учесть при разводке, чем потом уткнуться. И давно бы (еще вчера) забыл бы про это. Если бы Вам не захотелось поговорить об истоках этой особенности и о пагубности ардуинок вообще... :)))
dth
Бакалавр
Арти
98 39
Отв.448 13 Июня 17, 07:47
Плата изготовлена, спасибо моему другу Сергею! Только без учета А7\А6 - прокину проводок МГТФом, дорогу разрежу.
сообщение удалено
dth
Бакалавр
Арти
98 39
Отв.449 13 Июня 17, 10:40
Не, односторонка. Буду перемычку делать.
сообщения удалены (6)
dth
Бакалавр
Арти
98 39
Отв.450 16 Июня 17, 09:10
Собрал плату, немного не рассчитал размеры разъемов под термодатчики, пришлось подрезать. Проверил - входят нормально. Перемычку напаял прямо с обратной стороны платы навесом. Ноги у разъемов достаточно длинные. (просто забыл сразу под разъемы положить, а выпаивать было лень).
Начал разбираться с кодом. С кнопкой все ок, перебираем тестовые значения из массива, по долгому нажатию показываем номер элемента массива (датчика).
Сейчас разбираюсь с датчиками. Нагло взял функции у OldBean w1_reset, w1_write_byte, w1_read_bytes и кусок кода из основного цикла. Немного переделал, чтоб на задержке 800 мс не останавливался индикатор. Стало более-менее, но все равно еле заметные моргания есть.
Посмотрел, в функциях есть жесткие задержки от 1 мкс до 480 мкс.
Вот с этим и возник вопрос: возможно-ли их сократить или проще забить?
Добавлено через 5ч. 18мин.:
Прикрутил таки датчики, пока 2 - на 2 и 3 ноге, 0 и 1 для отладки по serial юзаю. Вроде полет нормальный. Унесу сегодня домой, подключу к малине, проверю i2c.
Начал разбираться с кодом. С кнопкой все ок, перебираем тестовые значения из массива, по долгому нажатию показываем номер элемента массива (датчика).
Сейчас разбираюсь с датчиками. Нагло взял функции у OldBean w1_reset, w1_write_byte, w1_read_bytes и кусок кода из основного цикла. Немного переделал, чтоб на задержке 800 мс не останавливался индикатор. Стало более-менее, но все равно еле заметные моргания есть.
Посмотрел, в функциях есть жесткие задержки от 1 мкс до 480 мкс.
Вот с этим и возник вопрос: возможно-ли их сократить или проще забить?
Добавлено через 5ч. 18мин.:
Прикрутил таки датчики, пока 2 - на 2 и 3 ноге, 0 и 1 для отладки по serial юзаю. Вроде полет нормальный. Унесу сегодня домой, подключу к малине, проверю i2c.
OldBean
Доцент
Красноярск
1K 1.4K
Отв.451 17 Июня 17, 08:29
Посмотрел, в функциях есть жесткие задержки от 1 мкс до 480 мкс.На задержки меньше 1 мс проще забить.
Вот с этим и возник вопрос: возможно-ли их сократить или проще забить?dth, 16 Июня 17, 09:10
Я уже почти дописал единый код для LITE (без индикатора) и неLITE (с индикатором и кнопкой). Он рабочий, но еще не до конца отлажен. Осталась парочка глюков, вылезающих при длительных прогонах. Если хотите - могу выложить. Но, пока, as is. Все равно сейчас (и в ближайшую неделю) доотлаживать его будет некогда. Может быть тогда Вы до конца его и отладите?
Код очень подробно прокомментирован и должен читаться легко. Индикатор не моргает, кнопка работает (это в режиме #ifndef LITE). 1-Wire и I2C работают в обоих режимах (LITE и неLITE)
ZagAl
Доцент
Прибалтика
1.9K 916
Отв.452 18 Июня 17, 13:20
OldBean, не хотел раньше времени приставать со своим предложением, но если LITE версия планируется на одной плате, предлагаю предусмотреть место для сервера управления либо шаговым, либо серво приводом. Шаговик (серво) будет вращать шток игольчатого краника, позволяющего плавно регулировать проход жидкости начиная от покапельного режима и более. Это можно применить как для охлаждения дефлегматора, холодильника, так и для регулировки скорости отбора продукта.
dimato
Кандидат наук
Волгоград
406 177
Отв.453 18 Июня 17, 19:12
Тогда лучше сервопривод для разделений фракций,переключения отбора по разным емкостям. Так реализовано в теме "Доступная автоматика на Ардуино Мега 2560"
OldBean
Доцент
Красноярск
1K 1.4K
Отв.454 18 Июня 17, 19:39, через 28 мин
предлагаю предусмотреть место для сервера управления либо шаговым, либо серво приводом.ZagAl, 18 Июня 17, 13:20Существующая система автоматизации, рассматриваемая в данной ветке, легко расширяется за счет подключения дополнительных модулей к шине I2C. У варианта LITE совсем другая задача. Он задуман именно как упрощенное, более дешевое и, естественно, более специализированное решение. Т.е. нижний уровень автоматизации - многопроцессорный, но на одной плате. Ну по аналогии - как несколько ядер на одном кристалле. :)))
Несложно, конечно, на плату LITE добавить лишний МК и кусочек макетки. Для расширений. Но здесь главное - не переусердствовать в универсальности :). Универсальные системы, все-таки, лучше реализовывать на модульной основе. С конструктивом, в виде крейта и т.д.
U-M
Магистр
MSK
210 39
Отв.455 18 Июня 17, 19:46, через 7 мин
В голове все крутится вопрос по поводу согласования уровней 3.3В и 5В на GPIO малинки. Может все же имеет смысл применить согласователь хотя-бы, TXB0108 (на 8 линий двунаправленный)? Тем более что цена копеечная и китайцы уже распаянный могут предоставить.
OldBean
Доцент
Красноярск
1K 1.4K
Отв.456 18 Июня 17, 20:07, через 22 мин
В голове все крутится вопрос по поводу согласования уровней 3.3В и 5В на GPIO малинки. Может все же имеет смысл применить согласователь хотя-бы, TXB0108 (на 8 линий двунаправленный)?U-M, 18 Июня 17, 19:46Если подтягивающие резисторы подключены к 3.3В и малинка является единственным мастером на шине (выдает SCL), то, ИМХО, особого смысла в этом нет. Ноль - он итак ноль, а единичка не будет превышать 3.3 В (естественно, если 5-вольтовые ведомые формируют единичку за счет отпускания шины).
ram78
Бакалавр
Перловка
91 11
Отв.457 19 Июня 17, 13:57
Тогда лучше сервопривод для разделений фракций,переключения отбора по разным емкостям. Так реализовано в теме "Доступная автоматика на Ардуино Мега 2560"dimato, 18 Июня 17, 19:12Лучше смотреть на пневмо распределители 3,4,5 way и не сколхоживать сервоприводы, но если оч. хочется то взять пневмораспределитель механический(на сколько там посуды надо, 5 хватит?) поставить серву и крутить рычаг на пневмораспределителе)
Что то капающий продукт из трубки в приёмные части аля шприцы стрёмная конструкция с вечно глючащими сервами, можно на воздух взлететь.
Не в качестве рекламы, кто рядом будет проезжать заходите на 2 этаж, там шикарный стедн который можно пощупать поюзать, попереключать задвижки и клапана покрутить В общем всё перед глазами.
http://www.xn--80aaasbafk1acftx0c6n.xn--p1ai/...ent-logicheskij
http://www.xn--80aaasbafk1acftx0c6n.xn--p1ai/...icheskie/254908
сообщение удалено
U-M
Магистр
MSK
210 39
Отв.458 19 Июня 17, 15:34
Скорее всего нет. У нас аналогичные из алюминиевых сплавов, клапана внутри резина черная.
ram78
Бакалавр
Перловка
91 11
Отв.459 19 Июня 17, 16:03, через 29 мин
Да там разные модели есть. Выбирать, искать надо. Дросселя удачно многие используют.
Вот ко мне наконец-то приехала малинка, правда уже сжег "модулёк" подав по запарке 12в(
Но приехали ещё несколько по 80р.)) Пока ехала - подорожала до 100р.
https://www.camozzi.ru/...tryboprovod.pdf
Вот ко мне наконец-то приехала малинка, правда уже сжег "модулёк" подав по запарке 12в(
Но приехали ещё несколько по 80р.)) Пока ехала - подорожала до 100р.
https://www.camozzi.ru/...tryboprovod.pdf