(1)最近课设是做一个可步进的恒流源,所以查查找了很多资料之后。说一下自己对于恒流源电路的简单理解。
(2)我只是会将怎么使用和调整数据进行讲解,至于为什么这样只会讲我懂的部分。本人知道的也不是很多,有大佬的话可以在评论区写上自己的想法。
(3)本次恒流电路实验会使用到的芯片:74HC190,DAC0832,LM358N。还需要一个IRF840的场效应管。
(4)本次实验仅仅用于仿真实验!本人并没有做出实物!所以要做实物的兄弟,建议先在面包板上按照电路图连接测试一下!
(5)这个实验存在的缺陷:需要输入12V,5V和-1.6V的三路电源,比较麻烦。而且因为老师主要是让我们学习Altium Designer的使用并且画出一个PCB,所以本人只完成了任务1,任务2和3并没有做检验。你可以在本人电路上稍作调整。
(6)如果想学习如何AD画板子,可以看我的专栏:PCB设计—AD20和立创EDA设计(1)创建项目;
(7)邀请加入嵌入式社区,您可以在上面发布问题,博客链接,公众号分享,行业消息,招聘信息等。
目录
思路
译码电路
CD74HC190芯片简单介绍
仿真图
RCO与MAX/MIN简单介绍
数模转换
DAC0832芯片简单介绍
引脚介绍
数据手册上一些比较重要的图
电路图
电路调节
U/I电路部分
加负载没有问题的电路图
不能加负载的电路图
思路
译码电路
CD74HC190芯片简单介绍
(1)CD74HC190芯片可以向上计数,也可以向下计数。详情看表二。
(2)如果LOAD,CTEN,D/U为指定电平,那么CLK引脚每接收到一次上升沿,就会有一次计数。
(3)异步预置的意思就是说,如果是处于此状态,那么引脚3,2,6,7的电平对应引脚15,1,10,9。
(4)无变化就是说引脚3,2,6,7的电平不会变化,也就是说不会计数。
(5)CD74HC190的工作电压是2 V至6 V,此处选择5V作为供电电压。
(6)RCO与MAX/MIN引脚后面讲,RCO与MAX/MIN此刻不用理会。
仿真图
(1)根据上述讲解,我们就可以马上连接好电路图了。
(2)D0-D3这三个引脚电平随便接,因为我不打算使用异步预置的功能。
(3)引脚14,4,5,11按照上述所说连接。
(4)引脚3,2,6,7作为输出电平,给DAC0832输入信息,同时连接四个LED用于显示当前译码结果。
(1)当我们需要向下计数的时候,需要按下K2(注意,不能松手,所以建议购买自锁按钮)。如果是想向上计数,那么K2松开即可。
(2)因为每次计数需要给CLK一个上升沿,所以这里模拟一个上升沿电路。
(3)这一部分可以直接变成连接5V电压。这个作用就是,如果需要开启异步预置就按下即可。
(4)可以删掉。主要是为了解释引脚12,13的进位功能的。
(5)连接4个LED显示译码结果,同时将其连接到DAC0832用于控制输出电流。
RCO与MAX/MIN简单介绍
(1)74HC190是十进制加/减计数器。RCO与MAX/MIN引脚用于提示是否要进位或者退位了。
(2)比如9+1需要进一位为10的时候,RCO为低电平,MAX/MIN为高电平。当0-1需要退位的时候,RCO为低电平,MAX/MIN为高电平。
(3)这两个引脚可以用于需要进行100位译码的时候,利用两个74HC190芯片,加上这个进位信号可以10*10=100的译码。
(4)所以引脚13,14此刻不用理会。
(5)如果想了解更深一点点,我们可以看时序图和手册介绍。看不懂就多看几遍,实在不明白也没关系。
如下:
当计数器发生上溢或下溢时,计数期间为低电平的MAX/MIN输出变为高电平,并在一个时钟周期内保持高电平。此输出可用于高速级联中的先行进位。MAX/MIN输出还启动涟漪(这个解释了为什么RCO低电平时间不足一个时钟周期)时钟(RCO)输出,该输出通常为高电平,然后变为低电平,并在时钟脉冲的低电平部分保持低电平。这些计数器可以使用RCO级联。
数模转换
DAC0832芯片简单介绍
引脚介绍
控制信号:
CS(引脚1):CS结合ILE将使能WR1。
ILE(引脚19):ILE结合CS使能WR1。
WR1(引脚2):低电平有效WR1用于将数字输入数据位(DI)载入输入锁存器。当WR1为高电平时,输入锁存器中的数据被锁存。要更新输入锁存器,CS和WR1必须为低电平,同时ILE为高电平。
WR2(引脚18):此信号与XFER结合使用,可将输入锁存器中可用的8位数据传输至DAC寄存器。
XFER(引脚17):传输控制信号(低电平有效)。XFER将启用WR2。
其他引脚功能:
DI0-DI7:数字输入。DI0为最低有效位(LSB),DI7为最高有效位(MSB)。
IOUT1(引脚11):DAC电流输出1。IOUT1是DAC寄存器中全1数字码的最大值,DAC寄存器中全0数字码的IOUT1为0。
IOUT2(引脚12):DAC电流输出2。IOUT2为常数减去IOUT1,或IOUT1 +IOUT2 =常数(固定基准电压为满量程)。
Rfb(引脚9):反馈电阻。反馈电阻位于IC芯片上,用作外部运算放大器的分流反馈电阻,外部运算放大器用于为DAC提供输出电压。应始终使用此片内电阻(而非外部电阻),因为它与片内R-2 R梯形电阻中使用的电阻匹配,并在整个温度范围内跟踪这些电阻。
VREF(引脚8):基准电压输入。此输入将外部精密电压源连接到内部R-2 R梯形图。VREF可在+10至− 10 V范围内选择。这也是四象限乘法DAC应用的模拟电压输入。
VCC:数字电源电压。这是器件的电源引脚。VCC的范围为+5至+15VDC。+15VDC时运行最佳。
GND:对于电流开关应用,引脚10的电压必须与IOUT1和IOUT2的地电位相同。任何电位差(VOS引脚10)将导致线性度变化。
数据手册上一些比较重要的图
电路图
(1)根据引脚介绍的控制信号部分我们可以知道,引脚1和引脚2必须低电平,引脚19需要高电平,这样才能够更新DAC0832的数据。但是如果想锁死DAC0832的输出电压,可以让引脚2为高电平即可。
(2)根据引脚介绍的控制信号部分我们可以知道,引脚17和引脚18必须结合,而且必须接地。
(3)由数据书册的图可知,引脚12必须接地和接一个运放的P口,引脚11接N口,RFB必须接运放的输出端。
(4)VCC供电口可以是5-15V,15V最佳。不过因为绝大多数芯片供电都是选择的5V,所以我这里连接的是5V供电。
(5)DI0—DI7这8个引脚都是属于数据输入引脚。你可以在这个里面输入数据,控制电压输出为多少。
(6)VREF与电压输出值有关。电路调节部分会讲。
电路调节
(1)如果我们想要设置自己想输出的电压值怎么办呢?我们只需要调节两个地方,第一个是DI0—DI7这八个引脚,他们可以控制输出电压。第二个是VREF。
(2)date就是D0-D7从2进制转换为10进制之后的值,256是因为2^8=256。公式:。这个就解释了为什么VREF需要的是负电压了,至于为什么是-1.6V,U/I部分讲。
U/I电路部分
(1)说实话,这一部分我懂的也不是很多,只知道如果想要生成我想要的电流应该调节那一部分。所以我这里就不讲为什么这样连接了,直接讲怎么使用。有明白的大佬,可以写一篇博客,然后私信我一下,谢谢。
(2)我找到了两个电路图。第一个电路图加上负载之后会有问题,我也不知道是不是我连接错误的问题。第二个测试了没事。
加负载没有问题的电路图
(1)我们只需要调节R8就调节VOUT与输出电流的值了。
(2)公式:
(3)因为上述公式,我们需要步进增加100mA,那么需要,让R8=1欧,VOUT只需要每次增加0.1V。
(4)如果VOUT每次增加0.1V,又因为Q0是从DI4开始,所以对于DAC0832而言,就是每一次增加16。那么由DAC0832的公式可知,VREF为-1.6V时候,恰好可以让VOUT每次步进0.1V。
不能加负载的电路图
(1)一开始我测试的时候,没有考虑加负载,发现电流表能够按照我想的步进增加100mA。后来我写博客的时候,突然想到,如果加负载怎么搞?无论是串联还是并联都行不通,测试了之后也是行不通。于是我就放弃了这个方案。
(2)不过我还是简单介绍一下如果调节这个不步进电流公式: