描述
<div class="document">
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">注:* 为必填项</p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><strong><span style="color:#0093e6;">请在报名阶段填写 ↓</span></strong></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">* 1、项目功能介绍</h3>
<hr class="horizontal-splitline normal-bold-2">
<h3 class="header-vfC6AV auto-hide-last-sibling-br">1. 交流供电模式:高精度稳压稳频与宽适配能力</h3>
<ul class="auto-hide-last-sibling-br">
<li><strong>精准输出控制</strong>:当输入交流电压<span class="container-rkuXQi math-inline"><span class="katex"><span class="katex-html"><span class="base"><span class="mord"><span class="mord mathnormal">U</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist"><span class="sizing reset-size6 size3 mtight"><span class="mord mtight">1</span></span></span><span class="vlist-s"></span></span></span></span></span><span class="mrel">=</span></span><span class="base"><span class="mord">36</span><span class="mord mathnormal">V(可调)</span></span></span></span></span>、输出电流<span class="container-rkuXQi math-inline"><span class="katex"><span class="katex-html"><span class="base"><span class="mord"><span class="mord mathnormal">I</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist"><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">o</span></span></span><span class="vlist-s"></span></span></span></span></span><span class="mrel">=</span></span><span class="base"><span class="mord">1</span><span class="mord mathnormal">A</span></span></span></span></span>时,输出交流电压稳定在<span class="container-rkuXQi math-inline"><span class="katex"><span class="katex-html"><span class="base"><span class="mord">30</span><span class="mord mathnormal">V</span><span class="mbin">±</span></span><span class="base"><span class="mord">0.1</span><span class="mord mathnormal">V(可通过代码调试)</span></span></span></span></span>,频率锁定为<span class="container-rkuXQi math-inline"><span class="katex"><span class="katex-html"><span class="base"><span class="mord">50</span><span class="mbin">±</span></span><span class="base"><span class="mord">0.1</span><span class="mord mathnormal">Hz</span></span></span></span></span>,确保负载获得恒定的标准供电。</li>
<li><strong>宽负载适配</strong>:负载电流在<span class="container-rkuXQi math-inline"><span class="katex"><span class="katex-html"><span class="base"><span class="mord">0.1</span><span class="mord mathnormal">A</span><span class="mbin">−</span></span><span class="base"><span class="mord">1.0</span><span class="mord mathnormal">A</span></span></span></span></span>范围内动态变化时,负载调整率<span class="container-rkuXQi math-inline"><span class="katex"><span class="katex-html"><span class="base"><span class="mord"><span class="mord mathnormal">S</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist"><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">I</span></span></span><span class="vlist-s"></span></span></span></span></span><span class="mrel">≤</span></span><span class="base"><span class="mord">0.5%</span></span></span></span></span>,即使轻载、满载切换,输出电压波动变化小。</li>
<li><strong>宽输入兼容</strong>:输入交流电压在18<span class="container-rkuXQi math-inline"><span class="katex"><span class="katex-html"><span class="base"><span class="mord mathnormal">V</span><span class="mbin">−38</span></span><span class="base"><span class="mord mathnormal">V</span></span></span></span></span>(涵盖电压波动极值)范围内变化时,电压调整率<span class="container-rkuXQi math-inline"><span class="katex"><span class="katex-html"><span class="base"><span class="mord"><span class="mord mathnormal">S</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist"><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">U</span></span></span><span class="vlist-s"></span></span></span></span></span><span class="mrel">≤</span></span><span class="base"><span class="mord">0.5%</span></span></span></span></span>,无需额外调压装置即可稳定输出,适应复杂电网环境。
<h3 class="header-vfC6AV auto-hide-last-sibling-br">2 直流供电模式:毫秒级无缝切换与稳定续电</h3>
<ul class="auto-hide-last-sibling-br">
<li><strong>无间断供电切换</strong>:当交流电源断开时,设备即时切换至直流储能器件侧,<span class="container-rkuXQi math-inline"><span class="katex"><span class="katex-html"><span class="base"><span class="mord">24</span><span class="mord mathnormal">V(可输入25V-55V)</span></span></span></span></span>供电,切换过程无电压中断、无频率波动,保障负载持续运行不宕机。</li>
<li><strong>续电输出一致性</strong>:直流供电时,即使输出电流<span class="container-rkuXQi math-inline"><span class="katex"><span class="katex-html"><span class="base"><span class="mord"><span class="mord mathnormal">I</span><span class="msupsub"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist"><span class="sizing reset-size6 size3 mtight"><span class="mord mathnormal mtight">o</span></span></span><span class="vlist-s"></span></span></span></span></span><span class="mrel">=</span></span><span class="base"><span class="mord">1</span><span class="mord mathnormal">A</span></span></span></span></span>,仍保持输出电压<span class="container-rkuXQi math-inline"><span class="katex"><span class="katex-html"><span class="base"><span class="mord">30</span><span class="mord mathnormal">V</span><span class="mbin">±</span></span><span class="base"><span class="mord">0.1</span><span class="mord mathnormal">V</span></span></span></span></span>、频率<span class="container-rkuXQi math-inline"><span class="katex"><span class="katex-html"><span class="base"><span class="mord">50</span><span class="mbin">±</span></span><span class="base"><span class="mord">0.1</span><span class="mord mathnormal">Hz</span></span></span></span></span>,续电性能与交流供电完全一致,无性能衰减。</li>
</ul>
</li>
</ul>
<p><strong>220V经过隔离变压器,在连入自耦变压器,可实现输入电压的可调,注意要接空气开关,接线不能用普通杜邦线,可上网买可承受额定电流2A及以上的线进行连接。(确保不会因电流过大烧线)</strong></p>
<p><strong>项目具体结构</strong></p>
<p><strong>输入18-38V交流电->升压成55V直流电(boost)->逆变成30V交流电</strong></p>
<p><strong>断开交流电输入,瞬时切入直流电25V->升压成55V直流电(boost)->逆变成30V交流电</strong></p>
<p><strong>负载可保持在1A左右</strong></p>
<p><strong>优点:输入交流电压,直流电压都是可调的,</strong></p>
<p><strong>输出电压,频率都是可调的,可通过代码调试,但是要注意MOS管的耐压和电解电容(储能)的耐压,一般不要超过其耐压的80%</strong></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:主题不限,可以是解决生活/工作中的某个问题、为某个人群/场景设计的方案、毕业设计/课程设计/DIY项目/纯属炫酷项目等。主要讲一下自己通过什么手段解决了什么问题。</span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">*2、项目属性</h3>
<hr class="horizontal-splitline normal-bold-2">
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">实现高效能运行,减少能源浪费的<strong>高端单相在线式 UPS</strong></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:请说明项目是否首次公开;项目是否为原创;项目是否曾经在其他比赛中获奖,若有获奖则叙述获奖详情;项目是否在学校参加过答辩。</span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">* 3、开源协议</h3>
<hr class="horizontal-splitline normal-bold-2">
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">请输入内容…</span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">GPL3.0开源协议。CC BY-NC-SA 4.0开源协议</p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注:利他即利己,请认真阅读下述内容。</span></p>
<ol style="line-height:1.8;">
<li class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-hanging-indent-1.6em" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">拥抱开源,赋予项目无限价值。建议项目核心功能开源80%以上;</span></li>
<li class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-hanging-indent-1.6em" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">2、若某一部分功能不可替代且删掉之后项目无法解决对应的问题,则这一部分实现的功能就是项目的核心功能;比如设计了一台电子负载且设计了一款上位机软件监控功率变化,则电子负载为核心功能,上位机软件为辅助功能;比如电子负载中使用了一款隔离485模块与上位机通信,则此485模块实现的通讯功能为辅助功能; </span></li>
<li class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-hanging-indent-1.6em" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">项目应选择适合自己的<span style="text-decoration:underline;"><a href="/posts/98fdb2accd754af7b51990790db3b47a" target="_blank">开源协议</a></span>,若项目引用其他开源项目,应注明来源并遵循原作者的开源协议规定;原创项目推荐使用GPL3.0开源协议;</span></li>
<li class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-hanging-indent-1.6em" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">直接引用开源项目的原电路或原代码实现的功能不可作为自己项目的核心功能、使用市场上通用模块直接实现的功能不可作为自己项目的核心功能。</span></li>
</ol>
<p style="line-height:1.8;"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><strong><span style="color:#0093e6;">请在竞赛阶段填写 ↓</span></strong></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<h3 class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">*4、硬件部分</h3>
<p>输入采用全桥整流,可使交流电转变为直流电,且Uout=1.414Uin</p>
<p>交流电与直流电输入的关键在于D14二极管,当二极管的阳极大于阴极的,且达到了导通电压,所以关断交流电,直流电就会流入电路板,无缝衔接交流转直流输入即VIN-U直=UON(导通压降)</p>
<p>注意只有交流输入的时候,必须VIN大于U直(直流电)</p>
<p>输出55V直流电压,可通过改变R4R5的阻值来改变输出电压</p>
<p>注意 先输入12V使供芯片工作,在输入供电,在接入交流电,直流电,有交流电时,直流电不会进入板子供电,如果交流电一断开,直流电就会代替交流电为板子供电,以至于输出的30V交流电不会因为输入端的影响,使得输出造成不可逆的影响</p>
<hr class="horizontal-splitline normal-bold-2">
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/pEwHaFvGKnkCD6B0SA63Uz2RUgmHulFWApCLq9Fv.png" alt="pEwHaFvGKnkCD6B0SA63Uz2RUgmHulFWApCLq9Fv.png"></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/1VioCySf73EEtStpinxslV3rDojN5qQhBfjtO5j9.png" alt="1VioCySf73EEtStpinxslV3rDojN5qQhBfjtO5j9.png"></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">注意 先输入12V使供芯片工作,在输入供电,在接入交流电,直流电,有交流电时,直流电不会进入板子供电,如果交流电一断开,直流电就会代替交流电为板子供电,以至于输出的30V交流电不会因为输入端的影响,使得输出造成不可逆的影响</p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/mXdL203sZjIYjs8CKg9N0c9ftmvdc3fdKkTgFs7Y.png" alt="mXdL203sZjIYjs8CKg9N0c9ftmvdc3fdKkTgFs7Y.png"></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><img src="//image.lceda.cn/pullimage/Vl1tEs2tfPHVWgZqqkjzA9rSfycFuRA1I0ig3PK8.png" alt="Vl1tEs2tfPHVWgZqqkjzA9rSfycFuRA1I0ig3PK8.png"></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><strong><span style="color:#95a5a6;font-size:14px;">输入55V直流电,经过全桥逆变生成30V交流电</span></strong></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">此单相逆变电路可以有过压保护(有继电器),可在代码中修改,下方代码并没有过压保护</p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">也可在EDAdong的博客中下载有过压保护的代码,且在哔站有详细介绍</p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">注明:此单相逆变电路在EDAdong博客的PCB改进而来</span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;"><img src="//image.lceda.cn/pullimage/Xi8YuBEKAwVRBkGiUXdtgp0tZtTm9AuK2mJOYTXP.png" alt="Xi8YuBEKAwVRBkGiUXdtgp0tZtTm9AuK2mJOYTXP.png"></span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;"><img src="//image.lceda.cn/pullimage/tGLNGs60RsYwu0AfkCaG30mZrlvxC2JphOp04UVJ.png" alt="tGLNGs60RsYwu0AfkCaG30mZrlvxC2JphOp04UVJ.png"></span></p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">辅助电源有宽输入18-75V,输出为12V 5V -5V,也可以自行修改输出</p>
<ul>
<li><span style="color:#95a5a6;font-size:14px;">注明:此辅助电源与EDAdong博客pcb改进而来</span></li>
</ul>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;"><span style="color:#95a5a6;font-size:14px;">。</span>5、软件部分</p>
<hr class="horizontal-splitline normal-bold-2">
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt" style="line-height:1.8;">单相逆变软件代码使用PID调节,可使输出在<span class="container-rkuXQi math-inline"><span class="katex"><span class="katex-html"><span class="base"><span class="mord">30</span><span class="mord mathnormal">V</span><span class="mbin">±</span></span><span class="base"><span class="mord">0.1</span><span class="mord mathnormal">V(可变),可调节代码改变输出电压(稳定),软件代码使用的是hal库,以下是部分主要代码</span></span></span></span></span></p>
<div>// 电压闭环参数</div>
<div>//float V_ref = 12.0f * 1.414; // 基准电压峰值</div>
<div>//float V_fb = 0.0; // 反馈电压(采样得到的峰值)</div>
<div>float last_error = 0.0; // 电压误差</div>
<div>float pi_output = 0.08f; // PI控制器输出(调制系数,0~0.9)</div>
<div> </div>
<div>// PI控制器参数(需调试优化)</div>
<div>float Kp = 5.0f; // 比例系数</div>
<div>float Ki = 1.0f; // 积分系数</div>
<div>float integral = 0.0; // 积分项</div>
<div>float pi_max = 100; // 系数上限(避免过调制)</div>
<div>float pi_min = -100; // 系数下限</div>
<div>float delta_in ; //增量</div>
<div> </div>
<div>typedef struct _AC_RMS //定义有效值结构体</div>
<div>{</div>
<div>float V1_rms; //输入交流电压有效值 </div>
<div>}rms_type;</div>
<div> </div>
<div>uint16_t ADC_Value[Channels]; //adc值</div>
<div>float adc_val1; //adc值存放</div>
<div> </div>
<div> </div>
<div>float inverter_duty ; //0.75*inverter_duty/1000;</div>
<div> </div>
<div>rms_type AC_rms={0};//存放rms_type的五个变量</div>
<div>uint16_t AC_sample_mat[SAMPLE_LEN]={0};//用来暂时保存各点采样值并最终将结果送入有效值中</div>
<div> </div>
<div>uint16_t AC_V1_vref=1836; //参考</div>
<div>float AC_V1_ratio=34.000f; //比率</div>
<div>uint8_t jisuan_status; </div>
<div> </div>
<div>char tx_buf[20]; //串口传输数组</div>
<div>float pi_calculate(float Kp,float Ki,float pi_max,float pi_min, float target, float feedback) {</div>
<div> // 计算当前误差</div>
<div> float error = target - feedback;</div>
<div> </div>
<div> // 计算控制量增量: Δu(k) = Kp[e(k) - e(k-1)] + Ki*e(k)</div>
<div> float delta_u = Kp * (error - last_error) + Ki* error;</div>
<div> </div>
<div> // 计算当前输出</div>
<div> pi_output+= delta_u;</div>
<div> </div>
<div> // 输出限幅限制(确保调制系数在合理范围内)</div>
<div> if (pi_output > pi_max) {</div>
<div> pi_output = pi_max;</div>
<div> } else if (pi_output
<div> pi_output = pi_min;</div>
<div> }</div>
<div> </div>
<div> // 保存当前误差用于下次计算</div>
<div> last_error = error;</div>
<div> </div>
<div> return pi_output;</div>
<div>}</div>
<div>//电压采集函数</div>
<div>uint16_t get_acv1_in(void)</div>
<div>{</div>
<div>uint16_t temp = 0;</div>
<div>HAL_ADC_Start_DMA(&hadc1,(uint32_t *)ADC_Value,sizeof(ADC_Value)/sizeof(ADC_Value[0]));</div>
<div>temp = ADC_Value[0];</div>
<div>if(temp>=AC_V1_vref)return (temp-AC_V1_vref);//返回直流电压大小,倍数乘以20.07倍(可测试得出)</div>
<div>else return (AC_V1_vref-temp);//返回直流电压大小,倍数乘以20.07倍(可测试得出)</div>
<div>}</div>
<div>//收集采集的电压的函数</div>
<div>void calculate_rms(void) //计算采样函数</div>
<div>{ //200us一次一共100次,20ms采集完100个点</div>
<div>static uint32_t count=0;</div>
<div>uint32_t temp=count %SAMPLE_LEN;</div>
<div>count++;</div>
<div>AC_sample_mat[temp]= get_acv1_in(); //PA0//用来暂时保存各点采样值并最终将结果送入有效值中</div>
<div> </div>
<div>if(SAMPLE_LEN-1==temp)//如果检测到检测周期内的最后一个采样点 //temp = 0~99</div>
<div>{</div>
<div>count=0;</div>
<div>jisuan_status=1;//20ms进入tim2中断进行计算</div>
<div>// AC_rms.V1_rms=measure_rms(SAMPLE_LEN)/4095*3.3*AC_V1_ratio;//采集输入电压的均方根</div>
<div>}</div>
<div>}</div>
<div>//将收集到的100个电压值进行均方根运算</div>
<div>float measure_rms(uint8_t i)//均方根算法</div>
<div>{</div>
<div>float sum=0,result;</div>
<div> int j;</div>
<div> for(j=0;jup){prec=up;}</div>
<div>__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,prec);</div>
<div>//__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1,prec);</div>
<div> </div>
<div> </div>
<div>}</div>
<div>void inverter_spwm(void)</div>
<div>{</div>
<div>static uint16_t spwm_count=0;</div>
<div>set_pwm_TIM1((uint16_t)((sinData[spwm_count%length]+4150)*inverter_duty/1000),8499);</div>
<div>spwm_count++;</div>
<div>if(spwm_count>=400)spwm_count=0;</div>
<div>}</div>
<div> </div>
<div> </div>
<div>void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) //中断回调函数,频玿20kHz</div>
<div>{</div>
<div>if(htim == &htim2) //用来均方根算法</div>
<div>{</div>
<div>if(jisuan_status)//一定要采集完100个点才进行均方根计算</div>
<div>{</div>
<div>AC_rms.V1_rms=measure_rms(SAMPLE_LEN)/4095*3.3*AC_V1_ratio;//采集输入电压的均方根</div>
<div>jisuan_status=0;</div>
<div> </div>
<div>}</div>
<div> </div>
<div> </div>
<div>}</div>
<div>if(htim == &htim3){</div>
<div>static uint16_t count=0;</div>
<div>static uint8_t ca_count=0;</div>
<div> </div>
<div>ca_count++;</div>
<div>inverter_spwm(); //设置ccr tim3设置</div>
<div>if(ca_count>=4)</div>
<div>{</div>
<div> if(jisuan_status==0)calculate_rms();//200us一次</div>
<div>ca_count=0;</div>
<div>}</div>
<div>if(count==200) //0.1s进行一次调制系数调控</div>
<div>{</div>
<div> count=0;</div>
<div>delta_in = pi_calculate(Kp,Ki,pi_max,pi_min,Total_v,AC_rms.V1_rms);</div>
<div>inverter_duty =inverter_duty+ delta_in;</div>
<div> </div>
<div>if(inverter_duty>=1200)inverter_duty=1200;</div>
<div>else if(inverter_duty</div>
<div>主电路板</div>
<div> </div>
<div><img src="//image.lceda.cn/pullimage/0yxHe6r1avP0dzfPnYMBmnmv6MfPYolxbQMuFcIL.jpeg" alt="0yxHe6r1avP0dzfPnYMBmnmv6MfPYolxbQMuFcIL.jpeg"></div>
<div>单项逆变器</div>
<div> </div>
<div><img src="//image.lceda.cn/pullimage/F661bgxt1TXg4zmmhAaJnt5YP002Oild3ATS2YOb.jpeg" alt="F661bgxt1TXg4zmmhAaJnt5YP002Oild3ATS2YOb.jpeg"></div>
<div>辅助电源</div>
<div> </div>
<div><img src="//image.lceda.cn/pullimage/FGXUI0VDMb9sBXoPMO9FNjEYuAzewb32SFP7rT6c.jpeg" alt="FGXUI0VDMb9sBXoPMO9FNjEYuAzewb32SFP7rT6c.jpeg"></div>
</div>
</div>
评论(1)