YS110 Calibration - Part 4
I now had a usable method of establishing a YS110 calibration map for my Quench controller. All I had to do was:
- take a set of pictures at each power setting level
- compare those pictures to my set of reference pictures
- adjust my map
- repeat until happy
As noted in my prior post, it was immediately apparent that my original linear map quickly skewed the low power settings towards "over exposure" (way too much light at the mid range power settings - see below). I had planned to take an iterative approach:
- concentrate on a single sample picture
- establish a match in my reference pictures
- make tine tune adjustments to my map...
The surprise was that the second picture of my first sample set matched one of the highest power settings of my reference set. My first map had gone from lowest to almost highest in a single step. This observation simplified my approach: for each sample set I would pick the picture that was most of of whack, and then adjust my map based on that picture.
Time to iterate. But with some surprising information. I needed to squeeze my low power settings into a very, very (VERY!) small interval.
And this caused another problem. My original linear map spread things out. Each setting was several hundred micro seconds apart. My new map was jamming the low power setting very close together. Tens of microseconds between some of them. Which caused me some grief. My Arduino control loop overhead delay was longer than the minimum required quench delay. Firing the strobe and then waiting until the next loop cycle to quench it meant that the quench was late. This resulted in too many (3 or 4?) of my low power settings all producing the same amount of light. I needed to be able to short cut the loop delay so that my controller could respond fast enough to quench the strobe for lower power settings.
No worries. I knew the loop overhead delay. All I needed was some short circuit logic code that would perform an in-loop delay for any map setting that was shorter than the Arduino loop overhead. I had already painfully restructured my control loop to get it as real time as possible. It already gave priority to firing and quenching the strobe, A few lines of code later and I had a quench controller that could handle very short quench delays (less than 30 micro seconds).
Many minutes and multiple iterations later I had a quench map that I was happy with. Each iteration consisted of the following steps:
- create new map
- download new Arduino code
- take a set of sample pictures
- download sample pictures to my computer
- visually compare the sample pictures to my reference pictures (I used dual monitors and flipped between them)
Last step was to download my new Arduino program into the board on my converted SEA & SEA TTL controller. And test...