Перейти к содержимому

Фотография

Термометр - термостат


Сообщений в теме: 92

#1
Nikolai4

    Создатель

  • Администраторы
  • 1212 сообщений
Статья находится тут https://bezkz.su/inde…p?newsid=300371

Изображение

Доработка от пользователя lazar Прикрепленный файл  Termostat_628_LED_gis.rar   1.09МБ
печатки,протеус,прошивки, схема под общий анод

P.S. от lazar :
Если кто-то проверил живое устройство с отрицательными температурами, дайте знать. А так как требовалась установка положительных температур, устройство работает отлично!

#2
Nusik

    Новичок

  • Проверенные
  • 1 сообщений
Помогите, пожалуйста! Хочу собрать термометр на 628. Может ли кто поправить прошивку, чтобы на 2 ножке МК при достижении 73,4 градуса и при достижении 84 градусов был звук (несколько гудков)? Ну то есть выход переменки для подключения пьезоизлучателя, а не буззера с генератором? Спасибо!

#3
16f628

    Продвинутый пользователь

  • Пользователи
  • 85 сообщений
  • ГородРоссия, Ростовская обл.
Так и не взлетел проект. Даже проблему заново описывать сил нет. Зобаньте миня

#4
Nikolai4

    Создатель

  • Администраторы
  • 1212 сообщений
В статье есть обновленные прошивки, вчера добавил, в самом конце статьи, самые последние

#5
16f628

    Продвинутый пользователь

  • Пользователи
  • 85 сообщений
  • ГородРоссия, Ростовская обл.
Полчаса назад испытал новые прошивки. Реле так и щелкает. Трижды эту проклятую макетку пересобирал. Тьфу, пойду выпью

Может ли проблема крыться в транзисторе? Он у меня КТ817

#6
16f628

    Продвинутый пользователь

  • Пользователи
  • 85 сообщений
  • ГородРоссия, Ростовская обл.
Пересобрал макетку в четвертый раз. Голова за последние 2 дня стала мягкая как жопа… Много эмоций утекло, а сейчас просто тихое разочарование. Не работает.

#7
Zozulataras

    Пользователь

  • Пользователи
  • 18 сообщений
  • ГородМосковская
Ну, если не вышло с 628, попробуй с 84.... Не проблема кварц подвесить…

#8
16f628

    Продвинутый пользователь

  • Пользователи
  • 85 сообщений
  • ГородРоссия, Ростовская обл.
С 16F628 не вышло. Компилировал прошивку для 16F648, проблема один в один осталась. Чего это я мучаюсь? Куплю еще тиньку 2313, с всё.

#9
alexandr56

    Новичок

  • Проверенные
  • 2 сообщений
Работает на 84A smd отлично печатку немного подредоктировал
я собирал с тинькой 2313 он меньше но мне не нравится не могу объяснить но этот лучше пусть больше

#10
Zozulataras

    Пользователь

  • Пользователи
  • 18 сообщений
  • ГородМосковская
Уважаемый Agette!!!
Пишу здесь, а то за писанину под статьей обещали "бан" влепить… Сожалею, но вынужден просить Вас уделить еще некоторое внимание прошивке термостата, т.к. мною обнаружен еще один БАГ… Возможно, он как-то перекликается с багом 16f628… Проблема в следующем: у меня помещение с отрицательной температурой (сейчас-то на улице не лето!!) и вот в нем мне нужно поддерживать температуру где-то от -2 до +2, т.е в диапазоне 0, (у меня там пчелы зимуют)… И вот сегодня после обкатки собранного девайса дома, не выявив в нем отклонений (сорри, сразу я чегой-то и не сообразил на это проверить…) я его повез на место дислокации и именно там и обнаружился этот БАГ… :super_t6: Условия - внешняя температура -8 градусов… Выставляю температуру стабилизации "-2", гистерезис 1 градус - проверяю - все нормально отрабатывается… Но как только я выставляю гистерезис 2 градуса при температуре стабилизации -2 (т.е. диапазон стабилизации от 0 до -2 при внешней текущей температуре -8) вот тут начинается такая же штука как на видео у 16F628 - нагрузка не включается постоянно, а включается с частотой 1 герц, т.е. начинает "мигать".... И такая штука возникает именно тогда, когда выставленный гистерезис перекрывает зону перехода через "0"… Т.е. не получается выставить диапазон от -1 до +1… Ставлю стабилизацию -3, гистерезис 2 - все работает, а если выставляю гистерезис 3 и выше - нагрузка МИГАЕТ… :super_t6: Ставлю стабилизацию 0 и любой гистерезис - все работает, а вот при отрицательной с выходом на положительную - нагрузка "мигает"… :super_t6: Как я понимаю, в прошивке как-то неправильно происходит сложение отрицательной температуры стабилизации с гистерезисом при переходе через 0 и после этого происходит из-за чего-то включение нагрузки с частотой 1герц(где-то раз в секунду), т.е. он нормально стабилизирует температуру от 0 до +2 (и выше) и от -1 до -3 (и ниже), а вот при задании от -1 до +1 "моргает"… :super_t6: Это можно как-то подправить, а то штука-то хорошая, но с такой вот "изюминкой"… Так-то я вышел из положения - выставил 0 +2, а вот с отрицательной до положительной не вышло… И еще, - при установке температуры стабилизации есть "0" и "-0", так вот при "-0" он тоже подмигивает нагрузкой… :super_t6: , но зато при просто "0" все работает… Возможно у 16f628 тоже как-то выставлен гистерезис с температурой стабилизации что при сложении программа уходит в цикл, только ему нужно поподробнее все это изложить… И как я понимаю, точка стабилизации "-0" это тоже чего-то значит, но что точно - я не понял… Но зато в остальном - все работает, а осталось еще немножко подправить… Если можно, конечно… Пожалуйста.... Сорри, за столь подробное описание, но возможно оно как-то поможет исправить это дело… Или это только у меня такое?

#11
ASUS

    Продвинутый пользователь

  • Проверенные
  • 441 сообщений
  • ГородКозелец
У меня это устройство уже год почти в холодильнике трудится с исправленой прошивкой от rgb а какие у вас баги я не знаю! температура нормально выставляется устройсво с выдержкой в 2 градусса и я предензий не имею, единсвенное чтоб я добавил это выбор в меню инверсии нагрева или охлаждения и диапазон выдержки))

#12
Zozulataras

    Пользователь

  • Пользователи
  • 18 сообщений
  • ГородМосковская
Уважаемый дружище ASUS!
Я же не говорю, что устройство не работает, оно работает и хорошо работает, но ведь нужно, чтобы в нем не было мелких недоработок, чтобы оно было полностью универсальным и соответствовало заявленным параметрам…Сама идея-то очень хорошая - добавить регулируемый гистерезис и кнопку "-", по сравнению с оригиналом… Agette замечательно его модернизировал(за что ему отдельная благодарность), но остались некоторые "шероховатости", которые хорошо бы убрать… Вы вот в своем устройстве в холодильнике, какую температуру стабилизации выставили, (как на снимке - +6 градусов?)? При таком режиме оно все отрабатывает, не буду даже спорить… Если даже выставите -6 с гистерезисом 2 - то тоже все хорошо будет работать… Математика-то одна и та же… А вот когда через "0" переход есть, там есть некоторые ньансы, которые нужно описывать отдельно в программе… Вы вот попробуйте (просто в качестве эксперимента) выставить такую температуру, чтобы с выставленным гистерезисом она от +1 до -1 поддерживалась… После этого здесь напишите, как у Вас термостат себя ведет…Хотя, на охлаждение она может себя по-другому вести… Может, прошивка от RGB учитывает этот ньюанс? И тогда мы обсудим это....Но мне нужна прошивка на нагрев… Мне пока не с чем провести эксперимент, сделанный термостат стоит на даче, и хорошо справляется с задачей, поддерживая от 0 до +2, а новую печатку я еще не сделал, на выходных сделаю, тогда смогу оттестировать что-то… Ваша идея тоже заслуживает внимания, допустим, нажимаем одновременно две кнопки "Температура" и "Гистерезис" и выставляем "+"-сом нагрев или охлаждение… Как вариант? На мой взгляд - замечательный…Думаю, описать это в программе не очень сложно… Одна проблема - тяжело найти и заинтересовать хорошего программиста… А я пока еще, извините, не научился ассемблеру… :super_t6: Если бы умел, с удовольствием поправил бы.... А вот товарищ Nusik, похоже, озадачился проблемой модернизации дистиляторного аппарата… :smile: Диапазон 73 - 84 замечательно подходит, 73 - готовься, а на 84 - чтобы не захлебнулся и все уже кончилось… Тоже неплохо…

#13
16f628

    Продвинутый пользователь

  • Пользователи
  • 85 сообщений
  • ГородРоссия, Ростовская обл.

Возможно у 16f628 тоже как-то выставлен гистерезис с температурой стабилизации что при сложении программа уходит в цикл, только ему нужно поподробнее все это изложить…

Хоть уверился окончательно теперь, что косяк не в моей сборке. Хотя 4 раза подряд я ошибиться не мог )))
Я на тиньке 2313 собрал очередной термостат, и забыл про всё :) Не взлетело у меня на пике, что ж тут… Хорошо, что не у всех возникают проблемы.

#14
Zozulataras

    Пользователь

  • Пользователи
  • 18 сообщений
  • ГородМосковская
Что-то Agette не появляется и не отвечает, пропал куда-то…

To 16f628
Попробуйте оттестируйте свой термостат на тиньке в диапазоне +1 -1 или +2 -2 (с переходом через 0) и отпишитесь здесь.... Мне просто интересно, нормально будет работать?

#15
agette

    Пользователь

  • Пользователи
  • 11 сообщений
Доброго времени! Уважаемый Zozulataras, у меня на данный момент мало времени, исправить можно всё постараюсь помочь если есть время и возможность попробуйте протестировать исходные прошивки без доработок с двумя кнопками. Математику сравнения чисел я не трогал но бывает влияют изменения других блоков, если протестируете исходные прошивки мне будет проще исправить ошбку.

#16
agette

    Пользователь

  • Пользователи
  • 11 сообщений
16f628
Может у Вас чтото с программатором, у меня их три и самый безупречный PICkit 2.
Один из них например не реагирует на страку конфигурации то есть не прошивает конфигурацию если не выставить галочки кагбудто строки в программе нет.
Я лично собрал пять образцов данного изделия 3 - 16f628 и 2 - 16f84 все заработали сразу.

#17
Zozulataras

    Пользователь

  • Пользователи
  • 18 сообщений
  • ГородМосковская
Respected Agette! Thank you for your attention!

Вот только что собрал еще одну печатку терморегулятора на 16F84A. :-) Все сразу заработало. Теперь есть чем тестить, про последнюю Вашу прошивку - что ранее писАл, то и подтвердилось еще раз, диапазон "минуса" с переходом через "0" - нагреватель "моргает". Чуть позже буду тестить прошивки старые, отпишусь в этом же топике.
1.файл из архива V7.1 по первой ссылке (Скачать печатку и прошивку измененную) - вообще не захотел работать, либо все "888" либо тишина, как я не извращался с битами конфигурации для 16f84a
2.Оригинал из Журнала "Радио №1 2006" ftp://ftp.radio.ru/pub/2006/01/therm.zip файл с названием therm18B20new.HEX - именно отсюда пришел этот баг, что не работает через "0".Гистерезис прошит жестко в программе 2 градуса. Выставляю "-3" нормально отрабатывает до "-1" и выключает нагреватель, только выставляю "-2" сразу начинает "моргать" нагрузка с частотой 1Гц, так же как в последней прошивке от Agette.Причем моргание идет до "-2", а потом нагрузка при "-2"(в сторону "0") выключается, а при "-2" (в сторону минуса) опять начинает моргать. Аналогично для "-1". При выставлении "-0" - нагреватель вообще НЕ ВКЛЮЧАЕТСЯ(так же и в прошивке от Agette). При выставлении "0,0" - нормально отрабатывает до "+2", ну и дальше все тоже в норме.
3.Прошивка "Скачать [84.86 Kb] (cкачиваний: 268) прошивку, доработанную, схемы для PIC16F628 / 84 от agette " имеет все те же баги, что и оригинал из журнала "Радио". Убраны десятые доли градуса у температуры точки стабилизации. Аналогично для ситуации "-0" - нагрев вообще не включается. Не отрабатывают такую ситуацию и все последующие релизы прошивки.
4. Гистерезис, думаю, все-таки нужно ограничить, скажем, 12,8-25,6 градусами и сделать с шагом 0,1 или 0,5, а не 0 - 255, как сейчас. Это уже из моих пожеланий… Если кто-то будет кур высиживать - это будет нужно…(В прошивке, как я понимаю под гистерезис выделен регистр и он просто инкрементом увеличивается на 1, а разрядность 256 (8 бит), отсюда и гистерезис 256, а его сделать в 10 раз меньше, напр. до 25,6 с шагом 0,1 (или 0,5))
На основании вышеизложенного имеем: ситуация "+1 -1" некорректно работала и в оригинале и осталась после доработки прошивки (добавления 2-х кнопок и регулирование гистерезиса), т.е. она осталась в программе от оригинала, и это не ошибка доработки, а неправильный алгоритм обсчета этой ситуации в самом теле оригинальной программы…Виновата математика оригинала…Нужно подумать над алгоритмом пересчета такой ситуации… При увеличении гистерезиса лишь сдвигается "точка моргания" и такой же глюк с температурой "-0". А сама программа корректно обсчитывает 2 области температур [125;0] и (0-гистерезис;-55] и глючит, если гистерезис совпадает с минусовой температурой (например, диапазон [0;-2] ).
Т.е. Agette ее корректно модернизировал, а ситуация с "+1 -1" в ней изначально не работала… Нет ничего идеального, есть новое поле деятельности… Нужно корректировать…На досуге подумаю об алгоритме, если что придумаю, - напишу…

#18
16f628

    Продвинутый пользователь

  • Пользователи
  • 85 сообщений
  • ГородРоссия, Ростовская обл.

To 16f628
Попробуйте оттестируйте свой термостат на тиньке в диапазоне +1 -1 или +2 -2 (с переходом через 0) и отпишитесь здесь.... Мне просто интересно, нормально будет работать?

Ок, протестирую через ноль, как только выберу минутку

#19
16f628

    Продвинутый пользователь

  • Пользователи
  • 85 сообщений
  • ГородРоссия, Ростовская обл.

16f628
Может у Вас чтото с программатором, у меня их три и самый безупречный PICkit 2.
Один из них например не реагирует на страку конфигурации то есть не прошивает конфигурацию если не выставить галочки кагбудто строки в программе нет.
Я лично собрал пять образцов данного изделия 3 - 16f628 и 2 - 16f84 все заработали сразу.

Может и программатор виноват… ЭкстраПик у меня. Изображение

#20
Zozulataras

    Пользователь

  • Пользователи
  • 18 сообщений
  • ГородМосковская
To Agette

Посмотрел текст программы, и, кажется, понял, в чем проблема.... В программе положительная температура считается прямым ходом от 0 и выше, а для отрицательной температуры точка ноля смещена на 54 единицы правее по оси, поэтому для положительной температуры ноль получился в "ноле", а для отрицательной ноль получился в "+54". Поэтому при переходе гистерезисом через реальный ноль, программа уже не знает, что с чем сравнивать( т.е. "+1" для положительного равняется "+55" для отрицательного 8-/ ) В таком варианте организовать диапазон стабилизации -1+1 просто не выйдет, что и получается в программе… Нужно смещать как отрицательный диапазон на 55 градусов, так и положительный диапазон на 55 градусов правее по оси и выводить реальный ноль в "виртуальный" в точке "+55" градусов. Тогда "виртуальный" диапазон температур датчика в программе будет от 0 до 180, что будет соответствовать реальному диапазону от "-55" до "+125". И на дисплее не должно будет оказаться показания "-0", что в программа служит признаком ветки алгоритма с отрицательной температурой…Соответственно, и к точке стабилизации необходимо прибавлять 55, чтобы получить "виртуальную" точку стабилизации, а вот гистерезис должен остаться как есть, можно его сразу сделать 0-25,6 с шагом 0,1, как я говорил в предыдущем топике… Только в таком случае программа будет правильно обсчитывать ситуацию перехода через ноль в "виртуальном" ноле в точке "+55" градусов.Думаю, что в программе этот алгоритм описАть даже проще, чем тот, который сейчас в ней заложен. А на дисплей выводить, соответственно, реальную температуру (из "виртуальной" вычесть 55 градусов). Тогда у нас не будет этого глюка с переходом через ноль.
P.S. Интересно, почему в программе вычитается 54, хотя по параметрам датчика минусовая температура -55? Хотя, в принципе, можно вычитать что угодно, хоть сотню....Ну, думаю, что Вы меня поняли, что я хотел сказать… :-) Ну, как, сможем подправить?