太陽電池では、光の光子が細胞の半導体材料を打つと光電効果が発生します。各光子には、その波長によって決定される一定量のエネルギーがあります。光子が半導体のバンドギャップを克服するのに十分なエネルギーを持っている場合、原子価から伝導帯に電子を励起します。これにより、自由電子と価数帯域に正の帯電した穴が作成されます。
自由電子と穴は、半導体材料を通過して電流を作成できます。この電流は、太陽電池を動かすものです。
太陽電池の効率は、半導体材料のバンドギャップ、細胞に衝突する光の量、細胞の温度など、多くの要因によって決定されます。