I would like to build a variable resistor that can be controlled by Arduino. My plan is to vary resistance between the two values, i.e., 1 ohm to 10ohm, to continuously change the load for a small wind turbine. The resistances are for dissipating the power from the wind turbine, and the performance of the wind turbine is determined by the magnitude of the resistance. Would you please let me know how to build such system? Especially, I would like to know how to interface between the two power resistors and the Arduino control board.
|
I'd do something like shown below, where Vin is the input from the turbine, Vr is the voltage used to change the channel resistance of the MOSFET, I is the turbine current, and V across the 10 ohm resistor is the turbine output voltage. By changing the MOSFET's gate voltage, its channel resistance can be varied from essentially an open to a short circuit, which will cause the parallel resistance of the circuit to vary from 10 ohms to about an ohm if Rds can be driven low enough. Of course, knowing Rds(sat), the value of the 1.11 ohm resistor could be adjusted to yield precisely one ohm from the circuit, giving you precisely the one to ten ohm range you want. |
|||||||||
|
simulate this circuit – Schematic created using CircuitLab If you use relays shorting a series string of resistors with values such as 5\$\Omega\$/2.5\$\Omega\$/1.25\$\Omega\$/0.625\$\Omega\$/0.3125\$\Omega\$ (with an unswitched 1.0\$\Omega\$ in series), you can program values from 1.0 ohm to 10.6875 ohms in steps of 0.3125 ohms, using only a few (5 in the above example) SPST relays. A single ULN2003A will drive up to 7 relays (eg. 10A) with no additional components. You can think of this as a resistance output DAC with high power capability. |
|||||||||
|