行业资讯
你的位置:主页 > 行业资讯 >

基于μPD78F0338单片机实现多功能电能表的设计

2020-09-01 11:41

  本文阐述了电子式多功能电能表的设计方法、硬件设计的技术关键和软件设计流程。并以NEC的μPD78F0338为例,实现了一款具有四种费率、六条负荷曲线和两套费率结构的三相四线电子式多功能电能表。

  电子式多功能电能表主要针对国内市场三相用电的工业用户。随着电力行业改革深入,工业三相用电对多功能电能表的需求大量增加。目前国内多功能表种类少、价格较高、功能不完善,往往仅是针对某些地区的特定要求开发,缺乏通用性,某些产品未能完全达到国标的要求。本文介绍的电子式多功能电能表正是为了适应这种市场需求而设计的。

  这是一款智能型高科技电能计量产品,该表可以同时计量正/反向有功电能、正/反向无功电能、四象限无功电能,还具有多费率控制,负荷曲线记录,各相失压、过压、频率超限记录,数据LCD显示等多种功能。主站可以通过RS-485总线或手持红外抄表器对该电表进行查表、设表、抄表等操作。

  软件代码全部采用C/C++语言编写,编码效率高,可维护性好,便于实现模块化设计,可根据用户的需求方便地对功能模块进行裁剪。而且代码经过优化,其生成的目标代码大小和执行效率已与汇编代码相差无几。该产品的技术指标全面符合 GB/T 17215-1998 《1级和2级静止式交流有功电度表》、DL/T 614-1997《多功能电能表》和 DL/T 645-1997《多功能电能表通信规约》的要求。

  电子式多功能电能表硬件的核心MCU主控制器,它负责按键输入扫描、工作状态检测、计量数据的读入、计算和存储、电表参数的现场配置以及与外界的通信控制等。其主要功能单元包括MCU主控制器单元、电量计量模块、红外和RS-485通信模块、校表模块、EEPROM存储阵列等;其他辅助模块主要有:时钟日历电路、工作异常报警电路、按键输入电路、复位和看门狗电路、开关电源模块和后备电池电路、大屏幕液晶显示模块和LED显示模块。多功能表总体结构框图如图1所示。

  主控制器采用NEC公司8位单片机中的高档产品μPD78F0338。该款单片机为120脚QFP封装,单片集成有60kB Flash、一个异步通信串行口、40×4段LCD驱动器、高达10MHz的总线位精度的ADC,并可通过简单的接口进行在系统编程,极大地方便在线调试和软件升级。并且支持高级语言,较好地满足了多功能表任务繁多、数据量庞大、算法较复杂的功能要求。

  通信电路模块主要包括TSOP1838红外接收头、红外发射二极管、载波电路、ag追杀证据,MAX487专用485收发电路、驱动/开关二极管和其他元件。

  本电能表为便于用户抄表,设计有红外本地抄表和RS-485集中抄表两种串行抄表方式,因为μPD78F0338仅有一个串口,故通信电路设计时采用串口复用技术。由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用来对电流取样,IVP1、IVP2、IVP3用来对电压取样。

  时钟电路采用EPSON生产的RTC-4553实时时钟芯片。内部集成了32.768kHz的石英,简化外围电路,并可以根据需要进行自由设置以得到较高的频率;同时集成有时钟和日历计数器;可选择24或12小时显示模式;时钟可通过软件方式进行间隔30秒的调整;并提供0.1Hz或1024Hz的定时脉冲输出,以便于在电能表的外部对时钟精度进行定期检查。RTC-4553引脚及其外围电路图如图4所示。[page]

  其中,SCK、Sin、Sout与主处理器接口,用于发送控制指令或者传输日期时间数据,本系统日历时钟模块采用电池作后备电源,以确保在停电状态下,日期时间的准确无误。

  多功能电能表涉及的数据类型种类繁多。按字节分包括单字节、双字节、三字节、四字节和六字节等;按表征的意义分有时间、时刻、电压、电流、有功功率、无功功率、有功电能、无功电能、次数、功率因数、门限、状态字、系数、表号等。复杂的数据类型对数据结构的设计提出了较高的要求,本实现方案通过采用多种数据寻址方式和多种类型存储器较好地解决了这一问题。

  内部ROM用来存放大量的常数表格;RAM用于存放临时变量和堆栈,本方案需要2.5kB左右的RAM;串行EEPROM则存储各种用户电量数据和设表参数,通过I2C总线与CPU交换数据,电能表按设计需求的最大要求大约需要250kB的EEPROM,本方案采用8片256位EEPROM通过级联来实现。

  EEPROM数据访问采用两种方式:直接地址访问,通过数据的EEPROM地址直接读写数据;数据ID寻址,通过数据的编码读写数据。

  红外通信和RS-485共用一个串行口(RxD/TxD)通信,由于串行口通信开始都有一低电平位(0),因此将红外接收端(与485接收端用一三极管隔开)引到一中断引脚INTP1,通过其引发的中断可判断串行口数据是否来自红外。发送时按对应方式发送,使其不互相干扰。由于红外通信和遥控接收用同一接收管,因此在判断红外来源的中断中启动定时器INTTM4检测红外接收端,如果检测到脉冲宽度为9ms或0.56ms,则判断为红外遥控,并根据定时检测遥控编码;否则判定为红外产生的串行口接收中断,并将定时检测关闭。

  因红外发送字节之间可选有15~20ms的延时,而485通信则不需要延时。数据发送在发送中断中进行,红外通信在发送操作后立即关闭发送中断允许,待延时时间到后再允许发送中断。

  多功能表主程序流程主要包括初始化、数据校验、负荷曲线修补和事务处理等,其流程图如图5所示。

  日常事务处理流程集中体现了多功能表的大部分主要功能,包括费率处理、计量数据采集及处理、自动抄表、电能脉冲输出、校表模块和掉电检测及处理模块等,其流程图如图6所示。

  【课程介绍】:朋友们大家好,本套视频教程由本人录制,现做为录播课程上传至电子发烧友网平台,感谢电子发烧友网让单片机学习的

  固件模块原理固件开发中模块化编程的基本概念是创建固件模块。从概念上讲,模块代表关注点分离。在计算机科....

  请大家自己写上3盏灯的情况000 001 010 011 100 101 110 111我们来看,这....

  本例题采用可调电阻 调节电压值作为模拟信号的输入量,通过A/D转换芯片AD0808把模拟信号转换为数....

  由于3C产品普遍趋向轻薄化、便携性、高性能、长续航发展,相应的对3C锂电池也提出了新的要求,要求3C....

  很久以前写的程序,由于程序有很多版本,所以想看一下最终版的程序校验码来确定最终的程序。 请问如何用烧录器来看校...

  从未来的角度来看,作者提出了两种主要的计算模型开发策略,及其在2D材料设计和合成中的应用,这是该领域....

  HiL(Hardware-in-the-Loop,硬件在环)仿真测试系统,主要用于对新能源汽车控制器....

  OPA314传感器信号放大电路加10M欧的反馈电阻,出现50HZ信号干扰,请问是什么原因?

  OPA314传感器信号放大电路加10M欧的反馈电阻,出现50HZ信号干扰,请问是什么原因? 换成100K的反馈电阻时信号...

  最近做某个项目,需要控制多路电磁铁(其实是电磁锁) 如下图: 1,用MJD122作为控制开关; 2,LED1指示是否...

  MCU经过多年发展,性能也得到了很大的提升。因为MCU必须顺序执行程序,所以适于做控制,较多地应用于....

  CapSense ® MBR3是Cypress的用于与光滑和可靠的电容感测的用户界面快速且容易地替换....

  Cypress公司是一家知名的电子芯片制造商,其中文名称为——赛普拉斯。 赛普拉斯在纽约股票交易所上....

  pic单片机系列是美国微芯公司(Microship)的产品,共分三个级别,即基本级、中级、高级,是当....

  MPLAB 集成开发环境(IDE)是综合的编辑器、项目管理器和设计平台,适用于使用Microchip....

  新型 LT3763是一款60V同步、降压型 DC/DC 控制器,专为可准确地在高达 20A 调节LE....

  控制器(英文名称:controller)是指按照预定顺序改变主电路或控制电路的接线和改变电路中电阻值....

  控制器(英文名称:controller)是指按照预定顺序改变主电路或控制电路的接线和改变电路中电阻值....

  正在学单片机的萌新,刚刚尝试了第一个单片机程序,但烧录过程有错误,下载的时候显示串口打开失败(如下图),百度之后...

  众所周知,Java的三大特性:封装,继承与多态。本文方便读者朋友们快速理解Java语言中的多态性,以....

  FB41用于通过使用连续的变量输出在SIMATIC S7控制系统中实现技术过程控制。除了设定点操作和....

  芯片介绍: 由Cmsemicon(中微股份)生产的CMS89F11x系列单片机是增强型8位CMOS系列产品, 拥有RI...

  单片机I/O (输入/输出)接口是其与外设交换数字信息的桥梁。事实上,真正用作I/O口线口....

  运用单片机便是了解单片机硬件结构,以及内部资源的运用,在汇编或C语言中学会各种功用的初始化设置,以及....

  瑞萨单片机外部中断触发 瑞萨单片机,型号:R5F10DPE,外部引脚触发中断(上升沿触发...

  意法半导体STM32F7系列MCU采用高性能的ARM Cortex-M7核心,借助ST的ART Ac....

  意法半导体STM32F7系列MCU采用高性能的ARM Cortex-M7核心,借助ST的ART Ac....

  三菱FX系列PLC可在线修改程序,通过调制解调器和电话线可实现远程监视和编程,元件注释可储存在程序储....

  我们设触摸屏如下:右下角为原点坐标(x1,y1),横轴为x轴,竖轴为y轴,右上角坐标(x1,y2),....

  许多人在接触到单片机(MCU)和可编程逻辑控制器(PLC)时,都会感到疑惑。疑惑主要有两点: 工业环境中,...

  1、万事开头难、要勇敢迈出第一步。 开始的时候,不要老是给自己找借口,说KEIL不会建项目啦、没有实验板啦之类...

  单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言。 这个问题的意思应该是:现在有很多很...

  缘起 2018年1月1日,意味着我有15年的单片机经验了,得在21ic最热的板块来个文章纪念一下。 从2003年学习单片...

  振荡器由晶振、电容、电阻组成,部分还有电感,它以晶体频率产生脉冲序列。以英锐恩单片机为例,EN8F1....

  我们都知道C++有三大特性:封装、继承、多态,之前我总结过继承的知识点,现在来总结一下封装的相关知识....

  在火灾发生时无法有效监测疏散通道内外压力,从而导致烟气进入安全疏散通道,人们无法进入防烟区进行安全疏....

  在单片机编程过程中,经常会使用到中断。那么,什么是单片机中断,它与CPU的轮询有什么区别?在本文中,....

  单片机程序的开发可以使用的两种语言,分别是C语言和汇编语言。这里要指出的一件事是,这不是嵌入式单片机....

  欠压复位(以下称为BOR)是单片机可靠性的一项重要功能,通常用于解决电源问题,下面将介绍欠压复位的另....

  物联网(IoT)使我们通过互联网与世界各地之间的联系更加紧密。其中,单片机是电子产品中的微型独立设....

  什么是嵌入式编程?对于嵌入式系统,许多人很容易将它与单片机编程混淆。其实,嵌入式编程指的是在我们生活....

  想要实现单片机刚干扰,首先要综合考虑各I/O口的输入阻抗,采集速率等因素设计I/O口的外围电路。一般....

  要对PIC单片机进行编程,你需要了解特定的开发工具的基本构件,例如配置寄存器,总线和存储器类型。理解....

  单片机(MCU)是一个小型的计算机,它将各个部件集成在单个芯片上,具有CPU,内存(RAM和ROM)....