Hello,
I'm trying to swap the 10k trim potentiometer that's on the XL6009 4A Boost Step Up Converter with a digital potentiometer. The X9C103S to be exact.
So what I did was to de-solder the trim pot and replace it with the X9C103S and drive that by my Arduino.
However, things do not work as expected. When the three pins X9C103S are connected to the Boost Converter in one order, I get a voltage of about 4.5V, but the voltage does not change. If I reverse the order of the three pins, the voltage slowly rises to approximately 25V and the Arduino gets quite hot.
Is there anything wrong in my assumption, that I could just swap the trim potentiometer by the X9C103S? I'm not going for great accuracy. Controlling the voltage with an accuracy of +/- 2V is already more than good enough.
I don't have any tools to make a good schematic installed right now, but my "wiring" is really straightforward.
I just wired the VH, VW and VL pin of the X9C103S in that order to the pins, where the trim potentiometer was previously. Just from left to right. With VW being in the middle pin.
When that did not work, I just swapped VH and VL.
Why exactly do you think this is a very bad idea? I'm trying to digitally control the voltage, I'm not sure what other options there are. I was trying to use the XL6009 as I have quite a few of them.
Edit: I found an older post of yours where you already explained the issue. Makes sense to me. Reading that, I'm still wondering if there's still a way I could use the digital potentiometer to control the voltage.
For me, it does not matter if the voltage is way off, before the Arduino is initialized.
I think you are out of spec for the max voltage on the VH pin on the X9C103.
Is the voltage you are connecting across the pot 25V?
You may also want to check your Arduino, since it may have also seen 25V.
Yes, probably. Is there any other digital potentiometer that can handle these voltages up to 40? Or is there a better solution to control the output voltage by an arduino?
Even if you could get a digital pot to stand the voltage, it is a bad idea because a switching regulator like this is very sensitive to the PCB layout. So by soldering something else in that circuit you change the layout and it is likely that this will result in the switching regulator with not work at all or at least acting unreliably.
It is a tough job laying out a working PCB in the first place without the new part and all those trailing wires.
You do, you have the best tools.
Please post an image of a hand drawn schematic ?
Please include power supplies, component names and pin labels.
Do you know which pin is which on the trim pot you removed?
Please put the trim pot back in the converter, then using a DMM measure the voltages on each of the three trimpot pins with respect to earth.
What is the wattage rating of the digital pot?
What is the resistance of the trimpot?
Do you want the voltage output to be variable over a specific range or do you want only to choose between say two or three fixed voltages.
The potential divider has to be set so when, the required output voltage appears across it, it gives 1.25 volts at the feedback pin.
Here is the XL6009 data sheet with specimen circuits http://beriled.biz/data/files/XL6009.pdf
Probably having like 5 different voltages to choose from would be enough for my application, however having the possibility to choose an arbitrary voltage between 5V and 35V would be better.
Is there any way I can achieve this with the parts I already have? Or what would be my best option to get to a digitally controlled step up module? Right now, I'm thinking just hot-glueing a servo to my pot would give me the least amount of headaches.
I'm really just tinkering around. I built a little enclosure for the XL6009 along with an ESP and a couple of relay switches, just so I have a little power supply that I can toggle and use in various other little projects.
So to make my little power supply just a bit more configurable, I wanted to add the ability to also changed the voltage digitally. I'm sure I'll find many uses for this in the future, for projects where I just can't use PWM.
So there is no secret application. I'm just trying to change the voltage digitally.
P.S. I actually did glue a servo to a potentiometer, just to see how well it would work, and I must say, it's working pretty good. I can adjust the voltage with an accuracy of approximately ±0.3V. But of course this is not a very elegant solution, and I hope to find a solution without moving parts.
You might just be able to do it something like this with a shift register to control a voltage divider network. However, the feed back network is a risk for interference so it may not work well in practice. Keep all wiring away from the inductor.
Ensure only one drain is active at any one time.
This is an example for 3 fixed voltages. Check the resistor values which are approximate here.
Thanks for this schematic, this sounds promising. I think I still lack some fundamental understanding of the hardware I'm working with here. May I ask how exactly the values for the resistors are calculated? I have to admit that I'm struggling to fully understand how the XL6009 is controlled.
The upper VCC would be the step-up modules output, right? So the output voltage of the XL6009 gets fed into the shift register and then connected back to the VfeedBack pin. Then the XL6009 tries to adjust itself, so that VfeedBack reads 1.2V. Please correct me if I'm wrong.
When I don't get is, what the purpose of the Vboost pin is exactly and why it is connected to VfeedBack via 10k ohms.
Nice, but I would have a fixed resistor permanently connected from feedback to gnd, and parallel up the others to change voltage.
That way you will not have the DC-DC converter without a valid feedback voltage.
OK. I chose the scheme above so that if no resistors were connected on the low side, say the shift register was not initialised, the full output voltage would appear on the feed back path, effectively shutting down the boost device. I guess this is the same consideration with a conventional potentiometer where, if the wiper fails to make contact, it is better that the full instead of 0 volts appears on the feedback pin.
Parallel resistors may not be so flexible if, for example, the user wants to change from a 5v/10v/20v scheme to a 5v/15v/20v scheme, maybe forcing a change of multiple resistors. Also, the calculation is harder
The Vboost pin is simply the voltage at the output of the boost converter. The 10k resistor and together with one of the selected low side resistors is simply calculated to deliver 1.25 volts at the feed back pin at the point that the right output level has been reached.
The Vcc is the power rail of your Arduino. If it is a Uno etc. that is then 5 volts.
The shift register there is simply to act as a switch to activate one of 3 possible voltage dividers depending on the output voltage the user has chosen. This activation is simply connecting the bottom end of the chosen resistor to ground.
It is the voltage dividers which are calculated to present 1.25 volts on the feed back pin of the boost converter, based on the (current) output level of the boost converter. If the boost converter presents voltage which is too high, the output voltage is reduced correspondingly until a "steady state" is reached which is as you have described.
I took the easy way and simply fed values into a simulation until the a specific output voltage delivered 1.25 volts at the feedback pin-