单片机测电阻
基于单片机的电阻、电容、电感测试仪

1 前言1.1 设计的背景及意义目前,随着电子工业的发展,电子元器件急剧增加,电子元器件的适用范围也逐渐广泛起来,在应用中我们常常要测定电阻,电容,电感的大小。
因此,设计可靠,安全,便捷的电阻,电容,电感测试仪具有极大的现实必要性。
通常情况下,电路参数的数字化测量是把被测参数传换成直流电压或频率后进行测量。
电阻测量依据产生恒流源的方法分为电位降法、比例运算器法和积分运算器法。
比例运算器法测量误差稍大,积分运算器法适用于高电阻的测量。
传统的测量电容方法有谐振法和电桥法两种。
前者电路简单,速度快,但精度低;后者测量精度高,但速度慢。
随着数字化测量技术的发展,在测量速度和精度上有很大的改善,电容的数字化测量常采用恒流法和比较法。
电感测量可依据交流电桥法,这种测量方法虽然能较准确的测量电感但交流电桥的平衡过程复杂,而且通过测量Q值确定电感的方法误差较大,所以电感的数字化测量常采用时间常数发和同步分离法。
由于测量电阻,电容,电感方法多并具有一定的复杂性,所以本次设计是在参考555振荡器基础上拟定的一套自己的设计方案。
是尝试用555振荡器将被测参数转化为频率,这里我们将RLC的测量电路产生的频率送入AT89C52的计数端端,通过定时并且计数可以计算出被测频率再通过该频率计算出各个参数。
1.2 电阻、电容、电感测试仪的发展历史及研究现状当今电子测试领域,电阻,电容和电感的测量已经在测量技术和产品研发中应用的十分广泛。
电阻、电容和电感测试发展已经很久,方法众多,常用测量方法如下。
电阻测量依据产生恒流源的方法分为电位降法、比例运算器法和积分运算器法。
比例运算器法测量误差稍大,积分运算器法适用于高电阻的测量。
传统的测量电容方法有谐振法和电桥法两种。
前者电路简单,速度快,但精度低;后者测量精度高,但速度慢。
随着数字化测量技术的发展,在测量速度和精度上有很大的改善,电容的数字化测量常采用恒流法和比较法。
电感测量可依据交流电桥法,这种测量方法虽然能较准确的测量电感但交流电桥的平衡过程复杂,而且通过测量Q值确定电感的方法误差较大,所以电感的数字化测量常采用时间常数发和同步分离法。
基于单片机的电阻测量表的代码

#include "head\\includes.h"; void lcd1602_delay(uchar delaytime)RSEG ?PR?_lcd1602_delay?LCD1602_lcd1602_delay:USING 0; SOURCE LINE # 9;---- V ariable 'delaytime?040' assigned to Register 'R7' ----; {; SOURCE LINE # 10?C0001:; while(delaytime)delaytime--;; SOURCE LINE # 11MOV A,R7JZ ?C0003DEC R7SJMP ?C0001; }; SOURCE LINE # 12?C0003:RET; END OF _lcd1602_delay; void write_lcd1602_command(uchar write_command) //写LCD命令RSEG ?PR?_write_lcd1602_command?LCD1602_write_lcd1602_command:USING 0; SOURCE LINE # 13;---- V ariable 'write_command?141' assigned to Register 'R6' ---- MOV R6,AR7; {; SOURCE LINE # 14; lcd1602_delay(10);; SOURCE LINE # 15MOV R7,#0AHLCALL _lcd1602_delay; /*; LCD1602_RS=0;; LCD1602_RW=0;; LCD1602_EN=1;//*/; LCD1602_CWORD=0;; SOURCE LINE # 20CLR AMOV DPTR,#LCD1602_CWORDMOVX @DPTR,A; LCD1602_CWORD=LCD1602_CWORD&LCD1602_RS_CLR;//RS=0,RW=0,E=0 ; SOURCE LINE # 21MOVX @DPTR,A; LCD1602_CON_PORT=LCD1602_CWORD;; SOURCE LINE # 22MOVX A,@DPTRMOV R7,AMOV DPTR,#0FF90HMOVX @DPTR,A;; LCD1602_CWORD=LCD1602_CWORD|LCD1602_EN_SET;//rs=0,rw=0,e=1; SOURCE LINE # 24MOV A,R7ORL A,#04HMOV DPTR,#LCD1602_CWORDMOVX @DPTR,A; LCD1602_CON_PORT=LCD1602_CWORD;//*/; SOURCE LINE # 25MOVX A,@DPTRMOV R7,AMOV DPTR,#0FF90HMOVX @DPTR,A; //OUTPOT COMMAND; LCD1602_DA T_PORT=write_command;; SOURCE LINE # 27MOV DPTR,#0FF80HMOV A,R6MOVX @DPTR,A; _nop_(); //空指令占用一个指令周期,精确延时; SOURCE LINE # 28NOP; _nop_(); //空指令占用一个指令周期,精确延时; SOURCE LINE # 29NOP; // LCD1602_EN=0;; LCD1602_CWORD=LCD1602_CWORD&LCD1602_EN_CLR;; SOURCE LINE # 31MOV A,R7ANL A,#0FBHMOV DPTR,#LCD1602_CWORDMOVX @DPTR,A; LCD1602_CON_PORT=LCD1602_CWORD;//*/; SOURCE LINE # 32MOVX A,@DPTRMOV R7,AMOV DPTR,#0FF90HMOVX @DPTR,A; _nop_(); //空指令占用一个指令周期,精确延时; SOURCE LINE # 33NOP; _nop_(); //空指令占用一个指令周期,精确延时; SOURCE LINE # 34NOP; // LCD1602_RW=1;; LCD1602_CWORD=LCD1602_CWORD|LCD1602_RW_SET;; SOURCE LINE # 36MOV A,R7ORL A,#08HMOV DPTR,#LCD1602_CWORDMOVX @DPTR,A; LCD1602_CON_PORT=LCD1602_CWORD;//*/; SOURCE LINE # 37MOV DPTR,#0FF90HMOVX @DPTR,A;; }; SOURCE LINE # 39RET; .\OUT\lcd1602.SRC generated from: USER_C\lcd1602.c; COMPILER INVOKED BY:; C:\Keil\C51\BIN\C51.EXE USER_C\lcd1602.c LARGE DEBUG OBJECTEXTEND PRINT(.\LIST\lcd1602.lst) SRC(.\OUT\lcd1602.SRC)$NOMOD51NAME LCD1602CCF2 BIT 0D8H.2TB80 BIT 098H.3SPI0CKR DA TA 09DHCCF3 BIT 0D8H.3P0 DA TA 080HSPIEN BIT 0F8H.0CCF4 BIT 0D8H.4SM00 BIT 098H.7P1 DA TA 090HAA BIT 0C0H.2SM10 BIT 098H.6 WDTCN DA TA 0FFHP2 DA TA 0A0HSM20 BIT 098H.5ADC0CF DA TA 0BCHP3 DA TA 0B0HAC BIT 0D0H.6ADC1CF DA TA 0ABHP4 DA TA 084HEIE1 DA TA 0E6HP5 DA TA 085HEA BIT 0A8H.7EIE2 DA TA 0E7HP6 DA TA 086HP7 DA TA 096HPSCTL DA TA 08FH MSTEN BIT 0F8H.1CF BIT 0D8H.7ADC0CN DA TA 0E8H DAC0CN DA TA 0D4H DAC1CN DA TA 0D7H ADC1CN DA TA 0AAH P0MDOUT DA TA 0A4H P1MDOUT DA TA 0A5H IE DA TA 0A8HP2MDOUT DA TA 0A6H P3MDOUT DA TA 0A7H TMR3RLH DA TA 093H EIP1 DA TA 0F6HEIP2 DA TA 0F7H PCA0CPH0 DA TA 0FAH PCA0CPH1 DA TA 0FBH P3IF D A TA 0ADHTMR3RLL DA TA 092H PCA0CPH2 DA TA 0FCH CR BIT 0D8H.6PCA0CPH3 DA TA 0FDH EXF2 BIT 0C8H.6REN0 BIT 098H.4PCA0CPH4 DA TA 0FEH PCA0CPL0 DA TA 0EAH EMI0CF DA TA 0A3H PCA0CPL1 DA TA 0EBHPCA0CPM0 DA TA 0DAH PCA0MD DA TA 0D9H PCA0CN DA TA 0D8H PCA0CPL2 DA TA 0ECH PCA0CPM1 DA TA 0DBH PCA0CPL3 DA TA 0EDH PCA0CPM2 DA TA 0DCH IP DA TA 0B8HPCA0CPL4 DA TA 0EEH PCA0CPM3 DA TA 0DDH PCA0CPM4 DA TA 0DEH TXBSY BIT 0F8H.3CY BIT 0D0H.7SI BIT 0C0H.3XBR0 DA TA 0E1H SADEN0 DA TA 0B9H XBR1 DA TA 0E2HEMI0CN DA TA 0AFH SADEN1 DA TA 0AEH XBR2 DA TA 0E3H REF0CN DA TA 0D1H SADDR0 DA TA 0A9H SADDR1 DA TA 0F3H AMX0CF DA TA 0BAH AD0INT BIT 0E8H.5RCAP2H DA TA 0CBHPS BIT 0B8H.4SP DA TA 081HRCAP4H DA TA 0E5HEMI0TC DA TA 0A1HOV BIT 0D0H.2SMB0CN DA TA 0C0H RCAP2L DA TA 0CAH MODF BIT 0F8H.5RCAP4L DA TA 0E4H SMB0CR D A TA 0CFH CPT0CN DA TA 09EHP1MDIN DA TA 0BDH CPT1CN DA TA 09FHSPI0CN DA TA 0F8H PRT0CF DA TA 0A4H PCON DA TA 087H SPIF BIT 0F8H.7P74OUT DA TA 0B5HTMOD DA TA 089H TCON DA TA 088H WCOL BIT 0F8H.6P16 BIT 090H.6AMX0SL DA TA 0BBH P17 BIT 090H.7AMX1SL DA TA 0ACH TMR3CN DA TA 091H IE0 BIT 088H.1IE1 BIT 088H.3B DA TA 0F0HDAC0H DA TA 0D3H ADC0H DA TA 0BFH OSCICN DA TA 0B2H DAC1H DA TA 0D6H SMBFTE BIT 0C0H.1BUSY BIT 0C0H.7DAC0L DA TA 0D2H ADC0L DA TA 0BEH DAC1L DA TA 0D5H ACC DA TA 0E0HES0 BIT 0A8H.4AD0EN BIT 0E8H.7CT2 BIT 0C8H.1ET0 BIT 0A8H.1ET1 BIT 0A8H.3TF0 BIT 088H.5ET2 BIT 0A8H.5RI0 BIT 098H.0TF1 BIT 088H.7TF2 BIT 0C8H.7SMBTOE BIT 0C0H.0 TH0 DA TA 08CHEX0 BIT 0A8H.0TI0 BIT 098H.1IT0 BIT 088H.0PCA0H DA TA 0F9HTH1 DA TA 08DHEX1 BIT 0A8H.2IT1 BIT 088H.2TH2 DA TA 0CDHP BIT 0D0H.0TH4 DA TA 0F5H OSCXCN DA TA 0B1HTL0 DA TA 08AHPCA0L DA TA 0E9HTL1 DA TA 08BHTL2 DA TA 0CCHPT0 BIT 0B8H.1TL4 DA TA 0F4HRS0 BIT 0D0H.3PT1 BIT 0B8H.3RS1 BIT 0D0H.4PT2 BIT 0B8H.5TR0 BIT 088H.4AD0TM BIT 0E8H.6TR1 BIT 088H.6TR2 BIT 0C8H.2PX0 BIT 0B8H.0PX1 BIT 0B8H.2SLVSEL BIT 0F8H.2DPH DA TA 083H RCLK0 BIT 0C8H.5ADC0GTH DA TA 0C5H TCLK0 BIT 0C8H.4DPL DA TA 082HADC0GTL DA TA 0C4H SBUF0 DA TA 099H SBUF1 DA TA 0F2H ADC0LTH DA TA 0C7H EXEN2 BIT 0C8H.3 RSTSRC DA TA 0EFH FLACL DA TA 0B7H CPRL2 BIT 0C8H.0 SCON0 DA TA 098H SCON1 DA TA 0F1H ADC0LTL DA TA 0C6H T2CON DA TA 0C8H STA BIT 0C0H.5T4CON DA TA 0C9H SMB0ADR DA TA 0C3H SMB0DA T DA TA 0C2H SPI0CFG DA TA 09AH TMR3H DA TA 095H CKCON DA TA 08EH RXOVRN BIT 0F8H.4 TMR3L DA TA 094HAD0LJST BIT 0E8H.0F0 BIT 0D0H.5FLSCL DA TA 0B6HAD0CM0 BIT 0E8H.2F1 BIT 0D0H.1STO BIT 0C0H.4ENSMB BIT 0C0H.6AD0CM1 BIT 0E8H.3SPI0DA T DA TA 09BHADC0 DA TA 0BEHAD0WINT BIT 0E8H.1ADC1 DA TA 09CHAD0BUSY BIT 0E8H.4PSW DA TA 0D0HCCF0 BIT 0D8H.0RB80 BIT 098H.2SMB0STA DA TA 0C1HCCF1 BIT 0D8H.1?PR?_lcd1602_delay?LCD1602 SEGMENT CODE ?PR?_write_lcd1602_command?LCD1602 SEGMENT CODE ?PR?_write_lcd1602_data?LCD1602 SEGMENT CODE ?PR?read1602_cursor_addr?LCD1602 SEGMENT CODE ?PR?_LCD1602_write_dat?LCD1602 SEGMENT CODE ?PR?_LCD1602_write_char?LCD1602 SEGMENT CODE ?PR?_LCD1602_write_string?LCD1602 SEGMENT CODE ?PR?initial_lcd1602?LCD1602 SEGMENT CODE?XD?LCD1602 SEGMENT XDA TAPUBLIC LCD1602_CWORDPUBLIC initial_lcd1602PUBLIC _LCD1602_write_stringPUBLIC _LCD1602_write_charPUBLIC _LCD1602_write_datPUBLIC read1602_cursor_addrPUBLIC _write_lcd1602_dataPUBLIC _write_lcd1602_commandPUBLIC _lcd1602_delayRSEG ?XD?LCD1602LCD1602_CWORD: DS 1lcd1602_cousor_addr: DS 1; #define uint unsigned int; #define ulint unsigned long int; #define uchar unsigned char; uchar LCD1602_CWORD;。
基于51单片机的电阻测量 电气自动化

学校代码:14057学号: 20083005芜湖信息技术职业学院毕业论文(设计)论文题目:________基于51单片机的电阻测量________学科专业:________________电气自动化_______________________作者姓名:__________________王仁杰_________________________指导教师:__________________余红英__________________________完成时间:_________________2011年5月_____________________毕业论文(设计)写作提纲一、论文题目:基于51单片机的电阻测量二、论题观点来源:用A/D测电阻时,由于A/D采样的是电压值,根据电阻的分压原理算,用采样的电压值计算出被测电阻的阻值。
三、基本观点:A/D采样出电压值,根据电阻分压原理,计算出电阻值。
当用5.0V基准电压8位A/D时,能分辨的最小电压为19.5mV当用2.5V基准电压8位A/D时,能分辨的最小电压为9.8mV采样精度提高一倍,另外采用运放放大微弱的电压信号,再经单片机采样精度又能提高一倍,所以用8位A/D也能达到1%的精度。
四、论文结构:主要分为四个部分一部分:电路基础部分二部分:原理图和板图部分三部分:Protues仿真部分四部分:软件部分毕业论文(设计)工作中期检查表系别:班级:基于51单片机的电阻测量中文摘要电阻是基本电参数之一,常在直流条件下测量,也有在交流情况下测量的。
工程上常用的电阻范围为10的负七次方~10的负十五次方欧。
在材料研制、基本研究或特殊情况下进行实验时,测量电阻的范围一般扩大到接近零欧至10的负十八次方欧。
在物理学中,用电阻(Resistance)来表示导体对电流阻碍作用的大小。
导体的电阻越大,表示导体对电流的阻碍作用越大。
不同的导体,电阻一般不同,电阻是导体本身的一种性质。
单片机测量电阻原理

单片机测量电阻原理单片机是一种集成了微处理器、存储器和输入输出功能的微型计算机系统,广泛应用于各种电子设备中。
在电子领域中,我们经常需要测量电阻值来确保电路的正常工作。
本文将介绍如何利用单片机来测量电阻值的原理和方法。
我们需要了解电阻的基本原理。
电阻是电路中的一种被动元件,用来限制电流的流动。
电阻的大小通常用欧姆(Ω)来表示,不同的电阻值会对电路的性能产生影响。
在实际应用中,我们需要测量电阻的值来确保电路的设计符合要求。
单片机可以通过模拟输入引脚来接收外部电路的信号,并通过内部的模数转换器(ADC)将模拟信号转换为数字信号进行处理。
利用这一特性,我们可以设计一个简单的电阻测量电路。
首先,将待测电阻与一个已知电阻串联连接,然后将这两个电阻连接到单片机的模拟输入引脚上。
通过测量单片机接收到的模拟信号,我们可以计算出待测电阻的值。
在实际应用中,我们可以通过编程控制单片机来实现电阻值的测量。
首先,我们需要将单片机的模数转换器配置为合适的参数,如参考电压、采样率等。
然后,编写程序来读取模拟输入引脚的数值,并进行相应的计算来得出电阻值。
最后,将测量结果通过显示器或串口输出来显示。
通过以上方法,我们可以利用单片机来实现电阻值的测量,实现快速、准确的测量结果。
这种方法不仅可以用于电阻值的测量,还可以扩展到其他元件的参数测量,如电容、电感等。
单片机测量电阻的原理简单易懂,是一种实用的电子测量方法。
总的来说,利用单片机测量电阻值是一种简单有效的方法,可以广泛应用于电子领域中。
通过合理设计电路和编写程序,我们可以实现快速、准确的电阻值测量,为电子设计和调试工作提供便利。
希望本文对大家了解单片机测量电阻的原理和方法有所帮助。
单片机测量电阻原理

单片机测量电阻原理引言:电阻是电路中常见的元件之一,用于限制电流的流动。
在电子产品的设计和维修中,经常需要测量电路中的电阻值。
单片机是一种微型电脑,具有高集成度、低功耗等特点,可以用来测量电路中的电阻值。
本文将介绍单片机测量电阻的原理及实现方法。
一、电阻的基本原理电阻是电流通过时产生的电压降与电流之比,用欧姆定律表示为V=IR,其中V表示电压,I表示电流,R表示电阻。
二、单片机测量电阻的原理单片机测量电阻的原理是利用单片机的模拟输入引脚和内部的模数转换器(ADC)来实现。
具体步骤如下:1. 将待测电阻与单片机连接,一端接地,另一端接模拟输入引脚。
2. 单片机通过模拟输入引脚读取电阻两端的电压值。
3. 单片机将模拟电压值转换为数字信号。
4. 单片机通过数值计算得到电阻值。
三、实现方法单片机测量电阻的实现方法有多种,下面介绍一种简单的方法。
1. 硬件连接:将待测电阻与单片机的模拟输入引脚连接,一端接地,另一端接模拟输入引脚。
2. 程序设计:编写单片机的程序,实现测量电阻的功能。
具体步骤如下:(1)设置模拟输入引脚为输入模式。
(2)读取模拟输入引脚的电压值。
(3)将读取的模拟电压值转换为数字信号。
(4)通过一定的计算公式,得到电阻值。
(5)将电阻值输出。
四、注意事项在进行单片机测量电阻时,需要注意以下几点:1. 选择合适的单片机型号,确保其具备模拟输入引脚和ADC功能。
2. 确保电路连接正确,避免短路或接触不良等问题。
3. 根据实际情况选择合适的电阻范围和精度。
4. 考虑电阻测量的精度要求,可以采用多次测量取平均值的方法提高测量精度。
五、总结通过单片机测量电阻的原理及实现方法,我们可以方便地测量电路中的电阻值。
单片机具有较高的测量精度和稳定性,可以满足大多数电阻测量的需求。
在实际应用中,我们可以根据具体情况选择合适的单片机型号和测量方法,以实现准确、快速的电阻测量。
六、参考文献[1] 陈红. 单片机原理与应用[M]. 机械工业出版社, 2017.[2] 陈志强. 单片机原理与应用实验教程[M]. 高等教育出版社, 2014.。
基于单片机STC89C52的电阻测量系统设计

根据测量 的精度和端 口的要求,系统选用TLC2543作为A/ 图 2 MCU控 制及 显 示 电路
D转换器 。TLC2543是TI公司的12位串行模 数转换器 ,使用开关
电容逐次逼 近技 术完 成A/D转 换过程 ,工作温 度 范围内10la S 3 系统 软件 设计
转 换时间,l1个模拟输入通 道,3路内置 自测试 方式 ,采样率为
用户。可用5V电压编程,没有两种 电源的要求 ,改写时不拔下芯
片,适合许多嵌入式控制领域 。工作电压范围宽 (2.7V~6V),全
静态工作,工作频率宽在OHz ̄24MHz之 间L ̄,8751/87C51等51系
列的6MHz ̄I2MHz更具有灵活性,系统工作频率能快能慢。
1.2 A/D转 换器 的选择
片机 进行数据传送 。 2.3 MCU控 制及 显 示电路设 计
系 统 选 用 STC89C52作 为 mCU处 理 器 ,其 主 要 特 点 :
单片机 系统 电路如图2所 示。该模块 是整 个系统的核心,主
STC89C52与MCS-51系列 的单片机在 指令系 统和引脚上完全 兼 要 由STC89C52单片机、电机驱 动和uLN2o03和l2864液 晶显示器
辨 率达4096。程 序设计 采用模 拟通 道AINO端 ,并用 高测试精度 .以及电路 的稳定性 。图
中OP07的3脚为放大后 的采样 电压输入端 ,输入 的模拟 电压 经
TLC2543进进行A/D后。数字量 以SPI总线 数据传输 的方式与单
图1 系统总体设计框 图 1.1 MCU处 理器 的选择
作复杂。本系统采用通用单片机STC89C52实现 1Q 1OMQ电阻量 IOK ̄IIOM之间的量程 的自动切换 。在 电路 中被测 电阻Rx将和一
单片机课程设计报告 基于单片机的热敏电阻测温系统设计

单片机课程设计报告-- 基于单片机的热敏电阻测温系统设计单片机课程设计报告2011 / 2012 学年第 2学期课程名称:单片机课程设计上机项目:基于单片机的热敏电阻测温系统设计专业班级:电子信息工程02班1摘要在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。
传统的测温元件有热电偶和热电阻。
而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。
我们用一种相对比较简单的方式来测量。
我们采用温度传感器DS18B20作为检测元件,温度范围为-55~125 ºC,最高分辨率可达0.0625 ºC。
DS18B20可以直接读出被侧温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。
本文介绍一种基于STC12C5608AD单片机的一种温度测量及报警电路,该电路采用DS18B20作为温度监测元件,测量范围0℃-~+100℃,使用数码管驱动芯片CH451显示,能设置温度报警上下限。
正文着重给出了软硬件系统的各部分电路,介绍了集成温度传感器DS18B20的原理,STC12C5608AD单片机功能和应用。
该电路设计新颖、功能强大、结构简单。
关键词:温度测量DS18B20 STC12C5608AD CH451目录2摘要 (2)第1章绪论 (4)第2 章时间安排 (5)第3章设计方案及选材 (6)3.1 系统器件的选择 (7)3.1.1温度采集模块的选择与论证 (7)3.1.2 显示模块的选择与论证 (8)3.2 设计方案及系统方框图 (8)3.2.1 总体设计方案 (8)3.2.2 系统方框图 (9)第4章硬件设计 (10)4.1 总系统组成图 (10)4.2 温度测量传感器部分 (10)4.3 控制部分 (10)4.4 显示部分 (11)4.5 报警部分 (12)第5章程序流程图设计 (13)5.1 主程序流程图 (13)5.2 温度采集流程图 (14)第6章总结 (15)参考文献 (16)3第1章绪论现在电子技术日新月异,各种新型的自动控制系统也越来越多地运用到人们的日常生活、工业生产等领域,它不但可以提高劳动生产率,而且可以使控制的设备或执行的操作更加精确。
基于单片机PIC绝缘电阻测量仪的研制

基于单片机PIC绝缘电阻测量仪的研制目前对于电缆故障进行测量,检测,以及控制的系统有很多。
这些故障主要包括电缆网络的短路,以及断路等,但是这些系统并不能对导线间的绝缘进行测试。
本文研发和制造了一个包括原有系统功能,并对导线的绝缘可以测试的系统。
该系统的实现主要运用单片机PIC16F877A为主控芯片实现的绝缘电阻测量仪进行研制。
标签:PIC16F877A单片机;绝缘电阻;测量仪1 緒论对于绝缘电阻的检测,我国计量法早有强制性规定,为了保证电气安全,必须进行检测。
兆欧表是专门用来测量绝缘电阻的,也被称作绝缘电阻测试仪。
之前的兆欧表(摇表)因其拥有非常多的缺点,诸如:体积庞大,只有很小的测量范围,非常低的测量精度,操作也非常复杂,因此让测量结果的精确性无法获得保障,渐渐人们放弃使用。
数字式兆欧表没有了这些缺点,同时结合单片机使用,可以将测量获得的结果保存起来,以及显示,最后能够和pc机保持通讯。
本文主要分析一种以PIC16F877A单片机为基础的数字式绝缘测试仪。
2 工作原理这个数字式绝缘测试仪的组成部分包括:LCD显示电路、PIC16F877A单片机系统电路、量程切换电路、A/D转换电路、采样电路、直流高压电源电路等。
如图1所示为它的整个工作原理框图。
这个系统的测试电压源为1000V的直流电源,这个电源是由高压电源集成模块提供的。
同时选择恒压法(国家标准规定)测量绝缘电阻。
取样电压接到基准电压输人端(VeR-EF+ ),电源分压信号连接到A/D转换器的模拟量输人端(An)。
LCD驱动器的缓存中保存由A/D转换的相应经过一定计算的结果,根据要求将缓存保存的结果显示出来,用户可以依据显示值的大小,采用合适的量程来选择开关。
在PIC16F877A单片机的内部有一个A/D转换器模块(12位)的集成在里面。
所以本系统的电路根本不需要再添加一个A/D转换器,如此让电路板的尺寸大大缩小了。
3 系统的硬件组成(1)直流高压电源电路。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
TIM5CH1_CAPTURE_STA=0;
res_temp=temp/1.529-200;
res_val=(u32)(res_temp);
LCD_ShowxNum(60,100,res_val,10,16,0);
}
}
}
注意的点:
(1)分档的原因:
当公式里面的待测电阻远大于里面的定值电阻的时候,占空比会远非常接近100%,也即是Tl近似为0.这样在采样的时候,就会出现一些杂波的影响,使得测量结果接近于0.
(2)因为是要从浮点数转化为整数显示,那么如何从算法上提高精度
(3)如何从硬件上提高测量精度;
(4)软件滤波可以解决部分杂波干扰;
LCD_ShowString(150,100,200,16,16,"om");
while(1)
{
dHale Waihona Puke lay_ms(10);if (TIM5CH1_CAPTURE_STA&0X80)
{
temp=TIM5CH1_CAPTURE_STA&0X3F;
temp*=65536;
temp+=TIM5CH1_CAPTURE_VAL;//最后的时间值,单位为us
u32 temp;
u32 res_val;
float res_temp;
delay_init();
NVIC_Configuration();
TIM5_Cap_Init(0xFFFF,71);
LCD_Init();
LCD_ShowString(60,60,200,16,16,"ready");
LCD_ShowString(150,80,200,16,16,"uS");
单片机测电阻:
方案一:
电桥+放大电路+stm32AD采样;
方案二:
555震荡电路+stm32脉宽捕获
对比:
方案一的测量范需围有限:
分析如下:
根据TI提供的套件的参数,计算分析如下:
非平衡电桥测电阻公式如下:
带入TI套件的公式得到如下结果:
4/R(变化)+2=E/U0
可以知道电阻的范围为0到500欧姆
注意的地方:
(1)stm32的显示屏函数(与你自己的显示函数有关)只能显示整数,所以得到的值要换成整数,显示数字那个函数有一个参数是设定显示数字的个数的,设定个数与实际显示的数字的个数相比,只能多,不能少
(2)电压从电桥出来后还经过运算放大器的10倍放大,所以在计算U0时应该先除以10;
方案二:
范围很大:从几百欧姆到几兆欧姆都可以
Main.c文件:
#include "sys.h"
#include "delay.h"
#include"lcd.h"
#include "usart.h"
#include"adc.h"
#include"timer.h"
int main()
{
extern u8 TIM5CH1_CAPTURE_STA;
extern u16 TIM5CH1_CAPTURE_VAL;