24 февраля 2022 года в 5 утра, без объявления войны, россия напала на Украину.

Они пришли "освобождать народ от нацистов и националистов".
С этого момента наша жизнь изменилась на "до" и "после".
Нас освобождают от наших домов, от наших любимых, от наших родителей и от наших детей....
Тут я не буду никого агитировать или переубеждать, разумный человек найдёт всю информацию
в интернете, а для зомби никакие доводы и факты не послужат аргументом.

Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.

«Спасибо дедушка путин за счастливое детство и мое освобождение». ©

Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©

PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...


Due to periodic DDoS attacks, the forum may not be available.

USB подогреватель детских бутылочек (PIC12F629 + DS18B20)

Здесь только проекты на PIC
Post Reply
User avatar
hardlock
Администратор
Posts: 3978
Joined: 21 Jan 2009 14:48
Location: Minsk - zp.ua
Contact:

USB подогреватель детских бутылочек (PIC12F629 + DS18B20)

Post by hardlock »

В связи с некоторыми событиями в моей жизни, пришлось обратиться к такому интересному дэвайсу, как подогреватель бутылочек от USB.
ali_pic.jpg
Приобретено устройство на Али, протестировано и забраковано по нескольким причинам.
1) Термостата в устройстве нет. Регулируется фактически только мощность на нагревателе с помощью ШИМа. Поэтому или перегревает содержимое бутылочки или сильно недогревает.
2) Неудобное управление.
3) Самая главная причина - я его ещё не разбирал...

Поэтому устройство было разобрано. Сделать это не сложно - "кнопка" просто пришита к наружной стенке. Отпарываем, выковыриваем герметик, которым залита плата. Правда на фото ниже на плате уже другой МК, забыл сделать фото до начала "раскопок". На родном контроллере сверху отсутствует маркировка, а на брюхе есть - на схеме это отображено.
IMG_20230110_154040.jpg
IMG_20230110_155639.jpg
Теперь можно срисовать схему устройства. В оригинале стоит МК без маркировки, по распиновке очень похож на pic12F629. Но это точно не он. При попытках чтения "оно" определялось как pic16F886 или pic16F884, при этом все слитые дампы отличались. После попыток чтения дампа, МК перестал нормально работать - запускался через раз, иногда на выходе присутствовал некорректный сигнал... Вобщем я его добил. Ну что ж, подумал я - "доработка неизбежна". Вначале хотел поставить ATTiny13, т.к. под неё есть почти готовый проект, но по цоколёвке получалось очень неудобно... Случайно нашёл у себя pic12F629, поэтому будем осваивать PIC...
sch.gif
Красным цветом я обозначил изменения в схеме, которые я внёс при доработке. Собственно добавлен датчик температуры DS18B20, R9 4,7к - подтяжка линии 1-wire, и R8 4,7к - подтяжка кнопки, т.к. в pic12F629 на этом входе нет возможности включить pull-up. Ну и токоограничивающий резистор в цепи светодиода увеличил в 4 раза, чтобы не светил так ярко. Всё, из схематических доработок всё.
IMG_20230110_164706.jpg
IMG_20230110_164724.jpg
Датчик располагаем внутри "конвертика", МК прошиваем, плату ставим на место, заливаем силиконом и пришиваем на место.

Кстати о прошивке. Совсем забыл описать, что бы мне хотелось видеть в функционале:
так сказать ТЗ и заодно описание работы.
1) Включение устройства сразу при подаче питания. Удобство работы с Powerbank - подключил и забыл.
2) Выключение - длинным нажатием кнопки (Синий индикатор).
3) Установка 4х температур. Настройка - короткие нажатия кнопки. (Мерцание: Синий - 40°C, Зелёный - 45°C, Красный - 50°C, Белый - BOOST 70°C)
4) Режим "BOOST" (Белый индикатор) - повышенная температура (70°C) на 15 минут (красный индикатор моргает), после чего возврат к установленной температуре и поддержание.
5) Сохранение в памяти текущей выбранной температуры (кроме BOOST - он не сохраняется).
6) Индикация установленной температуры при включении (мерцание индикатора), как при выборе настройки.
7) Реализация простого ШИМ, с возможностью плавной регулировки мощности нагрева вблизи установленной температуры.
8) Индикация текущего режима работы (Нагрев 100% - красный, нагрев 70% - желтый, нагрев 50% - зелёный, выключен нагрев - белый, устройство выключено кнопкой - синий, синий моргает - ошибка датчика).
9) Работа с Powerbank - в режиме выключен нагрев ШИМ около 10-20%, чтобы Powerbank не отключал питание.

Т.к. я до этого мало имел дело с PIC'ами, и не знал в чём их готовить программировать, то написал программу в первом попавшемся компиляторе - microPASCAL for PIC. В архиве - исходник проекта, и скомпилированные прошивки под разные температуры. Дело в том, что теплопередача от нагревателя к содержимому бутылочки сильно отличается в зависимости от формы бутылочки, плотности прилегания нагревателя к бутылочке и т.д. Приходится подстраиваться под текущие условия. Например дома включаем "синий режим" - 40°C и содержимое бутылочки поддерживается с температурой около 33-35 градусов. На улице включаем "зелёный режим" (45°C), а при сильном морозе приходится включать "красный режим" (50°C), т.к. потери сильно большие. Ну а в режиме "BOOST" нагреть молоко из холодильника - та ещё задача, т.к. мощность нагревателя всего 9 Вт.

Из особенностей получившейся конструкции:
1) ШИМ очень низкочастотный (период 0,5сек) выбран из-за того, что не все Powerbank`и видели нагрузку даже 20% при более высокочастотном ШИМе. Из-за этого видно мерцание RGB индикатора при вкл/выкл нагрузки.
2) Ещё мерцание индикатора происходит при чтении температуры с датчика DS18B20, т.к. оно осуществляется в общем цикле, а не по прерываниям (особенность библиотеки).
Attachments
firmware v0.1 20.01.2023.zip
(26.95 KiB) Downloaded 5 times
Post Reply