| Arduino开发板非常适合自动控制各种电路。在本篇文章中,我将展示一种简单的方法,即Arduino可用于制作电源,自动调节其输出以维持恒定电压或恒定电流。我设计的这个电路采用USB供电,专为小型低压应用而设计。但您可以轻松修改它,以便为更高功率的使用更大的电源。 
  所需的硬件 ●    Arduino微控制器 ●    IRF510功率MOSFET ●    2个100 kohm电阻 ●    10欧姆电阻(额定电压至少为2.5瓦) ●    1000uF电容 ●    SPDT开关和瞬时按钮开关 ●    USB连接线 ●    连接导线
 
 电路供电 该项目的电源将由USB端口提供,并通过Arduino进行控制。 Arduino通过标准USB连接线连接到USB端口。我们正在构建的电源电路将连接到Arduino上的5V引脚。该引脚可提供5V和高达200mA的电流。但是,我编写了代码,以便电源电路的电流不应超过150mA。 
  输出电路 
  输出电路的主要部分是围绕IR510功率MOSFET构建的晶体管电路。 
 引脚9向电路提供PWM信号。该信号经过一个1kΩ电阻和1000uF电容,然后平滑为相对恒定的DC信号(尽管仍存在一些波动)。该DC信号被发送到MOSFET的栅极。 
 470Ω电阻连接在晶体管的栅极和5V之间,以便将栅极电压升高到接近源极 - 漏极结将导通的位置。可能需要调整这些值以校准您正在使用的特定部件的电路。 1k电阻和470电阻可以用更高的值代替。这将允许您使用较小的电容值。 
 连接到MOSFET的漏极的是10欧参考电阻。该结点还连接到Arduino上的模拟引脚2。 
 10欧电阻的另一侧连接到模拟引脚1。这用于检测电源的输出。电源的输出端连接到参考电阻和5V。为方便使用,我使用一对螺丝端子连接和断开输出线。 
  
 开关 
  
 为简单起见,控制电路的开关安装在单独的面包板上。两个瞬时按钮用于调节电源输出。每个开关的一端连接到GND。另一端连接数字引脚10和11。这些数字引脚也通过100k电阻连接到5V。它们用作上拉电阻并将数字引脚置为高电平,直到按下按钮。第三个开关是单刀双掷拨动开关。此开关设置输出模式。开关的两个末端引脚连接到GND和5V。中心引脚连接到数字引脚12。当引脚12连接到5V时,系统设置为输出恒定电压。当引脚12连接到GND时,系统设置为输出恒定电流。 
 
  
 代码 在代码的顶部,声明的变量中的第一项是“电阻”变量。这是电路中使用的参考电阻的值。可以使用万用表准确测量该值。不要认为它是标记值。当您尝试使用电源时,这可能会给您不准确的读数。测量完电阻后,在代码中写入该值(以欧姆为单位)。 
 在主循环代码的第一部分中,analogRead函数用于测量参考电阻两侧的电压。使用这些值,您可以计算电源的端电压和通过负载的电流。 
 接下来,digitalRead函数用于确定开关的状态。拨动开关设置电源的操作模式。在一种模式下,输出设置为恒定电压。在另一种模式下,输出设置为恒定电流。如果按下其中一个瞬时按钮,则向上或向下调整目标输出电平。这些功能具有内置延迟功能,可避免因开关跳动而导致错误触发,并限制输出的更改速度。 
 接下来,使用Serial.print命令显示电源输出。这对于调试电源的操作很有用。代码内置了各种安全限制。 在启动时,有一个延迟,允许输出在电路开始自动调整之前复位。 为避免损坏Arduino,输出限制为150mA。 控制输出的analogWrite函数永远不会超过250(在255的范围内),它们永远不会低于0.系统的输出变化速度也受到限制。 
 运行过程 该电路在指定的工作范围内表现相当好。 它的精度约为+/- 5 mA或+/- 0.05 V。输出相对稳定,但由于电路由PWM信号驱动,因此仍有一些波动。 
  |