Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Пн апр 22, 2013 08:48:28

Я что-то не понял, это релейный регулятор или пропорциональный? Проверял на лампе , горит в полный накал,никакой регуляции мощности нет. В чём может быть проблема?

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Пн апр 22, 2013 09:07:18

Это не проблема, а так задумано. Обычно нагреватели, в отличии от ламп, имеют достаточную инерционность нагрева и при большой мощности приличные токи включения. Поэтому для снижения помех фазовый способ управления симистором не применим (да и оптопара включает только при переходе через ноль). Пропорциональная регулировка осуществляется за счет соотношения времени включенного состояния к отключенному в течении 1 секунды с дискретностью 10. Таким образом мощность может быть 10% 20% и т.д. с количеством полных полупериодов в нагрузке соответственно 5, 10, 15 .... 50 (максимальная мощность). При испытаниях такой способ дал вполне удовлетворительные результаты.

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Вт апр 23, 2013 08:43:11

Хатуль_мадан, я не говорил о фазовой регулировке нагревателя. Если мощность нагревателя регулируется количеством пропусков периодов, то лампа должна мигать, но она шпарит на полную мощность. При достижении установленной температуры происходит отключение. Гистерезис установлен. В общем работает как обычный позиционный регулятор.

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Вт апр 23, 2013 10:24:46

Так если она не мигает в диапазоне гистерезиса, то значит не включен режим пропорционального регулирования, или задан нулевой гистерезис. Мигание будет, если температура уже достигла Tust-dT/2 или еще не превысила Tust+dT/2. При температуре менее Tust-dT/2 нагреватель включен всегда, при превышении Tust+dT/2 нагреватель всегда выключен, а при dT=0 можно догадаться, как будет вести себя схема :)
По любому, лучше прочитать файлик описания к регулятору, или попробовать в протеусе поэкспериментировать (модели выкладывались)...

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Вт апр 23, 2013 10:35:16

лучше прочитать файлик описания к регулятору
читал.
в протеусе поэкспериментировать
В протеусе играл.
Гистерезис не нулевой, режим пропорционального регулирования включён.

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Чт апр 25, 2013 07:33:28

Хатуль_мадан, вопрос решён. Было подозрение на микроконтроллер , при прошивке пришлось несколько раз перепрошивать, до этого его использовал во многих поделках. Заменил контроллер , всё работает. Чертовщина какая-то, ну да и ладно. :))
Теперь буду гонять на реальном объекте.
PS: Вот если бы взять этот регулятор и на его основе разработать ПИД-регулятор..... :)

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Пн май 06, 2013 18:04:29

Уважаемый Хатуль_мадан
Повторил "в железе" Вашу конструкцию из первого сообщения данной темы. Схему немного перерисовал "под себя" и под имеющиеся компоненты (см. вложение). Прошивка Ваша, EEPROM не менял.
Заработало (на столе) сразу. Но есть несколько вопросиков:
- нечётко работают кнопки; в принципе один раз выставил и забыл, но как-то неуютно, что ли, нельзя ли подправить програмку?
- сегменты индикатора раз в секунду подмигивают (в момент измерения?); немного раздражает - нельзя никак убрать эти заметные мигания?
- при включении питания на 1 секунду включается нагрузка (пока стоит лампа - вспыхивает и гаснет); не будет ли проблем с компрессором холодильника?
- пару раз наблюдал срыв работы устройства - показания температуры начинали быстро мигать и уменьшаться до минус 55 градусов (минимальный уровень DS18B20?), регулировка не работала; поэтому решил убрать резистор 91ом из цепи питания DS18B20 - вроде пока "полёт нормальный"; правильно сделал и что-то ещё попробовать?
В остальном - всё (пока) работает как в Вашем кратком описании... Спасибо за полезную вещь (как раз сломался механический термостат в холодильнике - хочу заменить).
Вложения
Термостат холодильника.pdf
(89.68 KiB) Скачиваний: 642

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Пн май 06, 2013 19:52:56

В том же порядке:
1. Кнопки на моем регуляторе работают нормально, опрос в прерываниях инидкации, дребезга нет. Попробуйте проверить сами кнопки.
2. С подмигиванием боролся, но не победил. Динамическая индикация вызывается чаще, чем требуемое время опроса датчика, запрещаются прерывания, поэтому моргает.
3. Проблему при включении как-то не замечал, хотя возможно она и есть. Для холодильника уже выкладывал специальную доработанную прошивку.
4. Описанный срыв в работе ни разу не замечал, да он и невозможен. Датчик цифровой, поэтому показания или есть, или индикация ошибки, плавать до -55 температура не может. Скорее всего, так проявилась неисправность самого датчика. Регулятор только принимает из него преобразованную температуру и выводит на индикацию с контролем порогов срабатывания реле.
Если регулятор не универсальный, а только для холодильника, то лучше перепрошить МК спец. прошивкой с первой страницы. Там есть установки максимальных интервалов работы компрессора, паузы в работе и т.п.

PS(7.05.2013):
После фразы "пару раз наблюдал срыв работы устройства - показания температуры начинали быстро мигать и уменьшаться до минус 55 градусов (минимальный уровень DS18B20?), регулировка не работала" только сейчас понял возможную проблему. Раз индикатор начал мигать, значит включилась установка температуры, а т.к. она стала уменьшаться, то значит нажата (замкнута) кнопка минус, установленная температура падает до минимально возможного предела -55, при этом никакие регулировки не должны работать, пока не будут записаны новые установки. Выход (с записью в память) из этого режима только при отжатых (всех) кнопках более 5 сек.
Проверьте еще раз качество кнопок, или замените другой кнопку "-". Возможно она механически как-то застревает в корпусе, или утечки внутри ее, или др. проблема. Если случайно и бесконтрольно повторится такой случай, то появится возможность "загнать" установку температуры в самый минимум, потом она может сохранится в памяти, тогда терморегулятор не уследит за температурой со всеми вытекающими последствиями. Можно конечно попробовать опрашивать кнопки только в первые секунды после включения питания, потом блокировать опрос, но тогда тоже теряется некоторая универсальность. Сообщите результат, как проверите, может еще что подумаем...
Выходит резистор в цепи питания датчика не виноват :)
Последний раз редактировалось Хатуль_мадан Вт май 07, 2013 11:11:12, всего редактировалось 1 раз.

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Вт май 07, 2013 11:03:36

Спасибо за ответ. Всё ясно. Прошивка использована именно специальная для холодильника. Все временные параметры (время паузы 2мин, время работы 36мин, время отдыха 18мин выдерживаются).
Вероятно, проблема с кнопками, проверю. Удачи!

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Вт май 07, 2013 14:42:40

Lavr12
Если можно,выложите Ваш вариант платы.

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Ср май 08, 2013 09:27:51

den2
Плату не рисовал. Сделал всё (как обычно) на печатной макетной плате.

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Ср ноя 27, 2013 13:15:07

Уважаемый автор!

Не могли бы подправить прошивку под PIC16F84, а то валяется их куча. Не хочется покупать специально PIC16F84A.

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Ср ноя 27, 2013 13:38:16

Не надо покупать. Для этой схема оба подходят.

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Ср ноя 27, 2013 14:53:21

А есть в чем-то разница прошивок для PIC16F84 и PIC16F84A? Я думал они одинаковы. Отличаются, например, только PIC16F876 и PIC16F876A наличием/отсутствием компараторов.

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Ср ноя 27, 2013 15:47:17

Я не могу утверждать точно, но в MPLAB есть два файла P16F84.inc и P16F84A.inc.


Просмотрел сейчас эти файлы.
В файл PIC16F84A.inc добавлена вот эта строка:

;----- DEVID Equates ----------
_DEVID1 EQU H'2006'

Остальное все одинаково.

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Пн дек 02, 2013 13:18:41

Собрал регулятор, прошивка " DS18B20_LCD-OA_PIC16F84A.hex ", мк PIC16LF84, при включении по 2 сек., "25.0", "d 0.4", "ПOFF", "uOFF" и потом часто (примерно 0,5сек)моргает тоже самое. При отключенном датчике по 2 сек., "25.0", "d 0.4", "ПOFF", "uOFF", " ERR" и опять моргает. На кнопки никак не реагирует с датчиком и без.
Что может быть и в каком направлении рыть?

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Пн дек 02, 2013 13:40:26

Разобрался.
Когда писал про кнопки, проскочила мысль, а правильно я их запаял. Проверил, точно ошибся. Надо быть повнимательней.

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Пт апр 18, 2014 09:38:34

Всем марта и сметаны :)))

а есть варианты на несколько точек контроля

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Сб янв 03, 2015 21:14:44

Здравствуйте! Ребят подскажите пожалуйста как настроить winpic800 (ну там фьюзы и всякая другая лабудень)!? Боюсь испортить микроконтроллер а описание программы очень скудные!

Re: Терморегулятор на микроконтроллере PIC16Fxx и DS18B20

Вт июн 16, 2015 02:19:35

Приветствую уважаемое собрание.
Круговорот схем в природе:)
На forum.cxem.net/index.php?showtopic=100569&st=0 еще в 2012 году выложили схему терморегулятора на pic16f628 и 18b20. Как писал топик стартер, схема и прошивка из большой темы "Терморегулятор на микроконтроллере PIC16F84 датчикe DS18B20" Приводил ссылку, но что-то того сообщения уже не находит.
Описание работы.
1. Температура меряется 1 раз в секунду, выводится на индикатор. Формат отображения: десятки, единицы, десятые. Для температуры больше +99,9 оС сотни, десятки, единицы. Для температуры меньше -9,9 оС десятки, единицы.
2. Гистерезис односторонний. То есть если выставлена температура 40,0 оС, а гистерезис 5,0 оС, то в режиме нагреватель включится при 35,0 оС, а выключится при 40,0 оС.
3. Нажатием на кнопку MODE индикатор переводится по кругу на отображение: – текущая температура. – установленная температура выключения нагревателя, мигает точка во втором разряде; – гистерезис, мигает точка в младшем разряде; – текущая температура.
5. Кнопки PLUS/MINUS работают по короткому и длинному нажатию.(пошаговая или быстрая смена чисел)
6. Пределы установки температуры 0 ÷ +99,9 оС.
7. Пределы установки гистерезиса 0,1 ÷ 50,0 оС.
8. По истечении 6 сек от последнего нажатия на кнопки, индикатор переходит в режим отображения текущей температуры. Если были произведены какие-либо изменения, они запишутся в память.
9. При сбое в работе датчика нагрузка выключается.
В архиве всё необходимое.


Но вопрос в другом. Почему-то эта схема нормально работает только у топистартера. Правда, потом еще у пары человек заработала. У остальных же проблемы одинаковые -
все три кнопки работают как "mode"Но если кнопка "mode" работает так как, ей положено, то "+" работает как "mode" и "+" , а "-"- - как "mode" и "-". При этом меняются значения как выставленной температуры , так и гистерезиса....
Народ шил разными программаторами .
Собрал и я этот девайс (подкупил односторонним гистерезисом - если выставлено 30 градусов и гистерезис 2 - то нагреватель включит при 28, а выключит при 30).
Развел свою плату. Прошил контроллер PicKit2 -
Прошивал и внутрисхемно и отдельно пик - результат одинаковый.Кнопки работают криво. Что интересно - прошивка ,сразу же считанная с пика ,совсем не совпадает с прошиваемой. Вот зашил в DIP pic16F628A и тут же считал... В smd варианте считывается то же самое

Прикрепляю два файла - ter.zip - оригинальный файл из топика . И dip.zip сразу же после прошивки считано из пика...

Помогите, если кто может? В чем проблема? Почему у большинства неправильно работает?
Хотелось бычтобы зработало так как надо..

Заранее спасибо.

С уважением, Nick.
Вложения
ter.zip
оригинальный файл из топика
(46.28 KiB) Скачиваний: 347
dip.zip
сразу же после прошивки считано из пика...
(12.03 KiB) Скачиваний: 603
Ответить