滞环整流PI调节算法仿真与环宽可调技术

版权申诉
0 下载量 27 浏览量 更新于2024-10-09 收藏 13KB RAR 举报
资源摘要信息:"可控整流的滞环控制算法仿真研究" 滞环控制算法(Hysteresis Current Control,简称HCC)是一种广泛应用在电力电子领域的控制策略,尤其在开关电源、逆变器和整流器的控制中非常常见。滞环控制的基本原理是通过设定一个滞环宽度,使得输出的电流波形能够在一个预设的电流带宽内波动,通过快速调节开关器件的开通和关断来实现对电流波形的控制。 标题中的"hcc.rar"暗示了这是一个与滞环控制相关的资源压缩包文件。"PI_adjustable"表明该仿真模型中集成了可调比例积分(Proportional-Integral,简称PI)调节器,这允许用户对PI调节器的参数进行修改以适应不同的控制需求。"pi_hcc_regulation"说明了仿真模型中涉及到PI调节器对滞环控制算法的调整和优化。"voltage滞环_整流"则指出了这个仿真模型主要用于研究滞环控制在整流器中的应用,特别是电压控制方面。 在电力电子设备中,整流器的主要作用是将交流电转换为直流电。在现代电子技术中,对输出直流电压的控制需求越来越高,这不仅仅是为了得到一个稳定的直流电源,还可能需要满足动态响应快速、精度高的需求。传统的整流器控制方法已经不能完全满足这些要求,因此需要采用更为先进的控制技术,比如滞环控制结合PI调节算法。 PI调节器在控制系统中属于一种典型的反馈控制方式,它能够根据输出电压与设定值之间的误差,通过调整控制量来减小误差。PI调节器包含比例(P)和积分(I)两个部分,其中比例环节可以迅速响应误差的变化,而积分环节则能够消除稳态误差,提高系统的静态精度。通过调整比例和积分的参数,可以对系统的动态性能和稳态性能进行优化。 滞环整流控制的核心在于,通过设定一个电流滞环宽度,使得电流始终在上限值和下限值之间循环。这种控制方式具有响应速度快,结构简单,易于实现的优点。但是,滞环控制也存在一些缺点,例如开关频率不固定,电流纹波较大等。为了克服这些缺点,通常会将PI调节器与滞环控制相结合,通过调整PI参数来动态地调整滞环宽度,以此改善电流波形的质量,减小纹波,并且可以控制输出电压的精度。 在描述中提到的“环宽可调,pi调节,输出电压可变”,指出了该仿真模型不仅可以模拟滞环控制的基本原理,而且允许用户通过PI调节器来调整滞环的宽度,从而改变电流波形的特性。同时,输出电压也是可以调节的,意味着用户可以模拟不同的工作条件,以研究在各种情况下的控制性能。 从文件名称列表中可以看出,该仿真模型是以一种模型文件的形式存在,具体为"hcc.mdl"。这可能是一个使用MATLAB/Simulink进行仿真的模型文件,因为Simulink环境中的模型文件通常以mdl作为文件后缀。用户可以打开这个文件,并且在MATLAB/Simulink环境下运行仿真,通过调整PI调节器参数和滞环宽度,观察整流器输出电压和电流波形的变化,进而分析控制效果。 总结来说,该资源描述的是一个关于滞环控制算法在整流器电压调节中应用的仿真模型,它集成了PI调节器,用户可以通过调整PI参数和滞环宽度来优化控制策略,得到高质量的输出电压波形。这个仿真模型适用于电力电子领域和自动控制领域中对整流器性能分析和控制策略设计的研究。

优化SQL select round( ohbmc.after_actual_amount/zz,0) cost_moneyi ,count(distinct case when ddp.orig_plan_rid = -1 then null else ddp.orig_plan_rid end) AS orig_num ,array_agg (dlt.state) AS loading_state ,count(DISTINCT CASE WHEN ddp.sale_planid = -1 THEN NULL ELSE ddp.sale_planid END) AS saleid_num--销地已计划数量 ,array_agg(dto.state) AS saletransport_state from ( SELECT id AS origin_planid , unnest(cabinet_rule_id) cabinet_rule_id -- 判断 next_plan_id 本身是空和 next_plan_id 为 {} ,unnest(case when (next_plan_id is null or next_plan_id[1] is null) then ARRAY[-1]::integer[] else next_plan_id end) as sale_planid --销地计划 , case when dp.plan_receiver_id is null then -1 else dp.plan_receiver_id end orig_plan_rid --产地计划 FROM ods.ods_durian_delivery_plan as dp left join ods.ods_hl_commodity_category as hcc on hcc.category_id = dp.category_id WHERE dp.type = 'ORIGIN' AND dp.deleted = 99 AND dp.tenant_id = 1 and cabinet_rule_id='{8}'or cabinet_rule_id='{9}'or cabinet_rule_id='{10000005}'---取白心火龙果 AND hcc.category_name = '火龙果') as ddp LEFT JOIN ods.ods_durian_loading_task AS dlt ON dlt.plan_id = ddp.origin_planid and dlt.plan_type='ORIGIN' AND dlt.deleted = 99 LEFT JOIN ods.ods_durian_transport_order AS dto ON dto.plan_id = ddp.sale_planid AND dto.deleted = 99 LEFT JOIN ods.ods_durian_receipt_task AS drt ON drt.plan_id = ddp.sale_planid AND drt.deleted = 99 LEFT JOIN ods.ods_durian_transport_order AS dto1 ON dto1.plan_id = ddp.sale_planid AND dto1.sort_no = 1 AND dto1.deleted = 99 left join (select odlsi.plan_id,sum(odlsi.quantity) zz from ods.ods_durian_loading_sku_item odlsi group by 1) odlsi on odlsi.plan_id=dlt.plan_id left join (select *, unnest(case when ( odbr.bill_main_id is null or odbr.bill_main_id is null) then ARRAY[-1]::integer[] else odbr.bill_main_id end) bill_main_id_r from ods.ods_durian_bill_rel odbr) odbr on odbr.data_id= dlt.plan_id and odbr.data_type='ORIGIN_FEE' left join ods.ods_hl_bill_main_currency ohbmc on ohbmc.bill_main_id=odbr.bill_main_id_r and ohbmc.deleted=99 group by 1;

2023-06-13 上传