Например TDA7294

Форум РадиоКот • Просмотр темы - Программный терморегулятор на ATmega8
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вт фев 24, 2026 14:09:50

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 187 ]  1, , , , ...  
Автор Сообщение
 Заголовок сообщения: Программный терморегулятор на ATmega8
СообщениеДобавлено: Чт июл 05, 2012 16:54:10 
Открыл глаза

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Сообщений: 66
Откуда: Тернопіль
Рейтинг сообщения: 0
Всем Доброго дня!
Данная тема начиналась с viewtopic.php?p=1082830#p1082830, но так как там уже
невозможно что то найти продолжим в отдельной теме, а терморегулятор, благодаря Soir , получился отличный, за что еще раз огромное спасибо!
Сейчас терморегулятор стал трех позиционным, регулирование при помощи исполнительного механизма, который изменяет положение заслонки.
А теперь снова к Soirу
последняя прошивка viewtopic.php?p=1330779#p1330779, работает, только параметр F не изменяет своего значения, как установил в сервисном меню так и остается, регулирование проходит нормально, время выполнения программ соответствует реальному.


Вложения:
Описание работы.doc [49 KiB]
Скачиваний: 1155
shem_3x..pdf [81.83 KiB]
Скачиваний: 1556
Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Чт июл 05, 2012 17:50:54 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
tbogdan писал(а):
А теперь снова к Soirу
последняя прошивка viewtopic.php?p=1330779#p1330779, работает, только параметр F не изменяет своего значения, как установил в сервисном меню так и остается...

Чтобы F менялся в автоматическом режиме, коэффициент n должен быть больше 0. Посмотрите формулу. Или все равно не работает?


Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Чт июл 05, 2012 18:13:38 
Открыл глаза

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Сообщений: 66
Откуда: Тернопіль
Рейтинг сообщения: 0
Тогда все работает, изменяется только больше от заданного в сервисном меню правильно?


Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Чт июл 05, 2012 18:29:13 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
tbogdan писал(а):
Тогда все работает, изменяется только больше от заданного в сервисном меню правильно?

Да, в сервисном меню задается минимальное значение. Максимум ограничен 100 (могу подвинуть в ту или другую сторону, можно сделать доступным для установки в сервисном режиме). Если n=0, то F всегда, как задано в настройках. Если n>0, то F автоматически меняется в зависимости от рассогласования по формуле.
Собственно, этот вариант управления мною был разработан "в темную", так как не имею возможности хоть сколь-либо проверить его работу в реальных условиях. Если такой способ не позволяет добиться нормального регулирования температуры, Вы пишите, будем вместе думать, как улучшить его работу.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Пт июл 06, 2012 18:12:29 
Говорящий с текстолитом
Аватар пользователя

Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00
Сообщений: 1590
Откуда: Лен.Обл.
Рейтинг сообщения: 0
Цитата:
Собственно, этот вариант управления мною был разработан "в темную", так как не имею возможности хоть сколь-либо проверить его работу в реальных условиях.


Этого мало. Я вам посоветую ПИД-регулятор запрограммировать. Дело в том, что П-регулятор (а у вас именно он, пропорциональный регулятор) не сводит ошибку рассогласования к нулю (и при наличии фазовых задержек обеспечит колебательный режим работы системы, что вам вряд ли надо). К нулю её может свести ПИ-регулятор (пропорционально-интегральный). В этому случае интеграл ошибки медленно вытянет ошибку в ноль. Но это замедляет реакцию системы на внешние события. Ускорить может производная ошибки. Так получается ПИД-регулятор (пропорционально-интегральный). Книжку Бесекерского "Теория систем автоматического управления" я вам советовать не буду, а вот методику настройки ПИД-регулятора прибора "Параграф" дам - там всё просто.

Вложение:
The_technique_of_tuning_a_digital_PID.rar [362.58 KiB]
Скачиваний: 3313

_________________
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos


Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Пт июл 06, 2012 19:49:42 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
da-nie писал(а):
Этого мало. Я вам посоветую ПИД-регулятор запрограммировать...

Да, спасибо за замечание, полностью согласен. По просьбе tbogdan алгоритм работы предыдущего устройства не менялся. За время, что прошло с момента его разработки, в моем арсенале появились и ПИД-регуляторы, которые действительно себя оправдывают. Пусть tbogdan проведет полевые испытания, посмотрим, что получилось. А далее от результата...


Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Вс июл 08, 2012 21:10:21 
Открыл глаза

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Сообщений: 66
Откуда: Тернопіль
Рейтинг сообщения: 0
Всем доброго дня!
Может кому еще пригодится, выкладываю два варианта программного терморегулятора, для небольшой муфельной печи (до 2 кВт.) который уже отработал отлично. Большое спасибо автору прошивки и схемы Soirу
И второй вариант , который только начинаем осваивать, для регулирования горелки ELCO EK3.45, на жидком топливе.
Во втором варианте пока использовал готовый регулятор от печи только изменил прошивку, которую переделал Soir, и добавил разъем для подключения трех каналов регулирования и управления горелкой, потом доделаем все на плате.
Пока все.


Вложения:
foto.rar [640.89 KiB]
Скачиваний: 719
Горелка ELCO EK3.45 .rar [376.71 KiB]
Скачиваний: 551
муфельная печь 1.5 кВт.rar [446.6 KiB]
Скачиваний: 952
Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Вс июл 15, 2012 18:35:21 
Открыл глаза

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Сообщений: 66
Откуда: Тернопіль
Рейтинг сообщения: 0
Попробовал, и что могу сказать, регулятор работает с очень большими выходами за пределы регулирования,
инерционность камеры большая, горелка через несколько минут выходит на 100% мощность, идет разогрев.
При достижении установленной температуры работа горелки продолжается на полной мощности, соответственно температура увеличивается,
при достижении установленной температуры + гистерезис начинается уменьшение мощности горелки и снова большое отклонение, начинается колебательный процесс,
при установленной температуре 200 градусов отклонение достигает 50-70.


Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Вс июл 15, 2012 20:17:42 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
tbogdan писал(а):
Попробовал, и что могу сказать, регулятор работает с очень большими выходами за пределы регулирования...

Предусмотренные настройки недостаточны?
Понедельник день тяжелый, во вторник посмотрю. По совету da-nie попробуем применить ПИД-регулятор... Только уже не получится:
tbogdan писал(а):
...оставив алгоритм и программу прежней...

Работа программ останется без изменений, но настройки параметров регулирования будут другие.


Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Вс июл 15, 2012 21:09:20 
Говорящий с текстолитом
Аватар пользователя

Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00
Сообщений: 1590
Откуда: Лен.Обл.
Рейтинг сообщения: 0
Цитата:
начинается колебательный процесс


Попробуйте уменьшить коэффициент передачи пропорционального регулятора. Это повысит устойчивость, но увеличит статическую ошибку управления.

Цитата:
По совету da-nie попробуем применить ПИД-регулятор...


Непременно попробуйте. :) Только настройте его под изделие. :)

_________________
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos


Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Вс июл 15, 2012 21:40:52 
Открыл глаза

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Сообщений: 66
Откуда: Тернопіль
Рейтинг сообщения: 0
настроек недостаточно
Soir писал(а):
Работа программ останется без изменений, но настройки параметров регулирования будут другие.
Думал будет для Вас проще переделать программу, но вышло не так.
Схему пока не изменять, но это так желательно, контролер можно заменить на ATmega168
ATmega328, если будет мало памяти.
А программ (не более 5), то нужно программирование времени разогрева и таймер, то есть, так как было. И еще, а нет ли какой то возможности выводить текущею температуры в файл чтоб сформировать график.
da-nie писал(а):
Непременно попробуйте. Только настройте его под изделие.
Какие нужны параметры чтоб предварительно настроить или определить диапазоны изменения параметров ПИД


Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Вс июл 15, 2012 21:46:35 
Говорящий с текстолитом
Аватар пользователя

Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00
Сообщений: 1590
Откуда: Лен.Обл.
Рейтинг сообщения: 0
Цитата:
Какие нужны параметры чтоб предварительно настроить или определить диапазоны изменения параметров ПИД


А они все описаны вместе с методикой настройки в статье из моего поста выше: download/file.php?id=112938

_________________
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos


Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Вс июл 15, 2012 21:53:42 
Открыл глаза

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Сообщений: 66
Откуда: Тернопіль
Рейтинг сообщения: 0
da-nie писал(а):
Попробуйте уменьшить коэффициент передачи пропорционального регулятора. Это повысит устойчивость, но увеличит статическую ошибку управления.
Спасибо, попробую
da-nie писал(а):
А они все описаны вместе с методикой настройки в статье из моего поста выше: download/file.php?id=112938
пробую разобраться.


Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Вт июл 17, 2012 11:10:22 
Друг Кота

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

F – длительность управляющего импульса, подающегося на исполнительный механизм клапана. Может принимать значения от 1 до 100, цена одного деления 20 мс. Таким образом, длительность импульса может быть в пределах от 20 мс до 2 с.
Расчет F ведется по алгоритму:
error_new = SP - PV; – определение ошибки
error_summa = error_summa + error_new; – накопление ошибки. error_summa ограничивается не больше Er и не меньше -Er,
F = (error_new + (error_new - error_old)*di/ti + error_summa*ti/In)/ Pr;
error_old = error_new – запоминание ошибки.
Если текущая температура ниже текущего задания, то формируется импульс на открытие клапана. Если текущая температура выше текущего задания, то импульс на закрытие клапана.
Формула почти та же, что и в документе, выложенном da-nie. Обозначение коэффициентов другое, связано с ограниченными возможностями семисегментного индикатора. Я думаю, сопоставлением идентифицируете кто есть кто.

Попытки хоть как-то прогнать в Proteus успеха не имели, то есть регулятор реагирует, но насколько правильно трудно сказать. Надо на реальном объекте опробовать, тогда уже ясно будет какие коэффициенты куда тянуть, что добавить или убавить, может и ошибки выявятся...

Описание, прошивка, проект в Proteus (схема не менялась, ресурсов МК более, чем достаточно) во вложении.


Вложения:
Termo_ATMEGA8_PID.zip [37.86 KiB]
Скачиваний: 662
Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Ср июл 18, 2012 10:38:55 
Открыл глаза

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Сообщений: 66
Откуда: Тернопіль
Рейтинг сообщения: 0
Soir спасибо! Еще раз спасибо!
попробовал, пока вроде все работает, сейчас немного задержка за доработкой самой камеры.
Сложно подобрать параметры, все очень долго.


Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Пт июл 20, 2012 10:19:25 
Открыл глаза

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Сообщений: 66
Откуда: Тернопіль
Рейтинг сообщения: 0
Всем доброго дня!
Soir,все нормально, температура регулирования в пределах нормы (до +/- 10С),потом попробую снять графики
чтоб более наглядно.
Есть только одно замечание, при включении регулятора начальное задание SP для первой программы ( 0 ), принимается
за нуль, текущая температура выше ( например +24С ), и регулятор подает команды на уменьшение мощности, было бы
хорошо если начальная температура для первой программы принималась текущая ( PV ).


Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Пт июл 20, 2012 15:04:35 
Говорящий с текстолитом
Аватар пользователя

Карма: 33
Рейтинг сообщений: 148
Зарегистрирован: Вс июн 24, 2012 16:07:00
Сообщений: 1590
Откуда: Лен.Обл.
Рейтинг сообщения: 0
Цитата:
температура регулирования в пределах нормы (до +/- 10С)


А что вы регулируете?
Я управлял с помощью разных регуляторов системой термостабилизации для одного занятного приборчика, с тепловыделением 25 Вт. К сожалению, охлаждение было возможно только по корпусу, поэтому наружная температура была около 15-25 C. Стабилизировалась температура 37 С с использованием 100 Вт нагревателя с возможностью задания (и поддержания) на обмотках нагревателя кожуха системы термостабилизации с помощью ШИМ температуры с точностью 0.1 С. Так вот, в статическом режиме ошибка температуры внутри прибора (не кожуха системы термостабилизации) составляла +-0.01 C. В переходных процессах она доходила до 0.5 C при изменении наружной температуры скачком на 10 C.

_________________
И день и ночь в пути...
Мои программки: https://github.com/da-nie
Мои публикации: https://habr.com/ru/users/da-nie/posts/
Мои видео: https://www.youtube.com/channel/UCUroi3 ... 52g/videos


Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Пт июл 20, 2012 17:01:35 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
tbogdan писал(а):
...температура регулирования в пределах нормы (до +/- 10С)...

Да, многовато. Это в статическом режиме или при разогреве? Конечно, сотых и десятых не будет, разрешающая способность 1 градус, но 10 это много. Конечно, во многом зависит от конструкции, но думаю 2-3 градуса было бы нормальным результатом. Со своей стороны готов доработать, пока правда не знаю что именно.
tbogdan писал(а):
Есть только одно замечание, при включении регулятора начальное задание SP для первой программы ( 0 ), принимается за нуль, текущая температура выше ( например +24С ), и регулятор подает команды на уменьшение мощности, было бы хорошо если начальная температура для первой программы принималась текущая ( PV ).

А в прошивке так и есть... Просматривая прошивку выявил, что первая программа (P0) как-то неадекватно себя ведет, буду разбираться. И нужно кое-что подчистить от старой версии регулятора, в т.ч. и в алгоритме регулирования. Так что я поправлю прошивку, потом Вы снова проверите, а затем будем работать над более точным поддержанием температуры.


Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Пт июл 20, 2012 20:41:59 
Друг Кота

Карма: 33
Рейтинг сообщений: 213
Зарегистрирован: Ср окт 14, 2009 10:37:49
Сообщений: 3956
Откуда: Украина
Рейтинг сообщения: 0
Доработал прошивку, кое-какие недочеты выявил, надеюсь стала лучше.
Из настроек убрал один лишний параметр (с). Поправил описание.
Чтобы добиться более точного поддержания температуры, наверно следует увеличить скорость работы регулятора (уменьшить параметр ti). Сейчас минимально возможный 1 сек. Я его специально делал большим, с учетом того, что управляется заслонка электродвигателем, чтобы слишком часто его не дергать. Если для каких-то настроек Вы видите, что предела недостаточно - пишите, я расширю в ту или другую сторону, или сделаю более тонкую настройку (например, с десятыми).


Вложения:
Termo_ATMEGA8_PID_1.zip [23.71 KiB]
Скачиваний: 575
Вернуться наверх
 
 Заголовок сообщения: Re: Программный терморегулятор на ATmega8
СообщениеДобавлено: Сб июл 21, 2012 23:41:20 
Открыл глаза

Карма: 1
Рейтинг сообщений: 0
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Сообщений: 66
Откуда: Тернопіль
Рейтинг сообщения: 0
Спасибо, попробую уже только в понедельник.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 187 ]  1, , , , ...  

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y