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

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

Сообщение variaevg »

Произошла маленькая авария, разогрелся МК. При включении было дрожание показаний индикатора, я начал работать с настройками и через некоторое время заметил что на индикаторе err и МК горячий.
Остудил, перепрошил, вроде бы наладилось.Сейчас так:

1. На индикаторе чередуется показания температуры и err.
2. При достижении t2 OUT = 0.
Надо чтобы формула считала дальше, т.е. n=n2 + (n1-n2)*(t2-t)/(t2-t1)
после t2 продолжается рост температуры
(n1-n2)*(t2-t)/(t2-t1) становится отрицательным и вычитается из n2.
OUT должен стать нулем при n=0
Если подставить реальные цифры: n1=600, n2=200, t1=84, t2=95 это произойдет при t=100,5.
Но до этого реальный процесс не доходит (t кипения воды).
3. Остальное вроде бы как надо.
Реклама
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Сообщение Soir »

variaevg писал(а):Произошла маленькая авария, разогрелся МК.
Причина не выяснена? Не повторяется?
variaevg писал(а):1. На индикаторе чередуется показания температуры и err.
До аварии это было или нормально?
variaevg писал(а):Надо чтобы формула считала дальше...
Изменил, но не проверял.
Вложения
Valve_control_PIC16F873A.zip
(4.45 КБ) 163 скачивания
Реклама
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Сообщение variaevg »

Причина не выяснена? Не повторяется?
Не знаю. Пока тьфу, тьфу.
До аварии это было или нормально?
До аварии не было. Думаю взаимосвязано.

Сейчас проверю последнее.
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Сообщение variaevg »

1. Чередование индикации и err носят хаотичный характер, в тот период времени когда показывает err выход OUT = 0. Попробую уменьшить номинал подпирающего на плюс резистора.
2. В ручном режиме (A/R=0) параметр О показывает как в автоматическом O=n*k, должно быть O=n0*k.
3. При включении питания и до температуры t1 параметр О равен 0. При достижении t1 начинает показывать, даже если температура снизилась меньше t1. Надо чтобы всегда.
4. Остальное вроде в порядке. МК больше пока не греется.

Я извиняюсь дотошно займусь завтра, вызвали на работу.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Сообщение Soir »

variaevg писал(а):1. Чередование индикации и err носят хаотичный характер, в тот период времени когда показывает err выход OUT = 0. Попробую уменьшить номинал подпирающего на плюс резистора.
Я немного изменил работу с датчиком, попробуйте сначала эту прошивку.
variaevg писал(а):2. В ручном режиме (A/R=0) параметр О показывает как в автоматическом O=n*k, должно быть O=n0*k.
Теперь и в ручном считает.
variaevg писал(а):3. При включении питания и до температуры t1 параметр О равен 0. При достижении t1 начинает показывать, даже если температура снизилась меньше t1. Надо чтобы всегда.
Этого я не понял. Что "Надо чтобы всегда."? О вычисляется по Вашей формуле, неправильно?
Вложения
Valve_control_PIC16F873A.zip
(4.49 КБ) 165 скачиваний
Реклама
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Сообщение variaevg »

Наконец то освободился.

1. Появление надписи err происходит по такой закономерности:
- При A/R=1
3 импульса на выходе OUT, затем не надолго err (на выходе 0), потом повторятся снова и снова.
- При A/R=0 все нормально.
2. НОТ не работает при A/R=0
Надо чтобы он зависил только от t0 при любых режимах.
t меньше t0 HOT=0
t больше или равен t0 HOT=1
того я не понял. Что "Надо чтобы всегда."? О вычисляется по Вашей формуле, неправильно?
Имелось ввиду чтобы вычисление и индикация происходили во всем диапазоне температур.
Реклама
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Сообщение Soir »

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

Сообщение variaevg »

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

Сообщение Soir »

Хорошо, теперь давайте проверять заново, что там не так в логике.
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Сообщение variaevg »

По параметру "О".
При A/R=0. Включаем питание: О показывает правильно, на OUT есть импульсы.
Переключаем на A/R=1 все равно показывает то же значение что и при A/R=0, кроме того на OUT=0.
При достижении t1 начинает показывать правильно.

При A/R=1. Включаем питание: О показывает 0, на OUT есть импульсы. При достижении t1 начинает показывать правильно.
При переключении на A/R=0 начинает показывать правильно. Если переключить на A/R=1 показывает то же значение что и при A/R=0 но импульсы идут.

Я почему то думаю что лучше не править, а записать заново:

Для всего диапазона температур

При A/R=0 (ручной режим)
O=n0*k
При A/R=1 (автоматический режим)
O=n*k

И он не должен зависить от температуры и A/R.

НОТ не работает при A/R=0
Надо чтобы он зависил только от t0 при любых режимах.
t меньше t0 HOT=0
t больше или равен t0 HOT=1
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Сообщение Soir »

А теперь?
Вложения
Valve_control_PIC16F873A.zip
(4.53 КБ) 140 скачиваний
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Сообщение variaevg »

Осталось навести порядок с выходом BUZ.
BUZ должен 1 раз становиться 1 на 30 сек при достижении температуры t2.
Сейчас при t больше t2 выход BUZ перезапускается и получается серия импульсов длительностью 30 сек.

Забыл записать в ТУ то же самое и при температуре t0.

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

Сообщение Soir »

variaevg писал(а):Осталось навести порядок с выходом BUZ.
BUZ должен 1 раз становиться 1 на 30 сек при достижении температуры t2.
Сейчас при t больше t2 выход BUZ перезапускается и получается серия импульсов длительностью 30 сек.
Так делал специально, Вы не описали процедуру сброса звукового сигнала. Он однократный? Сброс только отключением питания?
variaevg писал(а):Забыл записать в ТУ то же самое и при температуре t0.
Что это значит? Подробнее.
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Сообщение variaevg »

Вы не описали процедуру сброса звукового сигнала. Он однократный? Сброс только отключением питания?
Сигнал однократный, отзвенел и все. Следующий раз при следующем процессе после перезапуска по питанию.
Что это значит? Подробнее.
Сформировать точно также сигнал BUZ при t0, как и для t2.
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Сообщение Soir »

variaevg писал(а):Сформировать точно также сигнал BUZ при t0, как и для t2.
Я не отслеживаю всю логику работы данного устройства, но мне казалось, что t0 всегда выше t2 (ну или наоборот, тот же эффект). То есть, если например, сработает сигнализация по t2, то при достижении t0 она уже не сработает в связи с принятой политикой, что следующая активация звукового сигнала только после отключения питания. Это так? Или для t0 одно срабатывание, и еще одно для t2? Пока я сделал всего одно срабатывание, что раньше...
Вложения
Valve_control_PIC16F873A.zip
(4.55 КБ) 161 скачивание
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Сообщение variaevg »

мне казалось, что t0 всегда выше t2
На графике в ТУ все температуры обозначены. При росте температуры расположены так: t0, t1, t2.
Или для t0 одно срабатывание, и еще одно для t2?
Точно так. Сигнал BUZ формируется в обоих случаях.
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Сообщение variaevg »

Сейчас в Протеусе заметил, что при A/R=0 (ручной режим) размыкая датчик на индикаторе не появляется err и выход OUT не переводится в 0.
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Сообщение Soir »

variaevg писал(а):Сигнал BUZ формируется в обоих случаях.
Проверяйте.
Вложения
Valve_control_PIC16F873A.zip
(4.55 КБ) 156 скачиваний
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Сообщение Soir »

variaevg писал(а):...при A/R=0 (ручной режим) размыкая датчик на индикаторе не появляется err и выход OUT не переводится в 0.
На то он и ручной...
Встал на лапы
Сообщения: 103
Зарегистрирован: Пт фев 03, 2012 19:39:32

Сообщение variaevg »

На то он и ручной...
Думал,думал. А что наверное пусть будет так.

Огромное спасибо! Вы очень выручили!

Буду еще тестировать, в том числе в составе остальной автоматики.
Результат отпишусь.
Ответить

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