Управление электромагнитным клапаном на PIC16F873A
Re: Управление электромагнитным клапаном на PIC16F873A
Очень надеюсь что это шутка.
На самом деле мною двигали соображения второй части сообщения.
На самом деле мною двигали соображения второй части сообщения.
Re: Управление электромагнитным клапаном на PIC16F873A
Здравствуйте Soir!
Я с Вашего разрешения выложил эту разработку на профильном форуме и меня изрядно покритиковали.
Как оказалось я заложил устаревший алгоритм работы, как оказалось самый передовой алгоритм другой.
Поэтому и интерес никакой.
Принцип правильный, а метод другой, более оптимальный.
Если у Вас не пропал интерес, я могу выложить новое видение проблемы.
Было бы здорово изменить программу.
Я с Вашего разрешения выложил эту разработку на профильном форуме и меня изрядно покритиковали.
Как оказалось я заложил устаревший алгоритм работы, как оказалось самый передовой алгоритм другой.
Поэтому и интерес никакой.
Принцип правильный, а метод другой, более оптимальный.
Если у Вас не пропал интерес, я могу выложить новое видение проблемы.
Было бы здорово изменить программу.
Re: Управление электромагнитным клапаном на PIC16F873A
variaevg писал(а):...Было бы здорово изменить программу.
Переписывать ее заново или что-то кардинально менять я не готов. Если что поправить - давайте, посмотрю...
Re: Управление электромагнитным клапаном на PIC16F873A
Принцип формирования управляющего клапаном импульса остается прежним.
d - время на которое клапан открыт
p - периодичность включения клапана
n - число от 1 до 1024
d=n*p/1024
1. При ручном управлении просто задаем число n0.
d=n0*p/1024
O=k*n0
2. При автоматическом управлении такая работа:
d=n*p/1024
O=k*n
- при переключении с ручного управления на автоматический (тумблер) запоминается текущая
температура Т0 и регулировка производится относительно ее.
- текущая температура Т поддерживается около Т0+0.05
- температура имеет тенденцию к медленному росту и при регулировке не должна падать до Т0.
- при Т=Т0+0.1 отбор закрывается (n=0) для исключения потери качества.
- для учета атмосферного влияния каждый час отбор закрывается (n=0) на 5 мин. В конце
этих 5 мин запоминается новая Т0 и процесс возобнавляется.
Принцип регулировки температуры ( пропорциональный, ПИД или другой) не могу сказать.
В настройках исключаем t0, t1, t2, n1, n2.
Остаются без изменений p, n0, k - размерности прежние.
Остальные сигналы:
При A/R = 1 автоматический режим
A/R = 0 ручной режим
При BLOC = 1 контроллер работает
BLOC = 0 клапан закрыт ( OUT = 0 ), на индикатор выводится "bloc".
При неисправности датчика температуры на выходе BUZ формируется 1 длительностью 30 сек,
на индикатор Err (при индикации температуры) .
Сигнал НОТ исключаем.
При нажатии на PLUS на индикатор выводятся показания О, при нажатии на MINUS текущая
температура с дискретностью 0,01.
Я знаю, что дискретность датчика DS18B20 0.06, но вычитал, что можно как то фильтровать
или делать несколько замеров и усреднять.
Поскольку процесс длительный, температура в кубе ( не та которую мы измеряем контроллером)
изменяется всего на 14 градусов за примерно двое суток то мне кажется, что 10 замеров в течении
10 сек будет нормально.
d - время на которое клапан открыт
p - периодичность включения клапана
n - число от 1 до 1024
d=n*p/1024
1. При ручном управлении просто задаем число n0.
d=n0*p/1024
O=k*n0
2. При автоматическом управлении такая работа:
d=n*p/1024
O=k*n
- при переключении с ручного управления на автоматический (тумблер) запоминается текущая
температура Т0 и регулировка производится относительно ее.
- текущая температура Т поддерживается около Т0+0.05
- температура имеет тенденцию к медленному росту и при регулировке не должна падать до Т0.
- при Т=Т0+0.1 отбор закрывается (n=0) для исключения потери качества.
- для учета атмосферного влияния каждый час отбор закрывается (n=0) на 5 мин. В конце
этих 5 мин запоминается новая Т0 и процесс возобнавляется.
Принцип регулировки температуры ( пропорциональный, ПИД или другой) не могу сказать.
В настройках исключаем t0, t1, t2, n1, n2.
Остаются без изменений p, n0, k - размерности прежние.
Остальные сигналы:
При A/R = 1 автоматический режим
A/R = 0 ручной режим
При BLOC = 1 контроллер работает
BLOC = 0 клапан закрыт ( OUT = 0 ), на индикатор выводится "bloc".
При неисправности датчика температуры на выходе BUZ формируется 1 длительностью 30 сек,
на индикатор Err (при индикации температуры) .
Сигнал НОТ исключаем.
При нажатии на PLUS на индикатор выводятся показания О, при нажатии на MINUS текущая
температура с дискретностью 0,01.
Я знаю, что дискретность датчика DS18B20 0.06, но вычитал, что можно как то фильтровать
или делать несколько замеров и усреднять.
Поскольку процесс длительный, температура в кубе ( не та которую мы измеряем контроллером)
изменяется всего на 14 градусов за примерно двое суток то мне кажется, что 10 замеров в течении
10 сек будет нормально.
- Вложения
-
- ТУ.txt
- (1.86 КБ) 206 скачиваний
Re: Управление электромагнитным клапаном на PIC16F873A
Общее впечатление: Очень похоже на очередной тренировочный вариант. Надеюсь последний. Если не уверены, то лучше еще раз подумайте, больше я к этой теме возвращаться не буду.
Теперь вопросы.
А чем она поддерживается? Не вижу формулы, в которой участвуют T и T0.
Сотые получим, но система будет "тормознутая" на 10 сек. Не критично?
Теперь вопросы.
variaevg писал(а): - текущая температура Т поддерживается около Т0+0.05
А чем она поддерживается? Не вижу формулы, в которой участвуют T и T0.
variaevg писал(а):...10 замеров в течении 10 сек будет нормально.
Сотые получим, но система будет "тормознутая" на 10 сек. Не критично?
Re: Управление электромагнитным клапаном на PIC16F873A
Очень похоже на очередной тренировочный вариант. Надеюсь последний.
Подобные методы используются, только реализацией не делятся.
А чем она поддерживается? Не вижу формулы, в которой участвуют T и T0.
Работать должно так:
В ходе процесса смесь в кубе обедняется, температура кипения растет и Т имеет тенденцию к росту.
Т должно поддерживаться в диапазоне от Т0-0.03 до Т0+0.03. Мне кажется что пропорциональное регулирование наиболее правильное (так и у других).
Регулировка производится изменением числа n. Т.е. если температура выросла, то новое n(новое)=n(предыдущее) - n1, если снизилась то + n1.
Чтобы не получить вялое регулирование или перерегулирование надо дополнительно ввести в настройки:
- число n1 [1-100]
- периодичность внесения коррекции p1 [сек] от 10 до 100 с дискретностью 5.
Т.е. измерение собирается за 5 сек, если Т изменилось на 0.01 то коррекция на число n1 происходит с периодичностью p1.
Сотые получим, но система будет "тормознутая" на 10 сек. Не критично?
Давайте сделаем 5 сек.
Re: Управление электромагнитным клапаном на PIC16F873A
variaevg писал(а):Регулировка производится изменением числа n. Т.е. если температура выросла, то новое n(новое)=n(предыдущее) - n1, если снизилась то + n1.
На сколько выросла? Где пропорциональность? Дайте формулу, связывающую n, T0 и T.
variaevg писал(а):Давайте сделаем 5 сек.
Тогда забудьте про сотые.
Re: Управление электромагнитным клапаном на PIC16F873A
Дайте формулу, связывающую n, T0 и T.
В диапазоне от Т0-0.03 до Т0+0.03 ничего не меняем.
Если Т=Т0+0.04 и больше текущее n уменьшается на n1
Если Т=Т0-0.04 и меньше текущее n увеличивается на n1
Т0 определяется при переключении с ручного режима на автоматический.
Начальное n тоже запоминается при переключении с ручного режима на автоматический.
n1 и p1 подбираются экспериментально.
Тогда забудьте про сотые.
Возвращаемся к 10 сек, сотые это обязательно.
Re: Управление электромагнитным клапаном на PIC16F873A
Забыл добавить. При выключении отбора каждый час текущее n запоминается и после включения через 5 мин регулирование начинается с него.
Re: Управление электромагнитным клапаном на PIC16F873A
variaevg писал(а):В диапазоне от Т0-0.03 до Т0+0.03 ничего не меняем.
Если Т=Т0+0.04 и больше текущее n уменьшается на n1
Если Т=Т0-0.04 и меньше текущее n увеличивается на n1
Ещё раз переспрошу для очистки совести, Вы уверены? Могу Вам гарантировать, что стабилизации практически не будет.
variaevg писал(а):Начальное n тоже запоминается при переключении с ручного режима на автоматический.
А какое n начальное в ручном режиме?
Re: Управление электромагнитным клапаном на PIC16F873A
Могу Вам гарантировать, что стабилизации практически не будет.
Я извиняюсь. Протупил как дурак. Дал неправильную формулу.
Если Т=Т0+0.09 и больше текущее n уменьшается на n1
Если Т=Т0+0.03 и меньше текущее n увеличивается на n1
Отключение отбора при Т=Т0+0.12
А в связи с чем не будет стабилизации. Нужно поддерживать температуру в заданном диапазоне.
А какое n начальное в ручном режиме?
Это n0, которое задается в настройках.
Re: Управление электромагнитным клапаном на PIC16F873A
variaevg писал(а):А в связи с чем не будет стабилизации. Нужно поддерживать температуру в заданном диапазоне.
Формула никак не учитывает величину отклонения, а только факт. Если отклонение произошло на 0,01 град или на 0,1 град, то очевидно, что корректирующее воздействие на систему должно быть разное... Или Вы исключаете воздействие внешних факторов на процесс?
Я попробую реализовать тот алгоритм, что Вы предлагаете, но, скорее всего, это напрасно потраченное время.
Re: Управление электромагнитным клапаном на PIC16F873A
Я бы назвал это методом последовательного приближения.
У нас не разовая коррекция, а неоднократная, через каждые p1 сек на фиксированную величину n1, если того требует соотношение Т и Т0. А они подбираются для достижения более менее ровного процесса.
У нас не разовая коррекция, а неоднократная, через каждые p1 сек на фиксированную величину n1, если того требует соотношение Т и Т0. А они подбираются для достижения более менее ровного процесса.
Re: Управление электромагнитным клапаном на PIC16F873A
variaevg писал(а):Я бы назвал это методом последовательного приближения.
Ради бога.
variaevg писал(а):Если Т=Т0+0.03 и меньше текущее n увеличивается на n1
То есть, как только перевели на автоматический режим (T=T0, n=n0), n сразу должно увеличиваться?
Re: Управление электромагнитным клапаном на PIC16F873A
как только перевели на автоматический режим (T=T0, n=n0), n сразу должно увеличиваться?
Да. В установленный диапазон.
Re: Управление электромагнитным клапаном на PIC16F873A
В Вашем алгоритме не прописаны приоритеты при разных ситуациях, не буду их сейчас все перечислять. Пробуйте, а что не так - скажете, тогда и обсудим.
P.S.
Одна особенность. При включении питания достоверные значения температуры будут только спустя 10 успешных измерений. В это время управление запрещено, показания мигают.
P.S.
Одна особенность. При включении питания достоверные значения температуры будут только спустя 10 успешных измерений. В это время управление запрещено, показания мигают.
- Вложения
-
- Valve_control_PIC16F873A.zip
- (20.33 КБ) 166 скачиваний
Последний раз редактировалось Soir Ср фев 12, 2014 14:00:06, всего редактировалось 1 раз.
Re: Управление электромагнитным клапаном на PIC16F873A
Форум пишет "Выбранное вложение отсутствует"
Перезалейте пожалуйста.
Перезалейте пожалуйста.
Re: Управление электромагнитным клапаном на PIC16F873A
Индикатор мигает несколько раз, затем Err, затем мигает,снова Err и так по кругу.
Re: Управление электромагнитным клапаном на PIC16F873A
Это в железе? А когда мигает, то сколько показывает? реальную температуру?
Последний раз редактировалось AlekseyEnergo Сб фев 15, 2014 17:11:32, всего редактировалось 1 раз.
Причина: Нарушение пункта 2.7 правил форума. Подредактировал. Предупрежден!
Причина: Нарушение пункта 2.7 правил форума. Подредактировал. Предупрежден!