При установке температуры показания иногда проскакивают через одну цифру: 11-12-13-15-16-17-18-20-21-22-24...
Прогнал несколько раз туда-обратно. Ничего подобного не наблюдал. В роли кнопок у меня выступают провода, которыми я касаюсь выводов, так что моя проверка та еще. Может надо изменить время длинных и коротких нажатий?
Соник писал(а):
При включении на индикаторе 0,0 и горит красный светодиод. В следующий момент на индикаторе 85,0 и вдобавок к красному загорается зелёный светодиод, далее температура на индикаторе высвечиваются, горят оба светодиода (через несколько включений/отключений мне удалось поймать момент когда горит только красный светодиод и всё вроде бы работает как надо, но светодиоды ведут себя как хотят).
Тоже такого не наблюдаю. При включении, пока не произошел замер температуры на индикаторе 0,0. Если задание выше - включается красный светодиод. Если ниже - зеленый. Затем первое считанное с индикатора значение 85,0 - это особенность датчика. Светодиоды реагируют соответственно. Следующие показания уже реально измеренная температура. Ну и светодиоды вслед за ней. Погонял вверх-вниз - все правильно. Диоды ни разу не зажигались одновременно. Красному запрещено зажигаться первую секунду. Зеленый я добавлял позже и о его судьбе в момент включения не подумал. Но после замера реальной температуры (третьи показания) оба ведут себя адекватно. Зеленый - всего лишь инверсия красного. Своего алгоритма у него нет. На начальном этапе, при включении питания, я так понимаю, надо сделать так, чтобы оба были выключены?
Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Добавлено: Чт ноя 25, 2010 20:51:16
Модератор
Карма: 90
Рейтинг сообщений: 1443
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4609 Откуда: Планета Земля
Рейтинг сообщения:1 Медали: 1
Цитата:
или у PIC16F628A на такое уже не хватает ножек/ресурсов?
Скорее ножек чем ресурсов.
Цитата:
Если у Вас есть готовый проект - выкладывайте, человек ждет.
Выкладываю. В архиве проект, файл протеса и исходный код. Исходник не прокоментирован, будут вопросы - задавайте. Алгоритм: Жмём кнопку сет, мигает нижняя граница уставки. Кнопками + и - выставляем её. Долгое нажатие - начинает изменяться быстро. Жмём кнопку сет. Нижняя граница сохраняется и начинает мигать верхняя граница. Меняем её так же кнопками + и - Жмём сет, параметр сохраняется и выходим в режим показа температуры. Диапазон между нижней границей и верхней - есть гистерезис. Т.е. при нижней включается нагреватель, при верхней включается кулер. Между ними оба выхода выключены. Вот как то так...
Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Добавлено: Чт ноя 25, 2010 20:58:29
Друг Кота
Карма: 48
Рейтинг сообщений: 103
Зарегистрирован: Пн мар 22, 2010 11:01:14 Сообщений: 7531 Откуда: СССР, г. Москва.
Рейтинг сообщения:0
Soir писал(а):
При включении, пока не произошел замер температуры на индикаторе 0,0. Если задание выше - включается красный светодиод. Если ниже - зеленый. Затем первое считанное с индикатора значение 85,0 - это особенность датчика. Светодиоды реагируют соответственно. Следующие показания уже реально измеренная температура. Ну и светодиоды вслед за ней. Погонял вверх-вниз - все правильно. Диоды ни разу не зажигались одновременно.
Извиняюсь... Прошил второй МК, включил - всё правильно... Диоды горят порознь... Кажется я подпалил порты первого МК пока мы тут активно тестировали прошивки
ПС: нужно сделать чтобы после подачи питания сначала устанавливалась реальная температура, а потом уже МК принимал решении о включении нагрева либо охлаждения либо ничего не включал. А то с такими перемигиваниями светодиодов и вправду погорит всё.
Аlex, сейчас начну просматривать Вашу прошивку.
Обновление: у Вас в папке 31 файл, какой предназначен для программирования? "termonetr.hex"?
_________________ Я рожден при социализме, и я этим горжусь!
Тогда между делом спрошу: можно на один МК повесить два датчика и два индикатора (каждый индикатор отображает температуру своего датчика) или у PIC16F628A на такое уже не хватает ножек/ресурсов?
У меня работает термометр с четырьма датчиками и одним индикатором. (Облепил газовый котел датчиками по всем входам и выходам воды.) Переключение кнопками. Для того, чтобы на все хватило ножек, для вывода данных на индикаторы используется дополнительная микросхема - регистр сдвига. Уже не помню какой именно, надо порыться в архивах.
Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Добавлено: Чт ноя 25, 2010 21:41:33
Друг Кота
Карма: 48
Рейтинг сообщений: 103
Зарегистрирован: Пн мар 22, 2010 11:01:14 Сообщений: 7531 Откуда: СССР, г. Москва.
Рейтинг сообщения:0
Soir писал(а):
У меня работает термометр с четырьма датчиками и одним индикатором. (Облепил газовый котел датчиками по всем входам и выходам воды.) Переключение кнопками. Для того, чтобы на все хватило ножек, для вывода данных на индикаторы используется дополнительная микросхема - регистр сдвига. Уже не помню какой именно, надо порыться в архивах.
Вот это очень интересное устройство... если будет не меньше двух датчиков, не меньше двух инликаторов к ним и один МК
Аlex писал(а):
Цитата:
В памяти не сохраняются значения установленных температур после отключения/включения питания.
Да, есть такой косяк. Сорри, исправимся А с остальным как ? Всё нормально ?
Вроде да. Я за вами обоими не успеваю У меня ж один МК, только успеваю прошивать, менять и тестировать Ещё по-моему выводы нагрева и охлаждения перепутаны местами.
Подскажите по исполнительному устройству. Такое я поставил и на нагрев и на охлаждение. R2=1 кОм. download/file.php?id=48825 Сажаешь базовый резистор на "+" 5 В - реле срабатывает. Сажаешь на землю - тоже срабатывает. Красный светодиод гаснет, а реле остаётся включённым, потому что на 16 ноге присутствует +5,1В А зелёный светодиод гаснет - реле отключаются, на его 3 ножке +3,6В.
_________________ Я рожден при социализме, и я этим горжусь!
Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Добавлено: Пт ноя 26, 2010 07:46:13
Электрический кот
Карма: 10
Рейтинг сообщений: 22
Зарегистрирован: Чт ноя 25, 2010 16:58:42 Сообщений: 1056 Откуда: Средний Урал
Рейтинг сообщения:0
Здравствуйте всем! Собрал схему на PIC16F84, понравилось, правда пришлось инвертировать сигналы на индикатор, у нас с общим анодом проблемы. Можно ли переделать прошивку под общие катоды? а то я в этом профан...
Здравствуйте всем! Собрал схему на PIC16F84, понравилось, правда пришлось инвертировать сигналы на индикатор, у нас с общим анодом проблемы. Можно ли переделать прошивку под общие катоды? а то я в этом профан...
Какую именно прошивку? Их тут две, моя и Аlex. Если у Вас есть своя - давайте исходник. Моя кстати существует в двух вариантах ОА и ОК. Дома индикатор оказался в наличии только ОК и для проверки работоспособности прошивки пришлось параллельно делать и для него.
Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Добавлено: Пт ноя 26, 2010 10:30:13
Друг Кота
Карма: 48
Рейтинг сообщений: 103
Зарегистрирован: Пн мар 22, 2010 11:01:14 Сообщений: 7531 Откуда: СССР, г. Москва.
Рейтинг сообщения:0
А вам не кажется что в работе термостата что-то не так? Я вот сегодня ночью подумал, получается у нас как только отключается нагрев (предположим +22,5*) - сразу включается охлаждение (пусть 22,6*), температура снижается до предположим +22,0* - включается нагрев. И так бесконечно, либо греет, либо охлаждает. ----------
Я думаю необходимо установить некий температурный промежуток (похож на гистерезис), который будет считаться нормальной температурой (синий цвет). Нагреватель нагревает до +20*к примеру - отключается. Температура упала вниз - снова включается и греет. Перегрев свыше +25* к примеру - включается охлаждение. Температура падает до +24,5* - охлаждение отключается.
А вам не кажется что в работе термостата что-то не так?
Аlex, как я понял, так и сделал. Я ориентировался на первоначальное задание. Там охлаждения не было. Потом, насколько помню, Вы просили сделать инверсный выход. Что у Вас за устройство, в котором нужно поддерживать температуру сначала нагревая, а потом охлаждая? Сформулируйте более четко задачу, прошивку поправить не трудно.
Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Добавлено: Пт ноя 26, 2010 12:42:12
Модератор
Карма: 90
Рейтинг сообщений: 1443
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4609 Откуда: Планета Земля
Рейтинг сообщения:1 Медали: 1
Соник, я так тебе и делал. Цитата из моего поста :
Цитата:
Диапазон между нижней границей и верхней - есть гистерезис. Т.е. при нижней включается нагреватель, при верхней включается кулер. Между ними оба выхода выключены.
Только правильнее будет не гистерезис, а всётаки наверное "зона нечувствительности".
Косяк с сохранением параметров исправил, пользуйтесь на здоровье
Заголовок сообщения: Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Добавлено: Пт ноя 26, 2010 12:59:01
Друг Кота
Карма: 48
Рейтинг сообщений: 103
Зарегистрирован: Пн мар 22, 2010 11:01:14 Сообщений: 7531 Откуда: СССР, г. Москва.
Рейтинг сообщения:0
Аlex писал(а):
Соник, я так тебе и делал. Цитата из моего поста :
Цитата:
Диапазон между нижней границей и верхней - есть гистерезис. Т.е. при нижней включается нагреватель, при верхней включается кулер. Между ними оба выхода выключены.
Только правильнее будет не гистерезис, а всётаки наверное "зона нечувствительности".
Да-да. Как раз Ваш метод выставления температуры и натолкнул меня на мой пост с рисунками и ночными раздумиями Сейчас посмотрю.
_________________ Я рожден при социализме, и я этим горжусь!
...при нижней включается нагреватель, при верхней включается кулер. Между ними оба выхода выключены.
В таком случае все равно нужен гистерезис, или как там правильнее назвать. В Вашем проекте при колебании температуры в районе установленного значения (даже в пределах погрешности), будет происходить постоянное включение/выключение нагревателя (охладителя). Например, установленная нижняя +20,0, при +20,0 включается нагреватель, при +20,1 (а то и ниже) выключается. Разница между температурой включения и выключения должна регулироваться. Если я правильно понял Соник. Да, кстати, Соник, я Вас с Аlex не путаю. Если сказать другими словами, я написал, что такой вариант разработал Аlex. Чтобы добавить полезности в свое сообщение - во вложении прошивка. Отличие от предыдущей: при включении, пока нет данных о температуре на индикаторах прочерки, светодиоды погашены. В случае, если будет ошибка обнаружения датчика во время работы устройства (обрыв, повреждение...) на индикаторах тоже будут прочерки, а светодиоды погашены. Ну или можно прописать другое поведение светодиодов при отсутствии датчика.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения