Сейчас 100 ступенек яркости. Соответственно, если напряжение с датчика освещенности максимум 5V, то 0,05V одна ступенька. Поэтому так и получается
при 0,1...0,2V остаётся 2...3 градации.
Можете подать на вход от фотодатчика +5V и попробовать использовать Вашу схему управления яркостью.
Это должно сделать регулировку более плавной при изменении освещенности. Но 100 ступенек так и останутся в изменении цветовой гаммы.
Кроме того, следует учитывать расположение фотодатчика. На него не должен попадать свет от самого светильника.
Также желательно сделать фотодатчик довольно инерционным. Можно между его выходом и входом в МК установить RC цепочку с большой постоянной времени.
Должен также заметить, что всегда так и происходит - изменения в небольшой яркости более заметны, чем такие же изменения при большой. То есть, если перейти на одну ступеньку 2->3, то это по сути увеличение яркости на 50%. А если 80->81, то это 1,25%.
Дальнейшим улучшением может быть увеличение числа ступенек. Но сейчас это и так уже почти максимально возможное число. Использование более мощного МК, которые имеет в своем составе не менее 3-х каналов ШИМ, может решить эту проблему и сделать число ступенек до 1000 (зависит от МК, для ATMEGA8 будет 255).