我有一个测试探针、用于读取溶液的导电性并编写代码
读取电导率并在 LCD 上显示。
每次使用探头时、都需要将其校准到5 ppt 级别。
我遇到过、在测量了大约20个探头后、每个探头都会给出不同的结果
以5.0ppt、5.2ppt、6ppt 为例。
是否有代码可以调整不同探头的输入读数以读取相同的读数
相同的解决方案。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我有一个测试探针、用于读取溶液的导电性并编写代码
读取电导率并在 LCD 上显示。
每次使用探头时、都需要将其校准到5 ppt 级别。
我遇到过、在测量了大约20个探头后、每个探头都会给出不同的结果
以5.0ppt、5.2ppt、6ppt 为例。
是否有代码可以调整不同探头的输入读数以读取相同的读数
相同的解决方案。
您好!
是的、我们使用外部 ADC 进行测量。 它会将输入转换为数字。
然后馈送到 P16/CA0引脚。
固件写为:
MEAS_ADC; 子例程:Meaure A/D 转换器、BCD A/D 结果-> ADCData
; R15用作工作寄存器,未保存
;------------------------------------------------------------------
BIC.b #CAPD3、&CAPD
MOV.B #CAON、&CACTL1 ;比较器打开
BIS.B #P2CA0、和 CACTL2 ;P2.3+ P2.4-
MOV #01440h、COUNTER5 ;参考启动的30mS 延迟。
W_DELAY
DEC COUNTER5 ;有关详细信息,请参见数据表。
JNZ W_DELAY
CLR ADCData ;清除 ADCData 寄存器
调用 #Sample_ADC ;采样->ADCData+上一个
调用 #Sample_ADC ;采样->ADCData+上一个
RRA ADCData
测量值
CLR.B 和 CACTL1 ;比较器关闭
BIC.B #P2CA0、和 CACTL2 ;P2.3+ P2.4-
BIS.b #CAPD3、&CAPD
可重置
SAMPLE_ADC
MOV #04096、R15 ;12位 3月10日
;预充电电容器
PRE_ADC
BIS.B #DAC_OUT、&P1OUT ;设置电容器的功率
C1
bit.B #CAOUT、和 CACTL2 ;比较器输出高电平/低电平?
JNZ C1
;调整和集成 DAC 脉冲
TEST_DAC
bit.B #CAOUT、&C CACTL2 ;比较器高电平/低电平?
JNZ Low1 ;Jump --> Low
高1.
BIC.B #DAC_OUT、&P1OUT ;将电源重置为电容器
JMP 测量_
低1
BIS.B #DAC_OUT、&P1OUT ;设置电容器的功率
NOP
INC ADCData ;Increment ADCData
测量_
DEC R15 ;减量循环计数
JNZ Test_DAC ;测量环路?
BIC.B #DAC_OUT、&P1OUT ;将电源重置为电容器
XOR.B #CAEX,&CACTL1 ;反相比较器端子
可重置
PPT 是指每千片的器件数。 我们将测量液体的导电性、以 ppt 为单位。
Rgds
从原理图中可以看出、P16/CO 的输入来自滤波器电路。 滤波后、馈入模拟信号
P16/CO 输入。
我是一个输入范围内的东西、在馈送到 MSP430的 P16/CA0输入引脚后、它将产生1个输出。 随着探头读数的变化、
但是、在滤波和通过编码后、只会显示单个读数。
示例探头1读取5.0 ppt、探头2读取6.0 ppt 以获得5 ppt 的解决方案。 探头2读数为1ppt。 我正在试图缩小这一范围
读取到0.2 ppt、即读取的内容最多为5.2 ppt、而不是6.0 ppt。
是通过更改一些编码来查看它是否可以减少这种情况。
在查看 MSP430F413's 用户指南中的第23.2.3节后、它提到了比较器的输出可在具有或不具有内部滤波的情况下使用。 当控制位 CAF 被置位时、输出由一个片载 RC 滤波器进行滤波。 如果输入端子上的电压差很小、任何比较器输出都会振荡。 内部和外部寄生效应以及信号线、电源线和系统其他部件之间的交叉耦合导致了这种行为、如图23−2所示。
比较器输出振荡会降低比较结果的精度和分辨率。 选择输出滤波器可以减少与比较器振荡相关的误差。 在上面共享的汇编代码中、我看不到 CACTL2寄存器中 CAF 位被置位。 这样做会改善您的结果。
此致、
James
MSP 客户应用