Терморегулятор на микроконтроллере PIC16F84 датчикe DS18B20
-
Александровичь
- Открыл глаза
- Сообщения: 48
- Зарегистрирован: Вс янв 15, 2012 20:38:43
- Откуда: Украина Мелитополь
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Уважаемый Soir!Доброго здоровья.Спасибо что не забыли и нашли время,вечером попробую напишу.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Здраствуйте. Большое спасибо Soir за огромную помощь в создании терморегулятора. Хотелось бы спросить, возможно ли реализовать проэкт http://radiokot.ru/circuit/digital/home/92/ (Термоконтроллер "Мурка"), автор Black27512 на контроллерах PIC (например PIC16F628, PIC16F690), и, если возможно, попросить помочь. Необходимо сделать регулятор температуры на твердотопливный котел.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
solovey33 писал(а):...возможно ли реализовать проэкт http://radiokot.ru/circuit/digital/home/92/ (Термоконтроллер "Мурка"), автор Black27512 на контроллерах PIC (например PIC16F628, PIC16F690)
Если распишете алгоритм, то в принципе можно. Есть ограничения, у указанных PIC-ов меньше выводов, то есть схему надо менять.
solovey33 писал(а):...если возможно, попросить помочь. Необходимо сделать регулятор температуры на твердотопливный котел.
Подробнее давайте.
-
Александровичь
- Открыл глаза
- Сообщения: 48
- Зарегистрирован: Вс янв 15, 2012 20:38:43
- Откуда: Украина Мелитополь
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Добрый вечер. Уважаемый Soir! опрбовал v10.1 Нажатием кнопки MODE мигает показание, показание регулулируется кнопками + - . Нажатием + - меняются показание POOM,ALARM в режиме ALARM горит точка в младьшем разряде но нечего не регулируется.Нажатие MODE FREEZE выводится символ ta ,больше нечего,по кругу не меняется.Реле не срабатывало не разу,выстовлял t room 50гр.Кроме символа ta других символов невыводилось.Нажатие FREEZE нечего не происходит.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Александровичь писал(а):...опрбовал v10.1 Нажатием кнопки MODE мигает показание, показание регулулируется кнопками + - . Нажатием + - меняются показание POOM,ALARM в режиме ALARM горит точка в младьшем разряде но нечего не регулируется.Нажатие MODE FREEZE выводится символ ta ,больше нечего,по кругу не меняется.Реле не срабатывало не разу,выстовлял t room 50гр.Кроме символа ta других символов невыводилось.Нажатие FREEZE нечего не происходит.
Ужас какой-то... Это я про грамматику.
Где пробовали, в железе?
-
Александровичь
- Открыл глаза
- Сообщения: 48
- Зарегистрирован: Вс янв 15, 2012 20:38:43
- Откуда: Украина Мелитополь
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Прошу прощения за граматику на двойки учился(это не помешало выучить детей и построить большй в два этажа дом)проверял на отладочной плате.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Александровичь писал(а):Прошу прощения за граматику на двойки учился(это не помешало выучить детей и построить большй в два этажа дом)
А я, дурак, был отличником и живу в квартире (это тоже не помешало выучить детей), а работаю на тех, кто учился на двойки...
Александровичь писал(а):...проверял на отладочной плате.
В монтаже уверены?
При прошивке проверьте EEPROM МК, его нужно стирать, везде должны быть FF.
Раз проверялось в железе, то расшифруйте:
Александровичь писал(а):Нажатием кнопки MODE мигает показание, показание регулулируется кнопками + - .
Может не просто "показание" мигает, а установленная температура для датчика ROOM?
Александровичь писал(а):Нажатием + - меняются показание POOM,ALARM в режиме ALARM горит точка в младьшем разряде но нечего не регулируется.
Что здесь не так? В этом режиме ничего и не должно регулироваться.
Александровичь писал(а):Нажатие MODE FREEZE выводится символ ta ,больше нечего,по кругу не меняется
Чтоб менялось по кругу, надо эти кнопочки отпустить и нажимать на MODE.
Как-то точнее описывайте возникшие проблемы, а то у меня складывается впечатление, что Вы не читали описание, а пытаетесь методом тыка разобраться в работе устройства.
-
Александровичь
- Открыл глаза
- Сообщения: 48
- Зарегистрирован: Вс янв 15, 2012 20:38:43
- Откуда: Украина Мелитополь
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Дайте свой адрес пришлю фото вопросы отпадут где лучьше жить.Я Вас уважаю за труд по этому спорить не хочу.Радио хобби не как не зароботок.( Везде должны быть FF)Так и было.Показание мигают в режиме установки температуры POOM.Нажатием + - меняются показание температуры POOM,ALARM на индикаторе,как описанно у вас.Чтоб менялось по кругу, надо эти кнопочки отпустить и нажимать на MODE.Всё делал точьно как описанно у вас в Manual.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Всем добрый вечер.
Для Soir:
Примерный алгоритм работы:
В обычном режиме - индикация текущей температуры.
Нажатие на кнопку SET:
1- выбор режима Ручной, Автомат (обязательно, чтобы при неработающем котле регулирование не происходило, только индикация температуры)
2- установка температуры регулирования.
3- установка количество шагов двигателя, необходимых для закрытия/открытия заслонки, регулировкой этого параметра можно установить на сколько сильно она
будет открываться. Одно значение равно 8-ми шагам двигателя. При закрытии независимо от установленного значения двигатель делает дополнительно 10 шагов (для
предотвращения люфта) (последнее не обязательно). По возможности регулировать отдельно для закрытия и для открытия заслонки.
4– скорость вращения двигателя, вернее, пауза между шагами, т.е. чем это число меньше, тем выше скорость вращения. По возможности регулировать отдельно для
закрытия и для открытия заслонки.
5– гистерезис регулирования, то есть указывает ширину окна в градусах, в пределах которого регулятор не будет предпринимать действий. Например: при значении
01 и установленной температуре +60 градусов открытие будет происходить при достижении 60.5 градусов, а закрытие при 59.5 градусах. Значение 02 будет
закрывать и открывать при 61 и 58 градусах соответственно и так до 10-20 градусов (как удобнее сделать).
Запоминание настроек - как удобнее сделать (например длительное нажатие на кнопку SET).
Дополнительно, если температура превысила установленую на величину гистерезиса, заслонка закрылась, а температура не упала за (примерно) 3 минуты (или, если
проще сделать, температура достигла значения 85-90 градусов) включилась сигнализация (Авария). В этот момент регулирование прекращается, температура
индицируется (если можно) переменно со словом ALARM, но это не обязательно(индикация).
Алгоритм частично взят из http://radiokot.ru/circuit/digital/home/92/, но я добавил некоторые дополнительные функции.
Надеюсь, я не выдумал невозможное, думаю такой регулятор будет интересен многим, и не только для отопления
Выкладываю примерную схему в PROTEUS
Для Soir:
Примерный алгоритм работы:
В обычном режиме - индикация текущей температуры.
Нажатие на кнопку SET:
1- выбор режима Ручной, Автомат (обязательно, чтобы при неработающем котле регулирование не происходило, только индикация температуры)
2- установка температуры регулирования.
3- установка количество шагов двигателя, необходимых для закрытия/открытия заслонки, регулировкой этого параметра можно установить на сколько сильно она
будет открываться. Одно значение равно 8-ми шагам двигателя. При закрытии независимо от установленного значения двигатель делает дополнительно 10 шагов (для
предотвращения люфта) (последнее не обязательно). По возможности регулировать отдельно для закрытия и для открытия заслонки.
4– скорость вращения двигателя, вернее, пауза между шагами, т.е. чем это число меньше, тем выше скорость вращения. По возможности регулировать отдельно для
закрытия и для открытия заслонки.
5– гистерезис регулирования, то есть указывает ширину окна в градусах, в пределах которого регулятор не будет предпринимать действий. Например: при значении
01 и установленной температуре +60 градусов открытие будет происходить при достижении 60.5 градусов, а закрытие при 59.5 градусах. Значение 02 будет
закрывать и открывать при 61 и 58 градусах соответственно и так до 10-20 градусов (как удобнее сделать).
Запоминание настроек - как удобнее сделать (например длительное нажатие на кнопку SET).
Дополнительно, если температура превысила установленую на величину гистерезиса, заслонка закрылась, а температура не упала за (примерно) 3 минуты (или, если
проще сделать, температура достигла значения 85-90 градусов) включилась сигнализация (Авария). В этот момент регулирование прекращается, температура
индицируется (если можно) переменно со словом ALARM, но это не обязательно(индикация).
Алгоритм частично взят из http://radiokot.ru/circuit/digital/home/92/, но я добавил некоторые дополнительные функции.
Надеюсь, я не выдумал невозможное, думаю такой регулятор будет интересен многим, и не только для отопления
Выкладываю примерную схему в PROTEUS
- Вложения
-
- Termoregulator.rar
- (17.96 КБ) 216 скачиваний
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Александровичь писал(а):...Всё делал точьно как описанно у вас в Manual.
В Proteus эта часть программы работает четко, а Proteus меня редко подводит, поэтому я ему доверяю на 99%...
Ладно, на выходных соберу на макете, посмотрю что не так.
-
Александровичь
- Открыл глаза
- Сообщения: 48
- Зарегистрирован: Вс янв 15, 2012 20:38:43
- Откуда: Украина Мелитополь
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Аналогично на выходных вытравлю плату зделаю всё как паложенно.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
solovey33 писал(а):Примерный алгоритм работы...
Примерно понятно.
Кое-что нужно точнее.
1. Каким образом идет управление двигателем. Мне нужен алгоритм работы транзисторов Q1-Q4. Какой когда на какое время открывается и когда закрывается. Другими словами, как идет управление одним шагом двигателя на открытие и закрытие.
2. Скорость вращения (пауза между шагами) в каких единицах меряется, в секундах, минутах... Какие пределы установки (это кстати нужно указать для всех устанавливаемых параметров).
3. Скорость вращения это и есть скорость регулирования? Нужно определить сам алгоритм регулирования. Скажем температура уменьшилась на 5 градусов, заслонка открылась (или закрылась?) на 1 (или сколько?) шаг, если через 1 минуту (или сколько?) температура не изменилась, тогда заслонка еще... Или температура начала расти, тогда... Или продолжает еще быстрее падать, тогда...
Этот момент мне совершено непонятен.
solovey33 писал(а):думаю такой регулятор будет интересен многим, и не только для отопления
Это для меня не аргумент. Если за что-то здесь берусь, то только из спортивного интереса и желания помочь, количество заинтересованных при этом для меня абсолютно никакой роли не играет.
solovey33 писал(а):Выкладываю примерную схему в PROTEUS
Схема требует некоторой доработки. Я потом ее поправлю. Для начала разберусь с PIC, с таким я еще не работал ни в теории, ни в практике. Буду на Вашем котле учиться, если Вы не против. Только сегодня-завтра не обещаю, как появится время... Может на будущей неделе.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Александровичь писал(а):Аналогично на выходных вытравлю плату зделаю всё как паложенно.
Soir писал(а):...Ладно, на выходных соберу на макете, посмотрю что не так.
Оказалось, макет у меня собран. Поэтому уже проверил. Кнопки работают, настройки выставляются. Реле не проверял, у меня только один датчик, но с этим пока подождем. Когда и у Вас кнопки заработают, тогда и двинемся дальше.
Еще у меня индикатор с общим катодом, так что прошивку я чуть менял, но на работе кнопок это никак не должно сказаться. Так что ищите, что у Вас не так, "как паложенно".
-
Александровичь
- Открыл глаза
- Сообщения: 48
- Зарегистрирован: Вс янв 15, 2012 20:38:43
- Откуда: Украина Мелитополь
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Хорошо спасибо буду проверять. детально(насчет положенно или паложенно мне всё равно я специалист по каминам натуральным.Радио просто помощь друзьям и для души.
-
Александровичь
- Открыл глаза
- Сообщения: 48
- Зарегистрирован: Вс янв 15, 2012 20:38:43
- Откуда: Украина Мелитополь
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Уважаемый Soir! Кнопки работают, все параметры выставляются,правда в режиме Room и Alarm на индикаторе выше 50гр не выставляется,доходит до 50гр и начинает с нуля.После выключения питания настройки в памяти сохраняются.Реле не в одном режиме не сработало.Проверял на один датчик,завтра с работы принесу датчик попробую детально(работаю в МЧС)
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Для Soir
Один шаг (для двигателя от привода Floppy) соответствует повороту ротора на 1,8 градуса.
В зависимости от режима работы (полношаговый или полушаговый) поворот на 180 градусов соответствует 100 или 200 шагов (режим желательно полушаговый).
Один цикл работы транзисторов Q1-Q4 (8 шагов двигателя) - это поочередная подача импульсов на транзисторы соответсвенно с диаграмами (полношаговый или полушаговый)


http://radiokot.ru/lab/controller/22/
http://habrahabr.ru/blogs/controllers/50809/
http://avrlab.com/node/60
Здесь описана работа с элементами програм (может чем-то поможет)
Паузы измеряются в секундах, предел от 0,1 до 1с (на дисплее значение 1-10), точно не уверен, надо будет испытать на механике в собраном виде.
Принцип регулирования изображен на схеме регулирования. Измерения через 2 минуты (процес горения инерционен).
Предел установки регулируемой температуры 50-75 градусов. Регулирование происходит в пределах 40-87 градусов, ниже или выше - авария. При переходе нижнего или верхнего аварийного предела заслонка полностью закрывается (запускается закрытие заслонки, тоесть у нас установлено максимальное число шагов для открытия заслонки, заслонка доходит до максимума (с паузой между шагами 0,1 с, макс. скоростью) и полностью уходит обратно (с паузой между шагами 0,1 с, макс. скоростью). Желательно предусмотреть кнопку (или комбинацию) СБРОС АВАРИИ.
Предел установки количества шагов 12 или 22 (одно значение равно 8 шагов) в зависимости от режима работы (полношаговый или полушаговый).
Регулирование количества шагов необходимо только для открытия заслонки, в предыдущем сообщении ошибка.
Один шаг (для двигателя от привода Floppy) соответствует повороту ротора на 1,8 градуса.
В зависимости от режима работы (полношаговый или полушаговый) поворот на 180 градусов соответствует 100 или 200 шагов (режим желательно полушаговый).
Один цикл работы транзисторов Q1-Q4 (8 шагов двигателя) - это поочередная подача импульсов на транзисторы соответсвенно с диаграмами (полношаговый или полушаговый)


http://radiokot.ru/lab/controller/22/
http://habrahabr.ru/blogs/controllers/50809/
http://avrlab.com/node/60
Здесь описана работа с элементами програм (может чем-то поможет)
Паузы измеряются в секундах, предел от 0,1 до 1с (на дисплее значение 1-10), точно не уверен, надо будет испытать на механике в собраном виде.
Принцип регулирования изображен на схеме регулирования. Измерения через 2 минуты (процес горения инерционен).
Предел установки регулируемой температуры 50-75 градусов. Регулирование происходит в пределах 40-87 градусов, ниже или выше - авария. При переходе нижнего или верхнего аварийного предела заслонка полностью закрывается (запускается закрытие заслонки, тоесть у нас установлено максимальное число шагов для открытия заслонки, заслонка доходит до максимума (с паузой между шагами 0,1 с, макс. скоростью) и полностью уходит обратно (с паузой между шагами 0,1 с, макс. скоростью). Желательно предусмотреть кнопку (или комбинацию) СБРОС АВАРИИ.
Предел установки количества шагов 12 или 22 (одно значение равно 8 шагов) в зависимости от режима работы (полношаговый или полушаговый).
Регулирование количества шагов необходимо только для открытия заслонки, в предыдущем сообщении ошибка.
- Вложения
-
- Схема регулирования.rar
- (5.73 КБ) 204 скачивания
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Для Soir
При закрытии независимо от установленного значения двигатель делает дополнительно 10 шагов (для предотвращения люфта) (последнее не обязательно).
Этого делать не надо
При закрытии независимо от установленного значения двигатель делает дополнительно 10 шагов (для предотвращения люфта) (последнее не обязательно).
Этого делать не надо
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Александровичь писал(а):Кнопки работают, все параметры выставляются
Успех, поздравляю.
Александровичь писал(а):правда в режиме Room и Alarm на индикаторе выше 50гр не выставляется,доходит до 50гр и начинает с нуля.
Это мой промах. Я установил ограничение в 50 град, исправлю.
Александровичь писал(а):Реле не в одном режиме не сработало.
Реле тоже работают, я проверил на макете (подключал не реле, а светодиоды). Есть там моя недоработка, при изменении настроек новые не сразу вступают в силу, а только или при переходе через режим FREEZE (кстати тоже работает), или выключение/включение. Исправлю.
Александровичь писал(а):Проверял на один датчик,завтра с работы принесу датчик попробую детально(работаю в МЧС)
Если датчик всего один, то ничего работать и не будет. Для МК отсутствие любого из датчиков это ошибка, по которой он переводит котел в безопасное состояние. То есть, отключает нагреватель, а насос остается в том же режиме, что и был (при включении питания он отключен).
-
Александровичь
- Открыл глаза
- Сообщения: 48
- Зарегистрирован: Вс янв 15, 2012 20:38:43
- Откуда: Украина Мелитополь
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Для Soir.Доброе утро.Вечером вытравлю плату, принесу датчик ,и будет удача.Спасибо за помощь.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Александровичь писал(а):Вечером вытравлю плату, принесу датчик ,и будет удача.
Исправил в прошивке те моменты, о которых писал в предыдущем сообщении. Если будет время, вечером сам проверю на макете.
- Вложения
-
- Termometr_v10.1_CA.zip
- (3.91 КБ) 193 скачивания