“线程”中讨论的其它部件: controlSUITE, TMDSSOLARUINVKIT
您好,
我正在使用控制器 TMS320F28232,并在太阳能库 SINE_ANALYZER_DIFF.h 的帮助下,尝试查找给定正弦波范围从0到3V (Vpeak)的 Vrms 和频率
从该位置-'C:\ti\controlSUITE\libs\app_libs\solar\v1.2\IQ\'
我正在通过 OP-AMP 电路读取 ADC 值,偏移为1.5VDC,以获得0至3V 峰值,50Hz 交流正弦波电压。 ADC 值从0波动到4096。 请找到附加的图像。
请帮助我如何使用1月14日重新引用的 Solarlib V1.2中的 sine_Analyzer_diff 库。
1.我需要给出的阈值是多少-是零电压线路的电压水平为1.5V 还是 ADC 的交叉值为2048?
2.如何实现 nsamesmin 和 nsamesMax 值153@60Hz,20kHz 和181@60Hz,20kHz;分别如文档中所述
但我在调试模式下检查了这些值是否如下,它们不是153和181。
nsamesmin = 20000 /(60 + 5)= 307
nsamesMax = 20000 /(60 - 5)= 363
3.我应该如何为 Vin (sineanalyzer_diff1.Vin)提供价值?
以下是我的配置:我的配置是正确还是有任何错误,请确认?
1.我已将库标题插入 main.c 文件中
#include“Solo_IQ.h”
2.在 main.c 文件中创建了结构
SINEANALYZER_DIFF_IQ 正弦分析仪_diff1;
3.在 main()函数中,我将这些函数命名为以下函数:
SINEANALYZER_DIFF_IQ_INIT (&sineANALYZER_Diff1);
Sineanalyzer 扩散1.SampleFreq =_IQ15 (20000.0); //时间0 ISR 频率20kHz
sineanalyzer diff1.Threshold =_IQ15 (1.5); //零交叉电压(1.5V,因为交流电压偏移为1.5VDC)
Sineanalyzer diff1.nsamplesmin =_IQ颠簸(_IQdiv (1.0,(50+5)),(20000));//363@50Hz,20kHz;
@分析仪扩散1.nmsamplesMax =_IQ颠簸(_IQdiv (1.0,(50-5)),(20000));//444 50Hz,20kHz;
4. TIMER0 ISR 配置为20kHz,在计时器中断中调用以下功能。
Sineanalyzer 扩散1.Vin =_IQ15 (AdcRegs.ADCRESULT0 >> 4);//ADC 结果为4位偏移以获得12位 ADC 结果
SINEANALYZER_DIFF_IQ_FUNC (&sineanalyzer_diff1);
预期结果:
我需要找到以下值:
1. 窦性分析仪扩散1.Vrms
2. 正弦分析仪_diff1.SigFreq
但我没有得到预期的结果值,请指导我。