12_Single_Phase_Bridge_All_controlled

晶闸管仿真模型搭建
本文介绍了如何在仿真环境中搭建晶闸管模型并进行参数设置。通过调整导通角及负载参数,对比分析不同条件下的电压电流波形变化。

 1.建立仿真模型:

  ①  同时按住键盘中的 CTRL以及鼠标的左键,移动鼠标则可以将晶闸管模块复制到

其他位置;

  ②  中性节点(Neutral output)的使用;

2.设置模型参数:

  ①  交流电压源: 220*sqrt(2) V, 50HZ, 0°;

  测量选择选中valtage,可在multimeter中查看;

  ②VT1 – VT4 默认参数;

  ③负载RLC : R = 0,L = 0, C = INF;测量选择Voltage & current ;

  ④脉冲发生器:

  脉冲的脉冲周期和U2相同( 50HZ ), 控制角以脉冲延时t = αt/360°,T = 1/f;

结果分析:

1.比较触发脉冲,60°比30°更加滞后了;

2.比较负载电压,电流:
    30°R: 在触发之后30°时便有电压;
    60° R :      60°时才出现电压;
    60°RL :     由于加入了电感,电压虽然不变,但是电流变得更加平缓;

3.比较晶闸管电压电流:
  无电感:
    ①VT1 – VT3 的电流波形和负载的正半周波形相同;
    ②当晶闸管关断后,电流为零,并承受反向电压;
    或者在这个晶闸管尚没有导通时,承受正向电压!!

  有电感:

    有电感之后,晶闸管的电流波形变得平滑,而不再是阶跃上升!


1_Layout:



2_导通角30°,电阻R = 2 负载:



3_晶闸管:VT1-VT3:



4_导通角60°,电阻 R = 2负载:



5_晶闸管VT1 – VT3:



6_导通角为60°,R = 2,L = 10mH 阻感负载:



7_晶闸管VT1 – VT3:




import matplotlib.pyplot as plt import numpy as np import math # 设置中文字体 plt.rcParams['font.sans-serif'] = ['SimHei', 'DejaVu Sans'] plt.rcParams['axes.unicode_minus'] = False # 创建图像和子图 fig, (ax1, ax2, ax3) = plt.subplots(3, 1, figsize=(12, 10)) # 参数设置 U2 = 100 alpha = 30 Id = 38.97 omega_t = np.linspace(0, 360, 1000) # 1. 整流输出电压 ud 波形 ud = np.zeros_like(omega_t) for i, angle in enumerate(omega_t): if 30 <= angle <= 180: # 正半周导通 ud[i] = U2 * math.sqrt(2) * math.sin(math.radians(angle)) elif 210 <= angle <= 360: # 负半周导通 ud[i] = U2 * math.sqrt(2) * math.sin(math.radians(angle)) else: # 不导通区间 ud[i] = 0 ax1.plot(omega_t, ud, 'b-', linewidth=2) ax1.set_ylabel('ud (V)', fontsize=12) ax1.set_title('Single-Phase Full-Bridge Controlled Rectifier Waveforms (U₂=100V, R=2Ω, α=30°)', fontsize=14) ax1.grid(True, alpha=0.3) ax1.set_ylim(-150, 150) ax1.axhline(y=0, color='k', linestyle='-', alpha=0.3) # 标注关键点 ax1.axvline(x=30, color='r', linestyle='--', alpha=0.7, label='α=30°') ax1.axvline(x=180, color='g', linestyle='--', alpha=0.7, label='180°') ax1.axvline(x=210, color='r', linestyle='--', alpha=0.7, label='α+180°=210°') ax1.legend() # 2. 负载电流 id 波形(由于电感极大,电流连续平直) id = np.ones_like(omega_t) * Id ax2.plot(omega_t, id, 'r-', linewidth=3) ax2.set_ylabel('id (A)', fontsize=12) ax2.grid(True, alpha=0.3) ax2.set_ylim(0, 50) ax2.axhline(y=0, color='k', linestyle='-', alpha=0.3) # 3. 变压器二次侧电流 i2 波形 i2 = np.zeros_like(omega_t) for i, angle in enumerate(omega_t): if 30 <= angle <= 180: # 正半周 i2[i] = Id elif 210 <= angle <= 360: # 负半周 i2[i] = -Id ax3.plot(omega_t, i2, 'g-', linewidth=2) ax3.set_ylabel('i₂ (A)', fontsize=12) ax3.set_xlabel('Electrical Angle ωt (°)', fontsize=12) ax3.grid(True, alpha=0.3) ax3.set_ylim(-50, 50) ax3.axhline(y=0, color='k', linestyle='-', alpha=0.3) # 调整布局 plt.tight_layout() # 保存图像 plt.savefig('single_phase_rectifier_waveforms.png', dpi=300, bbox_inches='tight') plt.savefig('single_phase_rectifier_waveforms.pdf', bbox_inches='tight') # PDF格式,适合打印 plt.show() # 打印关键参数 print("关键参数计算结果:") print(f"• 输出平均电压 Ud = {0.9 * U2 * math.cos(math.radians(alpha)):.2f} V") print(f"• 输出平均电流 Id = {Id:.2f} A") print(f"• 变压器二次电流有效值 I₂ = {Id:.2f} A") print(f"• 晶闸管承受最大反向电压 = {math.sqrt(2) * U2:.1f} V") print(f"• 晶闸管额定电压建议值 = 400-500 V") print(f"• 晶闸管额定电流建议值 = 30-40 A") print("\n图像已保存为:single_phase_rectifier_waveforms.png 和 .pdf")
最新发布
09-29
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值