大家好,今天小编关注到一个比较有意思的话题,就是关于单片机怎么检测电压的问题,于是小编就整理了2个相关介绍单片机怎么检测电压的解答,让我们一起看看吧。
如何用单片机口识别110v或220v?
很简单。
通过传感器或电阻分压的方式取得电压信号,经过隔离后得到3V左右(对于5V单片机)的信号电压,接入单片机的端口,编程将此端口初始化为低电平,此后实时查询此端口,当检测到高电平时,即可判定为被检测的电压存在或有效。交流电压220V如何用单片机测量电压?
四端光耦。光耦输入端串电阻限流,光敏三极管输出串电阻,单片机带AD接口,可测量电阻两端直流电压。
交流电频率50Hz,采样频率可用1000Hz,建立大于1000的FIFO。对采样值处理,两次接近0 之间的数据就是四分之一周期的电压值序列,求均方根。
用一个准确度高些的万用表对单片机输出值进行整定。
以上就是真有效值测量的基本方法。
通过单片机测量电压,是将模拟量转化为数字量,必须使用A/D(模数)转换接口,大部分的单片机都会自带A/D转换接口(ADC接口),若使用的单片机没有ADC接口,而且不想更换其它单片机,也可以使用A/D转换芯片进行外扩,有SPI接口、数据总线接口等。
提问者要求测量220V交流电的电压,具体实现方式有好几种方法,其目的都是将220V高压信号缩小降为满足A/D采样范围的低压信号,接入A/D接口进行A/D转换。
▲交流电压表表头
(1)方法1:
直接采用高精度电阻分压的方式进行降压,然后经过差分运放(该差分运放的放大倍数为1),差分运放的主要作用是有跟随器的作用,作为输入的缓冲级,起到隔离缓冲作用(跟随器输入阻抗很大,输出阻抗很小)。
后级接个RC电路进行滤波,消除纹波干扰,原理图如下所示:
▲220V交流电压采集原理图1
如上图,220V交流输入,采用电阻分压,由于交流电属于正弦波,有负半周的波形,该半周的电压为负值,所以必须将整体电压进行抬高,所以上图使用5V电压串联R145=4.7K的电阻将整体电压进行抬高。
计算方法:先计算Q点的电压,根据戴维宁定理分两部分进行,当交流输入为0时,Q点的电压V1为5V根据电阻R145与R138//R141//R142的分压,V1约1.5V左右;
当R145接地时,计算220V交流输入时的电压V2,V2约为0.68V左右,该电压为交流电,最大值为0.68V×1.414≈0.96V,最小值为-0.96V;
所以V1与V2进行叠加之后的电压为最小值为0.54V,最大值为2.44V的正弦波,频率为50HZ。Q点的电压经过差分跟随器进行缓冲隔离,然后通过RC电路进行滤波,最后输出接入单片机的AD采样接口即可,基准源的电压必须大于2.44V,可采用3V或3.3V等作为基准源。采样频率最好大于1KHZ,确保每个交流波形周期可以采到20个点以上,然后通过有效值计算,算出其有效值电压,再减去叠加的偏置电压,乘以电路缩小系数可得到220V交流电压的有效值。
(2)方法2:
采用变压互感器进行降压,可得到低压的交流信号,此方法交流与直流之间完全隔离,避免高压损坏采样电路,然后再接入有效值转换芯片将交流信号转化为直流信号,然后再接入单片机的AD采样接口,将采样得到的数字量根据AD采样精度及参考电压进行换算,再乘以硬件系数即可。
以上是本人的回答,当然还有很多方法,大家可以自己摸索,答题不易,如果觉得还可以别忘了点个赞哦!若还有什么不明白的地方请评论区下方留言,若想了解更多相关知识,请关注本头条号,会持续更新内容,谢谢支持!
要用单片机测量交流220V的电压,需要三个步骤:
将高压的220V电压变压成低压交流信号;
一般通过电压互感器将220V的电压转换为低压交流信号,
电压互感器的电路如下:
电压互感器的规格为初级电流和次极电流的比值为1:1,上图的电路中,初级的额定电流峰值为1.55mA,选择电流比为1:1的是压互感器,则次级电流=初级电流=1.55mA。
选择250欧的采样电阻,可以得到峰值为1.55V的电压。
将低压交流信号调理成可以输入单片机进行A/D采样的信号,
如果我们选择目前最流行的Cortex-M0, Cortex-M3内核的处理器,比如STM32F051或者STM32F103处理器,其A/D转换的输入电压范围为0-3.3V。
而从电压互感器得到的电压为-1.55V~1.55V的交流信号。
可以选择两种计算方式,平均值和真有效值。
平均值通过计算电压绝对值的平均值,换算出电压的有效值。
而真有效值则是在一个周期内等间隔采样N个点,根据真有效值的计算公式计算出电压的真有效值。
通过计算平均值换算出有效值的方法仅适用于没有高次谐波的正弦信号,而且精度和实时性都比较差。
计算平均值的电路比较简单,最简单的可以用一个桥式整波电路整成直流,再通过运放做放大以及阻抗变换,再输入单片机的A/D输入口。如下图:
甚至有些简易的电路,连运放都省了,通过桥式整流电路之后,简单电阻分压就输入到A/D输入口。
讲究一点的可能用下图的精密绝对值的电路,将交流信号处理成正向的电压信号。
对于采用真有效值计算方法的电路,则不需要进行整流或者绝对值变化,只需要将信号放大之后,将其直流电平抬升到最高电压(如3.3V)的一半即可,如下图:电压互感器输出的信号经过U1A放大之后,再通过U1B与VR1进入叠加,将交流信号的直流偏置抬升到1.55V左右,使得交流信号的输入范围在0-3.3V之间,然后再输入到A/D输入口。
软件算法:
对于平均值计算方法,软件比较简单,只需要在一定时间内,比如200ms时间内,采集若干个点,这若干个点再取算术平均,之后,再通过标定程序换算成有效值即可。
而对于真有值计算方法,则需要通过下述步骤:
配置一个定时器用于触发A/D转换,使得在市电的一个周期内等间隔采样若干个点。比如20ms内采样128个点,则将定时器的周期设置为156.25us,通过溢出中断去触发启动A/D转换。
当采集完一个数据之后,进行A/D转换中断,在中断程序中计算,ADAD的累加和,以及AD的累加和。
采集完一个市电周期(比如20ms)之后,将AD的平方和,即ADAD的累加与和的平方做运算,算出AD的真有效值,再通过标定程序算出电压的真有效值。
一个市电周期计算完成后,将平方的累加和的变量、AD的累加和的变量清零,进行下一个周期的计算。
到此,以上就是小编对于单片机怎么检测电压的问题就介绍到这了,希望介绍关于单片机怎么检测电压的2点解答对大家有用。