Brightness adaptation for time lapse shooting every 30 minutes?

I use a Canon Ixus 850 IS camera for a really long time lapse of about two years. I have some experiences with time lapses already, but this one is different.

To make such a long time possible I shoot one picture every 30 minute during the day hours. This allows me to empty the card just twice, after one year and at the end. Now I figured out that there can be enormous differences in brightness and color between two pics shot in an interval of 30 minutes.

From my view the best solution would be to shoot every minute and render the final time lapse 30 times faster to get the same video duration at the end. Nevertheless this is not feasible as with 32 GB as the maximal size of supported SD cards it would be needed to be replace them every 10 days instead of once a year. Further the camera might die much faster.

Is there a possibility to limit the brightness change via the CHDK script? What I've tried is saving the brightness value of the last shot, the recent measurement and set the shutter speed using set_tv96_direct to their average value. Here of course a fixed ISO was set, but usage of ND filter was selected by camera. Due to the heavy amount of changes the result looked horrible. Next I limited maximum difference of tv96 values. There the result was much better, but still does not look good.

Therefore I would be more than happy for any ideas! Also a software solution to interpolate between these pics afterwards would be fine. I've tested LRTimelapse but it seems that this tool can only correct single frames which protude due to a completely failed exposure.

Would your averaging method work if you also locked the ND filter so that the camera can not insert it? That's possible to do with in a CHDK script and seems to be the only problem you describe having?

Is there a possibility to limit the brightness change via the CHDK script? What I've tried is saving the brightness value of the last shot, the recent measurement and set the shutter speed using set_tv96_direct to their average value. Here of course a fixed ISO was set, but usage of ND filter was selected by camera. Due to the heavy amount of changes the result looked horrible. Next I limited maximum difference of tv96 values. There the result was much better, but still does not look good.

What kind of a scene and lighting changes are involved? For an outdoor scene, keeping one area consistent can lead to extreme changes in other parts.

It may be useful to define "limit the brightness change" in more specific terms. It sounds like you want to keep the exposure value consistent from frame to frame, but is it:* Average value of the whole scene* Value of specific areas* Value of the majority of the scene, excluding outliers like the sun.*

As wateringz says, you can control the ND filter from CHDK. The exact ND value varies a bit between cameras, but it's usually close to 3 stops. If you half shoot, you can get the Bv and from that you can use the APEX equation to set all the other parameters, including the ND state.

The metering mode in the Canon firmware may let you fine tune what part of the of the scene the Canon firmware measures for the Bv.

In the CHDK 1.4 development version, you can measure user specified areas of the raw buffer from script and calculate exposure changes from that. However, this feature is under development. The functionality generally works, but things may change from build to build. Using it may require a significant amount of scripting on your part. See http://chdk.setepontos.com/index.php?topic=11081.msg119265#msg119265 if you are interested. To use this you would probably need to take two exposures, one for metering, and one for the actual timelapse. You could delete the metering image from script.