|
了解如何使用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、反向电池保护、转换器等。
设计控制电路 我们的+30V DC控制电路基于LM143运算放大器、TIP142达林顿晶体管、LM317稳压器IC和Arduino UNO制作。
首先,我们将整流电路的正电压施加到TIP147晶体管。它是一种PNP互补功率达林顿晶体管,常用于线性和开关工业设备。
我们需要将变压器的中心轴通常用于控制晶体管的集电极电压。
现在,我们遇到了该电路中最重要的元件之一:LM143运算放大器。我选择这款运算放大器的主要原因是它具有+/- 40V的完整输入过压保护功能,具有可比较的电流。
我们将Arduino的PWM输出应用为运算放大器的非反相输入。通过GND引脚,Arduino连接到变压器的中心轴,也可用作反相输入。此外,我们分别将整流器电路的+ 40V和-40V施加到运算放大器的V +和V-。然后,运算放大器的输出被LM317用作参考电压。
这里的计算很简单。
我们使用R2可调电阻,R1为100kΩ。因此,在输出端,我们得到所需的变量+ 30V DC输出。此外,我们在输入和输出端使用10μF电容作为去耦电容,以解决输入噪声和输出瞬变。
+ 30V DC电路 为了获得+30V DC输出,我们必须提供来自Arduino的PWM输出作为反相输入,以及从Arduino到运算放大器的非反相输入的GND。这允许我们对LM317的整个调节电压和我们的最终输出反转。
由于电路现在由负电压控制,我们使用互补元件,如LM317,它是一个负可调调节器和Tip 142,它是NPN达林顿功率晶体管。
-30V DC电路 需要注意的是,我们使用13 A保险丝来保护我们的元件和负载以及用于PWM输入到电路的低通滤波器。
Arduino在电路板上提供模数转换器(DAC),将输入电压转换为数字形式,但是,它们不提供数模转换器,因此我们需要设计一个简单的RC低通滤波器, 将我们的PWM信号转换为与占空比成比例的电压。
我们可以看到,控制电路中两个最重要的元件由Arduino的PWM输出控制,我们在输出端获得所需的对称+ 30V DC和-30V DC,电流最大为10A。
SMPS代码 由于我们需要通过计算机发送消息来控制电源,我们需要使用标准的Firmata代码。 它是一个库,包含与硬件和智能手机、计算机和平板电脑通信所需的一组规则。 |