Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: Контроллер управления пеллетной горелкой.Проблема.

Контроллер управления пеллетной горелкой.Проблема. 22 сен 2015 19:57 #1

  • grin-mpx
  • grin-mpx аватар
  • Не в сети
  • new member
  • Сообщений: 14
Здравствуйте уважаемые форумчане.
Некоторое время назад мне подарили проект контроллера для пеллетной горелки с некоторыми проблемами.В программировании я почти ноль, но за это время существенно смог изменить прошивку под свои нужды.Сейчас она в состоянии "Уже почти закончена"
Когда собрал схему в железе, то вылез очень неприятный нюанс, а именно:
- В схеме присутствует датчик DS18B20 по показаниям температуры которого исполнялся определенный алгоритм работы, например, при достижения температуры 70 гр. горелка должна уходить в ожидание и до температуры 60 гр. не просыпаться. НО! Горелка периодически включалась не достигнув температуры 60 гр. По моим предположениям происходит сбой передачи данных от датчика и контроллер запускает процесс розжига горелки. Подобное явление (короткий сбой одного из датчиков) наблюдалось на Терморегуляторе с погодным регулировании V 2.1, но там провода были длинные, а здесь 10 см.
В связи с вышеизложенным прошу помощи в корректировке прошивки, может можно программно организовать перепроверку данных от датчика перед началом отработки алгоритма.(по типу защиты кнопки от дребезга).
Я вообще не понимаю как это сделать, помогите пожалуйста :blush:
Во вложении исходники (Pop 2) и проект в Протеусе.
с ув. Григорий

Папка большая была, отсеял как мог...


Вложенный файл:

Имя файла: -1.rar
Размер файла:3 KB


Вложенный файл:

Имя файла: -2.rar
Размер файла:100 KB


Вложенный файл:

Имя файла: -3.rar
Размер файла:98 KB


Вложенный файл:

Имя файла: -4.rar
Размер файла:27 KB


Вложенный файл:

Имя файла: -5.rar
Размер файла:93 KB
Последнее редактирование: 22 сен 2015 20:16 от grin-mpx.
Администратор запретил публиковать записи гостям.

Контроллер управления пеллетной горелкой.Проблема. 22 сен 2015 20:06 #2

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
grin-mpx пишет:
Во вложении исходники (Pop 2) и проект в Протеусе.
Нету вложения.
Администратор запретил публиковать записи гостям.

Контроллер управления пеллетной горелкой.Проблема. 23 сен 2015 09:39 #3

  • Oto
  • Oto аватар
  • Не в сети
  • Moderator
  • Сообщений: 928
  • Спасибо получено: 274
grin-mpx пишет:

Папка большая была, отсеял как мог...
Отсеяли вы как-то не очень, в архивах промежуточные версии , нужно еще догадаться какая часть является финальной, но в любом случае ко всем вариантам не хватает файла lcd_rus.h .
#StopRussianAggression
Администратор запретил публиковать записи гостям.

Контроллер управления пеллетной горелкой.Проблема. 23 сен 2015 10:21 #4

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
Не совсем понимаю, что в этом куске программы происходит
t=ds18b20_temperature(NULL);
if(!((t<95)&(t>1)))
     {t=ds18b20_temperature(NULL);
     if(!((t<95)&(t>1))) 
        {
        t=ds18b20_temperature(NULL);
        if(!((t<95)&(t>1))) 
            {
            t=ds18b20_temperature(NULL);
но при определенных условиях происходит многократное обращение к датчику через короткий промежуток времени. Во-первых, зачем. Во-вторых, если все-таки это обосновано, то надо давать датчику время на конвертацию температуры.
Администратор запретил публиковать записи гостям.

Контроллер управления пеллетной горелкой.Проблема. 23 сен 2015 11:26 #5

  • grin-mpx
  • grin-mpx аватар
  • Не в сети
  • new member
  • Сообщений: 14
Не понимаю я зачем.
Контроллер отправляет программу в "аварию" в случае если на датчике зафиксированна темп. ниже 1 градуса или выше 95, либо когда нет связи с датчиком.Может кто-то пытался организовать перепроверку состояния но некорректно?
Последнее редактирование: 23 сен 2015 11:27 от grin-mpx.
Администратор запретил публиковать записи гостям.

Контроллер управления пелетной горелкой.Проблема. 23 сен 2015 13:36 #6

  • Oto
  • Oto аватар
  • Не в сети
  • Moderator
  • Сообщений: 928
  • Спасибо получено: 274
grin-mpx пишет:
Контроллер отправляет программу в "аварию" в случае если на датчике зафиксированна темп. ниже 1 градуса или выше 95,....
Если посмотреть протеусе, то все понятно, за рамками диапазона (t<95)&(t>1) программа виснет.
grin-mpx дайте либу lcd_rus.h.
#StopRussianAggression
Администратор запретил публиковать записи гостям.

Контроллер управления пеллетной горелкой.Проблема. 23 сен 2015 13:49 #7

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
Я вот какую-то библиотеку нашел, с ней даже компилируется. Но если использовать для симуляции в Proteus *.cof, то вылетает с ошибками - не разбирался, некогда. С *. hex нормально. Не знаю, как устроена библиотека CVAVR для DS18B20, но возможно надо проверить не приходят ли прерывания во время работы с датчиком. В самой программе прерывания очень длинные, вряд ли кто меня убедит, что это обосновано...
Вложения:
Последнее редактирование: 23 сен 2015 13:49 от Soir.
Администратор запретил публиковать записи гостям.
Спасибо сказали: Oto

Контроллер управления пелетной горелкой.Проблема. 23 сен 2015 13:59 #8

  • grin-mpx
  • grin-mpx аватар
  • Не в сети
  • new member
  • Сообщений: 14
Oto пишет:
grin-mpx пишет:
Если посмотреть протеусе, то все понятно, за рамками диапазона (t<95)&(t>1) программа виснет.
grin-mpx дайте либу lcd_rus.h.

Смогу выложить только сегодня поздно вечером.
Последнее редактирование: 23 сен 2015 14:00 от grin-mpx.
Администратор запретил публиковать записи гостям.

Контроллер управления пелетной горелкой.Проблема. 23 сен 2015 20:41 #9

  • grin-mpx
  • grin-mpx аватар
  • Не в сети
  • new member
  • Сообщений: 14
Вот файл lcd_rus.h с которым компилирую этот проект.

Вложенный файл:

Имя файла: lcd_rusgrin.rar
Размер файла:1 KB
Администратор запретил публиковать записи гостям.

Контроллер управления пелетной горелкой.Проблема. 23 сен 2015 20:44 #10

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
grin-mpx пишет:
Вот файл lcd_rus.h
К нему еще полагается lcd_rus.lib
Администратор запретил публиковать записи гостям.

Контроллер управления пелетной горелкой.Проблема. 23 сен 2015 21:00 #11

  • grin-mpx
  • grin-mpx аватар
  • Не в сети
  • new member
  • Сообщений: 14
Вот

Вложенный файл:

Имя файла: lcd_rus.rar
Размер файла:2 KB
Администратор запретил публиковать записи гостям.

Контроллер управления пелетной горелкой.Проблема. 25 сен 2015 07:20 #12

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
grin-mpx пишет:
с которым компилирую этот проект.
Файлы те же, что и я выкладывал. И проблемы те же.
1. Выскакивают предупреждения при компиляции.
2. Вылетает симуляция с файлом *.cof
3. Ошибка симуляции появляется при работе МК с индикатором. Если отключить PD7, то ошибки нет, индикации тоже. Зачем подключен вывод D3 индикатора - тоже загадка.
В общем, надо разбирать прошивку, наводить порядок, а потом уже и проблема с датчиком раскроется.
Чужие исходники править ни желания, ни времени. Все, что могу посоветовать, это поочередно отключать функции и смотреть за результатом. Отключать все, вплоть до: оставить только измерение температуры. Можно добавить фиксацию аномального (резкого) изменения температуры и вывести на индикатор. Тогда можно будет включить и оставить, а проверить как вел себя прибор в удобное время, чтобы не сидеть перед ним постоянно.
---
P.S.
Кстати, у меня длина провода к датчику метров 20 - сбоев не наблюдаю. Так что дело однозначно в прошивке (конечно, если исключить неисправность деталей и ошибки монтажа).
Последнее редактирование: 25 сен 2015 07:20 от Soir.
Администратор запретил публиковать записи гостям.
Спасибо сказали: grin-mpx

Контроллер управления пелетной горелкой.Проблема. 25 сен 2015 08:53 #13

  • grin-mpx
  • grin-mpx аватар
  • Не в сети
  • new member
  • Сообщений: 14
Спасибо уважаемый Soir за попытку.
Вопрос закрыт. Попробую полностью удалить все что касается работы с датчиком DS18b20 и освободить пин, не помешает.
Последнее редактирование: 25 сен 2015 09:01 от grin-mpx.
Администратор запретил публиковать записи гостям.

Контроллер управления пелетной горелкой.Проблема. 25 сен 2015 10:36 #14

  • Soir
  • Soir аватар
  • Не в сети
  • Moderator
  • Сообщений: 4101
  • Спасибо получено: 1413
grin-mpx пишет:
Попробую полностью удалить все что касается работы с датчиком DS18b20
Библиотека работы с датчиком DS18B20 в самом CVAVR вроде как правильная. Поэтому надо смотреть в сторону обработки данных, вывода на индикатор и других сопутствующих и отдельно работающих функций.
Может еще раз проверить сам датчик (заменой) и его соединения с МК. Питание - на стабильность и пульсации. Правильность установки FUSE.
Попробуйте перед чтением температуры запретить прерывания, а разрешить уже после завершения чтения.
Можно там, где идет повторный опрос датчика, если первое чтение вышло за пределы, что-то вывести на индикатор, засветить светодиод или просто завесить программу. Сами пределы сузить, например, если датчик в помещении где температура +20, установить пределы +18 - +22. Только учесть, что первое считывание даст +85.
Так можно локализовать место проблемы. От результатов уже двигаться дальше.
Администратор запретил публиковать записи гостям.
Модераторы: wolf2000, Vakula, Айнцвайдрайченко