Терморегулятор на микроконтроллере PIC16F84 датчикe DS18B20

Поклонники продукции Microchip Technology Inc тусуются тут.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

bratt писал(а):Еще одна особеность, когда температура окружающей среды до 25 град, все нормально, а когда температура 25 град. и выше мигает средний разряд с точкой только с того датчика, на котором было превышение,показания второго датчика не мигают.
Странно. Прошелся по прошивке - ничего не обнаружил. На всякий случай кое-что поменял, не принципиальное, проверьте. Вечером сам проверю на макете.
И, для сужения круга поиска, поменял разряды местами, младший и средний. Это только для проверки, если есть такая возможность. Файл Termometr_test.hex

19.12.2011
Удалил тестовые прошивки, все работает штатно, проверил практически. Указанных глюков не наблюдается.
Рабочая версия прошивки находится здесь
Последний раз редактировалось Soir Пн дек 19, 2011 21:11:25, всего редактировалось 1 раз.
Реклама
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

kuchar писал(а):Да,я размечтался о двух отдельных индикаторах-каждый для своего канала...
Я набросал схему, посмотрите. Прежде чем писать программу, нужно все уточнить, чтоб потом не переделывать.
На схеме не показаны транзисторные ключи. Здесь подразумевается, что это будут эмиттерные повторители на n-p-n транзисторах. Индикаторы ОА.
Вложения
Termo.zip
(23.16 КБ) 264 скачивания
Реклама
bratt
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс дек 11, 2011 00:10:46

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение bratt »

Soir писал(а):
bratt писал(а):Еще одна особеность, когда температура окружающей среды до 25 град, все нормально, а когда температура 25 град. и выше мигает средний разряд с точкой только с того датчика, на котором было превышение,показания второго датчика не мигают.
Странно. Прошелся по прошивке - ничего не обнаружил. На всякий случай кое-что поменял, не принципиальное, проверьте. Вечером сам проверю на макете.
И, для сужения круга поиска, поменял разряды местами, младший и средний. Это только для проверки, если есть такая возможность. Файл Termometr_test.hex

Попробовал перепрошить PIC, результат тот-же, до 25 град. не мигает, после 25 град. мигает отображение температуры по обоим каналам средний разряд. Пробовал прошивку TEST с учетом переброски разрядов, то мигать начало с 27 град.. Прошиваю программой icprog (шил этой программой и другие микросхемы для других устройств с другими прошивками проблем небыло). В чем проблема, не знаю, подскажите.
Последний раз редактировалось bratt Пн дек 19, 2011 17:13:42, всего редактировалось 1 раз.
kuchar
Встал на лапы
Сообщения: 87
Зарегистрирован: Вс апр 10, 2011 08:17:13

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение kuchar »

Soir,По схеме все понятно,сегодня же вытравлю плату и буду ждать программу.
Реклама
Эиком - электронные компоненты и радиодетали
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

kuchar писал(а):Soir,По схеме все понятно,сегодня же вытравлю плату и буду ждать программу.
Не надо так спешить. Скоро Новый год, могу сорваться... Шучу.
Рисовал, не начав писать прошивку. Когда будет хоть какая-то, нулевая версия прошивки, тогда можно будет говорить о плате. Что-то еще может измениться, может что-не учел, или не будет получаться...
Реклама
kuchar
Встал на лапы
Сообщения: 87
Зарегистрирован: Вс апр 10, 2011 08:17:13

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение kuchar »

Soir,я думаю,что эта базовая схема если и изменится ,то не коренным образом и я Вас даже не думал торопить,тем более Новый Год на носу,а период инкубации тем более не скоро.Просто я живу в глубинке и постоянного доступа в инет не имею,поэтому пользуюсь случаем...Спасибо,что потакаете нашим прихотям,но если не Вы,то кто?Буду ждать.
Реклама
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

bratt писал(а):Попробовал перепрошить PIC, результат тот-же, до 25 град. не мигает, после 25 град. мигает отображение температуры по обоим каналам средний разряд. Пробовал прошивку TEST с учетом переброски разрядов, то мигать начало с 27 град.. Прошиваю программой icprog (шил этой программой и другие микросхемы для других устройств с другими прошивками проблем небыло).
Проверил на макетке - ничего не мигает. Проверил оба канала, правда один датчик на улице, поэтому проверял по нему срабатывание при температуре около 0. Второй датчик грел до 60 и охлаждал, выход включается и отключается, все работает штатно.
bratt писал(а):В чем проблема, не знаю, подскажите.
Если одна и та же прошивка у меня работает, а Вас нет, то вывод следующий: ошибки при монтаже или неисправность элементов. Могут быть проблемы с питанием, проверьте источник +5V, добавьте конденсаторов. Попробуйте без реле, иногда они дают помехи при срабатывании...
Если с прошивкой TEST мигает все равно средний разряд, то вывод тот же, что и в предыдущем абзаце. Попробуйте поменять разряды в железе, путем разреза дорожек и установки перемычек...
Ну и еще, как я понял, собрать сей девайс собирается an_muz. Тогда получим окончательный ответ, где собака порылась...
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение tbogdan »

Soir писал(а):
tbogdan писал(а):...может попробовать сделать так чтоб расчет текущего задания (SP), рассчитывался не раз в 1 мин.
а привязать к периоду коррекции мощности (d=1-240) , то есть, задал 1 сек. перерасчет ведется раз в сек. и так далее.
Изменил, только проект как-то растянут во времени, я уже не отслеживаю целиком весь алгоритм. Даже не соображу, как это повлияет на работу устройства. Проверьте, что получилось.
кто о чем, а я о своем! Снова регулятор на ATmega8.
Soir последняя прошивка от 17 дек. (стр.58), где я просил об изменении алгоритма не рабочая.
Сначала начинает работать, а через несколько замеров и коррекции мощности, SP выходит за всякие разумные пределы (1000-1850). вкл. макс. мощность и все.
Прошивка от 16 дек. (стр.57) регулирует с большим отклонение от задания.
Записал график изменения напряжения на входе АЦП
Изображение
SP рассчитывается как-то не так, например Р1 длительность 1 час осталось до завершения 36 мин. текущая 250 градусов, SP 299 градусов, мощность 60%. Через две минуты текущая 280, SP 301, мощность 20%.
Во такие колебания. :(
Как только появится возможность, прошу посмотрите!
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

tbogdan писал(а):Soir последняя прошивка от 17 дек. (стр.58), где я просил об изменении алгоритма не рабочая.
Сначала начинает работать, а через несколько замеров и коррекции мощности, SP выходит за всякие разумные пределы (1000-1850). вкл. макс. мощность и все.
Этого и следовало ожидать. Надо менять алгоритм или чаще делать вычисления, но не связывать SP и d.
tbogdan писал(а):Прошивка от 16 дек. (стр.57) регулирует с большим отклонение от задания...
SP рассчитывается как-то не так, например Р1 длительность 1 час осталось до завершения 36 мин. текущая 250 градусов, SP 299 градусов, мощность 60%. Через две минуты текущая 280, SP 301, мощность 20%....
А какое при этом задание для P1, время коррекции? Как на тренде?
Я правильно понял, расчет ведется согласно заявленному алгоритму, но не устраивают временнЫе параметры?
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение tbogdan »

Soir писал(а): А какое при этом задание для P1, время коррекции? Как на тренде?
Я правильно понял, расчет ведется согласно заявленному алгоритму, но не устраивают временнЫе параметры?
Параметры как на диаграмме, смущает расчетная (SP) выше установленной (250) и продолжает увеличивается
Пример
Р1 длительность 1 час осталось до завершения 36 мин. текущая 250 градусов, SP 299 градусов, мощность 60%. Через две минуты текущая 280, SP 301, мощность 20%....
достигает какого-то предела а потом отключает мощность до нуля
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

tbogdan писал(а):Параметры как на диаграмме, смущает расчетная (SP) выше установленной (250) и продолжает увеличивается
Теперь понял о чем речь.
Установил ограничение. Теперь расчетная не будет выше установленной.
Проверка за Вами.
Вложения
Termo_ATMega8.zip
(4.23 КБ) 183 скачивания
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

kuchar писал(а):Soir,я думаю,что эта базовая схема если и изменится ,то не коренным образом...
Начал писать программу. В принципе схема действительно меняться не будет. Если сможете, нарисуйте полную схему, с транзисторнымы ключами, пищалку, в зависимости от ее тока потребления, тоже через ключ... Покажете ее мне и можно будет делать плату. Если не сможете сами, чуть позже нарисую сам.
bratt
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс дек 11, 2011 00:10:46

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение bratt »

Для Soir

У меня просьба, можно в прошивке по схеме Termometr_v10_CA изменить управляющий сигнал на выводе 16 на противоположный (сделать управляющий "0" ), на 15 выводе оставить без изменения.
Заранее благодарю.
P.S. средний разряд продолжает мигать по прежнему, уже все перепробовал, после 25град. до 27 град. мигает вместе с точкой в среднем разряде, до 25 град. и при 27,0-27,9нет
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

bratt писал(а):...в прошивке по схеме Termometr_v10_CA изменить управляющий сигнал на выводе 16 на противоположный (сделать управляющий "0" ), на 15 выводе оставить без изменения.
Изменил.
bratt писал(а):P.S. средний разряд продолжает мигать по прежнему, уже все перепробовал, после 25град. до 27 град. мигает вместе с точкой в среднем разряде, до 25 град. и при 27,0-27,9нет
Не знаю... Ищите непропаи и замыкания. Раз глюк связан с срабатыванием нагревателя, отпаяйте вывод МК на нагреватель от платы. Или во вложении прошивка Test.hex у нее заблокированы выходы на нагреватели.
Поганяю еще дома именно в этом диапазоне... В новой прошивке увеличил частоту динамической индикации (проект развивается дальше), ну и еще кое-какие несущественные изменения, может как-то скажется.
Вложения
Termometr.zip
(6.12 КБ) 159 скачиваний
bratt
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс дек 11, 2011 00:10:46

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение bratt »

Soir писал(а):
bratt писал(а):...в прошивке по схеме Termometr_v10_CA изменить управляющий сигнал на выводе 16 на противоположный (сделать управляющий "0" ), на 15 выводе оставить без изменения.
Изменил.
bratt писал(а):P.S. средний разряд продолжает мигать по прежнему, уже все перепробовал, после 25град. до 27 град. мигает вместе с точкой в среднем разряде, до 25 град. и при 27,0-27,9нет
Не знаю... Ищите ....

Я прошу прощения, Soir, если Вас утомил, по прошивкам, можно изменить прошивку, чтобы в результате
на 15 выводе работало по прошивке Termometr_v10_CA, а 16 вывод работало по последней прошивке Termometr.zip
т.е. 15 выв - лог. "1" - установленая температура и установленый гистерезис ; лог. "0" - все остальные случаи, температура от датчика U3 по схеме
16 выв - лог. "0" установленая температура и установленый гистерезис ; лог. "1" - все остальные случаи температура от датчика U4 по схеме
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

bratt писал(а):...можно изменить прошивку, чтобы в результате
на 15 выводе работало по прошивке Termometr_v10_CA, а 16 вывод работало по последней прошивке Termometr.zip
т.е. 15 выв - лог. "1" - установленая температура и установленый гистерезис ; лог. "0" - все остальные случаи, температура от датчика U3 по схеме
16 выв - лог. "0" установленая температура и установленый гистерезис ; лог. "1" - все остальные случаи температура от датчика U4 по схеме
Ничего не понял.
Давайте с "0".
Если температура U3 больше установленной, то на выводе 15 логический 0. Если температура U3 меньше установленной на величину гистерезиса т.д...
tbogdan
Открыл глаза
Сообщения: 66
Зарегистрирован: Сб ноя 12, 2011 15:22:01
Откуда: Тернопіль

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение tbogdan »

Soir писал(а):....... чаще делать вычисления, но не связывать SP и d
Снова Termo_ATmega8, Soir прошивка (Вт дек 20, 2011 09:23:32) работает лучше,
но все таки сделать расчет SP чаще, или возможность выбирать раз в секунду, раз в минуту.
проскакивает установленную температуру, пока не пересчитает SP.
Раз в минуты подходит, наверно, для более инерционной печки.
С уважением!
bratt
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс дек 11, 2011 00:10:46

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение bratt »

Soir писал(а):
bratt писал(а):...можно изменить прошивку, чтобы в результате
на 15 выводе работало по прошивке Termometr_v10_CA, а 16 вывод работало по последней прошивке Termometr.zip
т.е. 15 выв - лог. "1" - установленая температура и установленый гистерезис ; лог. "0" - все остальные случаи, температура от датчика U3 по схеме
16 выв - лог. "0" установленая температура и установленый гистерезис ; лог. "1" - все остальные случаи температура от датчика U4 по схеме
Ничего не понял.
Давайте с "0".
Если температура U3 больше установленной, то на выводе 15 логический 0. Если температура U3 меньше установленной на величину гистерезиса т.д...
Извените, может непонятно написал, повторю:
1. Если температура U3 больше установленной, то на выводе 15 логический 0. Если температура U3 меньше установленной на величину гистерезиса, то на выводе 15 логический 0
2. Если температура U4 больше установленной, то на выводе 16 логический 1. Если температура U3 меньше установленной на величину гистерезиса, то на выводе 15 логический 0
Вроде так как-то.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение Soir »

bratt писал(а):Извените, может непонятно написал, повторю:
1. Если температура U3 больше установленной, то на выводе 15 логический 0. Если температура U3 меньше установленной на величину гистерезиса, то на выводе 15 логический 0
2. Если температура U4 больше установленной, то на выводе 16 логический 1. Если температура U3 меньше установленной на величину гистерезиса, то на выводе 15 логический 0
Вроде так как-то.
Понятнее не стало...
На выводе 15 логическая единица когда-нибудь бывает?
bratt
Первый раз сказал Мяу!
Сообщения: 24
Зарегистрирован: Вс дек 11, 2011 00:10:46

Re: Терморегулятор на микроконтроллере PIC16F84 датчикe DS18

Сообщение bratt »

Soir писал(а):
bratt писал(а):Извените, может непонятно написал, повторю:
1. Если температура ...
Вроде так как-то.
Понятнее не стало...
На выводе 15 логическая единица когда-нибудь бывает?

Извените. виноват, опечатка:
повторю:
1. Если температура U3 больше установленной, то на выводе 15 логический 0. Если температура U3 меньше установленной на величину гистерезиса, то на выводе 15 логический 1
2. Если температура U4 больше установленной, то на выводе 16 логический 1. Если температура U3 меньше установленной на величину гистерезиса, то на выводе 15 логический 0
Вроде так как-то.
Ответить

Вернуться в «PIC»