Close

Considering Calibration

A project log for Burning Pictures on a Compact Disc Surface

No LightScribe, no LabelTag. No hardware hacks or gimmicks. A regular CD-RW drive and a regular compact disk.

arduinocelentanoarduinocelentano 07/12/2022 at 19:502 Comments

Since many people keep asking about it, I think it should discussed.

From the Mathematical point of view we have a sort of multi-objective optimization problem. Bicriteria optimization, to be more precise. It means that two objective functions should be optimized simultaneously. If we define goal as getting a "neat image", we need an expert who is able to provide some feedback regarding image "quality". Which leads us to interactive methods.

The first and the most obvious idea is to select some series of equally spaced values for each criterium and burn a lot of discs with all possible combinations. If the space is narrow enough, you'll see something at some discs. Then narrow the range and repeat. A typical Computational mathematics approach. A lot of iterations and time.

The number of iterations could be reduced if we gradually change criteria within one image from disc center to rim. Then visually looking for areas where some distinctive fragments could be seen. The only implementation I know about was a part of CD PAINT project I mentioned. I thought it was gone, but finally found it today. It was called defcdparams. Apparently CD PAINT project contributors used it to define geometry of four discs I know. However it is still a time consuming procedure. I think it was the main reason why CD PAINT project was abandoned.

At least for me it was the reason why I finally gave up. However I'd like to share some of my thoughts regarding possible improvements of calibration technique. The weakest component in the mentioned algorithm is the necessity of human expertise. How it could be automated?

1. If all the discs are geometrically different, then seek time delays would be different to. Because the same sector A is located at different angles for two different discs. So if we know "ideal" delays for a calibrated disc, we theoretically should be able to calibrate another one. But... These delays must be optical drive dependent. So this solution potentially would face some hardware issues.

2. I have not considered this option in 2008, but now we have more advanced image recognition algorithms and better cameras. So maybe some AI solution might be used instead of human expertise.

If you have other ideas, please share them.

Discussions

Myself wrote 07/14/2022 at 21:20 point

What if you set a microphone near the drive, and listen to the spin speed? Combined with the data rate, that should let you extrapolate the pitch of the spiral as the burn process goes on.

  Are you sure? yes | no

RunnerPack wrote 07/15/2022 at 19:46 point

Good idea, but it might be hard to pick out the RPM from just the sound, especially with the tracking motor and other PC noise going on.

OTOH, maybe a photosensor hacked into the drive and a sharpie mark on the edge of the disk would work.  Of course, if you're going to hack the drive, you might be able to just get an RPM reading from the motor driver, or just sample one motor phase (they usually use a 3PH BLDC for the spindle motor).

  Are you sure? yes | no