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

Ненавязчивая автоматизация ректификационной установки

Форум самогонщиков Автоматика
1 ... 42 43 44 45 46 47 48 ... 132 45
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.880  13 Дек. 17, 16:41
Особого выигрыша в цене не будет а "разношерсность" повысится Подмигивающий.OldBean, 13 Дек. 17, 16:27
:) привелико извиняюсь, Сергей. Не уточнил свой пост.
Я имел ввиду твой новый вариант LITE, к схеме
Ненавязчивая автоматизация ректификационной установки
Ненавязчивая автоматизация ректификационной установки. Автоматика.

Пока есть запал, решил по LITE пройтись.
Платки на EH, TS, RMS и MB нарисовал. До кучи хотел нарисовать GPIO, но, призадумался. С запасам сколько закладывать портов, на In и OUT?
Хотя OUT, похоже не потребуется.
Сергей, ты сам продумывал GPIO или отложил пока?

OldBean Доцент Красноярск 1K 1.4K
Отв.881  13 Дек. 17, 17:04, через 23 мин
Можно использовать часть входов температурного сервера. Там 8 цифровых входов (порт D), уже "подтянутых" к высокому уровню (4.7к). Маловероятно, что кто-то будет ставить все 8 штук DS18B20. Еще и порт C свободен. Плата GPIO - это просто как вариант расширения. У меня для нее задач пока нет.
PS
Разводка цифрового модуля (он же и температурный сервер) не очень удачная (кросс-плата с разъемами датчиков получается сильно перепутанная). Поэтому выкладываю только компоновку. Может пригодится в качестве "затравки" :)
dm_17.09.23.1_sch.gif
dm_17.09.23.1_sch.gif Ненавязчивая автоматизация ректификационной установки. Автоматика.
dm_17.09.23.1_pcb.gif
dm_17.09.23.1_pcb.gif Ненавязчивая автоматизация ректификационной установки. Автоматика.
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.882  13 Дек. 17, 21:13
Можно использовать часть входов температурного сервера. Там 8 цифровых входов (порт D), уже "подтянутых" к высокому уровню (4.7к). Маловероятно, что кто-то будет ставить все 8 штук DS18B20. Еще и порт C свободен. Плата GPIO - это просто как вариант расширения. У меня для нее задач пока нет.
PS
Разводка цифрового модуля (он же и температурный сервер) не очень удачная (кросс-плата с разъемами датчиков получается сильно перепутанная). Поэтому выкладываю только компоновку. Может пригодится в качестве "затравки" :)OldBean, 13 Дек. 17, 17:04
Спасибо, Сергей, но... Я малость по другому задумал температурный сервер.
Плата размером 50х50
 Ненавязчивая автоматизация ректификационной установки
Ненавязчивая автоматизация ректификационной установки. Автоматика.

Односторонняя. Перемычек... ну как без них ...  
Ненавязчивая автоматизация ректификационной установки
Ненавязчивая автоматизация ректификационной установки. Автоматика.

по минимуму.
В модуль GPIO, я постараюсь воткнуть сами входы/выходы но и воткнуть ВMP180(280)
Стандарт по плате не более 50х50 мм.

Добавлено через 25мин.:

Не проверено полностью, но наброски приложу
Плата на ТЭНы и другие нагрузки
Размер 50х100
 Ненавязчивая автоматизация ректификационной установки
Ненавязчивая автоматизация ректификационной установки. Автоматика.


Плата на "RMS и детектор 0"
Размер 50х100

перезалил, пост ниже


Плата материнская
Размер 50х150

перезалил, пост ниже
TS.JPG
TS.JPG Ненавязчивая автоматизация ректификационной установки. Автоматика.
EH.JPG
EH.JPG Ненавязчивая автоматизация ректификационной установки. Автоматика.
OldBean Доцент Красноярск 1K 1.4K
Отв.883  14 Дек. 17, 02:50
Топология - она и в Африке топология... Наверное, для этой схемы и деталей меньше 5 перемычек (кроме тех, что по земле у шинного разъема) не получится. Это я про цифровой модуль. У Вас получилась хорошая разводка. Правда, вертикальные резисторы меня почему-то всегда "напрягают" ;).

У меня размеры плат: 85х33 мм - это силовые модули и датчик RMS с детектором нуля. Цифровые модули получились чуть повыше: 50х42 мм.
Для разнообразия ;) тоже положу свои разводки. Правда в LITE еще ничего толком не отлажено. Поэтому (без отладки и проверки "в деле") - только для справки.


Добавлено через 1ч. 23мин.:


PS
Добрался до работы - посмотрел как новый модулек себя чувствует. Ну пока, тьфу-тьфу, вроде все вполне прилично. Более полутора миллионов (точнее, на данный момент - более 1708397;) двухбайтовых обменов из малинки в ардуинку и обратно. Пока ни одной ошибки. Похоже "малой кровью" удастся зафиксить проблему с I2C. "Малая кровь" - это обмен не 8-битовыми байтами, а кусочками по 7 битов. С "разборкой" слов перед отправкой и сборкой после приема. Старшие (8-е) биты каждого байта просто тупо игнорируются при обмене. Макетик модулька - на крайней картинке во вложении. На макете просто удобно проверять скетч для разных типов и разрядностей индикаторов. Текст скетча потом разберем подробно.
pm_17.09.23.1_sch.gif
pm_17.09.23.1_sch.gif Ненавязчивая автоматизация ректификационной установки. Автоматика.
pm_17.09.23.1_pcb.gif
pm_17.09.23.1_pcb.gif Ненавязчивая автоматизация ректификационной установки. Автоматика.
rms_17.09.25.1_sch.gif
rms_17.09.25.1_sch.gif Ненавязчивая автоматизация ректификационной установки. Автоматика.
rms_17.09.25.1_pcb.gif
rms_17.09.25.1_pcb.gif Ненавязчивая автоматизация ректификационной установки. Автоматика.
11_тест_макет_модулек_новый.JPG
11_тест_макет_модулек_новый.JPG Ненавязчивая автоматизация ректификационной установки. Автоматика.
U-M Магистр MSK 210 39
Отв.884  14 Дек. 17, 06:22
посмотрел как новый модулек себя чувствуетOldBean, 14 Дек. 17, 02:50

Надо клапан отбора на длинном проводе вокруг модуля разложить - пускай пощелкает с циклом 50% ?
OldBean Доцент Красноярск 1K 1.4K
Отв.885  14 Дек. 17, 07:03, через 41 мин
Конечно проверю. Но попозже. Уже в реальной работе. И клапан будет щелкать и ТЭН включаться, выключаться (иногда под сотню раз в секунду ;) Хотя и те и другие включаются мягко (в нуле тока и напряжения) и заметных наводок не дают.

Причина ошибок по I2C, с я которыми сейчас воюю, находится внутри чипа малинки. Она не связана напрямую с внешними амплитудными наводками. Она, скорее, связана с  рассинхронизацией тактов малинки и ардуинки. Это вполне естественно для независимых устройств с раздельным тактированием. Их тяжело отлавливать. Поэтому здесь и нужны длительные тесты.

Сходил посмотрел на малинку с модульком - вот уже тест за 2 млн. обменов перевалил. Пока ошибок нет. ;)
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.886  14 Дек. 17, 16:48
Подправил две платки.
RMS цепочку на "0" добавил.
 Ненавязчивая автоматизация ректификационной установки
Ненавязчивая автоматизация ректификационной установки. Автоматика.


Мат.плата - отдельное гнездо под BME-280.
 Ненавязчивая автоматизация ректификационной установки
Ненавязчивая автоматизация ректификационной установки. Автоматика.


В архиве платы в lay.
RMS.JPG
RMS.JPG Ненавязчивая автоматизация ректификационной установки. Автоматика.
MB.JPG
MB.JPG Ненавязчивая автоматизация ректификационной установки. Автоматика.

PCB_New_Concept.zip 66.8 Кб
OldBean Доцент Красноярск 1K 1.4K
Отв.887  15 Дек. 17, 11:43
Все. Долговременный тест надежности связи малинки и ардуинок по I2C пройден успешно. Совершено 5 млн. двухбайтовых обменов. Ни одной ошибки передачи данных не зафиксировано. В тесте частота обменов выше, чем в реальном процессе ректификации. Поэтому этот тест эквивалентен (по количеству обменов) примерно 2-месячной непрерывной работе установки! Полагаю, для практической работы такая надежность I2C более чем достаточна.
Ненавязчивая автоматизация ректификационной установки
Ненавязчивая автоматизация ректификационной установки. Автоматика.


Уф... Все-таки удалось обойтись "малой кровью" (снижением baudrate до 9600 и тупым игнорированием старших битов во всех  принимаемых малинкой байтах). Остальные биты, как показал тест, передаются без ошибок.
U-M Магистр MSK 210 39
Отв.888  15 Дек. 17, 15:49
По идее, если ошибка обмена по IIC и обнаружена, то не надо в новой версии скрипта сразу рубить процесс в ноль - пускай система поработает секунд 10 на прежних параметрах, а вот если связь не восстановится, то и отключать процесс.
А то в текущем скрипте, например при ошибке RMS, сетевое сразу отключается и колонна осушается, что не есть хорошо. А вот клапан отбора можнои закрыть при ошибке, на всякий случай.
OldBean Доцент Красноярск 1K 1.4K
Отв.889  16 Дек. 17, 05:35
не надо в новой версии скриптаU-M, 15 Дек. 17, 15:49
Надеюсь, что удастся довести новый софт до такого уровня абстрагирования и интеграции, чтобы любой коллега, независимо от уровня программистской подготовки, смог бы легко и непринужденно настроить логику процесса по своему "вкусу" ;)
gol_avto Доцент Москва - Серпухов - Анапа 1.3K 458
Отв.890  16 Дек. 17, 06:35
А новая версия скрипта будет совместима с предыдущим "железом", не хотелось бы его выбрасывать.
OldBean Доцент Красноярск 1K 1.4K
Отв.891  16 Дек. 17, 11:32
А новая версия скрипта будет совместима с предыдущим "железом", не хотелось бы его выбрасывать.gol_avto, 16 Дек. 17, 06:35
На уровне "железа" совместимость, конечно, планируется (вариант LITE, естественно, - нет). Необходимо будет только перепрошить софт в ардуинках и использовать новые питоновские модули для малинки. Правда для некоторых вещей пока нет полной ясности как обеспечить совместимость. Это, в основном, связано с индикацией. В новых "модульках" индикаторы будут 4-разрядные и они будут показывать не %, как сейчас, а реальные ватты, мл/час, °C и т.п. Соответствующие калибровки будут храниться в EEPROM ардуинок или будут загружаться с малинки при инициализации системы (если модульки используются автономно, то кнопками). Там много мелких нюансов вылезает.

А если короче - обеспечить совместимость со старым железом я постараюсь. Но, а если уж возникнут непреодолимые противоречия - тогда вместе "взвесим": совместимость или развитие функционала.
ZagAl Доцент Прибалтика 1.9K 916
Отв.892  16 Дек. 17, 20:16
Лично я за развитие функционала. Новый комплект ардуинок и индикаторов не такие уж большие растараты. Зато не нужно будет терзаться совместимостью. Единственное, что хочется спросить. Если уже имеется перечень необходимых компонентов, то огласите пожалуйста. А то с конца января алиэкспресс месяц будет недоступен.
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.893  16 Дек. 17, 22:12
OldBean, Сергей,
INT и Zero на каких ногах у тебя в малинке сидят?
OldBean Доцент Красноярск 1K 1.4K
Отв.894  16 Дек. 17, 23:29
Если уже имеется перечень необходимых компонентов, то огласите пожалуйста.ZagAl, 16 Дек. 17, 20:16
Все комплектующие те же, что и в старой системе. Только индикаторы 4-разрядные. У них маркировки разные. Например, у моих на корпусе написано 5461AH и в прайсе было то же, а где ножки, сквозь прозрачный компаунд видно - LD5641A.
INT и Zero на каких ногах у тебя в малинке сидят?BogAD, 16 Дек. 17, 22:12
Zero к малинке вообще не идет. Зачем ей это? А Int - пока к любому свободному. Просто еще не определился. Они легко переключаются - со стороны малинки провода не связаны никак.
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.895  16 Дек. 17, 23:55, через 26 мин
Zero к малинке вообще не идет. Зачем ей это? А Int - пока к любому свободному. Просто еще не определился. Они легко переключаются - со стороны малинки провода не связаны никак.OldBean, 16 Дек. 17, 23:29
Сергей, ты как всегда внимателен и прав, Zero на малинке не нужен...
Ок. Я плату базы (MB) хочу сделать так, чтоб её цеплять шлейфом к малинке сороковыми разъемами, не парясь, что "не дай Боже...".
Определимся, что INT будет сидеть на GPIO-05 (29 нога)? Я уже практически материнку дорисовал....
OldBean Доцент Красноярск 1K 1.4K
Отв.896  17 Дек. 17, 06:47
Определимся, что INT будет сидеть на GPIO-05 (29 нога)? Я уже практически материнку дорисовал....BogAD, 16 Дек. 17, 23:55
К сожалению я (конкретно) еще не знаю как организованы аппаратные прерывания в малинке. Просто с этим вопросом я еще совсем не разбирался - руки не дошли. Поэтому ничего определенного по поводу конкретного пина, к которому нужно подключать Int, сказать не могу. Возможно, не каждый пин может выступать в такой роли (как, например, в AVR-ках полнофункциональные INT0 и INT1 привязаны к конкретным ногам). Поэтому для меня этот вопрос пока остается открытым. Но, может быть, кто-нибудь уже разбирался с аппаратными прерываниями у малинки и может подсказать Вам нужный пин?
C-Bell Научный сотрудник Улан-Удэ 1.8K 1.3K
Отв.897  17 Дек. 17, 07:56
Как использовать прерывания с Python на Raspberry Pi и RPi.GPIO
Прерывания GPIO в модуле ядра Raspberry Pi B+
Пытался синхронизироваться с сетью 50Hz в программе питон - ничего не вышло.
Если прерывания приходят чаще 25-ти в секунду, начинается пропуск этих прерываний.
Возможно, если написать для питона модуль синхронизации на C, как во второй ссылке, получится синхронизироваться с сетью 50Hz (задержка вызова прерывания у автора не превысила 10 мкС).
OldBean Доцент Красноярск 1K 1.4K
Отв.898  17 Дек. 17, 09:38
Спасибо за ссылки, C-Bell! Я бегло просмотрел статьи и, судя по всему, каких-то ограничений на сигнальные пины GPIO (в смысле - с которого ловить прерывания) у малинки нет. По крайней мере авторы статей на этом явно не акцентируют. Поэтому, вполне можно согласиться с предложением BogAD и привязать шину Int к 29-й ноге. Ну, по крайней мере, до тех пор пока не появится какая-нибудь, противоречащая этому решению, информация ;).
Пытался синхронизироваться с сетью 50Hz в программе питон - ничего не вышло.
Если прерывания приходят чаще 25-ти в секунду, начинается пропуск этих прерываний.C-Bell, 17 Дек. 17, 07:56
Конечно, real time на интерпретируемом языке типа питона - сложновато реализовать. Но, в данном случае - задача проще. По задумке, низкий уровень на шине Int в варианте LITE - это разовый сигнал от периферии (или аварийной кнопки, или самой малинки) другой перифирии (и, естественно, малинке) о необходимости аварийного (срочного, но корректного!) завершения работы. Т.е. - все корректно выключить, закрыть, завинтить, обесточить и сохранить нужные данные и контрольные точки. Здесь, думаю, питон вполне справится. Задержки порядка десяток или даже сотен мс здесь не критичны.
BogAD Кандидат наук Красногорск - Белово 403 184
Отв.899  17 Дек. 17, 09:58, через 20 мин
По задумке, низкий уровень на шине Int в варианте LITE - это разовый сигнал от периферии (или аварийной кнопки, или самой малинки) другой перифирии (и, естественно, малинке) о необходимости аварийного (срочного, но корректного!) завершения работы.OldBean, 17 Дек. 17, 09:38
По уровню надо INT "придушить" до 3.3В. Периферия может Малинку запалить если будет 5...

Добавлено через 53мин.:

Нашел схему (для копилки)

Преобразователь на транзисторе ДВУНАПРАВЛЕННЫЙ!!!

Ненавязчивая автоматизация ректификационной установки
Ненавязчивая автоматизация ректификационной установки. Автоматика.

Простая,  но эффективная схема с N-канальным полевым транзистором, позволяющая согласовать выход
3-ех вольтовой микросхемы со входом 5-ти вольтовой. Требует минимум компонентов и не инвертирует сигнал.
Работает в обоих направлениях.
  Первая ситуация – DD2 передает сигнал, DD1 принимает.
  Когда на выходе DD2 установлена логическая единица,  транзистор закрыт, и вход DD1 с помощью
резистора R1 подтянут к плюсу питания. Когда на выходе DD2 установлен логический ноль,  транзистор
открыт, и вход DD1 посажен на ноль.
 Вторая ситуация – DD1 передает сигнал, DD2 принимает.
  Когда на выходе DD1 установлена логическая единица, транзистор закрыт, и вход DD2 с помощью
резистора R2 подтянут к плюсу питания. Когда на выходе DD1 установлен логический ноль, через встроенный
в полевой транзистор диод начинает течь ток и потенциал истока становится меньше потенциала затвора.
Транзистор открывается, и вход DD2 оказывается посажен на ноль питания.
  Используемый в схеме транзистор должен иметь  пороговое напряжение затвора удовлетворяющее
неравенству:

Vcc - Voh < Vt < Vcc – Vol

Где Vcc – напряжение питания DD2,
Voh - напряжение логической единицы на выходе DD2,
Vol – напряжение логического нуля на выходе DD2,
Vt – пороговое напряжение затвора.  
В спецификации полевой транзистор этот параметр обозначается как Vgs(th) – Gate Threshold Voltage.  
  Для этой схемы подойдут N-канальные полевые транзисторы управляемые логическим уровнем.
Например, BSS138.
  Минимальные значения R1 и R2 ограничены нагрузочными способностями выхода DD2 и падением
напряжения на транзисторе. Когда полевой транзистор открыт, через него и эти резисторы
на вход микросхемы DD2  течет ток.
  Максимальное значение R1 ограничено  током утечки входа DD1.
Если выбрать слишком большой номинал, напряжение на входе DD1 может стать
меньше уровня логической единицы.


Источник
http://chipenable.ru/...ih-urovney.html

По моему оптимально. Сергей, тут только надо резистор, на плате МВ, подтягивающий Int  к 3.3В, переместить на 5В. Т.е. подтянуть к 5В. Т.е. Шину по периферии Int, сделаем по уровню 5В.
Этот резистор уже станет частью схемы преобразователя (R1).
Останется добавить резистор R2 и BSS138 и проблема уровней решена!



Добавлено через 8мин.:

Сергей, я "зарапортовался"...
Забыл, что ты указывал решение, по подтяжке периферией шины  Int только на 0...
Тогда не надо ни какого согласования.
Схемку не стану удалять, может пригодится кому
voltage-level-transition1.png
voltage-level-transition1.png Ненавязчивая автоматизация ректификационной установки. Автоматика.