Controlling a digital potentiometer with a voltage comparator?

This might be out of scope of this forum, but you all know a whole lot more than I do about things like this, so I thought I'd pick your thoughts since my Google-fu hasn't turned up much at this point.

What I'm trying to do is create a pseudo-MPPT circuit to glean as much power as possible out of a small 1W 6V solar panel, with a Vmp of 6v7 and Voc of 8v. I've successfully gotten this to work using a TL431, BC547, and a voltage divider, so that as long as there's enough sun to drive the voltage up past Vmp, I can glean between 40-60mA constantly out of the panel in late December. (I can only assume that this number will be higher in the summer too.) I can do this by using a voltage divider with the high side at 6.5k and low side at 3.9k to establish the reference voltage for the TL431.

What I'm wanting to do though, is to be able to adjust the high side so that if it's kind of cloudy (or morning/evening,) I can cull back the voltage cutoff from Vmp down closer to 4v. I know that I wouldn't get as much power at those lower voltages, but as things sit, I'm wasting charging current between 4v and the 6v7 cutoff (I can get 2mA out of a shaded panel at 4v.)

I was thinking that I could maybe use something like a DS1804 digital potentiometer, and some sort of voltage comparator circuit to try to adjust down the resistance of the voltage divider as the output from the panel decreases, or increase the resistance as the panel output increases. I know it wouldn't be true MPPT, but it would be close-ish.

What I'm not sure about though, is how to do this exactly.

I was thinking something along the lines of using a 555 timer to trigger a voltage comparator, and if the panel voltage was above Vmp, have it increase the resistance on the high side of the divider, or if the panel voltage was below Vmp, have it decrease the resistance. Do you think that this is possible without making things super complicated, or super expensive?

The purpose of this circuit is to keep some super capacitors charged, and run a small data logger with sensors off of the caps.

From my testing, the logger requires about 90mA for ~5 seconds when logging, and then 0.3mA when sleeping. I was going to have it log once every 10 minutes during the day, and once every hour during the night.

Since this setup will be entirely outdoors, pretty much every battery technology is unusable, since the winters will get down below 0F, and summers can get over 110F. Which is why I was looking at super caps.

I'm not sure of your circuit. It may be a bit complicated to increment and decrement the DS1804 counter by analog circuitry. But the data logger could be used to measure the actual panel voltage and adjust the pot accordingly. This can be done every now and then, leaving the controller sleeping in between. Also the voltage comparator of the Arduino can be used to wake up the controller, provided that you know whether the controller should wake up when the voltage increases or when it decreases.

I also doubt that a super cap will allow to power the controller, even for a few seconds. This is what you can find out yourself, if you have a super cap at hand. Most probably you'll need a switching voltage regulator, that allows to transform the rapidly decreasing voltage of the cap to a suitable voltage for the controller.

Thinking about this some more… What about using a sample and hold circuit to capture the MPPT voltage (from what I’ve read, this is always 80% of voc) and using that value with a voltage comparator? if the panel voltage is below the calculated Vmp, turn the output off until it rises above Vmp.

Doing some more research... If I was dealing with higher currents it might work. But as-is, the sample hold IC would require 4.5mA and the opamp would take 2.5mA. So that would such up most/all of the low-insolation power.

Have you thought about using a light dependant resistor in your voltage dividor? Maybe in parallel with a potentiometer to adjust the sensitivity.

Ooooooo... I like the idea! Will give it a shot...