i am new to the electronic things so please help me figure out a solution. I am looking for a way to control voltage by Arduino of my 60volt 10 amp dc power supply i.e to get any voltage from 0 to 60 accurately.I need to control temp of equipment by controlling the voltage.I looked for digital potentiometer the do not support high power uses.So i need help.
-
\$\begingroup\$ What does "accurately" mean to you exactly? Please provide a link to the manufacturer's user manual for the power supply or specify precisely how you think it can be controlled by some external signal. \$\endgroup\$– Elliot AldersonCommented Mar 29, 2019 at 18:34
-
1\$\begingroup\$ Is there a reason why you cannot use PWM and must instead use a variable voltage? And there are lots of closed-loop PID control modules available, very cheap. You should be able to just buy a solution without the Arduino and the rest. Look for "digital PID temperature controller". \$\endgroup\$– jonkCommented Mar 29, 2019 at 18:36
2 Answers
For temperature control the standard practice is to use pulse-width modulation (PWM). By varying the width of the pulses the average power can be adjusted.
Figure 1. PWM signal transitioning from high pulse width (75%) to low (25%) and back again. Note amplitude remains constant. This will result in 75% power, 25% power and 75% power again.
To control the power you use a transistor or MOSFET to do the switching. A web search for "Arduino PWM switching" will give you plenty of examples.
-
\$\begingroup\$ +1 Might be worth explicitly mentioning that controlling voltage gives a nonlinear heater power proportional to voltage squared for a fixed heater resistance, whereas PWM, as you say, gives linear power with duty cycle. \$\endgroup\$ Commented Mar 29, 2019 at 21:08
-
1\$\begingroup\$ Thanks, Spehro. I'm not sure we're ready for that. \$\endgroup\$ Commented Mar 29, 2019 at 21:21
-
\$\begingroup\$ i actually looked for pwm controller but they all have a mechanical potentiometer for voltage control but i have to control that electronically.How could i do that? \$\endgroup\$ Commented Apr 1, 2019 at 8:10
-
\$\begingroup\$ You do the PWM with the microcontroller and use that to switch a transistor or MOSFET or, if your frequency is very slow (>= 5 s duty cycle) you can use a relay. \$\endgroup\$ Commented Apr 1, 2019 at 9:25
i think you might actually want a pwm controller, not an arduino. not to say that arduino cant do that, but youll need additional hardware: mosfet, maybe inductor/transformer, when i think your task probably already has a commercially available solution. depending on the application you might be able to calibrate something like a motor speed controller, or here is something specfic to temp control, i know ive seen others better suited to what little you have described so far
-
\$\begingroup\$ i actually looked for pwm controller but they all have a mechanical potentiometer for voltage control but i have to control that electronically.How could i do that? \$\endgroup\$ Commented Apr 1, 2019 at 8:09
-
\$\begingroup\$ @saurabhkumar depending on cost and what you have available you could use an arduino and a servo :p yea thats not ideal. it would depend on the specfic controller in question, you might be able to simply replace the whole thing (pot that is) with digital signals. are you sure you need to have the voltage vary? ive never seen a heating system work like that, its almost always pulses of one set voltage at some percentage duty cycle. transforming voltage on the fly like you are describing would require either several dozen transformers of varying sizes, or would be HORRIBLY inefficient \$\endgroup\$ Commented Apr 7, 2019 at 20:37