Page 79 of 109

Re: Термостат ∆T=0,1°C

Posted: 31 Mar 2014 20:53
by DmitriyA
Ну так. На самогонку нужна приблуда...

Re: Термостат ∆T=0,1°C

Posted: 31 Mar 2014 22:36
by andreich78
DmitriyA wrote:На самогонку...
Это нам интересно. Это мы - да.
Надоест ваять аппаратное решение - пиши, там доработка прошивки до "старт-стоп" где-то строчек на шесть.
Тока нужно подробнее поставить задачу - как запускается нагрев (откуда команда придет), что делать после остановки, какой тип индикатора используешь, сможешь ли сам откомпилировать прошивку, или тебе готовый бинарник нужен под заливку.

Re: Термостат ∆T=0,1°C

Posted: 31 Mar 2014 22:53
by Vlad80
А как на счет термостата для авто с плавным пуском и доп. релюшкой? Помогите пожалуйста, очень надо.

Re: Термостат ∆T=0,1°C

Posted: 01 Apr 2014 07:50
by andreich78
Vlad80 wrote:А как на счет термостата для авто с плавным пуском и доп. релюшкой? Помогите пожалуйста, очень надо.
Я не понимаю, зачем плавный пуск электромотору вентилятора.

Re: Термостат ∆T=0,1°C

Posted: 01 Apr 2014 11:44
by IYra
andreich78 wrote:Я не понимаю, зачем плавный пуск электромотору вентилятора.
"Блок управления электровентилятором системы охлаждения (БУ ЭВСО) «Борей» — объединение достоинств и исключение недостатков традиционных систем охлаждения двигателя путем внедрения принципиально нового алгоритма плавного управления скоростью вращения электровентилятора для стабилизации температуры двигателя автомобиля."
А чем мы хуже ? Надо еще круче забацать. С возможностью корректировки диапазона и индикацией
Можно попробовать. Только релюшка наверно лишняя.
Везде пишут что в основном вентилятор крутит вполсилы. Этого хватает даже для тяжелых режимов

Re: Термостат ∆T=0,1°C

Posted: 01 Apr 2014 13:19
by andreich78
IYra wrote:Везде пишут что в основном вентилятор крутит вполсилы. Этого хватает даже для тяжелых режимов
Хм...
Ну это я могу понять, но это не очень похоже на
Vlad80 wrote:1. Плавное включение вентилятора (этим облегчаем жизнь электропроводке и бортсети авто).
...
2. После полного открытия силового транзистора коммутировать его сток-исток с помощью реле (думаю, так жить будет легче транзистору и реле).
А десяти ампер-то хватит на электромотор вентилятора? Читаем описание:http://hardlock.org.ua/viewtopic.php?f=9&t=310

Re: Термостат ∆T=0,1°C

Posted: 01 Apr 2014 17:33
by IYra
andreich78 wrote: но это не очень похоже на
Vlad80 wrote:1. Плавное включение вентилятора (этим облегчаем жизнь электропроводке и бортсети авто).
...
2. После полного открытия силового транзистора коммутировать его сток-исток с помощью реле (думаю, так жить будет легче транзистору и реле).
А десяти ампер-то хватит на электромотор вентилятора? Читаем описание:http://hardlock.org.ua/viewtopic.php?f=9&t=310
Поставить IRF3205Z Транзистор полевой N-канал, 55 V, 75 A, Rds = 0.0065 Ом
Там же у двигателя два провода и можно использовать N-канал. Или я ошибаюсь ?
А по поводу плавного включения - получается прерывисто - плавное.
Использовать для ШИМ ножку 9 - PORTD.5 (OCR0B = 0..255)
В зависимости от температуры раз в секунду меняется коэффициент и ШИМ плавно к нему подтягивается
с нужной скоростью. Для этого использовать interrupt [TIM0_OVF] void timer0_ovf_isr(void) которое
происходит каждые 8 мс - OCR0B++ или OCR0B--

Re: Термостат ∆T=0,1°C

Posted: 01 Apr 2014 20:27
by Vlad80
Насколько я знаю, в момент пуска электродвигателя он кушает приличный ток, чем и подгружает проводку и генератор (по этому и прошу сделать плавный пуск). Или я ошибаюсь?
По поводу транзистора, можно использовать Р- или N-канал, т.к. там идет 2 отдельных провода. Насколько мне известно, N-канал имеет меньшее сопротивления открытого канала в сравнении с Р-каналом.
По поводу реле, замыкать сток-исток транзистора при его полном открытии для уменьшения его нагрева при продолжительной работе вентилятора (например летом в жару да и под палящем солнцем в моторном отсеке довольно жарко).

Re: Термостат ∆T=0,1°C

Posted: 02 Apr 2014 09:06
by andreich78
Vlad80 wrote:Насколько я знаю, в момент пуска электродвигателя он кушает приличный ток, чем и подгружает проводку и генератор (по этому и прошу сделать плавный пуск). Или я ошибаюсь?
Правильно. В момент пуска. Сколько длится пуск - секунду? Что значит грузит проводку - повышенный ток немного нагревает провод, потом ток падает и провод так же быстро остывает.
Генератор работает в паре с аккумулятором, даже если предположить, что генератор не вытянет этот пусковой ток, аккумулятору эта секундная нагрузка - как слону дробина.
Вцелом, проводка рассчитана на эти пусковые токи, генератор - тоже.
Если тебе нужно следить за температурой в радиаторе - ставь термостат из этой темы. Без плавного пуска.
Vlad80 wrote: По поводу реле, замыкать сток-исток транзистора при его полном открытии для уменьшения его нагрева при продолжительной работе вентилятора (например летом в жару да и под палящем солнцем в моторном отсеке довольно жарко).
Тут согласен. Если используется силовой транзистор, можно ему чуток облегчить жизнь.

Добавлено спустя 56 минут 58 секунд:
IYra wrote:А по поводу плавного включения - получается прерывисто - плавное.
Использовать для ШИМ ножку 9 - PORTD.5 (OCR0B = 0..255)
В зависимости от температуры раз в секунду меняется коэффициент и ШИМ плавно к нему подтягивается
с нужной скоростью. Для этого использовать interrupt [TIM0_OVF] void timer0_ovf_isr(void) которое
происходит каждые 8 мс - OCR0B++ или OCR0B--
Можно сделать ШИМ ступенями пропорционально невязке по температуре, тогда плавный пуск будет сам-собой. Подогрелось на градус выше уставки - 10%, подогрелось на 5 градусов выше - 100%.

Re: Термостат ∆T=0,1°C

Posted: 02 Apr 2014 18:34
by IYra
andreich78 wrote:
IYra wrote:А по поводу плавного включения - получается прерывисто - плавное.
Использовать для ШИМ ножку 9 - PORTD.5 (OCR0B = 0..255)
В зависимости от температуры раз в секунду меняется коэффициент и ШИМ плавно к нему подтягивается
с нужной скоростью. Для этого использовать interrupt [TIM0_OVF] void timer0_ovf_isr(void) которое
происходит каждые 8 мс - OCR0B++ или OCR0B--
Можно сделать ШИМ ступенями пропорционально невязке по температуре, тогда плавный пуск будет сам-собой. Подогрелось на градус выше уставки - 10%, подогрелось на 5 градусов выше - 100%.
Я про это и говорю. Только выход на следующую ступеньку происходит плавно - 10% примерно за 0.1 сек
Вобщем что-то сваял. Проверял в Протеусе. Проект и HEX для индикатора с ОА.
Алгоритм такой. Для примера Туст = 90, Дельта-5
1. Двигатель холодный - индикатор показывает температуру. ШИМ отключен. На выходе PORTD.5 - 0
Реле выключено. Точка не горит
2. Температура стала больше Туст например 91 - вычисляем PWM = (255/DeltaT) * дельта=255/50*10 = 51
OCR0B плавно увеличивается до 51 за 51*8=400мс
Загорается точка.
3. Температура стала 95 - PWM = 255 Шим отключается. На выходе PORTD.5 - 1
Через некоторое время появляется 1 на PORTD.3 это для реле
4. Температура стала ниже Туст + Дельта - опять включается ШИМ и сразу отключается реле
Важно
Изменилась разводка.
PORTD.5 - выход ШИМ
PORTD.2 - на индикатор вместо PORTD.5
PORTD.3 - выход на реле
Все остальное без изменений

Re: Термостат ∆T=0,1°C

Posted: 02 Apr 2014 23:37
by Vlad80
IYra, спасибо Вам огромное, буду пробовать. Простите за наглость, а не могли бы Вы перекомпилировать прошивку для индикатора с ОК?
Заранее спасибо.

Re: Термостат ∆T=0,1°C

Posted: 03 Apr 2014 11:25
by IYra
Vlad80 wrote: прошивку для индикатора с ОК?
Заранее спасибо.
Выкладываю. Интересно при каком напряжении запускается и останавливается вентилятор.
Может быть его придется при запуске сначала разгонять а потом понижать напряжение.

Все хексы в архиве выше

Re: Термостат ∆T=0,1°C

Posted: 04 Apr 2014 00:19
by Vlad80
Может быть его придется при запуске сначала разгонять а потом понижать напряжение
Да, вариант неплохой. Это обеспечит гарантированный запуск электродвигателя.

Или, может все таки при достижении заданной температуры проще сделать плавное увеличение ШИМ до 100% и резкое отключение при достижении дельта Т?

Re: Термостат ∆T=0,1°C

Posted: 04 Apr 2014 17:39
by IYra
Vlad80 wrote: Или, может все таки при достижении заданной температуры проще сделать плавное увеличение ШИМ до 100% и резкое отключение при достижении дельта Т?
Пока посмотрим что из этого получится. По идее двигатель должен запуститься не сразу а где то
на 93 градусах а затем плавно сбросить обороты и вращаться до 91 (Туст=90.0 Дельта=5.0)
Как собираешься испытывать ?
С помощью электрочайника ?
И еще вспомнил. Частота ШИМа низкая - 125 Гц. Можно наверное поставить один МОСФЕТ без ускорителя.

Re: Термостат ∆T=0,1°C

Posted: 09 Apr 2014 12:13
by andreich78

Code: Select all

 
WORD Tnew;                //для хранения нового значения измеренной температуры
...
  BYTE i; 
  WORD Temp;
...
 i = Tnew - Temp ;
IYra Смотри, что тут получается - результат вычитания двухбайтовый, а ты его в один байт засунул. Старший байт тут просто отбрасывается. В результате, если результат больше 255 (25.5 градуса) - мы получаем не то что ожидаем, ШИМ начинает думать, что невязка почти нулевая и дает пониженное напряжение на моторчик.

В протеусе воспроизводится так:
проверяешь, что термостат настроен на 26
ставишь в датчике температуры значение 51.5
запускаешь симуляцию
дожидаешься устаканивания ШИМ=255 (полная мощность вентилятора)
увеличиваешь температуру датчика на 0.1 чтоб стало 51.6
и видишь, что ШИМ=0 (отключение вентилятора)

У тебя уже переменная T освободилась - ее используй.

Re: Термостат ∆T=0,1°C

Posted: 09 Apr 2014 17:23
by IYra
andreich78 wrote: а ты его в один байт засунул.

У тебя уже переменная T освободилась - ее используй.
Да это я малость накосячил. Часто на эти грабли наступаю.
Исправил на переменную T. Еще добавил проверку на обрыв датчика.
Проверку сделал совсем простую. Раньше читал 3 байт а теперь проверяется
результат выполнения функции

Code: Select all

t3 = w1_init();              //инициализация шины 1-wire
при обрыве датчика на дисплее моргающие 999.9 и включается вентилятор на полную

Re: Термостат ∆T=0,1°C

Posted: 10 Apr 2014 09:21
by andreich78
IYra wrote:Часто на эти грабли наступаю.
это коварная бяка, ее в "больших" компиляторах Warning'ом отмечают.
IYra wrote:Еще добавил проверку на обрыв датчика.
Проверку сделал совсем простую. Раньше читал 3 байт а теперь проверяется
результат выполнения функции
...
при обрыве датчика на дисплее моргающие 999.9 и включается вентилятор на полную
перезалей в предыдущие посты исправленный архив, иначе новички обязательно скачают версию с багом.

Re: Термостат ∆T=0,1°C

Posted: 10 Apr 2014 10:00
by IYra
andreich78 wrote:перезалей в предыдущие посты исправленный архив, иначе новички обязательно скачают версию с багом.
Перезалил

Re: Термостат ∆T=0,1°C

Posted: 10 Apr 2014 10:25
by andreich78
IYra, прикольный девайс получился, особенно плавный переход уровней ШИМ. Кстати, если снизить частоту ШИМ еще в пять или десять раз - можно будет управлять и переменным напряжением через триак и MOC с зеро-кроссом. Кривенько, конечно, но дешево.

Re: Термостат ∆T=0,1°C

Posted: 10 Apr 2014 17:41
by IYra
andreich78 wrote: Кривенько, конечно, но дешево.
А что мешает использовать компаратор ? Подать на один вход 0
на другой полуволну и включать обычный МОС в нужное время
Правда придется много переделывать

Re: Термостат ∆T=0,1°C

Posted: 11 Apr 2014 08:58
by andreich78
IYra wrote:А что мешает использовать компаратор ? Подать на один вход 0
на другой полуволну и включать обычный МОС в нужное время
Правда придется много переделывать
Ничто не мешает. Только ШИМ к этой связке не прикрутишь. Я намекаю, что есть вариант обойтись без отслеживания нуля. При замене блока плавного старта на блок триак+MOC+(снижение частоты ШИМ) получается термостат с ШИМ на переменное напряжение. С врожденными изъянами, но вполне работоспособный.

Re: Термостат ∆T=0,1°C

Posted: 01 May 2014 17:42
by RAFI
Здраствуйте. Давно читаю с удовольствием ваш форум и недавно решыл себе сделать ваш терморегулятор но так как в програмировании ещо не силён было мной испорчено две Тиньки. Но в последствии два контролера запрограмировал удачно работают отлично. Хотел спросить по поводу испорченых Тинек может их можна както ожывить а то програматор их больше не видит, я пытался перепрограмировать их без определения и вроде както одна заработала показывает сначала 0.0 а потом 27.9 градусов но после простоя минут 15 начинает общатся с датчиком и показывать температуру только завышеную на управление кнопок реакцыя неправильная и пределы регулировки не правильные, а вторая вообще одни восьмёрки показывает и больше никак. Шыл прогаматором AVR USB ASP Может както прошывку можна стереть и поновому прошыть подскажыте Начинающему.Буду вам благодарен. И ещо не нашол я у себя в продаже индикаторов на 4 сегмента а только на 3 и при подключении 1 сегмент не использую а только остальные 3. Большое спасибо за понимание.

Добавлено спустя 1 минуту 25 секунд:
И ещо может кому будет интересно могу позже выложыть свою печатку и фото. Спасибо.

Re: Термостат ∆T=0,1°C

Posted: 02 May 2014 15:17
by hardlock
RAFI wrote:может их можна както ожывить а то програматор их больше не видит
Первое, что надо попробовать подать внешнюю тактовую частоту. Если не помогло, то читайте эту ветку - там описывалась реанимация.
RAFI wrote:И ещо может кому будет интересно могу позже выложыть свою печатку и фото.
выкладывайте, я считаю чем больше вариантов, тем лучше.

Re: Термостат ∆T=0,1°C

Posted: 03 May 2014 23:13
by DmitriyA
andreich78 wrote:
DmitriyA wrote:На самогонку...
Это нам интересно. Это мы - да.
Надоест ваять аппаратное решение - пиши, там доработка прошивки до "старт-стоп" где-то строчек на шесть.
Тока нужно подробнее поставить задачу - как запускается нагрев (откуда команда придет), что делать после остановки, какой тип индикатора используешь, сможешь ли сам откомпилировать прошивку, или тебе готовый бинарник нужен под заливку.
Написал в личку для экономии места. После прочитал шапку страницы. Приношу извинения.
По делу.
Очень надо. Только не понял про "как запускается нагрев" - типа "старт" с контроллера или от "кнопки/розетки"? После достижения заданной температуры надо отключить тэн (3 квт) или весь контроллер. Тут такая ерунда - есть две температуры отключения, измеряемые в разных местах и соответственно два контроллера. Одна температура в кубе - завершение процесса и вторая на контроль охлаждения - авария. Т.е. что бы они друг другу не мешали - вырубил тэн и все, только руками и кнопкой...
Индикатор вроде с ОА покупал (паяю не я, товарищ), ну и с компиляцией проблемы, хотя учиться никогда не поздно.
Где то так. Программно - это именно то,что нужно.

Re: Термостат ∆T=0,1°C

Posted: 04 May 2014 11:44
by IYra
DmitriyA wrote: Тут такая ерунда - есть две температуры отключения, измеряемые в разных местах и соответственно два контроллера.
А может стоит попробовать вариант инкубатора с двумя датчиками - там немного допилить. Плюс есть таймер для поворота. Можно его как-нибудь использовать
http://hardlock.org.ua/viewtopic.php?f= ... =125#p8073