描述
<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">
<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;"><span style="font-size: 14px;">为解决某些煤矿设备断电后电容残余高压释放慢的问题,研发一种由MCU自动控制的可以实时显示电压和放电电流的放电器,用以保障设备检修人员和仪器安全。</span></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;"> 为解决某些煤矿设备断电后电容残余高压电荷释放慢的问题,研发一种由MCU自动控制的可以实时显示电压和放电电流的数显放电器,用以保障设备检修人员和仪器安全。</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;"> 项目采用HK32F0系列的MCU芯片,配0.42寸OLED显示屏,实时采集高压电压、放电电流、电压基准源和电池电压,放电元件采用耐1200V高压的可控硅,通过可调电阻改变放电速度。</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;"><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>
<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开源协议。</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;">若某一部分功能不可替代且删掉之后项目无法解决对应的问题,则这一部分实现的功能就是项目的核心功能;比如设计了一台电子负载且设计了一款上位机软件监控功率变化,则电子负载为核心功能,上位机软件为辅助功能;比如电子负载中使用了一款隔离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>
<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;"> 硬件分为主控MCU、OLED显示屏、高压放电、高压取样、放电电流取样、2.5V基准电压源等部分组成。主控MCU选用HK32F030F4P6,OLED显示屏选用中景园电子的0.42寸4线OLED屏,电源供电采用1节CR2032锂电池经过升压至3.3V为基准电压源、MCU和OLED屏幕供电。在电路板侧面设计了滑动开关,可以随时关闭电池供电。整个电路结构紧密,体积小巧。<br></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;"> 高压放电采用3个10K欧姆10W电阻并联,总承受功率最大可以达到30W。在3个放电电阻下方接着1个1欧姆0.1%精度的精密电阻,该电阻提供电流采样信号。电压取样信号来自5个1M欧姆电阻和一个11K欧姆电阻串联的节点。图1为放电部分电路图。</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 style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/Ya2qry6TXuzQhvNdYECA1vwxe028vZdI0RJsXyi9.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; text-align: center;"><span style="color: #95a5a6; font-size: 14px;">图1 放电部分电路图</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; text-align: left;"><span style="color: #95a5a6; font-size: 14px;"> 电压取样信号经过运放射随器输出后直接送到MCU的AD1(PA1脚)进行AD转换,如图2所示。</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;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/Y7VAZgY48GCSuH05JUFEpP2AzT7byNrT4faLk9gu.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; text-align: center;"><span style="color: #95a5a6; font-size: 14px;">图2 高压取样电路图</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; text-align: left;"><span style="color: #95a5a6; font-size: 14px;"> 电流取样信号经过运放11倍放大后,输出后直接送到MCU的AD2(PA2脚)进行AD转换,如图3所示。</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 style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/YbrPEdqBJsSHWP0EAGfGNQKfZw1tNKK1mgB2Y3GO.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; text-align: center;"><span style="color: #95a5a6; font-size: 14px;">图3 放电电流取样电路图</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; text-align: left;"><span style="color: #95a5a6; font-size: 14px;"> 2.5V基准源电压信号经过CRC滤波,输出后直接送到MCU的AD0(PA0脚)进行AD转换,如图4所示。</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; text-align: left;"><span style="color: #95a5a6; font-size: 14px;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/R8grt2MQOO0b0nRlQhZWt2dD9bjxnfCsNY5cuUyF.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; text-align: center;"><span style="color: #95a5a6; font-size: 14px;">图4 精密基准电压源采样电路图</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; text-align: left;"><span style="color: #95a5a6; font-size: 14px;"> 本设计为了提高电压和电流转换精度,使用了外置2.5V精密基准电压源。主控MCU的AD0、AD1、AD2三个通道轮流对精密2.5V基准电压、高压取样信号、电流取样信号进行AD转换,后两者信号均以+2.5V基准电压的转换值为准进行换算,实际测试也取得了很好的精度。</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; text-align: left;"><span style="color: #95a5a6; font-size: 14px;"> 电源供电采用单节纽扣电池升压,升压芯片采用上海贝岭公司的BL8531CC3TR33,可输出电流300mA,低至0.8V输入, 450KHz工作频率,可以为MCU、OLED屏幕等提供稳定的3.3V供电。如图5所示。</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 style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/QNRrDLVxalWoGi9EKqgTxpN952ImwBAYYl1uAfqv.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 pap-left-indent-1.6em" style="line-height: 1.8; text-align: center;"><span style="color: #95a5a6; font-size: 14px;">图5 精密基准电压源采样电路图</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 pap-left-indent-1.6em" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">主控MCU为HK32F030F4P6,实际测试满足功能需求,可以替代STM32F030F4P6。+3.3V到MCU的供电脚间接入了LC滤波电路,很好的消除PFM升压以及其他传导干扰。如图7所示。</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 pap-left-indent-1.6em" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/bTWGmtjJzKhdyokQCJXcR0KdqMmkcY96iuf26bfr.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 pap-left-indent-1.6em" style="line-height: 1.8; text-align: center;"><span style="color: #95a5a6; font-size: 14px;">图6 主控MCU电路图</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 pap-left-indent-1.6em" style="line-height: 1.8; text-align: left;"><span style="color: #95a5a6; font-size: 14px;">PCB设计主要思路是满足安全要求的前提下,体积尽可能小巧。PCB的2D图如图7、图8所示。</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 pap-left-indent-1.6em" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/Sy1hnlsmzbw1h4eFNriBjRruBFqodPKiV12Ps2pw.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 pap-left-indent-1.6em" style="line-height: 1.8; text-align: center;"><span style="color: #95a5a6; font-size: 14px;">图7 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 pap-left-indent-1.6em" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/txuDOgWJ0Arkc0SyLUpAWugIsDXJltQjF0cY1uyz.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 pap-left-indent-1.6em" style="line-height: 1.8; text-align: center;"><span style="color: #95a5a6; font-size: 14px;">图8 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 pap-left-indent-1.6em" style="line-height: 1.8; text-align: left;"><span style="color: #95a5a6; font-size: 14px;">PCB实物图和PCBA实物照片见图9和图10。</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 pap-left-indent-1.6em" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/7mGKEhDaaE8YKgSQHoFCgDIPtsAe4VPIxJCjFqkT.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 pap-left-indent-1.6em" style="line-height: 1.8; text-align: center;"><span style="color: #95a5a6; font-size: 14px;">图9 PCB实物图<br></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 pap-left-indent-1.6em" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;"><img style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/2winu5RpchMg4csIwoY5HcoS5hYmWvuO3Ay4q0Gh.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 pap-left-indent-1.6em" style="line-height: 1.8; text-align: center;"><span style="color: #95a5a6; font-size: 14px;">图10 PCBA实物图顶面</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 pap-left-indent-1.6em" style="line-height: 1.8; text-align: center;"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-left-indent-1.6em" style="line-height: 1.8; text-align: center;"> </p>
<p class="paragraph text-align-type-left pap-line-1.3 pap-line-rule-auto pap-spacing-before-3pt pap-spacing-after-3pt pap-left-indent-1.6em" style="line-height: 1.8; text-align: center;"><span style="color: #95a5a6; font-size: 14px;"><img src="//image.lceda.cn/pullimage/qWBcunTUzyfrSYA8limTeyDM1qeWV2kgQH96g3ci.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 pap-left-indent-1.6em" style="line-height: 1.8; text-align: center;"><span style="color: #95a5a6; font-size: 14px;">图10 PCBA实物图底面</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 pap-left-indent-1.6em" style="line-height: 1.8;"><span style="color: #95a5a6; font-size: 14px;">注:推荐使用<span style="text-decoration: underline;"><a href="https://lceda.cn/editor" target="_blank">立创EDA</a></span>。若选择其他EDA工具,请在附件上传PDF格式的原理图,PDF格式的PCB图纸,Gerber格式的PCB文件。这里可以详细说明您的项目实现原理和机制、注意事项、调试方法、测试方法等。推荐图文并茂的形式向别人介绍您的想法。</span></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;">*5、软件部分</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;">软件采用Keil uVision5编写,直接使用了STM32CubeMX生成基础部分,剩余主要完成了OLED显示驱动、3通道AD转换等功能部分。程序流程如图11所示。</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 style="display: block; margin-left: auto; margin-right: auto;" src="//image.lceda.cn/pullimage/mHIAVBz15ws9OPndcQxKdaSlXQ7GARvJM6m8Edy4.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; text-align: center;"><span style="color: #95a5a6; font-size: 14px;">图11 程序流程框图</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;">main主函数结构清晰明了,简单说明如下:<br></span></p>
<p>int main(void)<br>{<br> /* USER CODE BEGIN 1 */</p>
<p> /* USER CODE END 1 */</p>
<p> /* MCU Configuration--------------------------------------------------------*/</p>
<p> /* Reset of all peripherals, Initializes the Flash interface and the Systick. */<br> HAL_Init();</p>
<p> /* USER CODE BEGIN Init */</p>
<p> /* USER CODE END Init */</p>
<p> /* Configure the system clock */<br> SystemClock_Config();</p>
<p> /* USER CODE BEGIN SysInit */</p>
<p> /* USER CODE END SysInit */</p>
<p> /* Initialize all configured peripherals */<br> MX_GPIO_Init();<br> MX_ADC_Init();<br> MX_IWDG_Init();<br> MX_USART1_UART_Init();<br> /* USER CODE BEGIN 2 */<br> delay_ms(100);<br> HAL_UART_Transmit(&huart1,"HK启动正常\r\n",13,0xFFFF);<br> OLED_Init();<br> OLED_Initial_Interface();<br> </p>
<p><br> /* USER CODE END 2 */</p>
<p> /* Infinite loop */<br> /* USER CODE BEGIN WHILE */<br> while (1)<br> {<br> HAL_IWDG_Refresh(&hiwdg);//执行喂狗操作<br> Get_Latest_Conversion_Value(); //获取最新的AD转换值并计算出当前的电压和电流值<br> OLED_Refresh_Num(); //使用计算出的电压和电流值刷新OLED屏幕<br> delay_ms(50);<br> /* USER CODE END WHILE */</p>
<p> /* USER CODE BEGIN 3 */<br> }<br> /* USER CODE END 3 */<br>}</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;"> 在计算电压电流值时,使用了平均值算法。 思路是三个通道依次采样20次,剔除2个最大值和2个最小值,剩余16个数据求出平均值,然后分别将AD1和AD2通道的平均值与AD0(+2.5V基准电压源)通道的平均值进行对比换算。AD转换是3个通道依次轮流进行,AD0--AD1--AD2-- AD0--AD1--AD2-- AD0--AD1--AD2-- ------循环进行。该算法在函数void Get_Latest_Conversion_Value(void)中得到完全体现。该函数具体内容如下:</p>
<p>void Get_Latest_Conversion_Value(void)<br>{<br> for(uint8_t j=0;j</p></div>
评论(1)