adcx=Get_Adc_Average(ADC_Channel_1,10);
LCD_ShowxNum(156,130,adcx,4,16,0);//ÏÔê¾ADCμÄÖμ
temp=(float)adcx*(3.3/4096);
adcx=temp;
这个是例程里的公式 temp 是ad转换后的值 算出的电压 (这么理解不知道对不对,刚接触3天)
采电流值得怎么弄出来那,是直接能采嘛不需要再算了(网上看着好像说AD只能采电压,并且说好像要串个电阻利用I=U/R),还是需要一个公式来转化
现在没有思路
网上有个例子
numdisplay((ADC_ConvertedValue[1]/4.096)*10.79); //显示电流值
numdisplay1((ADC_ConvertedValue[2]/4.096)*11.755);//显示电压值上面的公式没太看懂,并且感觉不适合我那个3.3v的希望给点提示。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一般采集电流是电路串联一个非常小的电阻,1欧姆级别,称之为采样电阻;然后检测电流大小就是检测采样电阻上的压降。这个压降非常小,因此要求AD的参考电压也必须非常小。
至于读到的数据转换,就根据欧姆定律、AD位数和参考电压计算了,比较容易。假设采样电阻R0,待测电流I,AD参考电压Uref,AD转换位数n,AD转换结果为D的话,公式差不多如下(随手一写,可能会有错误)
AD测得采样电阻分压:D*(Uref/(2^n))
因此根据欧姆定律,电流
I=D*(Uref/(2^n))/R0
一周热门 更多>