• 回答数

    4

  • 浏览数

    135

sw634365102
首页 > 学术期刊 > 电路检测系统设计论文

4个回答 默认排序
  • 默认排序
  • 按时间排序

智慧女神美美

已采纳

电子式多功能电能表的设计与实现 本文阐述了电子式多功能电能表的设计方法、硬件设计的技术关键和软件设计流程。并以NEC的uPD78F0338单片机为例,实现了一款具有四种费率、六条负荷曲线和两套费率结构的三相四线电子式多功能电能表 电子式多功能电能表主要针对国内市场三相用电的工业用户。随着电力行业改革深入,工业三相用电对多功能电能表的需求大量增加。目前国内多功能表种类少、价格较高、功能不完善,往往仅是针对某些地区的特定要求开发,缺乏通用性,某些产品未能完全达到国标的要求。本文介绍的电子式多功能电能表正是为了适应这种市场需求而设计的。 这是一款智能型高科技电能计量产品,该表可以同时计量正/反向有功电能、正/反向无功电能、四象限无功电能,还具有多费率控制,负荷曲线记录,各相失压、过压、频率超限记录,数据LCD显示等多种功能。主站可以通过RS-485总线或手持红外抄表器对该电表进行查表、设表、抄表等操作。 软件代码全部采用C/C++语言编写,编码效率高,可维护性好,便于实现模块化设计,可根据用户的需求方便地对功能模块进行裁剪。而且代码经过优化,其生成的目标代码大小和执行效率已与汇编代码相差无几。该产品的技术指标全面符合GB/T 17215-1998《1级和2级静止式交流有功电度表》、DL/T614-1997《多功能电能表》和DL/T645—1997《多功能电能表通信规约》的要求。 多功能电能表的总体结构和硬件设计 多功能表总体结构 电子式多功能电能表硬件的核心MCU主控制器,它负责按键输入扫描、工作状态检测,计量数据的读入、计算和存储、电表参数的现场配置以及与外界的通信控制等。其主要功能单元包括MCU主控制器单元、电量计量模块、红外和RS—485通信模块、校表模块、EEPROM存储阵列等;其他辅助模块主要有:时钟日历电路、工作异常报警电路、按键输入电路、复位和看门狗电路、开关电源模块和后备电池电路、大屏幕液晶显示模块和LED显示模块。多功能表总体结构框图如图1所示。 高性能主控制器单元 主控制器采用NEC公司8位单片机中的高档产品uPD78P0338。该款单片机为120脚QFP封装,单片集成有60KBFlash、一个异步通信串行口、40x4段LCD驱动器、高达10MHz的总线时钟和10路10位精度的ADC,并可通过简单的接口进行在系统编程,极大地方便在线调试和软件升级。并且支持高级语言,较好地满足了多功能表任务繁多、数据量庞大、算法较复杂的功能要求。 串口复用通信单元 通信电路模块主要包括TSOPl838红外接收头、红外发射二极管、载波电路、MAX487专用485收发电路、驱动/开关二极管和其他元件。 本电能表为便于用户抄表,设计有红外本地抄表和RS-485集中抄表两种串行抄表方式,因为uPD78F0338仅有一个串口,故通信电路设计时采用串口复用技术。由9012、9014和若干电阻等器件组成互补开关,由MCU的一个I/O口来控制红外和RS-485通信方式的切换,如图2所示。 高精度电量计量模块 计量模块由高精度专用电能计量芯片SA9904,电流互感器和其他外围电路元件组成。SA9904是Sames公司生产的一款三相双向功率/电能计量芯片,可以计量有功/无功功率、电压、频率、相序异常等,可以单独计量每一相的用电信息,符合IEC521/1036标准,可达到1级交流电能表的精度要求,各数据寄存器具有24位精度,可通过三线SPI接口与CPU交换数据。从而可以较好地适应多功能表需要计量多种电量数据的要求。SA9904引脚及其外围电路图如图3所示。 其中,CLK、DO、DI构成与MCU控制器的接口,用于传输控制命令和测得的电量数据,IIps、IIPt、IIPr用来对电流取样,IVPl、IVP2、IVP3用来对电压取样。 时钟日历模块 时钟电路采用EPSON生产的RTC-4553实时时钟芯片。内部集成了的石英晶体振荡器,简化外围电路,并可以根据需要进行自由设置以得到较高的频率;同时集成有时钟和日历计数器,可选择24或12小时显示模式,时钟可通过软件方式进行间隔30秒的调整,并提供或1024Hz的定时脉冲输出,以便于在电能表的外部对时钟精度进行定期检查。RTC-4553引脚及其外围电路图如图4所示。其中,SCK、Sin、Sout与主处理器接口,用于发送控制指令或者传输日期时间数据,本系统日历时钟模块采用电池作后备电源,以确保在停电状态下,日期时间的准确无误。 多功能电能表的软件设计 数据结构设计 多功能电能表涉及的数据类型种类繁多。按字节分包括单字节、双字节、三字节、四字节和六字节等,按表征的意义分有时间、时刻、电压、电流、有功功率、无功功率、有功电能、无功电能、次数、功率因数、门限、状态字、系数、表号等。复杂的数据类型对数据结构的设计提出了较高的要求,本实现方案通过采用多种数据寻址方式和多种类型存储器较好地解决了这一问题。 数据结构设计要点 系统的数据存放方式有:内部ROM、RAM和外挂EEPROM。 内部ROM用来存放大量的常数表格,RAM用于存放临时变量和堆栈,本方案需要左右的RAM,串行EEPROM则存储各种用户电量数据和设表参数,通过12C总线与CPU交换数据,电能表按设计需求的最大要求大约需要250KB的EEPROM,本方案采用8片256位EEPROM通过级联来实现。 数据寻址方式 EEPROM数据访问采用两种方式;直接地址访问,通过数据的EEPROM地址直接读写数据;数据ID寻址,通过数据的编码读写数据。 通信口复用功能设计 红外通信和RS-485共用一个串行口(RxD/TxD)通信,由于串行口通信开始都有一低电平位(0),因此将红外接收端(与485接收端用一三极管隔开)引到一中断引脚INTP1,通过其引发的中断可判断串行口数据是否来自红外。发送时按时应方式发送,使其不互相干扰。由于红外通信和遥控接收用同一接收管,因此在判断红外来源的中断中启动定时器INTTM4检测红外接收端,如果检测到脉冲宽度为9ms或,则判断为红外遥控,并根据定时检测遥控编码;否则判断为红外产生的串行口接收中断,并将定时检测关闭。 红外调制信号由CPU内部分频输出(P05/PCL)。f=fx/27=。 因红外发送字节之间可选有15~20ms的延时,而485通信则不需要延时。数据发送在发送中断中进行,红外通信在发送操作后立即关闭发送中断允许,待延时时间到后再允许发送中断。 多功能表程序流程图 多功能表主程序流程主要包括初始化、数据校验、负荷曲线修补和事务处理等,其流程图如图5所示。 日常事务处理流程集中体现了多功能表的大部分主要功能,包括费率处理、计量数据采集及处理、自动抄表、电能脉冲输出、校表模块和掉电检测及处理模块等,其流程图如图6所示。

108 评论

doublel0814

我做的课程设计,用的数码管,也做了protues仿真,你有需要的话,我邮箱是。希望对你有帮助,#include<>sbit P11=P1^1;sbit P12=P1^2;sbit P13=P1^3;sbit P14=P1^4;/////数码管1断码控制///////////////sbit P15=P1^5;sbit P16=P1^6;sbit P17=P1^7;sbit P32=P3^2;/////数码管2段码控制////////////////sbit up=P3^7;sbit down=P3^6; ////按键操作端口//////////////////sbit P35=P3^5; ////////控制晶闸管端口/////////sbit DQ =P3^3; ///////温度传感器端口///////// #define THCO 0xee#define THLO 0x00unsigned char code duan[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0XD8,0x80,0x90,0x88,}; //////////////////////////////////////////int b=0;char pwm=0;int k;char r=0,q=0;static char wendu_1;char hao=20;//////////////////////////////////////////////void delay(unsigned int i){while(i--);}//////////////////////////////////////////Init_DS18B20(void){unsigned char x=0;DQ = 1; //DQ复位delay(8); //稍做延时DQ = 0; //单片机将DQ拉低delay(80); //精确延时 大于 480usDQ = 1; //拉高总线delay(14);x=DQ; //稍做延时后 如果x=0则初始化成功 x=1则初始化失败delay(20);}////////////////////////////////////////////ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}////////////////////////////////////////////////WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}//delay(4);}/////////////////////////////////////////////////DS18B20程序读取温度ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号的操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*;return(t);}xianshi(){/////////////////当前温度显示///////////////////////////// P11=1; P0=duan[wendu_1/1000]; for(k=0;k<1000;k++); P1=0;P12=1; P0=duan[wendu_1/100%10]; for(k=0;k<1000;k++); P1=0;P13=1; P0=duan[wendu_1%100/10]; for(k=0;k<1000;k++); P1=0;P14=1; P0=duan[wendu_1%10]; for(k=0;k<1000;k++); P1=0; ///////////////////////////目标电压显示/////////////// P15=1; P2=duan[hao/1000]; for(k=0;k<1000;k++); P1=0;P16=1; P2=duan[hao/100%10]; for(k=0;k<1000;k++); P1=0;P17=1; P2=duan[hao%100/10]; for(k=0;k<1000;k++); P1=0;P32=1; P2=duan[hao%10]; for(k=0;k<1000;k++); P32=0;////////////////////////////////////////////////////////// }/////////////////////////////////////////////////////////// main(void){ P11=0; P12=0; P13=0; P14=0; P15=0; P16=0; P17=0; P32=0; P35=0; /////////////////////////////////////////////////////////// while(1){ wendu_1=ReadTemperature()/16;//读温度 xianshi(); ///显示系统数据/////////////////////////////////////操作函数//////////////////////////////////// if(down==0) {hao--;} if(up==0){hao++;} ///////////////////////////////////////////////////////////////////hao为理想温度/////wendu_1为实际环境温度/////////////////////////////////////////////////////////////////P35为高时 led灯工作///////////////////////////////////// P35=0; pwm=hao-wendu_1; if(pwm>0) {P35=1;} if(pwm<0) {P35=0;} if(pwm==0) {P35=0;}///////////////////////////////////////////////////////////////// }}

124 评论

么里斯古

提供一些电子信息工程专科毕业论文的题目,供参考。精密检波器的设计简易电子血压计的设计电子听诊器的设计简易数码相机的设计直流电机转动的单片机控制高频功率合成网络的研究多功能气体探测器车用无线遥控系统家用门窗报警器智能型全自动充电器医用病房多路呼叫系统多功能数字钟数字电压表的设计与仿真虹膜识别技术的认识及其在电子学科的发展探讨基于Orcad的电子线路特性分析及优化设计恒温热熔胶枪的设计步进电机的数字控制器设计虹膜图像的预处理(算法分析及探讨)四位密码电子锁的设计旋转LED屏的制作基于PC机的LCD实时显示控制系统设计(pc机部份)基于PC机的LCD实时显示控制系统设计(单片机部份)ICL7135的串行采集方式在单片机电压表中的应用用89C51和8254-2实现步进式PWM输出桌面行走智能小车双音频电话信息传输系统车库控制管理系统(基于PC机)车库控制系统车位识别(基于PC机)数控音频功率放大电路刚体转动实验平台的改进设计谐振频率测试仪高频宽带放大器的制作高频窄带放大器的设计宽带功率放大器的设计程控滤波器的设计高频电压测试棒的制作基于TMS320VC5402的DSP创新试验系统U-BOOT在ARM9(AT91RM9200)上的移植ARM9(AT91RM9200)启动过程的研究与启动代码的设计基于ARM9(AT91RM9200)的嵌入式Linux移植调试环境的研究与建立嵌入式Linux在ARM9(AT91RM9200)上的移植ARM9(AT91RM9200)简易JTAG仿真器设计基于单片机的电动机测速系统基于单片机的单元楼门铃及对讲系统基于单片机的自来水管的恒流控制基于单片机的电子脉搏测量仪基于单片机的自来水水塔控制系统洗衣机控制系统设计基于力敏传感器的压力检测湿敏传感器应用电路系统设计基于气敏传感器的大气环境测量系统设计基于光敏传感器的机器人控制电路设计基于温敏传感器的应用电路设计基于磁敏传感器的检测电路设计超声波传感器在倒车雷达系统中的应用温度传感器在现代汽车中的应用电子秤中的应变片传感器光电开关在自动检测的应用热释电传感器的应用浅谈各种接近开关基于单片机的自行车码表设计基于单片机的图形温度显示系统基于单片机的自动打铃器设计基于EDA技术的自动打铃器设计通用示波器字符(图案)显示电路设计基于EDA技术的时钟设计用matlab实现数字电子技术数据传输电路设计在matlab环境下实现同步计数器电路仿真锂电池充电器的设计与实现脉冲调宽(PWM)稳压电源作光源的设计与实现压电式传感器的应用矩形脉冲信号发生器的设计可编程交通控制系统设计多功能数字钟实用电子称多点温度检测系统可编程微波炉控制器系统设计智能型充电器显示的设计电子显示屏电源逆变器数字温度计简易数字电压表声光双控延迟照明灯可遥控电源开关无刷直流电机控制装置整流电路的设计PLC控制系统与智能化中央空调PLC在电梯变频调速中的应用PLC在输电线路自动重合闸的应用异步电机变频调速系统的设计电机故障诊断系统的设计数控稳压源4-20mA电流环设计单总线多点温度检测系统单片机控制的手机短信发送设备简易恒温浸焊槽设计单片机控制的手机短信发送设备基于MATLAB的IIR数字滤波器设计与仿真基于MATLAB的FIR数字滤波器设计与仿真平稳随机信号功率谱估计及在MATLAB中的实现智能红外遥控电风扇的设计单片机控制的消毒柜数字秒表的设计基于VGA显示的频谱分析仪设计基于FPGA红外收发器设计基于FPGA 的FSK调制器设计基于FPGA的多频电疗仪的设计基于FPGA幅度调制信号发生器设计基于FPGA全数字锁相环设计单片机之间的串口数据通信微机与单片机间的串口数据通信模型自适应系统控制器设计神经网络PID控制器设计带误差补偿环节的PID控制系统具有模糊系统控制的PID控制系统限电自动控制器单片机实现三位电子秒表开关稳压电源设计新型锂电池充电器自制温度检测报警器限流直流稳压电源设计微波测速计自由落体实验仪风力发电机转速控制风力发电电池组运行状态检测光伏电能的储存及合理应用控制装置车库门自动开闭小功率风力发电机研制利用车内电源(12V)给笔记本电脑供电电源(19V)基于PWM控制的七彩灯设计红外遥控电风扇基于串口通信的GPS定位系统数控电压源20mA电流环模块设计基于GSM的汽车防盗系统的设计

235 评论

*指尖的淚

用DS18B20做的电子温度计,非常简单。#include <> #include\"\"#include <>#include <>//********************************************************#define Seck (500/TK) //1秒中的主程序的系数#define OffLed (Seck*5*60) //自动关机的时间5分钟!//********************************************************#if (FHz==0) #define NOP_2uS_nop_()#else #define NOP_2uS_nop_();_nop_()#endif//**************************************#define SkipK 0xcc //跳过命令#define ConvertK 0x44 //转化命令#define RdDs18b20K 0xbe //读温度命令//*******************************************extern LedOut(void);//*************************************************sbit PNP1=P3^4;sbit PNP2=P3^5;sbit BEEP=P3^2;//***********************************#defineDQ PNP2 //原来的PNP2 BEEP//***********************************static unsigned char Power=0;//************************************union{ unsigned char Temp[2]; //单字节温度 unsigned int Tt; //2字节温度}T;//***********************************************typedef struct{ unsigned char Flag; //正数标志 0;1==》负数 unsigned char WenDu; //温度整数 unsigned int WenDuDot; //温度小数放大了10000}WENDU; //***********************************************WENDU WenDu;unsigned char LedBuf[3];//----------------------------------//功能:10us 级别延时// n=1===> 6Mhz=14uS 12MHz=7uS//----------------------------------void Delay10us(unsigned char n){ do{ #if (FHz==1) NOP_2uS;NOP_2uS; #endif }while(--n);}//-----------------------------------//功能:写18B20//-----------------------------------void Write_18B20(unsigned char n){ unsigned char i; for(i=0;i<8;i++){ DQ=0; Delay10us(1);//延时13us 左右 DQ=n & 0x01; n=n>>1; Delay10us(5);//延时50us 以上 DQ=1; }}//------------------------------------//功能:读取18B20//------------------------------------unsigned char Read_18B20(void){ unsigned char i; unsigned char temp; for(i=0;i<8;i++){ temp=temp>>1; DQ=0; NOP_2uS;//延时1us DQ=1; NOP_2uS;NOP_2uS;//延时5us if(DQ==0){ temp=temp&0x7F; }else{ temp=temp|0x80; } Delay10us(5);//延时40us DQ=1; } return temp;}//-----------------------------------void Init (void){ DQ=0; Delay10us(45);//延时500us DQ=1; Delay10us(9);//延时90us if(DQ){ //0001 1111b=1f Power =0; //失败0 }else{ Power++; DQ=1; }}//----------------------------------void Skip(void){ Write_18B20(SkipK); Power++;}//----------------------------------void Convert (void){ Write_18B20(ConvertK); Power++;}//______________________________________void Get_Ds18b20L (void){ [1]=Read_18B20(); //读低位 Power++;}//______________________________________void Get_Ds18b20H (void){ [0]=Read_18B20(); //读高位 Power++;}//------------------------------------//规范化成浮点数// sssss111;11110000// sssss111;1111()//------------------------------------void ReadTemp (void){ unsigned char i; unsigned intF1=0; char j=1; code int Code_F[]={6250,1250,2500,5000}; ; if ([0] >0x80){ //负温度 =~; //取反+1=源吗 +符号S ; } <<= 4; //左移4位 [0]; // 温度整数 //************************************************** [1]>>=4; //--------------------------- for (i=0;i<4;i++){ //计算小数位 F1 +=([1] & 0x01)*Code_F; [1]>>=1; } ; //温度的小数 Power=0;}//----------------------------------void Delay1S (void){ static unsigned int i=0; if (++i==Seck) {i=0ower++;}}//----------------------------------void ReadDo (void){ Write_18B20(RdDs18b20K); Power++;}/**********************************函数指针定义***********************************/code void (code *SubTemp[])()={ Init,Skip,Convert,Delay1S,Init,Skip,ReadDo,Get_Ds18b20L, Get_Ds18b20H,ReadTemp};//**************************************void GetTemp(void){ (*SubTemp[Power])();}//---------------------------------------------------//将温度显示,小数点放大了 GetBcd(void){ LedBuf[0]= / 10; LedBuf[1]= % 10 +DotK; LedBuf[2]=()%10; if(LedBuf[0]==0)LedBuf[0]=Black; if() return; if(LedBuf[0] !=Black){ LedBuf[2]=LedBuf[1]; LedBuf[1]=LedBuf[0]; LedBuf[0]=Led_Pol; //'-' }else{ LedBuf[0]=Led_Pol; //'-' }}/*//---------------------------------------------------void JbDelay (void){ static long i; if (++i>=OffLed){ P1=0xff; P2=0xff; PCON=0x02; }}*//*****************************************************主程序开始1:2002_10_1 设计,采用DS18B20测量2:采用函数数组读取数码管显示正常!3:改变FHz可以用6,12MHz工作!******************************************************/code unsigned char Stop[3] _at_ 0x3b;void main (void){ P1=0xff; ; while (1){ GetTemp(); GetBcd(); // JbDelay(); LedOut(); }}复制代码 20091012_8b1ef92155560c13b5807ZmoDVSacjwD[1].jpg (12 KB) 2009-10-21 23:21 上传下载次数:0

157 评论

相关问答

  • 微弱电流检测系统设计与实现论文

    Because of the increased degree of automation, all production processes are conc

    我的dp我做主 3人参与回答 2023-12-12
  • 多温度检测系统设计论文

    你都不留下联系方式,怎么帮你?

    曼丽nilei 5人参与回答 2023-12-09
  • 传感器检测系统设计论文

    参考下: 进入21世纪后,特别在我国加入WTO后,国内产品面临巨大挑战。各行业特别是传统产业都急切需要应用电子技术、自动控制技术进行改造和提升。例如纺织行业,温

    carefreeyu 4人参与回答 2023-12-06
  • 温度检测器的电路设计论文

    你好,我有你需要的设计!需要的联系回答者 目 录 一、引言 4 二、设计内容及性能指标 5 三、系统方案论证与比较 5 (一)、方案一 5 (二)、方案二 6

    静婷雅香 3人参与回答 2023-12-05
  • 酒精检测系统设计论文

    酒后驾驶与交通事故、交通肇事具有黑色的联系。“酒文化”在我国源远流长,适度饮酒能驱寒解乏延年益寿,增添喜庆气氛,然而,在交通活动中酒后驾驶则是“自己一口酒,他人

    守護天使109 3人参与回答 2023-12-09