Управление электромагнитным клапаном на PIC16F873A

Поклонники продукции Microchip Technology Inc тусуются тут.
variaevg
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Управление электромагнитным клапаном на PIC16F873A

Сообщение variaevg »

Девайс предназначен для управления электромагнитным клапаном.
Т.е. регулировка расхода жидкости через клапан по определенному алгоритму в зависимости от температуры.
Все материалы по техническому заданию во вложении.
Тема будет развиваться с помощью Soir.
Вложения
ТУ.rar
(160.93 КБ) 314 скачиваний
E71

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение E71 »

Что ж это за прецизионный такой регулятор, с управлением клапаном с разрешением 0,1% (от 0 до 1024)? Куда такое точное?
variaevg
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение variaevg »

Это отбор готового продукта из ректификационной колонны.
Для получения чистой фракции необходимо снижать отбор с ростом температуры.
А все коэффициенты подбираются экспериментально.
Подробно http://labspirt.com/forum/index.php/topic,2224.0.html
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение Soir »

variaevg писал(а):Девайс предназначен для управления электромагнитным клапаном.

Поскольку таким МК не располагаю и проверять работу сам не смогу, то за Вами проверка в железе на разных этапах разработки.
Пока только индикация и измерение температуры, проверьте.
Вложения
Valve_control_PIC16F873A.zip
Прошивка, проект в Proteus.
(17.15 КБ) 257 скачиваний
variaevg
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение variaevg »

Проверил работу на плате, измерение температуры отлично.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение Soir »

Хорошо, тогда следующий этап - установка параметров.
Здесь обратите внимание на работу кнопок, правильность диапазонов, удобность меню. В меню сначала объявляется имя параметра, затем сам параметр. Можете дать свое видение этого процесса, пока еще в стадии разработки. Никакой логики я пока не прописывал.
Вложения
Valve_control_PIC16F873A.zip
Прошивка.
(3.14 КБ) 240 скачиваний
variaevg
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение variaevg »

Погонял на плате.

Настройки работают только при A/R=1 и BLOC=1.
Надо: При A/R=0 настраивается только n0.
При A/R=1 все остальные
Сигнал BLOC влиять не должен

Параметр p настраивается от 1 до 100
Надо от 0,5 до 10 через 0,5
Размерность в сек.

Надо:
Прокрутку значений t0, t1, t2 ускорить в 4 раза
Прокрутку значений n0, n1, n2, k ускорить в 2 раза

Остальное все хорошо.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение Soir »

variaevg писал(а):Настройки работают только при A/R=1 и BLOC=1.

На схеме они обозначены как тактовые кнопки, поэтому и в программе обрабатываются как кнопки. Если это переключатели то будут обрабатываться отдельно. Логику я пока не делал.
variaevg писал(а):Параметр p настраивается от 1 до 100
Надо от 0,5 до 10 через 0,5

Будет от 0,5 до 10,0, это я отображением запятой ошибся.
variaevg писал(а): Прокрутку значений t0, t1, t2 ускорить в 4 раза
Прокрутку значений n0, n1, n2, k ускорить в 2 раза

Прокрутка одна для всех, если надо ускорить, то будут ускоряться все. Пока ускорил раза в два.
Вложения
Valve_control_PIC16F873A.zip
(3.2 КБ) 228 скачиваний
variaevg
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение variaevg »

Пропала индикация.
Предыдущая прошивка нормально.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение Soir »

variaevg писал(а):Пропала индикация.

Странно, ладно, по ходу посмотрим.
Начал смотреть алгоритм, кое-что пришлось поменять. Посмотрите, может наладилось.
Сделал управление выходом OUT в ручном режиме. Просто формирование импульсов.
Вложения
Valve_control_PIC16F873A.zip
(19.81 КБ) 242 скачивания
variaevg
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение variaevg »

Индикация восстановилась.
Посмотрел осцилографом, есть короткие импульсы.
У меня на макетке на всех выходах по светодиоду, OUT мигает. Частота мигания изменяется согласно изменению параметра 'p'.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение Soir »

variaevg писал(а):Индикация восстановилась.

:dont_know:
variaevg писал(а):Частота мигания изменяется согласно изменению параметра 'p'

А длительность импульсов должна определяться параметром n0.
----
Теперь вопросы.
1).
variaevg писал(а):n = n2 + (n1 - n2)*(t2 - t) / (t2 - t1)

Возможны ситуации, когда результатом этого вычисления будет отрицательное число, 0 или даже бесконечность. Поэтому или распишите, как должна вести себя программа в этих случаях, или в установках параметров нужно сделать запрет ввода некорректных значений.
2).
variaevg писал(а):Отбор (количество пропущенной через клапан жидкости) O = k*n [ml/час].
O1 измеряем при подборе n1.
k = O1 / n1

Не понял, что нужно делать в программе? Только O = k*n ?
3). Ведется ли суммирование О за весь процесс или это мгновенный расход?
4). Предполагается ли измерение отрицательных температур?
5). Какие возможны нештатные ситуации и как должна вести себя программа при их возникновении? Например, перегрев, отказ датчика...
6).
variaevg писал(а):...BLOC = 0 → OUT = 0 клапан закрыт, на индикатор выводится «bloc».

А что происходит с HOT?
7).
variaevg писал(а):При достижении температуры t2 на выходе BUZ формируется 1 длительностью 30 сек.

Достижении с какой стороны? Надо ли что-то делать с OUT и/или HOT?
variaevg
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение variaevg »

Возможны ситуации, когда результатом этого вычисления будет отрицательное чило, 0 или даже бесконечность.


В пределах реальных температур и значений "n" формула корректна, а ближе к 100 град. то и процессу конец.

Не понял, что нужно делать в программе? Только O = k*n ?


Да, только умножение и вывод на индикатор результата.

3). Ведется ли суммирование О за весь процесс или это мгновенный расход?
4). Предполагается ли измерение отрицательных температур?


Нет.

5). Какие возможны нештатные ситуации и как должна вести себя программа при их возникновении? Например, перегрев, отказ датчика...


Отказ датчика - на индикатор при индикации температуры "err".
На выходе "OUT" ноль.
На выход "BUZ" единицу на 30 сек.

А что происходит с HOT?


"HOT" - это выход управляющий нагревом и зависит только от измеряемой температуры.
Если 0 то полный нагрев, если 1 от стабилизация (кстати по Вашему девайсу "ПИД стабилизатор переменного тока").

Достижении с какой стороны? Надо ли что-то делать с OUT и/или HOT?


С ростом температуры. На другие выходы не влияет.
Это для контроля оператором, посмотреть другие вещи.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение Soir »

variaevg писал(а):В пределах реальных температур и значений "n" формула корректна, а ближе к 100 град. то и процессу конец.

Что в пределах "реальных", то понятно. Но будут и не реальные. Например, по ошибке оператора или даже просто в процессе настройки окажется что (n1 - n2), (t2 - t) или (t2 - t1) отрицательное число, а то и вообще (t2 - t1) равно 0. Последствия в первом случае, если специально не продуманы в программе, будут непредсказуемы, во втором возможно зависание контроллера.
variaevg
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение variaevg »

n1 и n2 задаваемые нами числа, причем всегда n1 больше n2.
t1 и t2 задаваемые нами температуры, аналогично t2 больше t1.
Эти разности используются для определения наклона линии функции, подбираются один раз экспериментально и все.
А вот разница (t2-t) при текущей температуре t больше t2 будет отрицательной.
В формуле будет производиться процесс вычитания.
Вы правы, учитывая, что датчик может и приврать следует ограничить вычисление "n" значением 0.
Это будет равносильно OUT=0.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение Soir »

variaevg писал(а):n1 и n2 задаваемые нами числа, причем всегда n1 больше n2.
t1 и t2 задаваемые нами температуры, аналогично t2 больше t1.

Я все это понимаю. Но, во время самой установки этих параметров может возникнуть ситуация, что и не всегда t2>t1. Контроллер в этот момент зависнет, ну или еще что-нибудь "выкинет", я прогнозировать не берусь. Считаете, что будете очень аккуратно настраивать и никогда не забудете при установке t2 какое значение t1 и наоборот, чтобы не оказалось t2=t1? Никогда не ошибетесь?.. Аналогично и для n1 и n2? Это дело Ваше, но я не могу, зная о вполне вероятных проблемах, осознанно закладывать в свою программу подводные камни. Еще раз предлагаю установить программный запрет на ввод некорректных значений.
variaevg
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение variaevg »

Если есть возможность избежать подводных камней, надо избежать.
Отдельное спасибо за скрупулезный подход к разработке.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение Soir »

Ладно, идем дальше. Прописал расчет, что-то уже должно работать, можете проверять.
В настройках сделал ограничения.
Пока нет HOT и BUZ. Может еще чего...
Возник вопрос.
variaevg писал(а):При t < t0 → HOT = 0
t ≥ t0 → HOT = 1

Это означает, что в системе гистерезис определен разрешающей способностью измерения 0,1 град. То есть возможно многократное частое (до 1Гц) включение и выключение нагревателя на пороге температуры. Оставить так?
Вложения
Valve_control_PIC16F873A.zip
(4.19 КБ) 217 скачиваний
variaevg
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение variaevg »

Это означает, что в системе гистерезис определен разрешающей способностью измерения 0,1 град. То есть возможно многократное частое (до 1Гц) включение и выключение нагревателя на пороге температуры. Оставить так?


Оставим так.
На температуре t0 нагрев не выключается, а переключается с max на стабилизированный.

Сейчас погоняю на макетке.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Управление электромагнитным клапаном на PIC16F873A

Сообщение Soir »

variaevg писал(а):Сейчас погоняю на макетке.

Доработал. Нагреватель, расчет расхода, звуковой сигнал.
Вложения
Valve_control_PIC16F873A.zip
(20.81 КБ) 234 скачивания
Ответить

Вернуться в «PIC»