OldBean, Сергей, ну не совссем до кубовой, я все-таки сделал оговорку "практически", но всегда так - после стабилизации температура дефлегматора стабильная и не меняется ни на квант. Работает в таком режиме уже несколько лет. Вот взял из своего архива один из сохраненых логов ректификации от 2020 года. Прикладываю полный лог и построенные на его базе графики. Какой датчик где в логе понятно из первой строчки в файле лрна
Т0,Т1,Т2 - температуры в кубе, середине колонны и дефлегматоре
Т3 и Т4 - температуры воды на входе и выходе
Р0 - кубовое давление
Р1 - атмосферное
По остальным датчикам без пояснения понятно
Добавлено через 4мин.:
Посмотрел исходные тексты. Да, Вы совершенно правы - для исключения "пограничных" эффектов в условии стоит "меняется более чем на один квант", прошу прощения что ввел в заблуждение - давно уже этот скрипт писал. Но в целом температура очень стабильна. Все остальное, что я написал, остается в силе, кроме того, что изменения на 1 квант для исключения пограничных эффектов я изменениями не считаю. :-)
Добавлено через 21мин.:
Смены режимов хорошо видно по ступенькам на графике мощности, специально делал мощность слегка отличающуюся, чтобы это было видно на графиках
1. Нулевая мощность - включение системы до за пуска программы
2. Разгон на максимальной
3. Совсем маленькая ступенька прогрев колонны
4. Ступенька побольше - стабилизация колонны о чем я писал выше
5. Отбор голов (видно скорость отбора в начале слегка уменьшается, потом остается ровной)
6. Короткая пауза для смены посуды
7. Отбор подголовников
8. Короткая пауза для смены посуды
9. Отбор тела со старт-стопом
10. Отбор: второсортное тело (или предхвостия), кто как это называет
11. Короткая пауза для смены посуды
12. Отбор хвостов с постоянной скоростью и постепенным уменьшением мощности по мере уменьшения спиртуозности в кубе.
13. Нулевая мощность. Конец программы
Смена режимов работы происходит автоматически кроме случаев когда система встает на паузу и ждет смены приемной емкости.
Ненавязчивая автоматизация ректификационной установки
ekochnev
Магистр
Екатеринбург
207 54
Отв.2360 24 Янв. 22, 10:43
OldBean
Доцент
Красноярск
1K 1.4K
Отв.2361 24 Янв. 22, 13:26
Спасибо! Хорошие логи и красивая графика.
Возвращаясь к критерию окончания холостого хода, думаю, что, если добавить коррекцию на атмосферное давление, то Ваш критерий (т.е. установившаяся болтанка температуры дефлегматора в пределах одного кванта DS18B20 в течение десятка-другого минут) может оказаться вполне рабочим и достаточно универсальным.
В Вашем примере атмосферное давление стоит мертво (в пределах десятых долей мм.рт.ст.). Но такая идиллия бывает не всегда. Вот пример лога, когда атмосферное давление за время процесса выросло почти на 10 мм.рт.ст. Слева - весь процесс, справа - начальный период. Температура в дефлегматоре - зелененькие кривые. Бывают и более серьезные катаклизмы. Без коррекции на атмосферу Ваш критерий может не сработать (особенно, если бы я начал ректификацию на 12 часов позже :), а с коррекцией - почти наверняка сработает.
PS
Позже подсчитаю скорректированную на атмосферу т-ру в дефлегматоре для этого процесса. Если будет стоять в пределах кванта - значит можно спокойно брать Ваш критерий на вооружение :).
Возвращаясь к критерию окончания холостого хода, думаю, что, если добавить коррекцию на атмосферное давление, то Ваш критерий (т.е. установившаяся болтанка температуры дефлегматора в пределах одного кванта DS18B20 в течение десятка-другого минут) может оказаться вполне рабочим и достаточно универсальным.
В Вашем примере атмосферное давление стоит мертво (в пределах десятых долей мм.рт.ст.). Но такая идиллия бывает не всегда. Вот пример лога, когда атмосферное давление за время процесса выросло почти на 10 мм.рт.ст. Слева - весь процесс, справа - начальный период. Температура в дефлегматоре - зелененькие кривые. Бывают и более серьезные катаклизмы. Без коррекции на атмосферу Ваш критерий может не сработать (особенно, если бы я начал ректификацию на 12 часов позже :), а с коррекцией - почти наверняка сработает.
PS
Позже подсчитаю скорректированную на атмосферу т-ру в дефлегматоре для этого процесса. Если будет стоять в пределах кванта - значит можно спокойно брать Ваш критерий на вооружение :).
ekochnev
Магистр
Екатеринбург
207 54
Отв.2362 24 Янв. 22, 13:34, через 9 мин
Сергей, у меня именно сделано, что все алгоритмы работают с учетом атмосферного давления :-)
Добавлено через 38мин.:
Добавлено через 38мин.:
В Вашем примере атмосферное давление стоит мертво (в пределах десятых долей мм.рт.ст.).OldBean, 24 Янв. 22, 13:26В данном случае (окончание процесса стабилизации), изменение атмосферного давления не очень важно, потому, что мы говорим об интервале времени всего 15 минут когда показания датчика не должны меняться, а за это время атмосферное давление не может измениться так существенно чтобы сдвинуть показания даже на 1 квант. Это должна быть ОЧЕНЬ резко налетевшая буря. Даже если и изменится, ну и что, сбросится таймер и процесс стабилизации займет чуть больше времени отсчитывая осчередную 15-минутку, от этого только качество продукта выиграет :-). А так за общее время ректификации атмосферное давление. безусловно может измениться существенно и на длинных процессах (отбор голов, тела и т.п.) это у меня обязательно учитывается.
OldBean
Доцент
Красноярск
1K 1.4K
Отв.2363 24 Янв. 22, 14:41
В общем-то, да. Особой точности от этого критерия не требуется. Тем более впереди многочасовой процесс отбора голов :)
ekochnev
Магистр
Екатеринбург
207 54
Отв.2364 24 Янв. 22, 14:45, через 4 мин
Вот именно.
Я могу гарантировать своим опытом нескольких лет эксплуатации данной системы, что на данном шаге никогда не бывает проблем.
Добавлено через 16мин.:
Для данного этапа намного важнее изменения атмосферного давления является качество датчика температуры в дефлегматоре. Года полтора назад у меня один датчик после длительного периода эксплуатации начал "чудить". В его работе иногда стали пролетать единичные выбросы значений: то "классические" для данных датчиков 87.5 градусов, то слишком большие значения в несколько сотен градусов. Вот с таким датчиком окончания по такому алгоритму не дождаться, по крайней мере без дополнительной фильтрации значений. Я в свое время горя хапнул на каком-то из длительных процессов. Пришлось когда разобрался дополнительные условия прописывать в алгоритм на такой случай, ну и сам датчик конечно заменил на другой нормально работающий.
Я могу гарантировать своим опытом нескольких лет эксплуатации данной системы, что на данном шаге никогда не бывает проблем.
Добавлено через 16мин.:
Для данного этапа намного важнее изменения атмосферного давления является качество датчика температуры в дефлегматоре. Года полтора назад у меня один датчик после длительного периода эксплуатации начал "чудить". В его работе иногда стали пролетать единичные выбросы значений: то "классические" для данных датчиков 87.5 градусов, то слишком большие значения в несколько сотен градусов. Вот с таким датчиком окончания по такому алгоритму не дождаться, по крайней мере без дополнительной фильтрации значений. Я в свое время горя хапнул на каком-то из длительных процессов. Пришлось когда разобрался дополнительные условия прописывать в алгоритм на такой случай, ну и сам датчик конечно заменил на другой нормально работающий.
OldBean
Доцент
Красноярск
1K 1.4K
Отв.2365 24 Янв. 22, 15:21, через 37 мин
У меня температурные "иглы" тоже раньше бывали. Грешил на известный косяк малинки, связанный с растяжкой. Но потом как-то все само собой "рассосалось". К сожалению, так и не понял причину. Но больше не появляются.
NBVV
Специалист
Новосибирск
124 2
Отв.2366 27 Янв. 22, 08:13
Строка из sr1:
"u.T2cr = 78.6 # Т-ра в дефлегматоре окончания отбора исправимых хвостов"
Разве температура в дефлегматоре до десятых градуса идентична в разных перегонках? У меня небольшой опыт (и я еще пока грею СС тэнами без стабилизации от изменений напряжения в сети и атм. давления) но, у меня эта температура стабильна (при отборе тела), и при этом ее значения отличаются в разных перегонках +- 0,3°.
"u.T2cr = 78.6 # Т-ра в дефлегматоре окончания отбора исправимых хвостов"
Разве температура в дефлегматоре до десятых градуса идентична в разных перегонках? У меня небольшой опыт (и я еще пока грею СС тэнами без стабилизации от изменений напряжения в сети и атм. давления) но, у меня эта температура стабильна (при отборе тела), и при этом ее значения отличаются в разных перегонках +- 0,3°.
ekochnev
Магистр
Екатеринбург
207 54
Отв.2367 27 Янв. 22, 08:33, через 20 мин
Все верно, температурная "полка" в дефлегматоре может быть разной. На одном и том же оборудовании она зависит только от атмосферного давления. Соответственно, и T2cr, которая должна вычисляться по сути как температура "полки" плюс некий температурный залет, определяющий допустимое качество примесей, тоже должна быть разной, если Вы при разном атмосферном давлении хотите получить продукт с одинаковым количеством примесей.
Я думаю, здесь дело в том, что скрипт sr1 приведен просто как пример возможностей системы, а не как идеальное решение, поэтому Вы можете самостоятельно при желании дописать коррекцию этого значения в зависимости от атмосферного давления. Тут каждый решает сам. Я вот, например, вообще не использую данный алгоритм с T2cr, а прерываю процесс по остаточной спиртуозности куба, которая вычисляется исходя из температуры в кубе, кубового давления, атмосферного давления и таблицы кипения спирто-водяной смеси при данных параметрах.
Я думаю, здесь дело в том, что скрипт sr1 приведен просто как пример возможностей системы, а не как идеальное решение, поэтому Вы можете самостоятельно при желании дописать коррекцию этого значения в зависимости от атмосферного давления. Тут каждый решает сам. Я вот, например, вообще не использую данный алгоритм с T2cr, а прерываю процесс по остаточной спиртуозности куба, которая вычисляется исходя из температуры в кубе, кубового давления, атмосферного давления и таблицы кипения спирто-водяной смеси при данных параметрах.
NBVV
Специалист
Новосибирск
124 2
Отв.2368 27 Янв. 22, 08:45, через 13 мин
Терзают смутные сомнения))). Неужели OldBean каждую перегонку меняет значение T2cr?
ekochnev
Магистр
Екатеринбург
207 54
Отв.2369 27 Янв. 22, 08:50, через 6 мин
Я думаю, он не меняет. И дело не в том, что у него эта температура не меняется... :-)
Дело в том, что в данном скрипте эта температура задает критерий остановки отбора ИСПРАВИМЫХ ХВОСТОВ, т.е. мы с помощью него контролируем отбор уже не товарного "тела", а некой "вонючки", которая не годится к употреблению, а обычно выливается в куб при следующей перегонке, либо используется для технических целей. Поэтому ничего страшного, если при неизменном значении T2cr и изменении атмосферного давления, мы получим в итоге в этой "вонючке" либо чуть больше примесей, либо чуть меньше, ее пить все равно никто не будет...
Если привести аналогию с анекдотом, то эта температура как "Неуловимый Джо", который "Неуловимый" не потому, что его поймать никто не может, а потому, что это просто никому не нужно... :-)
Впрочем, если я не прав, то Сергей меня сейчас поправит.
Дело в том, что в данном скрипте эта температура задает критерий остановки отбора ИСПРАВИМЫХ ХВОСТОВ, т.е. мы с помощью него контролируем отбор уже не товарного "тела", а некой "вонючки", которая не годится к употреблению, а обычно выливается в куб при следующей перегонке, либо используется для технических целей. Поэтому ничего страшного, если при неизменном значении T2cr и изменении атмосферного давления, мы получим в итоге в этой "вонючке" либо чуть больше примесей, либо чуть меньше, ее пить все равно никто не будет...
Если привести аналогию с анекдотом, то эта температура как "Неуловимый Джо", который "Неуловимый" не потому, что его поймать никто не может, а потому, что это просто никому не нужно... :-)
Впрочем, если я не прав, то Сергей меня сейчас поправит.
OldBean
Доцент
Красноярск
1K 1.4K
Отв.2370 27 Янв. 22, 13:46
Терзают смутные сомнения))).NBVV, 27 Янв. 22, 08:45Евгений все правильно написал. Это возвратный спирт. Он уходит в следующую первичную ректификацию. Его немного. У меня на 23-литровом кубе обычно получается грамм 200-220. Но, с другой стороны, 5 раз по 200 - уже литр. Причем это почти (!) чистый спирт.
Теперь конкретно про критерий. Конечно, по уму, во всех температурных критериях нужно использовать не измеренную температуру (непосредственно), а температуру, приведенную к нормальному атмосферному давления (760 мм.рт.ст). Но, в отличие от кубовой температуры, температурный критерий окончания отбора исправимых хвостов по температуре дефлегматора очень резкий. Например, посмотрите левый график в моем посте чуть выше. Зелененькая кривая на нижнем графике в самом конце процесса. Там легко видеть резкий всплеск температуры. Это по колонне начали подниматься пары в основном воды с примесями паров хвостов. Уже "плохих" хвостов. Т.е. к этому моменту мы отобрали почти чистый спирт, остававшийся в верхней части колонны от предыдущего этапа (тела), а штатная скорость отбора, с которой мы отбираем исправимые хвосты, слишком высока для такой малой (финальной) спиртуозности в кубе. Поскольку всплеск очень резкий, то особых требований к точности порога (T2cr) нет. Мы в любом случае просто не успеем "хватануть" много примесей за время фронта всплеска. Главное, не ставьте порог слишком высоким, чтобы как раз не "нахвататься" много тяжелых примесей, ну и, естественно, T2cr должен быть чуть выше (например, на пол-градуса) температуры дефлегматора в начале этапа отбора исправимых хвостов. В этом случае T2cr будет автоматически корректироваться в зависимости от капризов погоды. Я такую коррекцию внес уже после публикации файла sr1.py. Но Вы можете вставить сами соответствующую строчку в свой файл sr1.py (см.screenshot).
OldBean
Доцент
Красноярск
1K 1.4K
Отв.2371 28 Янв. 22, 10:13
5. Про микроконтроллер ATMega32U4
Попробовал я недавно "в деле" микроконтроллер ATMega32U4. Этот МК лежит в основе китайского клона Arduino Pro Micro. За счет того, что USB встроен в МК ATMega32U4, не нужен отдельный USB-чип. В результате платка получилась такая же миниатюрная, как и Arduino Pro Mini, которую мы использовали в первой версии ненавязчивой автоматики. Ниже - снимок для сравнения.
Из-за того, что есть встроенный USB, освобождается аппаратный UART. Это очень хорошо, если нужно подключать датчики или исполнительные устройства с таким интерфейсом. Например, PZEM-004T. Все-таки аппаратный порт всегда лучше программного. Из хорошего, что еще есть на борту ARMega32U4 и что могло бы нам пригодиться при конструировании модулей варианта LEGO, можно отметить наличие двух 16-разрядных счетчиков и четырех каналов 16-разрядных ШИМ. В datasheet еще много чего хорошего есть. В целом, организация и программирование не отличается от таковых для ATMega328P. Так что тратить время на переучивание и перепривыкание, например, к какой-нибудь экзотике, типа ESP-шек, совсем не нужно.
Для испытаний ATMega32U4, я попробовал "поженить" платку Arduino Pro Micro с датчиком "всего что есть в сети" - платой PZEM-004T v.3.0 с трансформатором тока. Схема и фотография макета ниже (в макете использовалась RJ-45 розетка без светодиодов).
У датчика PZEM-004T v.3.0 интерфейс - UART (ТТЛ). В качестве протокола прикладного уровня используется modbus. Сам протокол устройства простенький - просто "выклянчивать" у датчика значения 10 2-байтовых регистров (слов), начиная с нулевого адреса. В результате мы получаем: напряжение сети, ток в нагрузке, потребляемую нагрузкой мощность, частоту сети и коэффициент мощности. В скетче использовалась пара свободных ардуиновских библиотек (Wire и ModbusMaster) и несложный тестовый код. Все прекрасно работает! Причем, как в рамках i2c-сети, так и по USB. Кстати, получилась неплохая альтернатива нашему датчику RMS из варианта LITE!
Этот эксперимент, навел на простую, но, возможно, весьма полезную мысль: нужно попробовать спроектировать модули варианта LEGO (и, естественно, софт) с двойным интерфейсом (i2c и USB). Чтобы модули могли работать как в рамках i2c-сети, так и по USB. Наверное это было бы удобно при использовании в качестве управляющего компьютера ноутбук, обычный ПК или даже (не дай Бог! :))) телефон. Если не хочется возиться с организацией i2c-сети. При использовании платки Arduino Pro Micro в качестве интерфейсной основы варианта LEGO, это несложно будет сделать.
PS
Я перебрал в уме все устройства (модули), которые могут потребоваться для автоматизации винокурения. Ну, скажем так - в широком смысле :))). Ресурсов платки Arduino Pro Micro вроде бы вполне хватает для решения всех этих задач. Вот список запланированных на первое время типов модулей:
1. Электронное реле (прошивки Relay, PWM и PDM) для ТЭН-ов, клапанов, контакторов и пр.
2. Многоканальный ШИМ для серв и шаговиков (драйверы - отдельная история).
3. Датчик потребляемой мощности, напряжения в сети и тока.
4. USB/i2c хаб для 1-Wire датчиков (DS18B20)
5. USB/i2c хаб для маломощных i2c-датчиков
ИМХО, этих модулей должно хватить для сборки автоматики для любой задачи винокурения. Если что-то забыл - добавляйте. Обсудим.
PS2
Вот прикинул примерную схемку такого интерфейсного модуля. Вроде, на все случаи хватает пинов.
Попробовал я недавно "в деле" микроконтроллер ATMega32U4. Этот МК лежит в основе китайского клона Arduino Pro Micro. За счет того, что USB встроен в МК ATMega32U4, не нужен отдельный USB-чип. В результате платка получилась такая же миниатюрная, как и Arduino Pro Mini, которую мы использовали в первой версии ненавязчивой автоматики. Ниже - снимок для сравнения.
Из-за того, что есть встроенный USB, освобождается аппаратный UART. Это очень хорошо, если нужно подключать датчики или исполнительные устройства с таким интерфейсом. Например, PZEM-004T. Все-таки аппаратный порт всегда лучше программного. Из хорошего, что еще есть на борту ARMega32U4 и что могло бы нам пригодиться при конструировании модулей варианта LEGO, можно отметить наличие двух 16-разрядных счетчиков и четырех каналов 16-разрядных ШИМ. В datasheet еще много чего хорошего есть. В целом, организация и программирование не отличается от таковых для ATMega328P. Так что тратить время на переучивание и перепривыкание, например, к какой-нибудь экзотике, типа ESP-шек, совсем не нужно.
Для испытаний ATMega32U4, я попробовал "поженить" платку Arduino Pro Micro с датчиком "всего что есть в сети" - платой PZEM-004T v.3.0 с трансформатором тока. Схема и фотография макета ниже (в макете использовалась RJ-45 розетка без светодиодов).
У датчика PZEM-004T v.3.0 интерфейс - UART (ТТЛ). В качестве протокола прикладного уровня используется modbus. Сам протокол устройства простенький - просто "выклянчивать" у датчика значения 10 2-байтовых регистров (слов), начиная с нулевого адреса. В результате мы получаем: напряжение сети, ток в нагрузке, потребляемую нагрузкой мощность, частоту сети и коэффициент мощности. В скетче использовалась пара свободных ардуиновских библиотек (Wire и ModbusMaster) и несложный тестовый код. Все прекрасно работает! Причем, как в рамках i2c-сети, так и по USB. Кстати, получилась неплохая альтернатива нашему датчику RMS из варианта LITE!
Этот эксперимент, навел на простую, но, возможно, весьма полезную мысль: нужно попробовать спроектировать модули варианта LEGO (и, естественно, софт) с двойным интерфейсом (i2c и USB). Чтобы модули могли работать как в рамках i2c-сети, так и по USB. Наверное это было бы удобно при использовании в качестве управляющего компьютера ноутбук, обычный ПК или даже (не дай Бог! :))) телефон. Если не хочется возиться с организацией i2c-сети. При использовании платки Arduino Pro Micro в качестве интерфейсной основы варианта LEGO, это несложно будет сделать.
PS
Я перебрал в уме все устройства (модули), которые могут потребоваться для автоматизации винокурения. Ну, скажем так - в широком смысле :))). Ресурсов платки Arduino Pro Micro вроде бы вполне хватает для решения всех этих задач. Вот список запланированных на первое время типов модулей:
1. Электронное реле (прошивки Relay, PWM и PDM) для ТЭН-ов, клапанов, контакторов и пр.
2. Многоканальный ШИМ для серв и шаговиков (драйверы - отдельная история).
3. Датчик потребляемой мощности, напряжения в сети и тока.
4. USB/i2c хаб для 1-Wire датчиков (DS18B20)
5. USB/i2c хаб для маломощных i2c-датчиков
ИМХО, этих модулей должно хватить для сборки автоматики для любой задачи винокурения. Если что-то забыл - добавляйте. Обсудим.
PS2
Вот прикинул примерную схемку такого интерфейсного модуля. Вроде, на все случаи хватает пинов.
BogAD
Кандидат наук
Красногорск - Белово
403 184
Отв.2372 28 Янв. 22, 12:24
Так и AtMEGA328 вроде с UART (ТТЛ) работает или вопрос встал в использовании USB?
Сергей, сразу бросилось в глаза, сознательно развернул расспиновку TJ45? Усилитель I2C убран... или это стендовый вариант?
Датчик PZEM-004T можно подключить и с моими вариантами. UART там доступен на портах PD0 и PD1
Schematic_AtMega board_2022-01-28.pdf
Schematic_PoE-1Wire_2022-01-28.pdf
Единственно, что приходит в голову, что можно еще сделать некий "свисток", USB-I2C с усилителем на ISO1540. Тогда точно можно без малинки обойтись...
Вот прикинул примерную схемку такого интерфейсного модуля. Вроде, на все случаи хватает пинов.OldBean, 28 Янв. 22, 10:13
Сергей, сразу бросилось в глаза, сознательно развернул расспиновку TJ45? Усилитель I2C убран... или это стендовый вариант?
Датчик PZEM-004T можно подключить и с моими вариантами. UART там доступен на портах PD0 и PD1
Schematic_AtMega board_2022-01-28.pdf
Schematic_PoE-1Wire_2022-01-28.pdf
Единственно, что приходит в голову, что можно еще сделать некий "свисток", USB-I2C с усилителем на ISO1540. Тогда точно можно без малинки обойтись...
OldBean
Доцент
Красноярск
1K 1.4K
Отв.2373 28 Янв. 22, 12:54, через 30 мин
сразу бросилось в глаза, сознательно развернул расспиновку TJ45? Усилитель I2C убран... или это стендовый вариант?BogAD, 28 Янв. 22, 12:24Ух ты! Распиновка RJ вдруг отразилась по вертикали. Видимо случайно ткнул "Y" при "красном" компоненте и не заметил. Сейчас поправлю.
Усилитель в этих модулях (в отличие от малинки(!)) не нужен, т.к. порты ATMega довольно мощные (до 40 мА). Ничуть не хуже, чем ISO1540. В связи с этим и "свисток" с усилителем ISO1540, в общем-то, не нужен.
Датчик PZEM-004T можно подключить и с моими вариантами. UART там доступен на портах PD0 и PD1BogAD, 28 Янв. 22, 12:24Да. Конечно. И по софту будет совместимо. По крайней мере, если в мегу зашить загрузчик и писать скетчами в Arduino IDE. Нужно посмотреть Arduino IDE делает HEX-ы? У меня мало опыта работы с ней. Попозже разберемся как лучше эти решения совместить по софту.
PS
ATMega328P в DIP корпусе длиннее платы Arduino Pro Micro на 2 ноги (14 вместо 12), но он поУже. Тем не менее, если учесть всю обвязку (кварц, конденсаторы, разъем для ISP), то площади оно займет, скорее всего не меньше. Может быть имеет смысл вместо ATMega328P (DIP) поставить в модулях платки Arduino Pro Micro? Там еще и USB появится бесплатный :)
BogAD
Кандидат наук
Красногорск - Белово
403 184
Отв.2374 28 Янв. 22, 13:40, через 46 мин
Усилитель в этих модулях (в отличие от малинки(!)) не нужен, т.к. пины ATMega довольно мощные (до 40 мА). Ничуть не хуже, чем ISO1540. В связи с этим и "свисток" с усилителем ISO1540, в общем-то, не нужен.OldBean, 28 Янв. 22, 12:54Я бы от гальванической развязки I2C не отказывался, как то спокойней, да и усилители-удлинители всеж нормализуют I2C на длинных линиях...
OldBean
Доцент
Красноярск
1K 1.4K
Отв.2375 28 Янв. 22, 13:44, через 5 мин
Я бы от гальванической развязки I2C не отказывался, как то спокойней, да и усилители-удлинители всеж нормализуют I2C на длинных линиях...BogAD, 28 Янв. 22, 13:40Ну тогда питать каждый модуль придется отдельно. Или как? Развязку только по i2c сделать?
BogAD
Кандидат наук
Красногорск - Белово
403 184
Отв.2376 28 Янв. 22, 15:28
ATMega328P в DIP корпусе длиннее платы Arduino Pro Micro на 2 ноги (14 вместо 12), но он поУже. Тем не менее, если учесть всю обвязку (кварц, конденсаторы, разъем для ISP), то площади оно займет, скорее всего не меньше. Может быть имеет смысл вместо ATMega328P (DIP) поставить в модулях платки Arduino Pro Micro? Там еще и USB появится бесплатный OldBean, 28 Янв. 22, 12:54
Да, безусловно. Если учесть, что можно купить готовые Ардуинки с ATMega32U4 на борту, то можно, как впрочем с любой AtMeg'ой.
Вопрос на сколько это будет удобно в плане сборной конструкции? Как не крути, всеж промежуточный шилд для них придется делать...
А на счет размеров... так можно изначально создать платы с AtMega328 в корпусе TQFP-32. У меня получилось - 40,5 х 48,5мм, не знаю, компактно или нет.
Я придерживаюсь такой структуры , из моего топика
Платы сделаны все, часть плат уже на руках, часть плат, исправленных, в пути уже.
Так что с USB пока повременю, пока свой вариант соберу...
Вот список запланированных на первое время типов модулей:
1. Электронное реле (прошивки Relay, PWM и PDM) для ТЭН-ов, клапанов, контакторов и пр.
2. Многоканальный ШИМ для серв и шаговиков (драйверы - отдельная история).
3. Датчик потребляемой мощности, напряжения в сети и тока.
4. USB/i2c хаб для 1-Wire датчиков (DS18B20)
5. USB/i2c хаб для маломощных i2c-датчиковOldBean, 28 Янв. 22, 10:13
Нужен модуль защиты - Контроль состояния и управления дифавтоматом. Один канал out для вырубания его, и два "сухих" контакта на in для контроля его состояния.
Ну тогда питать каждый модуль придется отдельно. Или как? Развязку только по i2c сделать?OldBean, 28 Янв. 22, 13:44
Развязку по I2C. Питание по витой +5v только для запитывания VCC2 ISO1540. Второе питание VCC1 ISO1540 уже с DC/DC преобразователя 24/5, с него же хочу запитывать AtMEG'и Т.е. один DС/DC на один блок.
Недорогой DC/DC преобразователь K78L05-1000R3 K78L05-1000R3.pdf
По питанию не отошел от принципа, который писал тут. Одно будет изменение - UPS будет на 24В из 6-ти банок Li-ION, который поставится в силовой блок, где будет стоять основной блок-питания.
OldBean
Доцент
Красноярск
1K 1.4K
Отв.2377 28 Янв. 22, 18:50
Интересно, конечно. Но, как по мне, то выглядит несколько "тяжеловато" для "веселых" и разноцветных кубиков конструктора LEGO :). Сложная система питания, гальванические развязки каждого модуля... Для кузнечно-сварочного цеха, возможно, в самый раз будет, а для домашнего/лабораторного конструктора разных автоматик - явный "перегруз". Впрочем, спорить по этим вопросам - все равно что о вкусах пива дискутировать. Поживем-посмотрим.
Добавлено через 12ч. 14мин.:
PS
Технический момент.
Александр, судя по схеме, которую Вы планируете реализовать, полного изоморфизма модулей наших вариантов LEGO, скорее всего, не будет. Поэтому простейшей организацией ссылок в оглавлении (типа: модуль такой-то, вариант 1, вариант 2...) тут не обойтись. Чтобы топики не затерялись со временем, давайте Вы сами будете следить о структуре и содержании той части оглавления, в которой будут ссылки на Ваши топики, которые Вы сочтете ключевыми. В общем оглавлении на первой странице поставим ссылку типа "Вариант BogAD" (или сами придумайте название корня). Это будет ссылка на Ваш корневой топик со ссылками. Этот топик Вы сами сможете редактировать и дополнять по мере надобности. Иначе буквально уже через пол-года трудно будет что-нибудь конкретное найти... А поиск на форуме пока, к сожалению, не очень эффективен. Сделайте, пожалуйста, такой корневой топик, а я поставлю на него ссылку в общем оглавлении.
Добавлено через 12ч. 14мин.:
PS
Технический момент.
Александр, судя по схеме, которую Вы планируете реализовать, полного изоморфизма модулей наших вариантов LEGO, скорее всего, не будет. Поэтому простейшей организацией ссылок в оглавлении (типа: модуль такой-то, вариант 1, вариант 2...) тут не обойтись. Чтобы топики не затерялись со временем, давайте Вы сами будете следить о структуре и содержании той части оглавления, в которой будут ссылки на Ваши топики, которые Вы сочтете ключевыми. В общем оглавлении на первой странице поставим ссылку типа "Вариант BogAD" (или сами придумайте название корня). Это будет ссылка на Ваш корневой топик со ссылками. Этот топик Вы сами сможете редактировать и дополнять по мере надобности. Иначе буквально уже через пол-года трудно будет что-нибудь конкретное найти... А поиск на форуме пока, к сожалению, не очень эффективен. Сделайте, пожалуйста, такой корневой топик, а я поставлю на него ссылку в общем оглавлении.
BogAD
Кандидат наук
Красногорск - Белово
403 184
Отв.2378 29 Янв. 22, 08:56
Сделайте, пожалуйста, такой корневой топик, а я поставлю на него ссылку в общем оглавлении.OldBean, 28 Янв. 22, 18:50Сергей, как придут платы, соберу, сразу топик сделаю...
NBVV
Специалист
Новосибирск
124 2
Отв.2379 02 Февр. 22, 07:39
По одной витой паре пускаем +5V (питание датчиков) и землю. По второй витой паре пускаем - сигнальную линию (1-Wire) и землю. Это нужно для компенсации наводок как по питанию, так и по сигнальной линии. Обе земли с одной стороны цепляются к земляной линии хаба (или крейта), а с другой стороны обе земляные линии цепляем к земляному выводу датчика. Подсоединять эти (сигнальные) земли к колонне не нужно.OldBean, 03 Янв. 22, 10:26
А для экрана покупать металлизированные коннекторы или достаточно посадить его на землю?