Термометр - термостат
Автор
Nikolai4
, 03 фев 2012 19:20
Сообщений в теме: 92
#1
Отправлено 03 фев 2012 - 19:20
Статья находится тут https://bezkz.su/inde…p?newsid=300371
Доработка от пользователя lazar Termostat_628_LED_gis.rar 1.09МБ
печатки,протеус,прошивки, схема под общий анод
P.S. от lazar :
Если кто-то проверил живое устройство с отрицательными температурами, дайте знать. А так как требовалась установка положительных температур, устройство работает отлично!
Доработка от пользователя lazar Termostat_628_LED_gis.rar 1.09МБ
печатки,протеус,прошивки, схема под общий анод
P.S. от lazar :
Если кто-то проверил живое устройство с отрицательными температурами, дайте знать. А так как требовалась установка положительных температур, устройство работает отлично!
#2
Отправлено 03 фев 2012 - 19:57
Помогите, пожалуйста! Хочу собрать термометр на 628. Может ли кто поправить прошивку, чтобы на 2 ножке МК при достижении 73,4 градуса и при достижении 84 градусов был звук (несколько гудков)? Ну то есть выход переменки для подключения пьезоизлучателя, а не буззера с генератором? Спасибо!
#3
Отправлено 03 фев 2012 - 21:08
Так и не взлетел проект. Даже проблему заново описывать сил нет. Зобаньте миня
#4
Отправлено 03 фев 2012 - 21:17
В статье есть обновленные прошивки, вчера добавил, в самом конце статьи, самые последние
#5
Отправлено 03 фев 2012 - 21:23
Полчаса назад испытал новые прошивки. Реле так и щелкает. Трижды эту проклятую макетку пересобирал. Тьфу, пойду выпью
Может ли проблема крыться в транзисторе? Он у меня КТ817
Может ли проблема крыться в транзисторе? Он у меня КТ817
#6
Отправлено 03 фев 2012 - 23:36
Пересобрал макетку в четвертый раз. Голова за последние 2 дня стала мягкая как жопа… Много эмоций утекло, а сейчас просто тихое разочарование. Не работает.
#7
Отправлено 04 фев 2012 - 19:13
Ну, если не вышло с 628, попробуй с 84.... Не проблема кварц подвесить…
#8
Отправлено 05 фев 2012 - 04:00
С 16F628 не вышло. Компилировал прошивку для 16F648, проблема один в один осталась. Чего это я мучаюсь? Куплю еще тиньку 2313, с всё.
#9
Отправлено 05 фев 2012 - 15:05
Работает на 84A smd отлично печатку немного подредоктировал
я собирал с тинькой 2313 он меньше но мне не нравится не могу объяснить но этот лучше пусть больше
я собирал с тинькой 2313 он меньше но мне не нравится не могу объяснить но этот лучше пусть больше
#10
Отправлено 07 фев 2012 - 21:20
Уважаемый Agette!!!
Пишу здесь, а то за писанину под статьей обещали "бан" влепить… Сожалею, но вынужден просить Вас уделить еще некоторое внимание прошивке термостата, т.к. мною обнаружен еще один БАГ… Возможно, он как-то перекликается с багом 16f628… Проблема в следующем: у меня помещение с отрицательной температурой (сейчас-то на улице не лето!!) и вот в нем мне нужно поддерживать температуру где-то от -2 до +2, т.е в диапазоне 0, (у меня там пчелы зимуют)… И вот сегодня после обкатки собранного девайса дома, не выявив в нем отклонений (сорри, сразу я чегой-то и не сообразил на это проверить…) я его повез на место дислокации и именно там и обнаружился этот БАГ… Условия - внешняя температура -8 градусов… Выставляю температуру стабилизации "-2", гистерезис 1 градус - проверяю - все нормально отрабатывается… Но как только я выставляю гистерезис 2 градуса при температуре стабилизации -2 (т.е. диапазон стабилизации от 0 до -2 при внешней текущей температуре -8) вот тут начинается такая же штука как на видео у 16F628 - нагрузка не включается постоянно, а включается с частотой 1 герц, т.е. начинает "мигать".... И такая штука возникает именно тогда, когда выставленный гистерезис перекрывает зону перехода через "0"… Т.е. не получается выставить диапазон от -1 до +1… Ставлю стабилизацию -3, гистерезис 2 - все работает, а если выставляю гистерезис 3 и выше - нагрузка МИГАЕТ… Ставлю стабилизацию 0 и любой гистерезис - все работает, а вот при отрицательной с выходом на положительную - нагрузка "мигает"… Как я понимаю, в прошивке как-то неправильно происходит сложение отрицательной температуры стабилизации с гистерезисом при переходе через 0 и после этого происходит из-за чего-то включение нагрузки с частотой 1герц(где-то раз в секунду), т.е. он нормально стабилизирует температуру от 0 до +2 (и выше) и от -1 до -3 (и ниже), а вот при задании от -1 до +1 "моргает"… Это можно как-то подправить, а то штука-то хорошая, но с такой вот "изюминкой"… Так-то я вышел из положения - выставил 0 +2, а вот с отрицательной до положительной не вышло… И еще, - при установке температуры стабилизации есть "0" и "-0", так вот при "-0" он тоже подмигивает нагрузкой… , но зато при просто "0" все работает… Возможно у 16f628 тоже как-то выставлен гистерезис с температурой стабилизации что при сложении программа уходит в цикл, только ему нужно поподробнее все это изложить… И как я понимаю, точка стабилизации "-0" это тоже чего-то значит, но что точно - я не понял… Но зато в остальном - все работает, а осталось еще немножко подправить… Если можно, конечно… Пожалуйста.... Сорри, за столь подробное описание, но возможно оно как-то поможет исправить это дело… Или это только у меня такое?
Пишу здесь, а то за писанину под статьей обещали "бан" влепить… Сожалею, но вынужден просить Вас уделить еще некоторое внимание прошивке термостата, т.к. мною обнаружен еще один БАГ… Возможно, он как-то перекликается с багом 16f628… Проблема в следующем: у меня помещение с отрицательной температурой (сейчас-то на улице не лето!!) и вот в нем мне нужно поддерживать температуру где-то от -2 до +2, т.е в диапазоне 0, (у меня там пчелы зимуют)… И вот сегодня после обкатки собранного девайса дома, не выявив в нем отклонений (сорри, сразу я чегой-то и не сообразил на это проверить…) я его повез на место дислокации и именно там и обнаружился этот БАГ… Условия - внешняя температура -8 градусов… Выставляю температуру стабилизации "-2", гистерезис 1 градус - проверяю - все нормально отрабатывается… Но как только я выставляю гистерезис 2 градуса при температуре стабилизации -2 (т.е. диапазон стабилизации от 0 до -2 при внешней текущей температуре -8) вот тут начинается такая же штука как на видео у 16F628 - нагрузка не включается постоянно, а включается с частотой 1 герц, т.е. начинает "мигать".... И такая штука возникает именно тогда, когда выставленный гистерезис перекрывает зону перехода через "0"… Т.е. не получается выставить диапазон от -1 до +1… Ставлю стабилизацию -3, гистерезис 2 - все работает, а если выставляю гистерезис 3 и выше - нагрузка МИГАЕТ… Ставлю стабилизацию 0 и любой гистерезис - все работает, а вот при отрицательной с выходом на положительную - нагрузка "мигает"… Как я понимаю, в прошивке как-то неправильно происходит сложение отрицательной температуры стабилизации с гистерезисом при переходе через 0 и после этого происходит из-за чего-то включение нагрузки с частотой 1герц(где-то раз в секунду), т.е. он нормально стабилизирует температуру от 0 до +2 (и выше) и от -1 до -3 (и ниже), а вот при задании от -1 до +1 "моргает"… Это можно как-то подправить, а то штука-то хорошая, но с такой вот "изюминкой"… Так-то я вышел из положения - выставил 0 +2, а вот с отрицательной до положительной не вышло… И еще, - при установке температуры стабилизации есть "0" и "-0", так вот при "-0" он тоже подмигивает нагрузкой… , но зато при просто "0" все работает… Возможно у 16f628 тоже как-то выставлен гистерезис с температурой стабилизации что при сложении программа уходит в цикл, только ему нужно поподробнее все это изложить… И как я понимаю, точка стабилизации "-0" это тоже чего-то значит, но что точно - я не понял… Но зато в остальном - все работает, а осталось еще немножко подправить… Если можно, конечно… Пожалуйста.... Сорри, за столь подробное описание, но возможно оно как-то поможет исправить это дело… Или это только у меня такое?
#11
Отправлено 09 фев 2012 - 15:53
У меня это устройство уже год почти в холодильнике трудится с исправленой прошивкой от rgb а какие у вас баги я не знаю! температура нормально выставляется устройсво с выдержкой в 2 градусса и я предензий не имею, единсвенное чтоб я добавил это выбор в меню инверсии нагрева или охлаждения и диапазон выдержки))
#12
Отправлено 09 фев 2012 - 18:11
Уважаемый дружище ASUS!
Я же не говорю, что устройство не работает, оно работает и хорошо работает, но ведь нужно, чтобы в нем не было мелких недоработок, чтобы оно было полностью универсальным и соответствовало заявленным параметрам…Сама идея-то очень хорошая - добавить регулируемый гистерезис и кнопку "-", по сравнению с оригиналом… Agette замечательно его модернизировал(за что ему отдельная благодарность), но остались некоторые "шероховатости", которые хорошо бы убрать… Вы вот в своем устройстве в холодильнике, какую температуру стабилизации выставили, (как на снимке - +6 градусов?)? При таком режиме оно все отрабатывает, не буду даже спорить… Если даже выставите -6 с гистерезисом 2 - то тоже все хорошо будет работать… Математика-то одна и та же… А вот когда через "0" переход есть, там есть некоторые ньансы, которые нужно описывать отдельно в программе… Вы вот попробуйте (просто в качестве эксперимента) выставить такую температуру, чтобы с выставленным гистерезисом она от +1 до -1 поддерживалась… После этого здесь напишите, как у Вас термостат себя ведет…Хотя, на охлаждение она может себя по-другому вести… Может, прошивка от RGB учитывает этот ньюанс? И тогда мы обсудим это....Но мне нужна прошивка на нагрев… Мне пока не с чем провести эксперимент, сделанный термостат стоит на даче, и хорошо справляется с задачей, поддерживая от 0 до +2, а новую печатку я еще не сделал, на выходных сделаю, тогда смогу оттестировать что-то… Ваша идея тоже заслуживает внимания, допустим, нажимаем одновременно две кнопки "Температура" и "Гистерезис" и выставляем "+"-сом нагрев или охлаждение… Как вариант? На мой взгляд - замечательный…Думаю, описать это в программе не очень сложно… Одна проблема - тяжело найти и заинтересовать хорошего программиста… А я пока еще, извините, не научился ассемблеру… Если бы умел, с удовольствием поправил бы.... А вот товарищ Nusik, похоже, озадачился проблемой модернизации дистиляторного аппарата… Диапазон 73 - 84 замечательно подходит, 73 - готовься, а на 84 - чтобы не захлебнулся и все уже кончилось… Тоже неплохо…
Я же не говорю, что устройство не работает, оно работает и хорошо работает, но ведь нужно, чтобы в нем не было мелких недоработок, чтобы оно было полностью универсальным и соответствовало заявленным параметрам…Сама идея-то очень хорошая - добавить регулируемый гистерезис и кнопку "-", по сравнению с оригиналом… Agette замечательно его модернизировал(за что ему отдельная благодарность), но остались некоторые "шероховатости", которые хорошо бы убрать… Вы вот в своем устройстве в холодильнике, какую температуру стабилизации выставили, (как на снимке - +6 градусов?)? При таком режиме оно все отрабатывает, не буду даже спорить… Если даже выставите -6 с гистерезисом 2 - то тоже все хорошо будет работать… Математика-то одна и та же… А вот когда через "0" переход есть, там есть некоторые ньансы, которые нужно описывать отдельно в программе… Вы вот попробуйте (просто в качестве эксперимента) выставить такую температуру, чтобы с выставленным гистерезисом она от +1 до -1 поддерживалась… После этого здесь напишите, как у Вас термостат себя ведет…Хотя, на охлаждение она может себя по-другому вести… Может, прошивка от RGB учитывает этот ньюанс? И тогда мы обсудим это....Но мне нужна прошивка на нагрев… Мне пока не с чем провести эксперимент, сделанный термостат стоит на даче, и хорошо справляется с задачей, поддерживая от 0 до +2, а новую печатку я еще не сделал, на выходных сделаю, тогда смогу оттестировать что-то… Ваша идея тоже заслуживает внимания, допустим, нажимаем одновременно две кнопки "Температура" и "Гистерезис" и выставляем "+"-сом нагрев или охлаждение… Как вариант? На мой взгляд - замечательный…Думаю, описать это в программе не очень сложно… Одна проблема - тяжело найти и заинтересовать хорошего программиста… А я пока еще, извините, не научился ассемблеру… Если бы умел, с удовольствием поправил бы.... А вот товарищ Nusik, похоже, озадачился проблемой модернизации дистиляторного аппарата… Диапазон 73 - 84 замечательно подходит, 73 - готовься, а на 84 - чтобы не захлебнулся и все уже кончилось… Тоже неплохо…
#13
Отправлено 10 фев 2012 - 23:26
Хоть уверился окончательно теперь, что косяк не в моей сборке. Хотя 4 раза подряд я ошибиться не мог )))Возможно у 16f628 тоже как-то выставлен гистерезис с температурой стабилизации что при сложении программа уходит в цикл, только ему нужно поподробнее все это изложить…
Я на тиньке 2313 собрал очередной термостат, и забыл про всё Не взлетело у меня на пике, что ж тут… Хорошо, что не у всех возникают проблемы.
#14
Отправлено 11 фев 2012 - 08:47
Что-то Agette не появляется и не отвечает, пропал куда-то…
To 16f628
Попробуйте оттестируйте свой термостат на тиньке в диапазоне +1 -1 или +2 -2 (с переходом через 0) и отпишитесь здесь.... Мне просто интересно, нормально будет работать?
To 16f628
Попробуйте оттестируйте свой термостат на тиньке в диапазоне +1 -1 или +2 -2 (с переходом через 0) и отпишитесь здесь.... Мне просто интересно, нормально будет работать?
#15
Отправлено 11 фев 2012 - 16:03
Доброго времени! Уважаемый Zozulataras, у меня на данный момент мало времени, исправить можно всё постараюсь помочь если есть время и возможность попробуйте протестировать исходные прошивки без доработок с двумя кнопками. Математику сравнения чисел я не трогал но бывает влияют изменения других блоков, если протестируете исходные прошивки мне будет проще исправить ошбку.
#16
Отправлено 11 фев 2012 - 16:43
16f628
Может у Вас чтото с программатором, у меня их три и самый безупречный PICkit 2.
Один из них например не реагирует на страку конфигурации то есть не прошивает конфигурацию если не выставить галочки кагбудто строки в программе нет.
Я лично собрал пять образцов данного изделия 3 - 16f628 и 2 - 16f84 все заработали сразу.
Может у Вас чтото с программатором, у меня их три и самый безупречный PICkit 2.
Один из них например не реагирует на страку конфигурации то есть не прошивает конфигурацию если не выставить галочки кагбудто строки в программе нет.
Я лично собрал пять образцов данного изделия 3 - 16f628 и 2 - 16f84 все заработали сразу.
#17
Отправлено 11 фев 2012 - 19:49
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" в ней изначально не работала… Нет ничего идеального, есть новое поле деятельности… Нужно корректировать…На досуге подумаю об алгоритме, если что придумаю, - напишу…
Вот только что собрал еще одну печатку терморегулятора на 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
Отправлено 13 фев 2012 - 00:05
Ок, протестирую через ноль, как только выберу минуткуTo 16f628
Попробуйте оттестируйте свой термостат на тиньке в диапазоне +1 -1 или +2 -2 (с переходом через 0) и отпишитесь здесь.... Мне просто интересно, нормально будет работать?
#19
Отправлено 13 фев 2012 - 00:14
Может и программатор виноват… ЭкстраПик у меня.16f628
Может у Вас чтото с программатором, у меня их три и самый безупречный PICkit 2.
Один из них например не реагирует на страку конфигурации то есть не прошивает конфигурацию если не выставить галочки кагбудто строки в программе нет.
Я лично собрал пять образцов данного изделия 3 - 16f628 и 2 - 16f84 все заработали сразу.
#20
Отправлено 13 фев 2012 - 05:50
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? Хотя, в принципе, можно вычитать что угодно, хоть сотню....Ну, думаю, что Вы меня поняли, что я хотел сказать… :-) Ну, как, сможем подправить?
Посмотрел текст программы, и, кажется, понял, в чем проблема.... В программе положительная температура считается прямым ходом от 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? Хотя, в принципе, можно вычитать что угодно, хоть сотню....Ну, думаю, что Вы меня поняли, что я хотел сказать… :-) Ну, как, сможем подправить?