Система автоматизации от Altair'a
Altair
Научный сотрудник
Омск
322 75
Отв.40 25 Янв. 09, 00:03
Перерисовал на Мегу16. Теперь можно будет делать ступенчато. Сначала основной блок, а потом и индикацию с кнопочками прикрутить есть куда.
Rudy
Академик
Питер
5.8K 1K
Отв.41 25 Янв. 09, 00:10, через 8 мин
Повторяюсь, взять за образец http://www.masterkit.ru/main/set.php?num=906 и подогнать под него правильный софт.Bitner, 24 Янв. 09, 23:23Мне тоже кажется, что это было бы более правильно. Этот комплект не так дорого стоит и его легко купить. Плату сделать далеко не каждый сможет.
Altair
Научный сотрудник
Омск
322 75
Отв.42 25 Янв. 09, 09:10
Я точно его адаптацией заниматься не буду. Мне он не нравится малым количеством и неоптимальностью линий ввода вывода.
Мне не нравится цеплять термометры на один провод.
Я не считаю необходимостью наличие индикации.
А плату делать необязательно. Схема достаточно проста для того что бы ее на макетке изобразить.
Я считаю что процесс перегона достаточно сложен и многоэтапен, потому потребуются частые изменения в алгоритм управления. Вносить изменения "по ходу дела" в программу на компьютере легче чем то же самое делать для контроллера.
Ну и возможности визуализации у компьютера несравненно выше, нежели у контроллера.
Мне иногда просто забавно читать разные рассуждения о зависимости параметров между собой. У меня все видно одновоременно и в реалтайме. Через это я очень быстро вник в суть и динамику процессов перегона. Очень все наглядно и удобно!!! Потому считаю индикацию на контроллере не нужной. Информативности все равно практически "0".
Мне не нравится цеплять термометры на один провод.
Я не считаю необходимостью наличие индикации.
А плату делать необязательно. Схема достаточно проста для того что бы ее на макетке изобразить.
Я считаю что процесс перегона достаточно сложен и многоэтапен, потому потребуются частые изменения в алгоритм управления. Вносить изменения "по ходу дела" в программу на компьютере легче чем то же самое делать для контроллера.
Ну и возможности визуализации у компьютера несравненно выше, нежели у контроллера.
Мне иногда просто забавно читать разные рассуждения о зависимости параметров между собой. У меня все видно одновоременно и в реалтайме. Через это я очень быстро вник в суть и динамику процессов перегона. Очень все наглядно и удобно!!! Потому считаю индикацию на контроллере не нужной. Информативности все равно практически "0".
Отв.43 25 Янв. 09, 10:52
Пришел на эту ветку из Приборов (расходомер), чтобы не загружать ту ветку лишней информацией.
Итак, о разнице между алгоритмом управления Альтаира (каким на мой взгляд он видит его в перспективе) и моим.
Будучи сторонником ассоциаций, попытаюсь показать разницу на примере из другой области.
Например, исправление наглой морды.
Перед нами нахал с наглой мордой.
А хочется отрегулировать его до нормального состояния.
Как это сделать по принципу Альтаира?
1. Измеряем - вычисляем степень наглости морды.
2. Оцениваем эффективность одного удара в ухо.
3. Вычисляем количество необходимых ударов.
4. Наносим их.
Задача решена.
Что будет в случае ошибки?
Если ударов окажется мало, есть шанс самому получить в ухо.
Если много - морда из наглой может стать мёртвой.
И в первом и во втором случае задаче не выполнена, то есть любая ошибка всё ломает.
У меня подход другой. Я фанат обратной связи.
1. Даём морде в ухо.
2. Смотрим, осталась ли на роже наглость.
Если да - повторяем пункт 1.
Если нет - задача выполнена.
Какие опасности?
1. Единичный удар слишком слабый, и на исправление морды уйдет несколько лет.
2. Единичный удар слишком сильный, и первый-же убивает.
То есть вся предварительная настройка сводится к выбору силы одного удара в некоторой "вилке"
Альтаир, я попытался проанализировать, какую мысль ты планируешь вложить в свою систему, и получилась у меня такая картинка твоего видения регулирования (если что - поправишь).
Начну с конца.
7. Измеряем фактическую величину отбора, сравниваем её с оптимальной, крутим регулятор отбора до тех пор, пока отбор не станет равен оптимальному.
6. Для вычисления оптимального отбора, определяем оптимальное флегмовое число и фактическое количество конденсируемого в дефлегматоре спирта.
5. Для вычисления оптимального флегмового числа измеряем температуру и давление в кубе, и по ним вычисляем спиртуозность кубовой смеси.
4. Для определения количества конденсируемого в дефлегматоре спирта, используем уже известную спиртуозность кубовой смеси, уже известное давление в кубе, определяем атмосферное давление и полезную мощность нагрева.
3. Для определения полезной мощности нагрева, от подаваемой в куб мощности отнимаем мощность теплопотерь.
2. Для определения подаваемой в куб мощности измеряем напряжение сети и вычисляем по сопротивлению ТЭНов и коэффициенту времени включения ТЭНов
1. Для определения мощности потерь определяем температуру воздуха в помещении и используем уже известные температуры куба и пара.
0. Общий контроль. По атмосферному давлению определяем температуру кипения спирта и сравниваем с температурой пара в дефлегматоре. Если они не совпадают - что-то делаем. Либо поднимаем тревогу, либо вводим поправочные коэффициенты, либо останавливаем отбор.
Цикл завершен. Через 2-5-10 секунд цикл повторяем.
(Поддержание давления в кубе происходит отдельно, это другая ветвь регулирования.)
Подводим итоги. При таком подходе нужно измерять два давления, три температуры, один расход и иметь регулятор расхода.
Будучи построенной, такая система несомненно будет работать, но у неё есть несколько весьма слабых моментов.
Первое - это большое количество измеряемых параметров, некоторые из которых должны быть весьма точными по абсолютному значению.
Второе - эмпиризм многих формул с применением коэффициентов, которые в разных источниках разные, а по некоторым вообще информации нет.
Например, изменение оптимального флегмового числа зависит не только от спиртуозности кубовой смеси. Для каждой колонны это будет своя зависимость, и для каждого потока пара - тоже своя.
Чтобы получить скромно-удовлетворительные результаты, нужно провести внушительную исследовательскую работу по своей колонне.
Я , как фанат обратной связи, строю алгоритм по другому.
При регулировании чего-либо я сознательно ухожу от фактических значений как измеряемого параметра, так и регулируемого. Важна динамика.
Температура выросла - уменьшай отбор. Температура не выросла - увеличивай. Конкретная, точная величина температуры для меня не имеет абсолютно никакого значения. И отбора тоже.
Таким образом, для регулировки отбора я использую один термометр и один регулятор отбора. Связь непосредственная, никаких вычислений. Единственная задача - определить "силу удара", то есть величину единичного изменения отбора.
Альтаир, наверняка я исказил твой алгоритм управления, но я не видел твоего изложения (может плохо смотрел?). Так что или дай ссылку, или расаскажи нам (и в первую очередь себе) как в перспективе будет работать твоя автоматика. Укажи цель. А то без цели можно зайти не в ту сторону.:)
Итак, о разнице между алгоритмом управления Альтаира (каким на мой взгляд он видит его в перспективе) и моим.
Будучи сторонником ассоциаций, попытаюсь показать разницу на примере из другой области.
Например, исправление наглой морды.
Перед нами нахал с наглой мордой.
А хочется отрегулировать его до нормального состояния.
Как это сделать по принципу Альтаира?
1. Измеряем - вычисляем степень наглости морды.
2. Оцениваем эффективность одного удара в ухо.
3. Вычисляем количество необходимых ударов.
4. Наносим их.
Задача решена.
Что будет в случае ошибки?
Если ударов окажется мало, есть шанс самому получить в ухо.
Если много - морда из наглой может стать мёртвой.
И в первом и во втором случае задаче не выполнена, то есть любая ошибка всё ломает.
У меня подход другой. Я фанат обратной связи.
1. Даём морде в ухо.
2. Смотрим, осталась ли на роже наглость.
Если да - повторяем пункт 1.
Если нет - задача выполнена.
Какие опасности?
1. Единичный удар слишком слабый, и на исправление морды уйдет несколько лет.
2. Единичный удар слишком сильный, и первый-же убивает.
То есть вся предварительная настройка сводится к выбору силы одного удара в некоторой "вилке"
Альтаир, я попытался проанализировать, какую мысль ты планируешь вложить в свою систему, и получилась у меня такая картинка твоего видения регулирования (если что - поправишь).
Начну с конца.
7. Измеряем фактическую величину отбора, сравниваем её с оптимальной, крутим регулятор отбора до тех пор, пока отбор не станет равен оптимальному.
6. Для вычисления оптимального отбора, определяем оптимальное флегмовое число и фактическое количество конденсируемого в дефлегматоре спирта.
5. Для вычисления оптимального флегмового числа измеряем температуру и давление в кубе, и по ним вычисляем спиртуозность кубовой смеси.
4. Для определения количества конденсируемого в дефлегматоре спирта, используем уже известную спиртуозность кубовой смеси, уже известное давление в кубе, определяем атмосферное давление и полезную мощность нагрева.
3. Для определения полезной мощности нагрева, от подаваемой в куб мощности отнимаем мощность теплопотерь.
2. Для определения подаваемой в куб мощности измеряем напряжение сети и вычисляем по сопротивлению ТЭНов и коэффициенту времени включения ТЭНов
1. Для определения мощности потерь определяем температуру воздуха в помещении и используем уже известные температуры куба и пара.
0. Общий контроль. По атмосферному давлению определяем температуру кипения спирта и сравниваем с температурой пара в дефлегматоре. Если они не совпадают - что-то делаем. Либо поднимаем тревогу, либо вводим поправочные коэффициенты, либо останавливаем отбор.
Цикл завершен. Через 2-5-10 секунд цикл повторяем.
(Поддержание давления в кубе происходит отдельно, это другая ветвь регулирования.)
Подводим итоги. При таком подходе нужно измерять два давления, три температуры, один расход и иметь регулятор расхода.
Будучи построенной, такая система несомненно будет работать, но у неё есть несколько весьма слабых моментов.
Первое - это большое количество измеряемых параметров, некоторые из которых должны быть весьма точными по абсолютному значению.
Второе - эмпиризм многих формул с применением коэффициентов, которые в разных источниках разные, а по некоторым вообще информации нет.
Например, изменение оптимального флегмового числа зависит не только от спиртуозности кубовой смеси. Для каждой колонны это будет своя зависимость, и для каждого потока пара - тоже своя.
Чтобы получить скромно-удовлетворительные результаты, нужно провести внушительную исследовательскую работу по своей колонне.
Я , как фанат обратной связи, строю алгоритм по другому.
При регулировании чего-либо я сознательно ухожу от фактических значений как измеряемого параметра, так и регулируемого. Важна динамика.
Температура выросла - уменьшай отбор. Температура не выросла - увеличивай. Конкретная, точная величина температуры для меня не имеет абсолютно никакого значения. И отбора тоже.
Таким образом, для регулировки отбора я использую один термометр и один регулятор отбора. Связь непосредственная, никаких вычислений. Единственная задача - определить "силу удара", то есть величину единичного изменения отбора.
Альтаир, наверняка я исказил твой алгоритм управления, но я не видел твоего изложения (может плохо смотрел?). Так что или дай ссылку, или расаскажи нам (и в первую очередь себе) как в перспективе будет работать твоя автоматика. Укажи цель. А то без цели можно зайти не в ту сторону.:)
Altair
Научный сотрудник
Омск
322 75
Отв.44 25 Янв. 09, 18:46
Я еще не говорил об алгоритме моей системы. Его просто не было. :-)
Сейчас, после некоторого количества опытов, я вполне определился.
К сожалению нет опыта отделения голов, бо перегоняю я пока только спирт разведенный с водой (а точнее спирт разведенный с водой настояный на лимоне - эт), но уже на этом материале вырисовывается следующая схема ОКОНЧАНИЯ перегона.
Как только на уровне 1/3 от низа колонны температура поднимется на 1 градус от установившейся (повышение температуры в этом месте говорит о том, что в колонну спирт почти не поступает) - снижаем отбор в 3 раза и на этом отборе гоним до тех пор, пока на уровне "минус 10 см от верхнего конца насадки" температура не повысится на 0,2 градуса. После этого полный останов отора. Все.
То что осталось - можно даже не собирать. Я пытался - выходило примерно 50 мл какой то хрени и все.
Сейчас, после некоторого количества опытов, я вполне определился.
К сожалению нет опыта отделения голов, бо перегоняю я пока только спирт разведенный с водой (а точнее спирт разведенный с водой настояный на лимоне - эт), но уже на этом материале вырисовывается следующая схема ОКОНЧАНИЯ перегона.
Как только на уровне 1/3 от низа колонны температура поднимется на 1 градус от установившейся (повышение температуры в этом месте говорит о том, что в колонну спирт почти не поступает) - снижаем отбор в 3 раза и на этом отборе гоним до тех пор, пока на уровне "минус 10 см от верхнего конца насадки" температура не повысится на 0,2 градуса. После этого полный останов отора. Все.
То что осталось - можно даже не собирать. Я пытался - выходило примерно 50 мл какой то хрени и все.
Rudy
Академик
Питер
5.8K 1K
Отв.45 25 Янв. 09, 19:20, через 34 мин
Все у вас замечательно, а кто посуду менять будет?
На мой взгляд при ректификации можно выделить следующие стадии.
1. Разгон колонны
2. Отгон голов
3. Промежуточная отгон начала тулова - может не быть
4. Отгон основного тулова.
5. Отгон возможно плохого тулова - может не быть
6. Слив остатков.
3 и 5 стадии можно пропустить, но полезно уметь их выделять при необходимости.
Переход от одной стадии к другой без оператора невозможен. Посему по завершении стадии система встает в безопасный режим и зовет оператора менять посуду. Можно разрешить автопереход в следующую стадию без оператора.
Параметры следующей стадии (в т.ч. параметры ее завершения) могут быть корректированы оператором перед ее запуском.
По моему - достаточно просто и вполне может работать и без компа. Конечно, комп на два порядка удобнее и информативнее, и основным режимом работы должен быть режим с компом, но нужно обеспечить работу и без него. Тем более - несложно, только муторно все менюшки делать.
На мой взгляд при ректификации можно выделить следующие стадии.
1. Разгон колонны
2. Отгон голов
3. Промежуточная отгон начала тулова - может не быть
4. Отгон основного тулова.
5. Отгон возможно плохого тулова - может не быть
6. Слив остатков.
3 и 5 стадии можно пропустить, но полезно уметь их выделять при необходимости.
Переход от одной стадии к другой без оператора невозможен. Посему по завершении стадии система встает в безопасный режим и зовет оператора менять посуду. Можно разрешить автопереход в следующую стадию без оператора.
Параметры следующей стадии (в т.ч. параметры ее завершения) могут быть корректированы оператором перед ее запуском.
По моему - достаточно просто и вполне может работать и без компа. Конечно, комп на два порядка удобнее и информативнее, и основным режимом работы должен быть режим с компом, но нужно обеспечить работу и без него. Тем более - несложно, только муторно все менюшки делать.
Altair
Научный сотрудник
Омск
322 75
Отв.46 25 Янв. 09, 20:28
... только муторно все менюшки делать.
Rudy, 25 Янв. 09, 19:20
Вот в этом все дело. В творчестве очень много рутины. А самое западло в том, что после того как все сделаешь, приходит новая мысля, в которой непременно все наоборот. :-(
Отв.47 25 Янв. 09, 20:30, через 2 мин
Альтаир, так я именно об этом! Пока не поставлена задача, мысли "наоборот" не исключение, а правило!
Altair
Научный сотрудник
Омск
322 75
Отв.48 25 Янв. 09, 20:41, через 12 мин
Короче, ежели нет существенных дополнений к последней предложенной схеме на Меге16(32), добавлю к симисторам бутстреп и начинаю разводить.
Потенциал в схему заложен приличный, достроить можно на любой вкус и цвет.
Потенциал в схему заложен приличный, достроить можно на любой вкус и цвет.
Rudy
Академик
Питер
5.8K 1K
Отв.49 25 Янв. 09, 21:39, через 58 мин
Несколько замечаний по схеме. Не все, то, что сходу в голову пришло.
1. Синхронизация с сетью. Диодный мост D2 с причиндалами и оптроном не нужен. Тот же сигнал получается с моста D1, если его ноги переменки подключить через делитель к компаратору проца (AIN0 и 1) или прямо через резистор ко входу прерываний. Ну сам сообразишь как правильно.
2. На входах АЦП стоит сначала поставить резистор, потом диоды в землю и питание (что-то вроде BAV99) и емкость. Собственные диоды проца слабоваты.
3. Схемы подключения симисторов лучше подкорректировать в соответствии с заводской. Не забудь про радиаторы - они могут быть большими.
4. Емкость C5 лишняя, а R6 лучше поменьше.
5. Нет возможности управлять клапанами от 12 В. Можно предусмотреть установку пары твердотельных реле.
6. Питатель можно сделать на 12В порядка 1А, тогда можно будет использовать 12В оборудование, только ключи добавить.
7. Устройства SPI можно будет тоже использовать если поставить разъем c SCK,MOSI,MISO,5V,+несколько CS.
1. Синхронизация с сетью. Диодный мост D2 с причиндалами и оптроном не нужен. Тот же сигнал получается с моста D1, если его ноги переменки подключить через делитель к компаратору проца (AIN0 и 1) или прямо через резистор ко входу прерываний. Ну сам сообразишь как правильно.
2. На входах АЦП стоит сначала поставить резистор, потом диоды в землю и питание (что-то вроде BAV99) и емкость. Собственные диоды проца слабоваты.
3. Схемы подключения симисторов лучше подкорректировать в соответствии с заводской. Не забудь про радиаторы - они могут быть большими.
4. Емкость C5 лишняя, а R6 лучше поменьше.
5. Нет возможности управлять клапанами от 12 В. Можно предусмотреть установку пары твердотельных реле.
6. Питатель можно сделать на 12В порядка 1А, тогда можно будет использовать 12В оборудование, только ключи добавить.
7. Устройства SPI можно будет тоже использовать если поставить разъем c SCK,MOSI,MISO,5V,+несколько CS.
Bitner
Научный сотрудник
NN
941 411
Отв.50 25 Янв. 09, 22:04, через 25 мин
Несколько замечаний по схеме. Не все, то, что сходу в голову пришло.Через диод, что бы не было шунтирование от С3.
1. Синхронизация с сетью. Диодный мост D2 с причиндалами и оптроном не нужен. Тот же сигнал получается с моста D1, если его ноги переменки подключить через делитель к компаратору проца (AIN0 и 1) или прямо через резистор ко входу прерываний. Ну сам сообразишь как правильно.
Rudy, 25 Янв. 09, 21:39
Rudy
Академик
Питер
5.8K 1K
Отв.51 25 Янв. 09, 22:13, через 10 мин
Зачем диод? Резисторный делитель.
Rudy
Академик
Питер
5.8K 1K
Отв.52 25 Янв. 09, 22:23, через 10 мин
Зачем диод? Резисторный делитель.
А понял, что ты не понял. Сигнал берется от тех ножек моста, на которые подается переменка. Там замечательный меандр. Едиственно, если сеть плохая - полезно подинтегрировать.
А понял, что ты не понял. Сигнал берется от тех ножек моста, на которые подается переменка. Там замечательный меандр. Едиственно, если сеть плохая - полезно подинтегрировать.
ion
Научный сотрудник
Odessa
391 35
Отв.53 25 Янв. 09, 23:05, через 42 мин
Я бы оставил, как есть. Появляется возможность использования ИБП.
Rudy
Академик
Питер
5.8K 1K
Отв.54 25 Янв. 09, 23:16, через 12 мин
Тоже справедливо. Но если в плате уже вставлен транс, то избыточно.
Altair
Научный сотрудник
Омск
322 75
Отв.55 26 Янв. 09, 05:43
Rudy, можно поподробнее про фазоуказатель через компаратор. Я так не делал никогда.
Применять импульсный питатель считаю нехорошо. Самому его сделать сложно - требуется некий опыт намотки трансформаторов. В случае обычного транса же - все понятно. С одной стороны сеть, с другой - то что нужно. Умощнять источник питания - тож неправильно. Нечего тащить мощную коммутацию в измерительные цепи.
Симисторы можно вобще исключить из схемы, а оставить только выходы для подключения "исполнительного устройства." А сами симисторы с оптронами развести на отдельной платочке. И ключ для управления 24В клапаном тож на отдельной платке. Что бы кому что нужно - тот то и подключил.
У АЦП диоды и резюки были. Выкинул в целях упрощения схемы. При аккуратном обращении ничего не случится.
Но, пожалуй, верну. Фильтр дополнительный не помешает, а если кому не понравится - можно не устанавливать.
Применять импульсный питатель считаю нехорошо. Самому его сделать сложно - требуется некий опыт намотки трансформаторов. В случае обычного транса же - все понятно. С одной стороны сеть, с другой - то что нужно. Умощнять источник питания - тож неправильно. Нечего тащить мощную коммутацию в измерительные цепи.
Симисторы можно вобще исключить из схемы, а оставить только выходы для подключения "исполнительного устройства." А сами симисторы с оптронами развести на отдельной платочке. И ключ для управления 24В клапаном тож на отдельной платке. Что бы кому что нужно - тот то и подключил.
У АЦП диоды и резюки были. Выкинул в целях упрощения схемы. При аккуратном обращении ничего не случится.
Но, пожалуй, верну. Фильтр дополнительный не помешает, а если кому не понравится - можно не устанавливать.
club_9421
Научный сотрудник
Новгород
282 131
Отв.56 28 Янв. 09, 18:51
Повторяюсь, взять за образец http://www.masterkit.ru/main/set.php?num=906 и подогнать под него правильный софт.Двумя руками и двумя ногами ЗА! От этого можно "плясать" массово - иначе система автоматизации - "штучный" вариант. Жаль нет знакомых электронщиков у которых есть свободное время. Надо бы поставить задачу перед такими и решить ее.
Bitner, 24 Янв. 09, 23:23
Rudy
Академик
Питер
5.8K 1K
Отв.57 05 Февр. 09, 18:56
Altair, извини, что не сразу ответил, у меня это сообщение как-то мимо проскочило. Схема http://kazus.ru/nuke/users_images/26102008/345959.gif ( http://kazus.ru/forum/topics/f_99931.html#99931 ).
Altair
Научный сотрудник
Омск
322 75
Отв.58 05 Февр. 09, 20:50
Ага. Я так и сделал. Только без делителей. От обмотки к входам компаратора через резисторы по 10 кОм.
Rudy
Академик
Питер
5.8K 1K
Отв.59 06 Февр. 09, 16:01
Делители нужны для того, чтобы сигнал на входе компаратора не выходил за допустимый диапазон синфазного напряжения. Не знаю как на твоей меге, но обычно компараторы не любят когда вход уходит за оба питания, их выходной сигнал может при этом переполюсовыватся. Посмотри внимательно спецификацию.
Но вот подать один из сигналов прямо на вход INT так можно. Только не забудь второе плечо к земле подтянуть через резистор в несколько кОм.
И еще, можно слегка подинтегровать сигнал, чтобы ВЧ компоненты убить. Или аккуратно работать с INT.
Но вот подать один из сигналов прямо на вход INT так можно. Только не забудь второе плечо к земле подтянуть через резистор в несколько кОм.
И еще, можно слегка подинтегровать сигнал, чтобы ВЧ компоненты убить. Или аккуратно работать с INT.