Hello,
I have to make a circuit capable of controlling a DC output Voltage from 0 to 57V, using a microcontroller. The idea I had is to use a digital potentiometer to control a variable voltage regulator. I used the LM317HV, which can handle up to 57V, and the digital potentiometer I chose is the AD5220. Basically, the control has to be in the digital voltage part of the circuit (3.3V), the problem is that I can't connect the digital potentiometer directly to the ADJ pin of the regulator, because of the voltage difference.
Therefore I came up with an idea, but I still think there should be a better way. My idea is shown in the attached image. I made a voltage divider that will vary according to the Digital Potentiometer (DP), that will control a current sink circuit, that I think, will simulate a resistance.
According to the LM317HV datasheet, the current through the transistor should be equal to Io=1.27V/R4. I chose R4=240ohms, according to the datasheet. Then, I calculate the values of R3 in order to obtain that current Io, when the potentiometer is at the maximum resistance. Since I put a 10Kohm resistance in parallel to the transistor, to grantee a current flow to GND, I calculate the values of R1 and R2 to adjust the voltage divider to obtain Io at maximum resistance of the DP, and to obtain half of Io at minimum resistance of the DP. Therefore, the transistor, according to me, is acting as a 10Kohm simulated variable resistance controlled by the digital potentiometer. This way I can vary the output voltage of the regulator.
I tested with a maximum output of 30V, and it seems to work fine, the main problem is that I'm having trouble obtaining the maximum (30V) and minimum values (1.5V) of the voltage regulator. I calculated the values of the voltage divider using 1.5V when DP=10Kohm and 1V when DP=70ohm (the mininmun of the DP) The values I used were R1= 11Kohm, R2=27Kohms. R3=30Kohm. The transistor I used was the C1815, the opamp was OP295.
What do you think about this design? Is there a better solution?
Thank you very much for any information!
I have to make a circuit capable of controlling a DC output Voltage from 0 to 57V, using a microcontroller. The idea I had is to use a digital potentiometer to control a variable voltage regulator. I used the LM317HV, which can handle up to 57V, and the digital potentiometer I chose is the AD5220. Basically, the control has to be in the digital voltage part of the circuit (3.3V), the problem is that I can't connect the digital potentiometer directly to the ADJ pin of the regulator, because of the voltage difference.
Therefore I came up with an idea, but I still think there should be a better way. My idea is shown in the attached image. I made a voltage divider that will vary according to the Digital Potentiometer (DP), that will control a current sink circuit, that I think, will simulate a resistance.
According to the LM317HV datasheet, the current through the transistor should be equal to Io=1.27V/R4. I chose R4=240ohms, according to the datasheet. Then, I calculate the values of R3 in order to obtain that current Io, when the potentiometer is at the maximum resistance. Since I put a 10Kohm resistance in parallel to the transistor, to grantee a current flow to GND, I calculate the values of R1 and R2 to adjust the voltage divider to obtain Io at maximum resistance of the DP, and to obtain half of Io at minimum resistance of the DP. Therefore, the transistor, according to me, is acting as a 10Kohm simulated variable resistance controlled by the digital potentiometer. This way I can vary the output voltage of the regulator.
I tested with a maximum output of 30V, and it seems to work fine, the main problem is that I'm having trouble obtaining the maximum (30V) and minimum values (1.5V) of the voltage regulator. I calculated the values of the voltage divider using 1.5V when DP=10Kohm and 1V when DP=70ohm (the mininmun of the DP) The values I used were R1= 11Kohm, R2=27Kohms. R3=30Kohm. The transistor I used was the C1815, the opamp was OP295.
What do you think about this design? Is there a better solution?
Thank you very much for any information!
Attachments

32.4 KB Views: 514
Last edited: