风筝
发表于: 2019-8-22 21:10:13 | 显示全部楼层

了解如何使用Arduino开发板制作和控制开关电源。


在本篇文章中,我们将使用Arduino开发板作为开关模式电源的控制电路。开关模式电源(SMPS)是使用在高频下接通和断开的开关装置来转换电源的电子电路。 SMPS的高效率使其广泛用于计算机和其他敏感电子设备。


开关模式电源的工作原理

一个基本的AC-DC SMPS电源包括:

1.   输入整流器和滤波器

2.   变压器

3.   输出整流器和滤波器

4.    反馈和控制电路


为了在本文中使用Arduino,我们可以使用电路板的PWM输出来控制输出电压。脉冲宽度调制(PWM)是用于改变脉冲序列中的脉冲宽度的常用技术。


PWM引脚用于许多应用,包括调光LED、为电机提供变速控制等。最重要的是,它们用于提供模拟输出,如果数字输出经过滤波,则提供介于0%和100%之间的模拟电压。在Arduino UNO开发板上,数字引脚3、5、6、9、10和11是PWM引脚。


本文设计的电路输出为+30VDC和-30VDC。更多的电压调整需要额外的稳压电源和电位器。


首先,我们将首先降低主电源的电压,然后通过整流电路将其转换为直流电压。


所需的硬件

变压器和整流电路

●    变压器(初级到次级匝数比4.107)

●    4个MBR20100肖特基二极管

●    2个1F电容

●    2个100kΩ电阻

+ 30V输出电路

●    2个保险丝13A

●    3.3Ω电阻

●    2个10uF电容

●    LM317稳压器IC

●    LM143运算放大器

●    TIP147达林顿晶体管

●    1N4007二极管

●    100kΩ电阻

●    10kΩ电阻

-30V输出电路

●    TIP142达林顿晶体管

●    3.3Ω电阻

●    2个10uF电容

●    LM143运算放大器

●    LM337稳压IC

●    100kΩ电阻

●    1N4007二极管

●    10kΩ电阻

●    Arduino IDE


选择变压器

我们制作这种电源的第一步是选择变压器。我们的电源输出为+30V DC和-30V DC,最大10A。因此,我们将使用初级到次级匝数比为4.107的变压器,它将能够为每个次级控制电路提供40V AC和最大15A。


设计整流电路

整流电路将AC电压转换为DC。因此,我们的整流电路将40V AC转换为DC,使我们接近我们所需的输出。一个非常基本的整流电路由四个二极管组成;这里我们将使用MBR20100肖特基二极管。这些二极管广泛用于SMPS、反向电池保护、转换器等。

1.jpg


设计控制电路

我们的+30V DC控制电路基于LM143运算放大器、TIP142达林顿晶体管、LM317稳压器IC和Arduino UNO制作。


首先,我们将整流电路的正电压施加到TIP147晶体管。它是一种PNP互补功率达林顿晶体管,常用于线性和开关工业设备。


我们需要将变压器的中心轴通常用于控制晶体管的集电极电压。


现在,我们遇到了该电路中最重要的元件之一:LM143运算放大器。我选择这款运算放大器的主要原因是它具有+/- 40V的完整输入过压保护功能,具有可比较的电流。


我们将Arduino的PWM输出应用为运算放大器的非反相输入。通过GND引脚,Arduino连接到变压器的中心轴,也可用作反相输入。此外,我们分别将整流器电路的+ 40V和-40V施加到运算放大器的V +和V-。然后,运算放大器的输出被LM317用作参考电压。

2.gif

这里的计算很简单。

3.png

我们使用R2可调电阻,R1为100kΩ。因此,在输出端,我们得到所需的变量+ 30V DC输出。此外,我们在输入和输出端使用10μF电容作为去耦电容,以解决输入噪声和输出瞬变。

4.jpg


+ 30V DC电路

为了获得+30V DC输出,我们必须提供来自Arduino的PWM输出作为反相输入,以及从Arduino到运算放大器的非反相输入的GND。这允许我们对LM317的整个调节电压和我们的最终输出反转。


由于电路现在由负电压控制,我们使用互补元件,如LM317,它是一个负可调调节器和Tip 142,它是NPN达林顿功率晶体管。

5.jpg


-30V DC电路

需要注意的是,我们使用13 A保险丝来保护我们的元件和负载以及用于PWM输入到电路的低通滤波器。


Arduino在电路板上提供模数转换器(DAC),将输入电压转换为数字形式,但是,它们不提供数模转换器,因此我们需要设计一个简单的RC低通滤波器, 将我们的PWM信号转换为与占空比成比例的电压。

6.jpg


我们可以看到,控制电路中两个最重要的元件由Arduino的PWM输出控制,我们在输出端获得所需的对称+ 30V DC和-30V DC,电流最大为10A。


SMPS代码

由于我们需要通过计算机发送消息来控制电源,我们需要使用标准的Firmata代码。 它是一个库,包含与硬件和智能手机、计算机和平板电脑通信所需的一组规则。

跳转到指定楼层

相关帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 700 | 回复: 1480



手机版|

GMT+8, 2024-4-18 08:54 , Processed in 0.185044 second(s), 6 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表