Довольно быстро обнаружил, что при отсутствии контроля за процессом — спираль перегревается, сжигая фитиль, страшно воняя перегоревшим глицерином, перегорая, а иногда и устраивая мини-пожар. У потребителей никотина аналогичная проблема была решена с помощью контроля температуры спирали по изменению сопротивления титановой или железной спирали, так что я пошел тем же путем, благо наличие АЦП позволило легко измерять сопротивление спирали. Схема получилась такой:
Vmain — батарея
Therm — выход на спираль (другой конец — на землю)
Check — сигнал для схемы контроля разряда батереи (пропадает при разряде ниже выбранного значения) — можно подсоединить к свободному входу контроллера или вывести на светодиод.
Q1 — любой достаточно мощный P-FET транзистор
GPIO4 — управление ключом (в режиме открытого коллектора!), при нуле — ключ открывается
GPIO15 — контроль температуры (нужно закрыть ключ, перевести GPIO15 в режим выхода, подать логическую единицу и замерить напряжение на ADC, чем выше температура — тем выше напряжение; по окончании измерения — вернуть этот пин в режим входа)
Простейший алгоритм, даже без PID-регулятора — спасает спираль от перегрева и перегорания. Следует заметить, что точность контроля — очень низкая (высокая и не требовалась), при повышении температуры на пару сотен градусов с титановой спиралью в один ом — значение ADC менялось всего на три-четыре пункта (по 50-60 градусов на деление). Это ограничение возникло из-за малого выходного тока микроконтроллера (10 миллиампер). Если нужна более высокая точность (например, для использования в сигаретах), то понадобится еще один ключ (не такой мощный, скажем, на FDV304P), включенный аналогично основному, но с делящим резистором (выбранным в зависимости от сопротивления спирали и напряжения батареи так, чтобы с холодной спиралью — напряжение на входе АЦП было чуть меньше одного вольта). Тогда можно достичь точности измерения в пределах нескольких градусов.
Update: Спасибо за замечания, добавил защиту входа ADC от перенапряжения (работает и так, но лучше перестраховаться). Также добавил схему для точного определения температуры (R12 должен быть достаточно мощным, чтобы выдерживать пики во время измерения!). Если точность не нужна, то убираем Q2, R12 и R13, а GPIO15 соединяем через R4 c Therm напрямую.
Комментарии (12)
Ocelot
08.12.2015 00:00+2При обрыве спирали на вход АЦП поступит полное напряжение питания. Контроллер выдержит?
Да, и причем здесь демосцена?nochkin
08.12.2015 01:49+2У ESP8266 вход ADC вроде как принимает значения до 1.06 вольта. Но предполагаю, что до 3.3 тоже примет, но будет переполнение. А выше 3.3, возможно, появится вторичный источник дыма в этой системе.
vasimv
08.12.2015 07:22+1Хм, действительно, на АЦП почти полное напряжение батареи поступает при включении спирали, даже если она целая (минус потери на проводах). Как ни странно, контроллер выдерживает. Но надо добавить резистор на несколько килоом и стабилитрон для защиты, безусловно.
Zzzuhell
08.12.2015 10:12Жидкость для ЭС наряду с глицерином содержит пропиленглиголь. Поэкспериментируйте со смесями — может пара будет больше?
vasimv
08.12.2015 10:25Да вроде пропиленгликоль уменьшает плотность дыма. Зрительно понять сложно, конструкция пока недоделана, поэтому нестабильное парообразование пока, сравнить невозможно.
alexyr
08.12.2015 10:26вкуса будет больше, если автор хочет ароматный дым! :) Те, кто гонятся за облаками пара, пользуют чистый глицерин
kAIST
Видео работы девайса не поделитесь? Есть необходимость в портативном дымогенераторе )
vasimv
С атомайзером снять нормально не смог (весь вымазался в глицерине и соединение трубки с разъемом под скотчем разошлось), только с открытой спиралью — http://www.youtube.com/watch?v=kMJsXnni0CI
vasimv
http://www.youtube.com/watch?v=D1We6j4GnqE
С атомайзером получается меньше дыма (маленькая спираль, ограниченная не очень удачно выбранным атомайзером), но зато не протекает, работать может в любом положении, кроме вертикально вниз.