STM32F334C8T6上的MPPT充电控制器

我以前的文章中的评论反复提出了一个相当合理的问题: “为什么要在现成的微控制器上使用DC / DC转换器?” 作为回答,我经常提到一个最引人注目的例子,即带有MPPT算法的充电控制器。 但是要说一件事并进行展示……它会更加有趣和清晰,所以今天我将告诉您关于我的此类控制器的缓慢项目。


控制器项目已打开,所有源文件都在github上可用。 控制器本身非常容易实现,它基于降压型拓扑结构,使用了可用的组件,即使没有很多知识,也能提供良好的可重复性。 连接器和组件的布局经过精心设计,因此该控制器既可以用作研究电力电子设备的调试板,又可以作为成品设备使用,因此仅作为案例。


MRI照片


第1章什么是MPPT算法,为什么需要它


MPPT本身就是寻找太阳能电池板最大功率点的过程。 控制器中该算法的存在允许在某些条件下显着提高使用太阳能电池板的效率。 当制造商在面板上写入功率时,例如100 ... 200 ... 250 ... 320 W,这意味着在1000 W / m 2的日照水平下太阳能电池板的标称功率。 当然,制造商不会将面板带到外面,也不会等待理想的天气条件,因此,该值被接受为标准值,并且是在实验室工作台上“产生”的。


在晴朗的天空下,实际条件下的最大日照水平范围从挪威某处的250 W / m 2到北非的900-1000 W / m 2 。 因此,在北部,太阳能电池板不会散发其宣称的电力,但是在非洲,这很容易。 但是...一旦天空中出现乌云遮挡了太阳能电池板,日照强度就会降低。 记住上个月的天气,您看到多少个理想的晴天? 如果您来自克拉斯诺达尔,那么也许很多,但是中间云层的居民肯定更多。


实际上,问题是什么...随着太阳能电池板照明度的降低,实际太阳能电池板CVC上最大功率点(TMM)的位置也会发生变化。 现在让我们弄清楚什么是TMM ...为此,我们以声明的功率为200 W(我有Delta BST200-24P)的太阳能电池板为例,以1000 W / m 2的日照水平从其中移除电流-电压特性(I-V):


太阳能板的VAC


TTX太阳能板


如果您查看功率图,那么它会清楚地显示面板提供最大可能功率的峰值-这是TMM。 同样,如果您从该点向下降低线,则它将与CVC相交-该点的坐标正是您需要查找的结果。 简而言之: “ MPPT是在I-V特性上找到电流和电压乘积具有最大值的点的过程”


另外,值得注意的是,太阳能电池板可以发出更多一点,这很正常,因为 它的有效性不仅取决于日照水平,还取决于温度。 如果将面板放在阳光下,则几个小时后它将非常强烈地加热,功率将下降约10%。


现在,让我们弄清楚电荷控制器将要做什么以及为什么需要MRI。 如前所述,日照的水平将在运行期间发生重大变化:分别是乌云,多云天气,黎明和日落,并且太阳能电池板的I-V特性也将发生变化:


日晒带来的CVC


该图显示了四种情况下的I–V特性:1000、800、600和400 W / m 2 ,因此,每种情况下,我们在I–V特性上都有自己的观点,电流和电压的乘积将具有最大值。 带MPPT的充电控制器的任务是在特定天气条件下寻找最大功率点。 例如,您居住在沃罗涅日(Voronezh)的某个地方,拥有温暖和大量的太阳能,您发现TMM可以最大程度地利用电力,但是15分钟后,面板上方升起了一片云,部分关闭了面板,日照值发生了变化,因此I-V特性发生了变化面板。 为了使充电控制器能够适应新的条件,它需要以一定的频率(例如每5分钟一次)执行计算并为新的CVC搜索TMM。


TMM搜索算法有很多,从最简单的“ 0.8 * U xx ”到带有神经网络的各种扫描算法,但是我将在另一篇文章的代码中更详细地描述算法及其实现。 我希望您了解TMM是什么以及我们为什么要寻找它;现在您可以直接前往腺体。


第2章规格和控制器功能


现在有必要确定控制器应该能够提供必要的功能。 首先,控制器为电池充电,因此有必要在输出端实施CC / CV控制(电流和电压的稳定化),为此,您需要测量输出端的电流和电压。 其次,要搜索TMM,必须测量太阳能电池板的I–V特性,这意味着必须测量输入端的电流和电压。 第三,应该有一个降压dc / dc,它将输入电压降至12V或24V,在这种情况下,它将是一个同步降压。 所有这些都将允许实现设备的基本功能,因此,功能图将如下所示:


功能图


如您所见,没有什么复杂的,电路与本文示例非常相似,唯一的区别在于用于实现TMM搜索算法和充电过程的附加反馈电路。 另外,有必要实施防止过热,过电流的保护,添加几个用于与外界通信的接口,并方便地更新固件。


规格:

  • 输入电压:15 ... 60V
  • 输出电压:12 / 24V
  • 额定输出电流:20A
  • MRI算法:是
  • 转换频率:100 kHz
  • 过热保护:是
  • 通过电流保护:是
  • 电池保护:OVP和OCP
  • 接口:USB,Modbus
  • 资源:至少50,000小时
  • 外形尺寸:1109020毫米

该解决方案没有多余的装饰,主要的偏差是可靠性的提高,TMM算法的有效性以及保持足够的控制器成本。 在便利设施中,决定放置电隔离的USB以设置和刷新控制微控制器+如果您不喜欢SWO,可以将其用于调试。 另外,为了实现远程控制和监视,还安装了RS-485,它可靠,价格便宜,并且可以组织1000米范围内的通信。 由于wi-fi等问题,电台立即拒绝了,因为 控制器通常在金属面板上操作,也可以在钢筋混凝土建筑中作为选件使用。


第3章组件选择


在KDPV上,可以看到该设备由两个印刷电路板组成:4层控制模块和2层主板。 细心的人可能会注意到,控制模块与上一篇文章中的解决方案类似,只是进行了彻底的重新设计。 确实,在测试了控制板的先前版本并在评论中进行了讨论之后,决定进行一些全局更改:


  • 拒绝在连接器中垂直安装以及过渡到水平安装。 这使我们能够解决连接器的问题,并省去了通常的2.54 mm PLS,并显着减小了设备的高度。 对于垂直版本,控制器的高度将为60毫米,而不是20毫米,并且很可能折断控制板。 现在,它在其他组件的背景下并没有脱颖而出,仍然占据了很小的空间;
  • 电路板尺寸减小到90x35 mm;
  • STM32F334R8T6控制器被更紧凑,更便宜的STM32F334C8T6取代。 这种替换还导致用于控制半桥的通道数量从5个减少到4个。 如实践所示,除非非常简单的算法,否则该控制器不会立即通过5个半桥进行控制。 基于此,决定放弃LQFP-64封装,转而使用LQFP-48。
  • 添加了电隔离或更确切地说是USB-UART桥的USB,因为 微控制器本身没有USB硬件接口;
  • 从控制板上卸下用于RS-485的PHY芯片,如下所示: 并非所有人都需要它,而且并非总是如此,但是对于它的可能使用,一个UART和一个用于接收/发送控制的附加gpio输出到连接器。 同样在现在,您可以在主板上放置电隔离的PHY,而不受我的决定的束缚。
  • 除了SWD接口外,还决定将SWO输出到调试连接器,以更方便地调试程序。

管理委员会


现在,让我们继续选择转换器主要(电源)部分的组件。 在我先前关于Buck拓扑的故事中,我谈到了功率组件(晶体管,电容器,电感器)的选择以及计算其额定值的方法。 今天,我想谈谈同样重要的组件,即电源钥匙管理驱动程序,电流传感器等等。


电流传感器

为了控制电池电量并测量太阳能电池板的电流-电压特性,必须测量0至20A范围内的直流电流。 测量直流电的方法不多;最有效,最简单的方法是分流器和霍尔效应传感器。 在第一个版本中,我尝试了一堆“ shunt + INA194”,该选项通常可以正常工作,但是监视器本身却非常嘈杂,并且在测量小于3-4A的电流时存在问题。 通过增加分流器和数字滤波器的标称值可以解决该问题,但是随后以热量形式在分流器上释放的功率增加了,我并不需要太多。


最初,我立即选择使用霍尔传感器,即ACS系列(例如ACS758或ACS711),因为 过去,我已经尝试过使用它们,但是它们撒了很多,而且测量范围很低。 没错,在一次讨论中,一个人谈到了使用这些传感器的成功经验,结果是相对较新的系列不再对丝毫干扰做出响应,主要的是在它们附近没有铁或可以被磁化的东西。 我需要在电流变化率不高的系统中测量直流电,因此100 kHz的频带就足够了。 基于解决方案的简便性和价格,我在第二版MPPT控制器中安装了ACS713ELCTR-30A。 Allegro有两种版本的传感器-DC和DC / AC,我不需要测量变化,因此,显然选择支持DC,DC的“伏特/安培”值也很大。 这使得不仅可以精确测量大电流,还可以精确测量0.3 ... 0.5A的小电流,实际误差为±5%。 接通该传感器的电路非常简单:


电流传感器电路


包含的是标准的,电路中没有魔术,唯一要做的就是将0 ... 5V传感器的输出范围与可以测量STM32微控制器ADC的输出范围``协调''起来,即0 ... 3.3V的范围。 传感器具有电压输出,它是线性的,输出电压增加133 mV意味着流过传感器的电流增加1A。 基于此,最小输出电压为0V,最大30A * 133 mV / A = 3.99V。 理论上,无法设置分压器,因为 最大电流仅为20A,因此输出电压将在2.66V范围内,并且不会以任何方式威胁ADC输入,但是最好谨慎操作。 也许在测试和长时间插入设备后,我仍然卸下分压器,并将一个电压跟随器放在运算放大器上。


晶体管栅极驱动器

即使在这个想法的阶段,我还是决定立即放弃控制电路与电源电路的完全电隔离,尽管它消除了干扰并保护了数字部分,但它的价格是昂贵的。 引入2个电压的电隔离和一个驱动器会使转换器的价格提高40%。 因此,我不得不拒绝我最喜欢的Infineon 1ED / 1EDI系列驱动程序,并选择具有自举功能的主键作为首选,我的选择落在了一个相当新的解决方案上-NCP5183DR2G。 事实证明,该驱动器运行非常稳定,足以控制100 kHz频率的一对mosfet。 我发现其中的一个缺点-缺少单独的输入,例如在发生事故的情况下ShutDown或Enable来关闭驱动器,因此,要实现保护,您需要在STM32F334微控制器本身中安装附加的离散逻辑或使用硬件输入FAULT。 我选择了第二个选项,到目前为止,它并没有让我失望,尽管起初我对这种解决方案的可靠性表示怀疑。 晶体管控制电路如下所示:


驱动电路


解决方案简单明了,我唯一要补充的是,C1电容器应为具有X7R电介质的陶瓷,最好不要最烂,原始的Yageo / Murata / Samsung对每个人都足够。 其余的散粉可以是一个简单的品牌。 顺便说一句,您可以在本文中了解栅极电阻R1和R5的标称值的“选择余地”。


输出电容

我在上面提到了转换器的可靠性和资源的优先级,因此有必要消除所有弱点。 我认为,现代dc / dc转换器只有一个弱点-电解电容器,过一段时间后它会以某种方式“变干”并退化,这首先导致纹波和过热增加,然后导致转换器故障。


在我的充电控制器中,最多有2个这样的位置:输入和输出处的电容器。 决定用固态聚合物电容器(如您的视频卡)代替输出电解液,这种电容器更容易在数十安培的电流下进行工作,并且其资源比最高质量的电解电容器高一个数量级。 他们有一个负数-价格,松下的这种享受成本为2美元/个,但值得。


在设备的输入端,电压可以达到60V,这意味着不能再提供固态聚合物电容器,因为它们根本不存在,最大为35V。 的确,有混合动力选择,这是电解质和固态电容器之间的中间连接,它们的电压高达100V。 对于这种类型的电容器,液体电解质被糊状电容器代替,其可以多次增加其资源。


MRI照片


最细心的人可能会注意到,两块板上的输出固态电容器有所不同。 我认为每个人都“赞赏” 120 uF 35V电容器的成本,Wurth生产的电解质的价格便宜10倍。 基于此,我决定进行测试以从松下购买35SEK330M电容器的替代品。 好吧,作为替代方案……有一家这样的亚洲公司Lelon ,它用松下电容器做一个完整的模拟(用他们的话)。 我将原件放在一个板上,在另一个模拟板上,设备本身已经经过了大约一个月的测试,直到真正注意到差异之前,让我们看看最终的资源是什么,但是对于那些希望将价格降低5倍至0.4美元/片的人,我建议您考虑一下。


组件概述

我想分别谈谈选择组件和解决方案的政策。 由于这种想法不仅涉及在桌上学习,而且还用于“在外地”工作,因此决定只使用值得信赖的制造商,而不使用中文部件( Lelon的经验除外)以及带有速卖通的各种工艺品。 在我的版本和BOM中,会出现英飞凌,TI,ON,ST,Yageo,Bourns等制造商的带有数码钥匙的原件。 原则上,没有人会禁止您使用相同的速卖通简化组件的安装,但要做好降低控制器可靠性和效率的准备。


第4章关于项目和源代码


我已经在有关buck的文章中写过功率组件和计算方法,您可以在这里阅读。 我只会给出我得到的结果:


  • 功率电感器的电感为30μH,由Kool Mu材料缠绕在R32 / 20/10环上。 坦率地说,选择该戒指时要留有余量,因为 计划进行频率和电流增加的实验;


  • 输出电容器的电容约为300微法拉,实际上,电容明显更高,从而减少了输出纹波。 我尝试使用3个电容器,一切都很好,因此,如果您决定重复进行一次,请随时将输出电容器的一半位置留空。 原则上,如果无法购买固态电容器,则可以尝试焊接6个普通电解电容器。 根据我的假设,控制器将正常工作。


  • 晶体管( IPD053N08N3GATMA1 )我选择了库存中的那些并且很容易购买的晶体管。 如果您已经拥有钥匙或无法购买我拥有的钥匙,请选择沟道电阻不超过8 mOhm和栅极不超过100 nC的晶体管。 否则,效率将充分下降,晶体管将明显过热。



可能还有一些人懒得去github,所以我将完整的设备图保留为PDF格式:



该项目的主要部分已在Altium Designer 19中完成,该项目也可以在Curcuit Studio中打开。 对于那些不想参与购买软件或盗版的人,可以在PDF和Gerber文件中找到原理图,这足以让您订购印刷电路板并自己构建MRPT控制器。


… "" github, , . dc/dc , -, -, -, , .


结论


, .. , , , .1 . — 10 , HIN LIN (GND). , "" .


PCBway , . , , - .


2 , - , . . .


Github

Source: https://habr.com/ru/post/zh-CN454024/


All Articles