donec

Ваз-21093 Управление Вентилятором Охлаждения На Attiny13

179 сообщений в этой теме

donec    117

Разрабатываю и изготавливаю управление вентилятором охлаждения на микропроцессоре ATTINY13, дальше буду называть его устройство. По мере изготовления и испытания буду выкладывать результаты. Времени много нету, поэтому все постепенно. Проект полностью открытый, схема, исходники, прошивка и т.п., все будет выложено.

Краткое описание:

Данные температуры снимаются со штатного датчика температуры. На авто изменена цепь подключения термометра и датчика, на плате панели приборов ("высокая панель") перерезана дорожка питания этой цепи, и питание подключено от стабилизатора на 12В (на LM2937), который стоит в устройстве. Этим хочу уйти от провалов напряжения (и соответственно неправильного определения температуры) при работе системы зажигания, включении потребителей ну и падении оборотов (карбюратор) двигателя. На микроконтроллере реализован ШИМ управления двигателем вентилятора, частота ШИМ 9Гц (по мере испытаний частота может измениться). Температура измеряется с частотой ШИМ, и по результатам 16 замеров берется среднее значение, и по этим данным принимается решение о изменении сигнала ШИМ. Для исключения подгара щеток двигателя вентилятора первоначальный старт производится при 12% от полного сигнала ШИМ, рекомендуют не менее 30%, но мой нормально стартует и при 12%, дальше посмотрим. В качестве корпуса использовал корпус от неисправного коммутатора, но мне кажется радиатор там не понадобится, если только для LM2937. В качестве драйвера IGBT использовал PM8834, в данном случае это все равно, что из танка по воробьям стрелять, что было то и поставил, в первоначальном варианте на частоте 18Гц нормально работало от двух TLP191+цепь разряда на транзисторе и диоде (твердотельное реле), при большой частоте неуспевал закрываться IGBT, поэтому драйвер можно любой прицепить (с учетом провалов напряжения конечно). Дорожки платы пришлось залить оловом, при травлении получилась сеточкой, то-ли тонер плохой, то-ли утюг не горячий, переделывать не стал.

Пока выкладываю, что есть под рукой, и постепенно все, что есть.

post-135787-0-92692600-1315222229_thumb.jpg

post-135787-0-38674400-1315222242_thumb.jpg

post-135787-0-12048700-1315222276_thumb.jpg

post-135787-0-35767400-1315239134_thumb.jpg

post-135787-0-14094600-1315289962_thumb.jpg

Изменено пользователем donec

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
donec    117

Не могу изменить первый пост, продолжаю здесь.

Процессор работает на частоте 4.8МГц, встроенный генератор, по фьюзам картинку потом выложу. Опорное напряжение для АЦП проца использовано внутреннее 1.1В. Можно было взять и напряжение питания, но надо защищаться от случайного снятия провода с датчика температуры, тогда напруга 12В может пойти на проц, поэтому используется делитель R1 и R2, а с делителем рабочая температура будет в пределах 1.1В, возможно придется уменьшить R2, но это после написания проги в процессе наладки. Для удобства настройки хочу сделать передачу данных о температуре в комп по СОМ порту, так как на проце нет встроенного USART поэтому придется его эмулировать программно, использовать для этого свою прогу которая будет строить график по полученным данным, соединение с компом по двум проводам на 5 и 2 контакты СОМа, безо всяких MAXов, скорость пока 57600 бод, если будут помехи или сбои скорость сделаю меньше.

Исходники на сегодня в файле

Исходники.7z

Изменено пользователем donec

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
donec    117

Схема изменилась, неправильно был подключен РМ8834, и добавил кнопки ручного управления оборотами вентилятора, на авто остались от прежнего устройства, решил использовать для настройки.

При наладке обнаружилось, что PonyProg работает только после программирования проца паралельным программатором, и то очень короткое время, потом не входит в связь (перепробовал все возможные варианты фьюзов, не помогло), причина пока не выявлена. На сегодня устройство работает на столе с регулировкой оборотов вручную (кнопками), днем попробую поставить на авто, если будет все нормально, то напишу прогу и автоматический режим.

post-135787-0-12130200-1315685198_thumb.jpg

Прошивка.7z

post-135787-0-92464400-1315687170_thumb.jpg

Изменено пользователем donec

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
donec    117

Поставил на авто для испытаний.

Перемычкой замкнул вывод датчика температуры на корпус, потребление от LM2937 - 95мА, за 10 минут нагрева не почувствовал.

Подлючил вентилятор, выявил, что кнопки на авто нормально замкнутые, а прошивка для нормально разомкнутых.

Проработал нормально минут 5 на разных оборотах и начал сильно греться, вылетел IGBT, конечно вылетит защиты нету.

Заменил IGBT, поправил прошивку, на авто в разъем вентилятора вмонтирую защитный диод 5А10, к вечеру установлю и испытаю.

Прошивка для нормально замкнутых.7z

post-135787-0-05329500-1315728855_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
dinamik10    1

Схема изменилась, неправильно был подключен РМ8834, и добавил кнопки ручного управления оборотами вентилятора, на авто остались от прежнего устройства, решил использовать для настройки.

При наладке обнаружилось, что PonyProg работает только после программирования проца паралельным программатором, и то очень короткое время, потом не входит в связь (перепробовал все возможные варианты фьюзов, не помогло), причина пока не выявлена. На сегодня устройство работает на столе с регулировкой оборотов вручную (кнопками), днем попробую поставить на авто, если будет все нормально, то напишу прогу и автоматический режим.

donec а у тебя на картинке фьюзов нет галочки на SPIEN. может в этом дело?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
donec    117

для пони это нормально он их не показывает.

Нет ошибся это я для примера делал с помощью пони без подключения к процу на самом деле он включен сейчас на связи с телефона домой приеду исправлю

Изменено пользователем donec

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
dinamik10    1

для пони это нормально он их не показывает.

Нет ошибся это я для примера делал с помощью пони без подключения к процу на самом деле он включен

странно прежде чем написать специально проверил программатором у меня всё показывает поэтому и написал

пока писал уже вы отредактировали :)

Изменено пользователем dinamik10

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
donec    117

В вентилятор впаян диод 5А10, устройство проработало часа 2, полет нормальный, греется градусов 50 не больше, на улице 20.

По осцилкам: А - на клемах АБ, В - пульсации на выходе 12В от LM2937, С - на входе от датчика температуры, D - температура на входе в проц.

Непонятны пульсации от датчика температуры, хотя на питании датчика их вовсе нет, толи с проводами к датчику что-то напутал, толи наводки от работы вентилятора (пульс идет синхронно работе вентилятора), больше склоняюсь ко второму. В следующий раз проверю напругу не внутри устройства, а минус возьму за пределами него. В принципе температура замеряется в середине импульса управления вентилятором, поэтому не будет оказываться большое влияние этого пульса на ее замер, ну и как вариант увеличение емкости кондера.

post-135787-0-78912000-1315759725_thumb.jpg

post-135787-0-39791500-1315761222_thumb.jpg

post-135787-0-48910000-1315761233_thumb.jpg

Изменено пользователем donec

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
CherepVM    57

donec, приветик!

Может будет полезно, то что я щас напишу. ;)

Три года тому, я тож делал подобное устройство и тож столкнулся с нагревом ключевого транзюка, ставил вначале как ты - IRG4PH50UD. Тогда его заменил на парочку IRF9540 и всё стало замечательно.

Удачи!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
donec    117

Привет!

Понял, учту.

Сейчас у меня стоит IRG4PC50U, возможно и вылетел, что на 600В и без диода. На прежнем устройстве стояло твердотельное реле, в нем IRG4PH50UD, работал на частоте 18Гц, нагрев практически не ощущался (радиатор раза в 3 меньше), вот теперь и непонятно в чем дело, толи в транзисторе, толи в управлении, разница во фронтах, сейчас фронты 50-70нс (правда без вентилятора), а были 500-500нс (примерно, точно не помню). Сейчас командировки начались, по времени попробую твердотельное прикрутить и сравнить.

Сначала добью до конца эту схему, а в качестве запаски можно будет и на IRF соорудить.

Изменено пользователем donec

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
CherepVM    57

Чем мне понравились IRF9540-е, это тем что управляются "0", затворы зацепил на +12В через резистор 600 Ом и простенькой оптопарой управлял, просаживал на корпус. Тогда я ешо слабо понимал об драйверах управленя IGBT и мощ.полевиками. Щас я бы уже "прикрутил" на управление - TLP250тую. Планировал на это лето возродить этот регулятор, но.... руки так и не дошли, а надо бы сделать :) . Наверное присоеденюсь к тебе, если ты не против. Правда буду реализовывать эту "байду" на другом проце(MSC-51 серии).

Изменено пользователем CherepVM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
donec    117
Чем мне понравились IRF9540-е, это тем что управляются "0"...

Это как я понял с Р-каналом, тогда у меня не получится, у меня датчик стоит в минусе

Наверное присоеденюсь к тебе, если ты не против.

Конечно не против :drinks:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
CherepVM    57

:drinks:

Да, с Р-каналом.

...у меня датчик стоит в минусе
Это как понять? Датчик температуры или что?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
donec    117

Датчик включения вентилятора.

Цепь (по памяти): +12В, предохранитель, вентилятор, датчик, -12В.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
CherepVM    57

Так и у меня на минусе стоит датчик вкл.вентилятора. Вот схемку... цепляю.

И ещё... применил эти полевики потому что их есть много в наличии, в то время я не имел возможности специально для этого дела их подбирать\выбирать. Теперь уже можно и задуматься над этим... ;)

post-51349-0-79162500-1315821128_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
donec    117

У меня не так, у меня стоит только то, что написал ранее, реле нету, датчик напрямую в цепи вентилятора.

Когда все более менее прояснится с работой устройства, выложу полную схему, с цепями авто.

Изменено пользователем donec

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
CherepVM    57

Ого! Без реле! Не знаю скоко твой эл.вентилятор потребляет, а вот мой около 10А. Датчик вкл. ел.вентелятора без реле не выдержал бы такой нагрузки. Потому вкл. идёт через реле - это штатное включение. И в некоторой мере это удобно, я подключал регулятор паралельно реле, как показано в схеме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
donec    117

Сколько жрет не мерял, авто 11 лет, у меня больше 6 лет, я датчик не менял, что было до меня не знаю, постоянные пробки за день раз 50 включается (примерно), пока живой, схема то-же штатная. Поэтому мне нужно коротить датчик, который в минусе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
CherepVM    57

:) , понятненько.

Меня тож частое движение в пробках подстегнуло сделать регулятор. Бо тогда акум был относительно слабенький, и когда стоиш на светофоре и вкл.вентилятор, то ХХ падает, мотор напрягается, акум недозаряжается. Когда сделал регулятор, по при въезде в город его включал на режим 40%...50% от макс. оборотов ел.вентилятора и спокойненько доежал на работу. И двиг не перегревался и акум имел зарядку. ;)

Изменено пользователем CherepVM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
donec    117

Аналогично, только я еще поставил генератор от десятки и датчик положения коленвала заодно, готовился под свою систему зажигания, первое ощущение наверное как у тебя после установки ДКЗ, ровный холостой и увеличение тяги на низах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
CherepVM    57

Ну шожжж, бум двигаться вместе. Наличие товарища по "нещастью" :D , надеюсь что отгонит мою лень и я сумею доделать задуманное ;) . :drinks:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
donec    117

Интересная ссылка http://turmalinnn.narod.ru/Smerch/Smerch-7.html

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

Изменено пользователем donec

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
CherepVM    57

Ну вот.... вся инфа выложена(по указанной ссылке) - алгоритм, схема, элементная база ;) . Теперь осталось ответить на единственный вопрос - купить или ваять своё? :rolleyes: . Как для меня - буду делать своё.... это уже в "крови", это разминка для мозгов(нужно же как-то поддерживать их тонус :spiteful: ) и т.д.т.п.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • О чем и говорилось ранее. Кажущаяся усложненность такой схемы, (по сравнению с одиночным компаратором), компенсируется легкой её настройкой.
    • Интересное изделие, 4 Ампера не хватает для запитки "пары реле"... У Вас где-то 4,5Вх4А=18 Ватт выделятся должно, ищите по запаху. Или проверьте потребление от ИИП. Если "просадка"  (кстати, в какой точке? на выводах Mean Well? или где-то на плате? две большие разницы...) не зависит от подключенной нагрузки, значит, с большой вероятностью, Ваш Mean Well неисправен. Или на плате косяк. Сколько потребляет Ваша плата?
    • Первая схема - просто выпрямитель с вольтметром - амперметром, срисовано с ошибкой. Вторая - тиристорный регулятор мощности, видимо по первичке трансформатора, типа такого: Я бы эту порнуху выкинул, и собрал нормальную схему.
    • Относительно чего, какой шины делались измерения? Вот это вообще не понял:  
    • Колл-бак функция HAL_ADC_ConvCpltCallback() вызывается при окончании каждого преобразования, для всех каналов одна и та же. А функция HAL_ADC_GetValue(hadc1) просто перекладывает готовый результат преобразования в массив adcResult[], она не вызывает новое преобразование. Поэтому, чтобы отличить результат какого канала лежит в АЦП, нужно завести переменную-индекс, которая будет увеличиваться на 1 при каждом вызове HAL_ADC_ConvCpltCallback(). И этот индекс будет индексом массива результатов. После преобразования всех каналов этот индекс надо сбросить в 0, чтобы в следующий раз начать с начала массива. Признак последнего канала - флаг окончания сканирования каналов ADC_FLAG_EOS. uint8_t index = 0; void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc1)   { if (__HAL_ADC_GET_FLAG(hadc1, ADC_FLAG_EOC))    {   adcResult[index] = HAL_ADC_GetValue(hadc1);    index++;   } if (__HAL_ADC_GET_FLAG(hadc1, ADC_FLAG_EOS))     {   index=0; } }  
    • У меня в детстве, в начале 90-х, был двухкассетный Samsung, наподобие того, что на картинке (чуть-чуть другого дизайна). Тоже белый и чисто корейский - отцу знакомые из Финки подогнали... Тогда это был "попсатас" жуткий - после "Весны"... С перезаписью, с автостопом, с приемником и встроенным микрофоном! Аппаратец, кстати, до сих пор живет на даче - кассет уже не играет, а радио - только так...
    •   В Охотском море тоже