Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18
Добавлено: Ср ноя 24, 2010 06:56:58
Зависит от ток потребления реле. 1 кОм, как правило, на все случаи жизни.Соник писал(а):Сколько ставить R2?
Здесь можно немножко помяукать :)
https://radiokot.ru/forum/
Зависит от ток потребления реле. 1 кОм, как правило, на все случаи жизни.Соник писал(а):Сколько ставить R2?
Температуру показывает. Паяльником нагревал. Показания постепенно росли до максимума 125 градусов, и на них остановились. Кнопки не работают.Аlex писал(а):Соник, попробуй эту прошивку на показания.
Мерцаний не заметно. А какая частота? (Ради интереса спрашиваю)Аlex писал(а):Ты аккуратнее с паяльником. Спалишь датчик
Кнопки заработают, главное температуру показываетКак кстати, мерцания есть ?
Soir писал(а): Могу.
Вот, тестируйте. Несколько упрощенный вариант, по сравнению с исходным. Если нужно - добавлю функций, напишите каких.
Принцип работы: Один раз в секунду производится замер температуры, данные выводятся на LED индикатор. Диапазон -55 - +125 оС. Разрешающая способность 0,1 оС (не путать с погрешностью).
Установка.
При нажатии на кнопку MODE на индикатор выводится значение установленной температуры с миганием разряда десятых долей градуса. Короткие нажатия на PLUS/MINUS увеличивают/уменьшают десятые. Длинные нажатия увеличивают/уменьшают единицы градусов.
Повторное нажатие на кнопку MODE выведет на индикатор значение гистерезиса. Установка аналогичная. Диапазон от 0,1 до 50 оС. Значение 0,0 выключает нагрузку независимо от установленной температуры.
Третье нажатие - показания температуры.
Через примерно 5 сек после последнего нажатия на любую из кнопок, установленные значения записываются в EEPROM (будут считаны при следующем включении питания), а индикатор переводится в режим отображения температуры.
Схема в Proteus только для демонстрации и отладки.
Если есть вопросы или пожелания - пишите.
А 25 Гц не хватило бы?Аlex писал(а):250 Гц на каждый индикатор.
Типа того. Мне нужно знать что это устройство должно делать.Что такое алгоритм? Вот это?
Мало. Мерцание индикаторов будет заметно. Могу сделать, увидишьА 25 Гц не хватило бы?
Термостат. Измеряет температуру, выводит её на индикатор. Устанавливается температура и гистерезис. Если t ниже установленной - на 3 ноге логическая 1, на 16 ноге - логический ноль (включён обогреватель), если t выше установленной - на 16 ноге МК логическая 1, а на 3 логический 0 (включён вентилятор/холодильник).Аlex писал(а):Типа того. Мне нужно знать что это устройство должно делать.Что такое алгоритм? Вот это?
Не выявил. Работает без пропусков. Может Вы слишком быстро меняете температуру?Соник писал(а):При установке температуры показания иногда проскакивают через одну цифру: 11-12-13-15-16-17-18-20-21-22-24...
Не вижу по той причине, что на макете у меня индикатор 3-х разрядный. Какой есть. Буду выяснять.Соник писал(а):Также невесть откуда на индикаторе появляются мерцающие цифры (типа "2" в первом разряде вспыхивает и сразу гаснет).
Не надо.Соник писал(а):Наверное надо подтянуть выводы МК 3 и 16 к "+" питания?
Что-то Вы здесь напутали. 11В на базах транзисторов это может плохо закончиться для МК.Соник писал(а):Одиночные светодиоды работают как надо, а если включать их через транзистор - одновременно светятся и красный и зелёный светодиод (ну и оба реле соответственно включены). Или почему так, я не знаю точно... (не пойму, почему у меня на базах транзисторов 11В?)
Поправил прошивку, перезалил туда же.Соник писал(а):Термометр зависает. Показания индикатора вдруг застывают и больше не меняются.
"Быстро" это как?Soir писал(а):Не выявил. Работает без пропусков. Может Вы слишком быстро меняете температуру?Соник писал(а):При установке температуры показания иногда проскакивают через одну цифру: 11-12-13-15-16-17-18-20-21-22-24...
Пробую перепроверить с другими транзисторами.Soir писал(а):Что-то Вы здесь напутали. 11В на базах транзисторов это может плохо закончиться для МК.Соник писал(а):Одиночные светодиоды работают как надо, а если включать их через транзистор - одновременно светятся и красный и зелёный светодиод (ну и оба реле соответственно включены). Или почему так, я не знаю точно... (не пойму, почему у меня на базах транзисторов 11В?)
При включении на индикаторе 0,0 и горит красный светодиод. В следующий момент на индикаторе 85,0 и вдобавок к красному загорается зелёный светодиод, далее температура на индикаторе высвечиваются, горят оба светодиода (через несколько включений/отключений мне удалось поймать момент когда горит только красный светодиод и всё вроде бы работает как надо, но светодиоды ведут себя как хотят).Soir писал(а): Поправил прошивку, перезалил туда же.
Соник писал(а):именно при установке порога температуры термостата, а не при измерении и выводе на индикатор температуры.
Теперь понятно, посмотрю вечером дома.Соник писал(а):При включении на индикаторе 0,0 и горит красный светодиод. В следующий момент на индикаторе 85,0 и вдобавок к красному загорается зелёный светодиод, далее температура на индикаторе высвечиваются, горят оба светодиода (через несколько включений/отключений мне удалось поймать момент когда горит только красный светодиод и всё вроде бы работает как надо, но светодиоды ведут себя как хотят).
Посторонних цифр вроде пока не видно. Термометр вроде тоже не виснет. Паяльником два раза нагревал до 127,9 градусов (а может это просто глюк был)Soir писал(а): Двойка продолжает проскакивать? Как зависания?
Уважаемые, а может вы объедините свои усилия? К чему верёвку в разные стороны тянуть?Аlex писал(а):Давайте, ребята, доделывайте. Да я уже свою версию выложу
Привык все доделывать до конца.Аlex писал(а):У человека спортивный интерес, ему очень хочется "победить" этот девайс.
Ну что Вы. Мое "творчество" от этого нисколько не пострадает. Огорчить меня могут только вопросы, которые я не смог решить. Это может задеть мое самолюбие, но только не успехи других.Аlex писал(а):Я не хочу у него "отнимать" сие творчество, могу его очень сильно огорчить этим.
В конечном итоге, по разным причинам мы оба "работаем" на Соник. Если у Вас есть готовый проект - выкладывайте, человек ждет.Аlex писал(а):Так что просто подожду когда он доделает