单片机采集电压信号最小是多少钱,一般单片机AD采样能采到的最低电压
来源:整理 编辑:亚灵电子网 2023-10-06 14:08:41
1,一般单片机AD采样能采到的最低电压
一般单片机A\D采样能采到的最低电压,与基准电压值、分辨率(AD位数)相关。比如一普通单片机的10位ADC,采用3.3V电源为基准电压,则:采样最低电压=3.3/1023=0.003226V
2,pic单片机能够检测的最小高电平电压是多少
我试过的最小高电平电压是4V左右,但我觉得电压不是决定的因素。有一次我用单片机检测一个5V的电压,单片机检测不了,原因是电流太小啦。最后要用个9013(三极管)驱动啊。

3,一般单片机信号采集作AD转换的话采集的是什么信号
ad转换是模拟量到数字量的转换,采集的是模拟量(电压值),转换出来的是数字量可以供给单片机进行处理。肯定采集电压信号了,因为adc的核心是电压比较器。
如果被采集的信号很弱,比如最大幅度低于参考电压的10%,那就需要适当放大来减少误差了。
如果输入电压大于参考电压,那肯定要分压。输入阻抗无穷大这样是最好的,这样采集的误差最小,当然一般adc的输入阻抗都不算大(10kω级别),所以一般用电压跟随器进行阻抗匹配,间接增大adc的输入阻抗。
4,STC12C5A60S2单片机的AD能检测到最小电压是多少
STC12C5A60S2单片机的AD是十位的,最大数是1023,对应的电压是最高电压5V,那每一档数对应的电压是5/1023=0.004888V,这就是能检测到的最小电压了。
5,用单片机怎么收集电压信号并用写程序
单片机采集电压信号是它的本能,如果是高/低电平(脉冲)的开关信号就用外部中断,如果是随机变化的直流电压信号,就用ADC,比如STC单片机有些型号就有片内ADC功能,官网上有现成的例程,所以写程序就免了吧。使用电阻分压或者相关的方式,取得电压后送ADC采集芯片,然后送单片机处理并显示就好了。我只能给你提供个思路,1.0脚似乎有电压检测功能,用12c5410ad的有.开启电压变化检测-->当电压变化,开启a/d采样-->根据采样值的范围查表跳转到相应的功能
6,20mA电流信号是不是要转换成05V的电压信号怎么转换
先串联一个电阻,电阻一段接地,另一端接4-20ma电流信号,然后在4-20ma电流信号端引出一条线,这时候,在引出的线上,已经把电流信号转化为电压信号,如果电阻是220欧姆,电压信号的范围是0.8-4.4V。如果考虑到驱动问题,在后面加一个电压跟随器就行。可以用带AD的单片机采集,选用STC12C5A60S2即可,带AD转换和D/A转换功能。扩展资料:AD转换技术指标:1、分辨率(Resolution) 指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2^n的比值。分辨率又称精度,通常以数字信号的位数来表示。2、 转换速率(Conversion Rate)是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。积分型AD的转换时间是毫秒级属低速AD,逐次比较型AD是微秒级属中速AD,全并行/串并行型AD可达到纳秒级。采样时间则是另外一个概念,是指两次转换的间隔。为了保证转换的正确完成,采样速率 (Sample Rate)必须小于或等于转换速率。因此有人习惯上将转换速率在数值上等同于采样速率也是可以接受的。常用单位是ksps和Msps,表 示每秒采样千/百万次(kilo / Million Samples per Second)。3、量化误差 (Quantizing Error) 由于AD的有限分辨率而引起的误差,即有限分辨率AD的阶梯状转移特性曲线与无限分辨率AD(理想AD)的转移特 性曲线(直线)之间的最大偏差。通常是1个或半个最小数字量的模拟变化量,表示为1LSB、1/2LSB。4、偏移误差(Offset Error) 输入信号为零时输出信号不为零的值,可外接电位器调至最小。5、满刻度误差(Full Scale Error) 满度输出时对应的输入信号与理想输入信号值之差。6、线性度(Linearity) 实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。参考资料来源:百度百科-AD转换参考资料来源:百度百科-电压跟随器
7,如何用单片机采集交流电压信号
这个要看你的单片机类型了,8051系列单片机也有所不同,以前的at8951/52,at89s51/52自身不带ad转换功能,采集的信号要经过ad转换芯片,但是c8051f020之类的自身带ad转换功能,这就不需要芯片就可以实现,但是采集信号后最好用光耦隔离芯片tpl521进行隔离,保证信号的正常不受干扰。用传感器 https://detail.tmall.com/item.htm?spm=a230r.1.14.20.4tJMGb&id=521517770105&ns=1&abbucket=16&skuId=3107217916021网上很多的你测量的交流电不一定是标准的正弦波,因为电路的干扰有可能让波形发生变化或者有高次谐波。这样就需要fft来计算。adc只是采样信号的,单片机使用adc采样得到的数据进行fft运算,得到交流电基波的频率和幅度。
8,一般单片机信号采集作AD转换的话采集的是什么信号电流还是电
采样的是电压信号,没有为什么本来就这样,信号太小就需要放大,一般采样是0-5v,如果是8位ad的话最小就是0.3v多,如果小于这个信号就放大,采样的分压几乎可以忽略肯定采集电压信号了,因为ADC的核心是电压比较器。如果被采集的信号很弱,比如最大幅度低于参考电压的10%,那就需要适当放大来减少误差了。如果输入电压大于参考电压,那肯定要分压。输入阻抗无穷大这样是最好的,这样采集的误差最小,当然一般ADC的输入阻抗都不算大(10KΩ级别),所以一般用电压跟随器进行阻抗匹配,间接增大ADC的输入阻抗。1. 如果是单片机的话,一般是不可以直接采集负压的。2. 负电压,可以采用电压抬升的方法,先抬高到正电压,再输入到单片机的ad引脚。3. 抬升的方法,可以采用运放,搭建一个加法器来实现。采集的是电压,电压的参照值是pin VREF上的电压,如果你的信号针对VREF太小的话,需要放大,如果你的信号最大值大于VREF,需要分压。一般VREF差不多就是VDD,3.3V,我上面说的是STM32,其他的单片机差不多。
9,用单片机实现一个电压信号的最大值和最小值的差值
首先,需要用AD转换,先用调理电路把输入电压的范围调理到您的AD转换量程以内,接到AD转换的引脚。软件处理比较灵活。通常采用周期性的连续监测,间隔根据实际需要确定,如每若干微秒一次、若干毫秒一次、或若干秒一次,根据您的信号的变化快慢来选定。设一个变量max存放最大值,一个变量min存放最小值。开始时:令max等于量程的最小值(如0),令min等于量程的最高值。然后,在每一个检测周期中,做以下操作:(1)读入AD转换输入的电压值x;(2)如果x(3)如果x>max,则令max=x。 只要每次检测周期中都做这3条,那么任何一个时刻,min中总保留此前的电压最小值,max中总保留此前的电压最大值。您可以灵活使用他们。 如果您需要“一段时间中”的最大、最小值,那么,您可以在这一段时间的开始瞬间,执行上述的“开始时”的操作,而在这一段时间的结束时读取max和min的值来用。 【注:huijianc所说的“排序”没有必要】你说的是差分输入吧,很多单片机都可以进行差分输入的AD转换的,比如c8051和avr系列,至于怎么做,查手册吧~~~你说的也挺笼统啊51单片机 和adc0809,显示在哪款lcd呢这个可以在protues下仿真可以交流
10,单片机怎么采集电压表的信号
你好!实现的步骤 1、AD转换 2、单片机读取AD转换值 3、显示出转换的AD值单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。我才用的单片机为STC89C52RC,晶振12M。模数转换器为ADC0832。代码如下:/***********************************************程序功能: 模数转换器实现数字电压表程序测试: 程序下载成功后,通过调节小系统左上方的 精密电位器,模拟电压的变化,数码管将显 示出当前的电压值硬件说明: 用跳线帽把AD转换器左侧J13的AIN和CH0管脚 短接,用螺丝刀调节精密电位器VR2可以看到 当前电压值的改变************************************************/#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit CS = P1^0; //片选信号sbit CLK = P1^1; //时钟线sbit DI = P1^2; //数据写入sbit DO = P1^2; //数据读出,因为没有同时使用所以复用P1.2管脚uchar aa,bb,cc,dd,ee;uchar idata ram[1]; //定义一个存储空间来存储转化好的数字量uchar code table[]= 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//共阳数码管编码uchar code table2[]= 0x00,0x10,0x08,0x03,0x46,0x21,0x06,0x0e};//共阳数码管带小数点编码void delay(uint z)//延时子函数 uint x,y; for(x = z;x >0;x--) for(y = 110;y > 0;y--);}uchar Adc0832(bit polarity,bit channel); //待调用子函数声明void Display(uchar data1,uchar data2,uchar data3,uchar data4,uchar data5);void Data_Process();void main() while(1)//死循环,程序反复执行 Data_Process(); //AD转化,数据处理 Display(aa,bb,cc,dd,ee);//数码管显示当前电压值 } }/*******************************************函数名称:Adc0832功 能:实现AD转换参 数:AD转换通道选择,输入信号极性选择返回值 :AD转换后电压值********************************************/uchar Adc0832(bit polarity,bit channel)// AD转换子程序 uchar i,get_data1 = 0,get_data2 = 0; CLK = 0; DI = 1; //第一个时钟上升沿,DI=1,发出起始信号 CS = 0; CLK = 1; CLK = 0; DI = polarity; //第二个时钟上升沿,极性选择 CLK = 1; CLK = 0; DI = channel; //第三个时钟上升沿,通道选择 CLK = 1; CLK = 0; DI = 1; //DI置1,防止干扰输入数据(输入、输出管脚复用) for(i = 0;i < 8;i++)//分八次,从高到低的顺序把八位数据读出 CLK = 1; CLK = 0; if(DO) //在时钟的上升沿来临之前读走数据 get_data1 |= 0x80 >> i; } } for(i = 0;i < 8;i++)//分八次,从低到高的顺序再读取一次数据 if(DO) get_data2 |= 0x01 << i; } CLK = 1; CLK = 0; } CS = 1; //数据读写完后释放总线: CS DI CLK 置1 DI = 1; CLK = 1; if(get_data1 ==get_data2)//如果两个值相等,则数据传输正确 ram[0] = get_data1; //把正确的的数字量存在RAM[0]中 } return(ram[0]);//把AD转换值返回}/*******************************************函数名称:Display功 能:数码管动态显示参 数:五位数码管对应显示值返回值 :无********************************************/void Display(uchar data1,uchar data2,uchar data3,uchar data4,uchar data5) P0 = table2[data1]; P2 = 0xfe; // delay(1); P0 = 0xff; P0 = table[data2]; P2 = 0xfd; delay(1); P0 = 0xff; P0 = table[data3]; P2 = 0xfb; delay(1); P0 = 0xff; P0 = table[data4]; P2 = 0xf7; delay(1); P0 = 0xff; P0 = table[data5]; P2 = 0xef; delay(1); P0 = 0xff;}/*******************************************函数名称:Data_Process功 能:数据处理子函数,实现转化后的数据各位值 的分离参 数:无返回值 :无********************************************/void Data_Process() uchar get_data; uint data_temp; get_data = Adc0832(1,0);//调用AD转换子程序,单极性信号,通道0 data_temp = get_data * 196;//AD转换后的数据乘以分辨率,为便于处理分辨率放大10000倍 aa = data_temp / 10000; bb = data_temp % 10000 / 1000; cc = data_temp % 10000 % 1000 / 100; dd = data_temp % 10000 % 1000 % 100 / 10; ee = data_temp % 10000 % 1000 % 100 % 10; }这个是最基本的单片机项目,首先把0-6V的电压用运算放大器变换成0-5为电压然后送到AD转换器(基准电压选择5V的,如ADC0809)。如果要求转换精度高的话,可以选择高精度的AD转换器,当然考虑基准电压的值,前端6V线性变换成AD的基准电压值,单片机的程序网上有很多,自己百度一下看看,我这里有一些但是给你也没什么意义,你自己学习读懂程序,学会修改程序吗,用仿真软件如protues等仿真一下就ok了。没什么难度的。
文章TAG:
单片机采集电压信号最小是多少钱单片机 采集 电压