I am making a temperature controller for a meat smoker using an Arduino Uno. I have it up and running and it reads temps perfectly when running off the USB port on my laptop as long as the laptop is not plugged in....more on this later.
I want run the controller off of a 12v 2amp wall wart power supply but as soon as I plug it into the arduino the temps go all over the place. I found that if I run the arduino off the USB port on my laptop it reads temps perfectly, if I plug the laptop in the temps go all over the place again.
I know there filters I can use both in the code and physically on the bread board to eliminate this issue but I need a little guidance on where to start. I have tried to search and I am a bit overwhelmed with all the info and need a place to start. I guess I need to understand where the fluctuations come from.
Are they from the unstable power from the power supply or are they from noise the temp sensors are picking up when the power supply is plugged in? What is the best way to address this?
Here is some info about my project:
Here is a link to the power supply I am using:
Here is my BOM:
16x2 LCD
Maverick ET 732 Thermistor
22k resisor for thermistor circuit
1k resistor for fan circuit
TIP120 transistor
diode for fan circuit
12v brushless fan
You use a protection diode parallel to the transistor. It should be parallel with the fan.
How do your temperatures change with the power supply. Only 1 degree or 50 degrees ?
It can be a noisy 12V power supply. Or a voltage regulator on the Uno board that gets too hot. Or bad contacts of the breadboard. Or noise picked up by the analog input. About anything is possible, I don't know yet.
Are they from the unstable power from the power supply or are they from noise the temp sensors are picking up when the power supply is plugged in? What is the best way to address this?
Check the voltage with a multimeter to see if it is stable?
Brushless DC Fans will cause significant ripple current. Its not a good idea to pass this current through the Arduino PCB to the Vin and GND terminals. Try connecting the Fan's +12V directly to the +12V wire from the transformer. Also, connect the emitter of the TIP120 to the negative wire of the transformer.
The temps vary by a max of 13 degrees when the power supply is plugged directly into the wall outlet.
The voltage across the thermistor circuit is stable at 4.86-4.87 V measure by a multimeter.
I need this project to read steady temps while using power from the outlet at my house and also a generator while camping. Doesn't have to be super accurate, just consistent. Is this possible?
Hi,
Power the fan and transistor from a separate supply!! Add some 0.1uF decoupling caps!! that should solve the problem, it's never a good idea to try taking too much current from the Arduino board (any of them) you get a voltage drop and funny or mysterious things happen.
TomGeorge:
Hi,
Can you measure the 5V supply out of the arduino, when it is on PC USB and when it is on the PowerPack please?
You show a fritzy diagram, can you post a picture of your project so we can see component layout.
Place a 0.1uF capacitor from A0 to gnd.
Tom....
Hi Tom, the voltage at the 5v supply out of the arduino when using the wall power adaptor is 5v exactly with no fluctuation. This scenario produces the temp readings that vary every second...I have noticed that when the power supply is plugged into a power strip it can vary 30-50 degrees. When plugged directly to the outlet it varies about 20 degrees. The temps vary about 1 time per second and always go up and down...like a sine wave.
The voltage when using a battery is right at 4.86v and this produces a steady temperature.
I have stripped down the circuit to try and isolate my issue. I am now strictly running the temp circuit without the fan. I will get a picture of it when I get home but in the mean time, this is a wiring diagram. The cap shown in the diagram is a .1uF that I put into the circuit but it I still see the temp wandering issue when using the 12v wall power supply.
Any help is appreciated.
Edit: Thanks to all that have replied, I will implement your advice on the fan circuit as soon as I have this issue with the temps figured out. It looks like my temp wandering issue is not related to how I have the fan set up because it's still there when I strip the circuit down to just the temp sensor. Right now I am watching temps via serial print to exclude the LCD circuit as well.