引言
在光伏系统设计中,阴影遮挡是影响发电效率的关键因素之一。据统计,即使是小面积的阴影遮挡,也可能导致整个组串的发电量下降20%-30%。本文将从基本原理出发,详细讲解光伏板阴影长度的计算方法,并提供实用的工程实践指南,帮助您优化光伏系统设计,最大化发电收益。
一、光伏阴影遮挡的基本原理
1.1 阴影对光伏组件的影响机制
光伏组件通过半导体材料的光电效应将太阳能转化为电能。当阴影遮挡部分电池片时,会产生以下影响:
- 串联失配效应:在串联电路中,电流受最小电池片限制,导致整个组串输出下降
- 热斑效应:被遮挡的电池片可能从发电单元变为耗电单元,产生局部发热
- 旁路二极管保护:当压差达到阈值时,旁路二极管导通,但会牺牲部分发电单元
1.2 阴影长度计算的关键参数
计算阴影长度需要考虑以下关键参数:
| 参数 | 符号 | 说明 | 典型值 |
|---|---|---|---|
| 太阳高度角 | h | 太阳与地平线的夹角 | 随季节和时间变化 |
| 太阳方位角 | α | 太阳相对于正南方向的角度 | 随季节和时间变化 |
| 组件倾角 | β | 光伏板与水平面的夹角 | 15°-40° |
| 组件高度 | H | 组件安装高度 | 根据设计确定 |
| 遮挡物高度 | H_obs | 遮挡物相对于组件的高度 | 实际测量值 |
2. 阴影长度计算的数学模型
2.1 基础几何模型
阴影长度的基本计算公式为:
L = H × cot(h)
其中:
- L:阴影长度
- H:遮挡物高度差(相对于光伏板)
- h:太阳高度角
2.2 考虑组件倾角的修正模型
当光伏板有倾角时,需要进行几何修正。设组件倾角为β,太阳高度角为h,太阳方位角为α,组件朝向为γ(正南为0°,东为负,西为正)。
修正后的阴影长度计算公式:
L = (H × cos(β) × cot(h)) / (cos(α - γ) × sin(h) + sin(β) × cos(α - γ) × cos(h))
2.3 太阳位置计算
太阳高度角和方位角可以通过以下公式计算:
太阳高度角 h:
sin(h) = sin(φ) × sin(δ) + cos(φ) × cos(δ) × cos(ω)
太阳方位角 α:
sin(α) = cos(δ) × sin(ω) / cos(h)
其中:
- φ:当地纬度
- δ:太阳赤纬角(随季节变化)
- ω:时角(15°/小时,正午为0)
2.4 Python代码实现示例
以下是计算阴影长度的Python代码实现:
import math
import numpy as np
from datetime import datetime
class ShadowCalculator:
def __init__(self, latitude, longitude, timezone):
"""
初始化阴影计算器
:param latitude: 纬度(十进制)
:param longitude: 经度(十进制)
:param timezone: 时区
"""
self.latitude = math.radians(latitude)
self.longitude = math.radians(longitude)
self.timezone = timezone
def calculate_sun_position(self, date_time):
"""
计算太阳位置(高度角和方位角)
:param date_time: datetime对象
:return: (高度角, 方位角) 单位:弧度
"""
# 计算年积日
start = datetime(date_time.year, 1, 1)
day_of_year = (date_time - start).days + 1
# 太阳赤纬角(弧度)
delta = math.radians(23.45 * math.sin(math.radians(360 * (284 + day_of_year) / 365)))
# 时角(弧度)
B = 360 * (day_of_year - 81) / 365
E = 9.87 * math.sin(math.radians(2B)) - 7.53 * math.cos(math.radians(B)) - 1.5 * math.sin(math.radians(B))
time_offset = E + 4 * (self.longitude / math.radians(15)) - self.timezone
hour_angle = math.radians(15 * (date_time.hour + date_time.minute/60 - 12 + time_offset/60))
# 太阳高度角
sin_h = math.sin(self.latitude) * math.sin(delta) + math.cos(self.latitude) * math.cos(delta) * math.cos(hour_angle)
h = math.asin(sin_h)
# 太阳方位角
sin_alpha = math.cos(delta) * math.sin(hour_angle) / math.cos(h)
# 处理边界情况
if abs(sin_alpha) > 1:
sin_alpha = np.sign(sin_alpha)
alpha = math.asin(sin_alpha)
# 根据时角调整方位角象限
if hour_angle > 0:
alpha = math.pi - alpha
return h, alpha
def calculate_shadow_length(self, obs_height, panel_height, panel_tilt, panel_azimuth, date_time):
"""
计算阴影长度
:param obs_height: 遮挡物高度(米)
:param panel_height: 光伏板安装高度(米)
:param panel_tilt: 组件倾角(度)
:param panel_azimuth: 组件方位角(度,正南为0,东负西正)
:param date_time: datetime对象
:return: 阴影长度(米)
"""
h, alpha = self.calculate_sun_position(date_time)
# 转换为弧度
beta = math.radians(panel_tilt)
gamma = math.radians(panel_azimuth)
# 高度差
H = obs_height - panel_height
# 如果遮挡物低于光伏板,无阴影
if H <= 0:
return 0
# 计算阴影长度
# 基础公式:L = H * cot(h) / (cos(α-γ) * sin(h) + sin(β) * cos(α-γ) * cos(h))
denominator = math.cos(alpha - gamma) * math.sin(h) + math.sin(beta) * math.cos(alpha - gamma) * math.cos(h)
if denominator == 0:
return float('inf') # 太阳在正后方,无限长
L = H * math.cos(beta) * (1 / math.tan(h)) / denominator
return L
# 使用示例
if __name__ == "__main__":
# 创建计算器实例(北京:纬度39.9,经度116.4,时区+8)
calculator = ShadowCalculator(latitude=39.9, longitude=116.4, timezone=8)
# 计算2024年6月21日(夏至)上午10点的阴影长度
test_time = datetime(2024, 6, 21, 10, 0)
# 参数设置
obs_height = 5.0 # 遮挡物高度5米
panel_height = 1.0 # 光伏板安装高度1米
panel_tilt = 30 # 倾角30度
panel_azimuth = 0 # 正南
shadow_len = calculator.calculate_shadow_length(
obs_height, panel_height, panel_tilt, panel_azimuth, test_time
)
print(f"计算时间:{test_time}")
print(f"遮挡物高度:{obs_height}米")
print(f"光伏板高度:{1.0}米")
print(f"组件倾角:{panel_tilt}度")
print(f"计算得到的阴影长度:{shadow_len:.2f}米")
# 计算全年的阴影变化
print("\n=== 全年阴影长度变化(每月21日10:00)===")
for month in range(1, 13):
test_time = datetime(2024, month, 21, 10, 0)
shadow_len = calculator.calculate_shadow_length(
obs_height, panel_height, panel_tilt, panel_azimuth, test_time
)
print(f"{month}月21日:{shadow_len:.2f}米")
3. 工程实践中的阴影计算
3.1 简化计算方法(工程实用版)
在实际工程中,可以采用以下简化方法:
步骤1:确定关键时间点
- 冬至日(12月21日或22日):全年阴影最长
- 夏至日(6月21日或22日):全年阴影最短
- 春秋分(3月21日和9月23日):中间值
步骤2:计算关键时间点的太阳高度角
使用简化公式:
h = 90° - |φ - δ|
其中:
- φ:当地纬度
- δ:太阳赤纬角(冬至-23.45°,夏至+23.45°,春秋分0°)
步骤3:计算阴影长度
使用简化公式:
L = H × cot(h)
示例计算: 假设北京(φ=39.9°),遮挡物高度H=3米,光伏板高度1米,倾角30°。
- 冬至日太阳高度角:h = 90° - |39.9° - (-23.45°)| = 26.65°
- 阴影长度:L = 2 × cot(26.65°) = 2 × 2.0 = 4.0米
3.2 实际工程案例
案例:某屋顶光伏项目阴影分析
项目参数:
- 地点:上海(纬度31.2°)
- 屋顶高度:25米
- 光伏板安装高度:26米(在屋顶女儿墙上)
- 组件倾角:25°
- 方位角:0°(正南)
- 周边建筑:东侧30米处有40米高写字楼
分析过程:
计算冬至日正午太阳高度角:
h = 90° - |31.2° - (-23.45°)| = 35.35°计算阴影长度:
H = 40 - 26 = 14米 L = 14 × cot(35.35°) = 14 × 1.41 = 19.74米判断是否遮挡:
- 遮挡物距离:30米
- 阴影长度:19.74米
- 结论:冬至日正午不会遮挡
计算下午3点的阴影(更危险时段):
- 时角:15° × (15-12) = 45°
- 太阳高度角:约15°
- 阴影长度:约52米(会遮挡)
优化方案:
- 将光伏板向西移动5米,远离遮挡物
- 或降低安装高度至24米
- 或采用单轴跟踪系统,避开阴影时段
4. 阴影检测与优化策略
4.1 阴影模拟软件工具
常用软件:
- PVsyst:专业的光伏系统设计软件,提供详细的阴影分析
- Helioscope:3D建模,精确计算阴影 3.SketchUp + Solar插件:免费,适合初步设计
- Google Earth Pro:结合地形和建筑数据
4.2 现场测量方法
工具:
- 太阳能辐射计
- 激光测距仪
- 全站仪
- 智能手机APP(如Sun Seeker)
测量步骤:
- 在规划安装点放置测量设备
- 在关键日期(冬至、夏至)测量全天阴影变化
- 记录每个时段的阴影边界
- 绘制阴影地图
4.3 阴影优化设计原则
原则1:最小化阴影影响
- 保证全年9:00-15:00无阴影
- 冬至日阴影长度应小于前后排间距的70%
原则2:合理排布
- 东西向长排布置减少阴影
- 采用不同倾角设计
- 高低搭配安装
原则3:电气优化
- 使用优化器或微型逆变器
- 合理配置组串长度
- 增加旁路二极管数量
5. 阴影长度计算的进阶应用
5.1 动态阴影分析
动态阴影分析考虑以下因素:
- 季节变化
- 时间变化
- 天气条件
- 运维活动(如清洗)
5.2 经济性评估
阴影遮挡的经济损失计算:
年损失 = 阴影遮挡功率 × 年等效利用小时数 × 电价
示例:
- 阴影遮挡导致10kW功率损失
- 年等效利用小时:1200小时
- 电价:0.4元/kWh
- 年损失 = 10 × 1200 × 0.4 = 4800元
5.3 智能监控与运维
监控方案:
- 组串级监控
- 热成像检测
- AI阴影识别
运维策略:
- 定期修剪植被
- 清理临时遮挡物
- 优化组件清洁周期
6. 常见问题解答
Q1:阴影长度计算需要多高的精度? A:工程计算中,太阳高度角误差±1°,阴影长度误差约±5%。对于关键项目,建议使用专业软件,精度可达±1%。
Q2:多云天气的阴影如何计算? A:多云天气太阳辐射减弱,但阴影依然存在。建议按晴天计算,再乘以0.7-0.8的修正系数。
Q3:双面组件的阴影影响是否不同? A:是的。双面组件背面可接收反射光,阴影影响相对较小,但正面阴影仍会显著影响发电。
Q4:如何快速估算阴影长度? A:使用经验公式:L ≈ 2H(冬至日)或 L ≈ 0.5H(夏至日),其中H为高度差。
7. 总结
光伏板阴影长度计算是光伏系统设计中的核心技术环节。通过准确的几何建模和太阳位置计算,可以有效预测和规避阴影遮挡问题。在实际工程中,建议:
- 设计阶段:使用专业软件进行全年阴影模拟
- 施工阶段:现场复核关键时间点的阴影情况
- 运维阶段:持续监控,及时处理新增遮挡
记住:预防优于治疗。在设计阶段投入精力优化布局,可以避免后期高昂的改造成本,确保光伏系统长期高效运行。
附录:常用数据速查表
| 城市 | 纬度 | 冬至正午太阳高度角 | 夏至正午太阳高度角 |
|---|---|---|---|
| 北京 | 39.9° | 26.65° | 73.55° |
| 上海 | 31.2° | 35.35° | 82.25° |
| 广州 | 23.1° | 43.45° | 90.00° |
| 成都 | 30.7° | 35.85° | 82.75° |
常用cot值表:
- 15°: 3.73
- 20°: 2.75
- 25°: 2.14
- 30°: 1.73
- 35°: 1.43
- 40°: 1.19
- 45°: 1.00
通过本文的详细讲解和实用工具,相信您已经掌握了光伏板阴影长度计算的核心方法。在实际项目中,建议结合专业软件和现场测量,确保计算结果的准确性,从而设计出高效可靠的光伏系统。
