了解电路的操作,我们将看看示意图。我把它分成不同的功能模块,这样就比较容易理解;我也因此一步解释操作步骤。
这是相当一部分的深度和需要一个良好的电子知识。如果你想知道如何搭建电路,你可以跳过这一步。
主块
的操作是基于lt3080芯片:它是一个线性稳压器,可以下台的电压,根据控制信号。该控制信号将由微控制器产生的;如何做到这一点,将会详细阐述后。
电压设定
在lt3080电路产生相应的控制信号。首先,我们将看看如何的电压是一个看起来。电压从单片机的设置是一个PWM信号(pwm_vset),这是一个低通滤波器,滤波(C9和R26)。这将产生一个模拟电压之间0和5 V输出电压成正比的希望。因为我们的输出范围为0 - 20 V,我们要放大这个信号与4的一个因素。这是由非反相放大器配置U3C做。增益设定引脚通过R23 / / / / R25 R24和R34决定。这些电阻0.1%宽容,减少错误。R39和R36在这并不重要,因为他们是反馈回路的一部分。
当前设置
这套引脚也可用于第二设置:电流模式。我们要测量的电流,并关闭输出,这超过了想要的电流。因此,我们重新开始由一个PWM信号(pwm_iset),由微控制器产生的,现在是低通滤波和衰减到0 - 5 V范围0 - 2 V范围。这个电压是现在相比,电流检测电阻两端的电压降(adc_iout,见下文)由运放U3D比较器配置。如果电流太高,这将打开一个LED,也拉的lt3080设定线路接地(通过Q2),从而关闭输出。电流的测量和信号adc_iout生成如下。输出电流通过电阻R7 - R16。这些共1欧姆;在最初的地方不使用1R的原因是双重的:1电阻需要有更高的额定功率(它需要消耗至少1 W),并通过使用平行10 1%个电阻,我们得到的比一个1%的电阻精度更高。一个好的视频关于为什么这部作品可以在这里找到:https://www. youtube.com/watch?V = 1wahtdwerru & T = 1s当电流通过这些电阻,它产生电压降,这可以衡量的,它是在lt3080,由于压降应不影响输出电压。电压降与差分放大器测量(U3B)与增益2。这个结果在0的电压范围为2 V(后来),因此在目前的PWM信号的电压分压器。缓冲(U3A)是为了确保流入的电流电阻R21,R32和R33是不会通过电流检测电阻,这会影响它的阅读。还注意到,这应该是一个轨对轨运算放大器的正输入,因为输入电压等于电源电压。非反相放大器只对测量过程虽然非常精确的测量,我们船上的ina219芯片。该芯片可以测量很小的电流,并通过I2C。
额外的东西
在lt3080输出,我们有更多的东西。首先,有一个电流(lm334)。这画一个常数677微安的电流(由电阻R41),稳定lt3080。然而它没有连接到地面,但V,负电压。这是需要让lt3080运行至0 V时,连接到地面,最低电压是0.7 V似乎足够低,但记住,这阻止我们把电源完全关闭。齐纳二极管D3用来钳位输出电压是否高于22 V,和电阻分压器的输出电压下降范围从0 - 20 V至0 V(2 adc_vout)。不幸的是,这些电路在输出过电流lt3080,这意味着他们将有助于输出电流要测量。幸运的是,如果电压保持恒定电流恒定的;所以我们可以校准电流在负载断开第一。
电荷泵
我们之前提到的负电压是由一个好奇的小电路产生的电荷泵。它的操作,我将在这里:https://www. youtube.com/watch?V = 1wahtdwerru & T = 1s它是由一个50%单片机的PWM(脉宽调制)
Boost变换器
现在让我们来看看我们的主块的输入电压一看:Vboost。我们看到的是8—24V,但等待,2串锂电池提供了最大8.4 V?事实上,这就是为什么我们需要提高电压,以Boost变换器。我们总是可以提高电压24 V,不管输出我们想要的;然而,这会浪费很多力量在lt3080事情会变热热的!所以,相反的,我们会提高电压超过输出电压一点。2.5 V高是合适的,考虑到在电流检测电阻的电压降和电压差的lt3080。电压由升压转换器的输出信号电阻。要改变这种电压在飞,我们使用数字电位器MCP41010,这是控制的,通过SPI。
电池充电
这使我们真正的输入电压:电池!由于我们使用受保护的细胞,我们只需要把它们串联,我们做了!它是在这里使用保护细胞,避免过电流或过放电,从而损坏的细胞。再次,我们使用一个电压分压器测量电池电压,扔下一个可用的范围。现在到有趣的部分:充电电路。我们用bq2057wsn芯片用于此目的:与TIP32CG组合,它基本上呈线性电源本身。该芯片通过适当收费细胞CV CC轨迹。因为我的电池没有温度探头,这个输入应该连接到半电池电压。这一结论的电源电压调节部分。
5V稳压器
5 V电源电压的Arduino是这个简单的电压调节器的制作。这不是最精确的5 V输出,然而,但这将解决以下。
2.048 V基准电压
这个小小的芯片一个非常精确的2.048 V基准电压源提供。这是作为一个模拟信号adc_vout,参考adc_iout,adc_vbatt。这就是为什么我们需要分压器将这些信号到2 V.单片机这个项目的大脑是atmega328p,这是相同的芯片,采用的是Arduino Uno。我们已经过了大多数的控制信号,但也有一些有趣的补充,但是。旋转编码器连接到2的外部中断引脚的Arduino:PD2、PD3。这是一个可靠的软件的实现需要。下面使用一个内部上拉电阻的开关。然后是这个芯片上的电位器选择线奇怪的分压器(壶)。在输出电压分压器,什么是好的;你可能会说。如前所述,5 V电源不teribbly准确。因此,准确地测量这是好的,调整占空比的PWM信号,因此。但因为我没有更多的自由输入,我不得不做出一个引脚拉双重任务。当供电的靴子,这是第一套引脚作为输入:测量电源轨和自校准。其次,它是集作为输出,它可以驱动芯片选择线。
显示驱动程序
为显示,我想要的是一个常用的和廉价的日立液晶屏。他们是通过6个引脚驱动的,但因为我没有脚离开,我需要另一个解决方案。转移登记的救援!74HC595的允许我使用SPI线来控制显示,因此只需要1个额外的芯片选择线。
FTDI
这个电源供应的最后一部分是连接外面世界的残酷。为此,我们需要将串行信号转换成USB信号。这是由FTDI芯片完成的,它是连接到一个微型USB端口方便连接。
这就是一切!