Терморегулятор на микроконтроллере 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
Если распишете алгоритм, то в принципе можно. Есть ограничения, у указанных PIC-ов меньше выводов, то есть схему надо менять.solovey33 писал(а):...возможно ли реализовать проэкт http://radiokot.ru/circuit/digital/home/92/ (Термоконтроллер "Мурка"), автор Black27512 на контроллерах PIC (например PIC16F628, PIC16F690)
Подробнее давайте.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.
Раз проверялось в железе, то расшифруйте:
Может не просто "показание" мигает, а установленная температура для датчика ROOM?Александровичь писал(а):Нажатием кнопки MODE мигает показание, показание регулулируется кнопками + - .
Что здесь не так? В этом режиме ничего и не должно регулироваться.Александровичь писал(а):Нажатием + - меняются показание POOM,ALARM в режиме ALARM горит точка в младьшем разряде но нечего не регулируется.
Чтоб менялось по кругу, надо эти кнопочки отпустить и нажимать на MODE.Александровичь писал(а):Нажатие MODE FREEZE выводится символ ta ,больше нечего,по кругу не меняется
Как-то точнее описывайте возникшие проблемы, а то у меня складывается впечатление, что Вы не читали описание, а пытаетесь методом тыка разобраться в работе устройства.
-
Александровичь
- Открыл глаза
- Сообщения: 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 КБ) 217 скачиваний
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
В Proteus эта часть программы работает четко, а Proteus меня редко подводит, поэтому я ему доверяю на 99%...Александровичь писал(а):...Всё делал точьно как описанно у вас в Manual.
Ладно, на выходных соберу на макете, посмотрю что не так.
-
Александровичь
- Открыл глаза
- Сообщения: 48
- Зарегистрирован: Вс янв 15, 2012 20:38:43
- Откуда: Украина Мелитополь
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Аналогично на выходных вытравлю плату зделаю всё как паложенно.
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Примерно понятно.solovey33 писал(а):Примерный алгоритм работы...
Кое-что нужно точнее.
1. Каким образом идет управление двигателем. Мне нужен алгоритм работы транзисторов Q1-Q4. Какой когда на какое время открывается и когда закрывается. Другими словами, как идет управление одним шагом двигателя на открытие и закрытие.
2. Скорость вращения (пауза между шагами) в каких единицах меряется, в секундах, минутах... Какие пределы установки (это кстати нужно указать для всех устанавливаемых параметров).
3. Скорость вращения это и есть скорость регулирования? Нужно определить сам алгоритм регулирования. Скажем температура уменьшилась на 5 градусов, заслонка открылась (или закрылась?) на 1 (или сколько?) шаг, если через 1 минуту (или сколько?) температура не изменилась, тогда заслонка еще... Или температура начала расти, тогда... Или продолжает еще быстрее падать, тогда...
Этот момент мне совершено непонятен.
Это для меня не аргумент. Если за что-то здесь берусь, то только из спортивного интереса и желания помочь, количество заинтересованных при этом для меня абсолютно никакой роли не играет.solovey33 писал(а):думаю такой регулятор будет интересен многим, и не только для отопления
Схема требует некоторой доработки. Я потом ее поправлю. Для начала разберусь с PIC, с таким я еще не работал ни в теории, ни в практике. Буду на Вашем котле учиться, если Вы не против. Только сегодня-завтра не обещаю, как появится время... Может на будущей неделе.solovey33 писал(а):Выкладываю примерную схему в PROTEUS
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 КБ) 205 скачиваний
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Для Soir
При закрытии независимо от установленного значения двигатель делает дополнительно 10 шагов (для предотвращения люфта) (последнее не обязательно).
Этого делать не надо
При закрытии независимо от установленного значения двигатель делает дополнительно 10 шагов (для предотвращения люфта) (последнее не обязательно).
Этого делать не надо
Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Успех, поздравляю.Александровичь писал(а):Кнопки работают, все параметры выставляются
Это мой промах. Я установил ограничение в 50 град, исправлю.Александровичь писал(а):правда в режиме Room и Alarm на индикаторе выше 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 КБ) 194 скачивания


