Smoke with thermostat

For one entertainment project, I wanted to make a small smoke generator. I chose the simplest option - a glycerin vaporizer with a small air pump. To simplify the task, I purchased Chinese pumps for a tonometer and 6-millimeter atomizers for electronic cigarettes. It was decided to do the management on the ESP8266, the power supply - on two-bank model lithium-ion batteries (they can be loaded with rather high currents required for evaporation), plus a step-down pulse module on the LM2596 (to provide the controller with stable 3.3 volts).

Quite quickly I discovered that in the absence of control over the process, the spiral overheats, burning the wick, stinking terribly with burnt glycerin, burning out, and sometimes causing a mini-fire. For nicotine consumers, a similar problem was solved by controlling the temperature of the spiral by changing the resistance of the titanium or iron spiral, so I went the same way, since the ADC made it easy to measure the resistance of the spiral. The circuit turned out as follows:




Vmain -
Therm battery - output to the spiral (the other end - to the ground)
Check - signal for the battery discharge control circuit (disappears when the discharge is below the selected value) - can be connected to a free input of the controller or output to the LED.
Q1 - any sufficiently powerful P-FET transistor

GPIO4 - key management (in open collector mode!), At zero - the key opens
GPIO15 - temperature control (you need to close the key, put GPIO15 in output mode, apply a logical unit and measure voltage on ADC, the higher the temperature - the higher the voltage; by end of measurement - return this pin to input mode)

The simplest algorithm, even without a PID controller, saves the coil from overheating and burnout. It should be noted that the control accuracy is very low (high and not required), with a temperature increase of a couple of hundred degrees with a titanium coil of one ohm - the ADC value changed by only three to four points (50-60 degrees per division). This limitation arose due to the low output current of the microcontroller (10 milliamps). If you need higher accuracy (for example, for use in cigarettes), then you need another key (not as powerful, say, on the FDV304P), which is turned on similarly to the main one, but with a dividing resistor (selected depending on the resistance of the coil and battery voltage so so that with a cold spiral - the voltage at the input of the ADC was slightly less than one volt). Then you can achieve measurement accuracy within a few degrees.

Update: Thanks for the comments, added ADC input protection against overvoltage (it works like that, but it's better to play it safe). He also added a circuit to accurately determine the temperature (R12 must be powerful enough to withstand peaks during measurement!). If accuracy is not needed, then we remove Q2, R12 and R13, and connect GPIO15 via R4 to Therm directly.




Also popular now: