การทำงานของเซลล์แสงอาทิตย์ เป็นขบวนการเปลี่ยนพลังงานแสงเป็นกระแสไฟฟ้าได้โดยตรง โดยเมื่อแสงซึ่งเป็นคลื่นแม่เหล็กไฟฟ้าและมีพลังงานกระทบกับสารกึ่งตัวนำ จะเกิดการถ่ายทอดพลังงานระหว่างกัน พลังงานจากแสงจะทำให้เกิดการเคลื่อนที่ของกระแสไฟฟ้า (อิเลคตรอน) ขึ้นในสารกึ่งตัวนำ จึงสามารถต่อกระแสไฟฟ้าดังกล่าวไปใช้งานได้ (ตามรูป)

1. n - type ซิลิคอน ซึ่งอยู่ด้านหน้าของเซลล์ คือ สารกึ่งตัวนำที่ได้การโดปปิ้งด้วยสารฟอสฟอรัส มีคุณสมบัติเป็นตัวให้อิเล็กตรอนเมื่อรับพลังงานจากแสงอาทิตย์
p - type ซิลิคอน คือสารกึ่งตัวนำที่ได้การโดปปิ้งด้วยสารโบรอน ทำให้โครงสร้างของอะตอมสูญเสียอิเล็กตรอน (โฮล) เมื่อรับพลังงาน จากแสงอาทิตย์จะทำหน้าที่เป็นตัวรับอิเล็กตรอน เมื่อนำซิลิคอนทั้ง 2 ชนิด มาประกบต่อกันด้วย p - n junction จึงทำให้เกิดเป็น " เซลล์แสงอาทิตย์ " ในสภาวะที่ยังไม่มีแสงแดด n - type ซิลิคอนซึ่งอยู่ด้านหน้าของเซลล์ ส่วนประกอบส่วนใหญ่พร้อมจะให้อิเล็กตรอน แต่ก็ยังมีโฮลปะปนอยู่บ้างเล็กน้อย ด้านหน้าของ n - type จะมีแถบโลหะเรียกว่า Front Electrode ทำหน้าที่เป็นตัวรับอิเล็กตรอน ส่วน p - type ซิลิคอนซึ่งอยู่ด้านหลังของเซลล ์ โครงสร้างส่วนใหญ่เป็นโฮล แต่ยังคงมีอิเล็กตรอนปะปนบ้างเล็กน้อย ด้านหลังของ p - type ซิลิคอนจะมีแถบโลหะเรียกว่า Back Electrode ทำหน้าที่เป็นตัวรวบรวมโฮล

2. เมื่อมีแสงอาทิตย์ตกกระทบ แสงอาทิตย์จะถ่ายเทพลังงานให้กับอิเล็กตรอนและโฮล ทำให้เกิดการเคลื่อนไหว เมื่อพลังสูงพอทั้งอิเล็กตรอนและโฮลจะวิ่งเข้าหาเพื่อจับคู่กัน อิเล็กตรอนจะวิ่งไปยังชั้น n - type และโฮลจะวิ่งไปยังชั้น p type

3. อิเล็กตรอนวิ่งไปรวมกันที่ Front Electrode และโฮลวิ่งไปรวมกันที่ Back Electrode เมื่อมีการต่อวงจรไฟฟ้าจาก Front Electrode และ Back Elec trode ให้ครบวงจร ก็จะเกิดกระแสไฟฟ้าขึ้น เนื่องจากทั้งอิเล็กตรอนและโฮลจะวิ่งเพื่อจับคู่กัน
