ADC 采样涉及400Hz 三相交流电流监控以及压力和温度。
两个压力传感器(液体输入和输出)均已安装、但目前仅安装了五个温度传感器中的前四个。
定制电路板上提供了测试点、这些测试点连接到上述六个 ADC 输入引脚。 另外三个引脚连接到交流相电流(带有测试点)、这些引脚是有符号值、大约2048个 ADC 单元。
对于两个压力传感器、DVM 上读取的稳定值均为~0.53V。 这将转换为大约14.7 PSI、并且接近预期看到的低端值(冷却系统应用程序在运行时加压)。
针对两个压力读取的 ADC 值看起来相当稳定、大约100个 ADC 单元+/-~6 (应用了 ADC 采样平滑处理、给出了源代码(在"AdcSnips.txt"中)。 不过、对于测量的稳定电压、ADC 值太低、连接到 ADC 引脚。
相反、对于温度传感器、DVM 上读取的稳定值为~2.185V。 这将转换为大约25摄氏度(在 SoCal 中为温环境)、并且将接近预期看到的温度的顶端。 当冷却系统运行时、我们需要测量低于-55摄氏度的温度。 F2808在仅以20MHz 运行时不会变得如此冷、即使只启用 ADC 和 SCI-A 模块时钟也是如此。 我们将使用 SM 变体进行生产。
一个或两个温度(取决于引脚映射到的 ADCBUFFER)以类似的方式读取大约100个 ADC 单元+/-~6。 同样、应用了 ADC 采样平滑处理。 这是一个非常低的环境值;当冷却系统启动时、所有温度都会快速下降。 应接近最大值。
两个或三个温度(取决于引脚映射到的 ADCBUFFER)在周围波动很大、甚至高于满量程 ADC! 如果读取有效的 ADC 值(高达4095)、则应用的平滑处理将完全在 uint16可变大小范围内。
因此、看起来没有任何 ADC 转换是有效的。 可能是由于初始化故障或 SEQ1启动可能无效?
压力和温度值(目前采用 ADC 单位、具有平滑处理功能)会通过 RS-422链路以 ASCII 格式自动报告、每秒一次。
代码(提供完整的"main.c")。 和"AdcInput.c"("AdcSnips.txt")和"SYSCTRL.c/h"模块("SysSnips.txt")中的相关片段位于随附的 Zip 文件("AdcCode.zip")中。
我们目前无法监控任何交流电流值、但也会发现这些值不正确。 由于电源是数字电源(与正弦波形完全不同、噪声非常大)、因此跟踪这些波形尤其具有挑战性。
要关闭冷却系统(并通过 RS-422双工链路发出警报消息、需要对反向相位、缺失(半)相位以及任何相位消耗的低电流进行全面监控。
仅在20MHz CPU 时钟下的 CPU 负载似乎超过50%、尽管状态机交流峰到谷峰转换跟踪几乎没有激活。 所选的 ADC 采样率应在峰值或半波形式下提供8个采样。 对于一个体面的平均水平来说足够了(我希望)。 没有足够的分流器以更快的速度进行采样。
"AdcSnips.txt"文件中提供了一些交流相位跟踪提示。 CPU 时钟受电源电压降至23V (28V 直流电源电压至5V)的热限制。
之前、执行了半个 ADC 缓冲器(在读取的 ADC 值中看到的问题完全相同)。 对于级联 ADC、几乎将交流相位跟踪状态机的代码大小减半、CAN 也是如此。 它目前从 Timer1中断路径调用、 它在下一个 Timer1中断之前完成、所以不用担心(尚未)。 后台任务运行正常(如 SCI-A 消息传输、轮询字节)。
如果您需要更多信息、请告知。 我已经将很多"spru716d.pdf"(ADC 参考指南)复制到了注释中、因为我一直在引用它! 这些注释应解释实施的许多设计决策。
此致
Andrew Coles