




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、浅论PIC单片机在智能双电源装置中的应用 1.智能双电源装置的简介随着对供电可靠性的要求也越来越高,很多场合用两路电源来保证供电的可靠性。当常用电源异常,智能双电源装置能自动切换到备用电源,智能双电源装置就是这种在两路电源之间进行可靠切换、以保证供电的装置。在医院、宾馆和矿山等有广泛的应用。智能双电源装置由开关本体和控制器两部分组成。开关本体由电机通过机械联锁机构控制常用电源的断路器和备用电源的断路器的分合,进而控制电源的切换。控制器通过对电压的采样来判
2、断电源是否异常,如果出现异常应产生相应的切换。 2.PIC16F877A的简介美国Microchip公司的PIC8位单片机其生产史11年,但现在其产量已跃居世界第二位(仅次于Motorola公司)。现在PIC单片机的品种已超过120种。PIC单片机是RISC结构的单片机,具有高速处理数据的特性(执行速度可达120ns)。PIC16F877A内部自带看门狗、256Bytes的EEPROM、8路AD功能、ISP功能和宽电压工作,工作可靠,能很好的适应智能双电源装置应用开发。 3.在8位单片机中在PIC与51系列单片机的比较 PIC的堆栈结构是硬件固定的,PIC16F877A有8级深度的硬件堆栈,5
3、1系列单片机的堆栈结构是在RAM区,由程序指定SP的开始位置。 PIC的RAM区每个Byte的位都可以寻址,有4条专用的位操作指令和2条移位指令。51系列单片机的只有0x20到0x2F的Bytes的位是可以寻址,有17条专用的位操作指令和4条移位指令。 PIC的ROM和RAM是采用“页”结构的,每页为512个Bytes,通过STATUS的位来选择不同的页,在程序调用和变量寻址的时候,要先确定目标的页,使有起来不是很方便。51系列单片机的ROM是可以在64K范围内寻址的,可程序直接寻址调用;RAM在0到0x7F可以直接寻址或间接寻址,0x80以上地址的RAM(包括扩展的RAM)只有间接寻址。 4
4、.智能双电源装置的动作处理 双电源控制器的有三种控制方式,自投自复方式、自投不自复方式和发电机方式。 自投自复式方式:如果常用电源被检测到出现偏差时,则自动将负载从常用电源转换至备用电源;如果常用电源恢复正常时,则自动将负载返回换接到常用电源。 自投不自复式方式:如果常用电源被检测到出现偏差时,则自动将负载从常用电源转换至备用电源;如果常用电源恢复正常时,不能自动将负载返回换接到正常电源供电。除非备用电源出现异常才进行转换。 发电机方式:如果常用电源被检测到出现偏差时,发出发电指令请求发电。当发电电压达到额定电压时,先从电网断开负载电路,自动转换到发电电源供电;当常用电源恢复正常后,则又自动返
5、回换接到正常电源供电,并发出停电指令,请求停止发电。 以下是三种方式在不同合闸状态下的程序任务处理简述: 自投自复方式在常用电源合闸状态, 常用电源出现异常,进行计时 异常计时中 异常计时完成,启动电机 常用电源正常,停止并恢复计时器 备用电源异常,停止并恢复计时器 自投自复方式在备用电源合闸状态, 常用电源出现正常 正常计时 正常计时完成,启动电机 常用电源异常,停止计时 自投不自复方式在常用电源合闸状态, 常用电源出现异常,进行计时 异常计时中 异常计时完成,启动电机 常用1 2 3 4 5 下一页
6、160; 电源正常,停止并恢复计时器 备用电源异常,停止并恢复计时器 自投不自复方式在备用电源合闸状态, 常用电源正常,备用电源异常,进行计时 计时中 计时完成,启动电机 备用电源正常,停止并恢复计时器 发电机方式在常用电源合闸状态, 常用电源出现异常,进行计时 异常计时中 异常计时完成,启动发电机 发电机启动等待时间,计时中 发电机等待时间完成,启动电机,进行切换动作 常用电源正常,停止任何计时,并恢复计时器 发电机方式在备用电源合闸状态, 常用电源正常,计时开始 计时中, 正常计时完成,启动电机,进行切换动作 常用电源异常,停止计时,并恢复计时
7、器 如何把这些相近的操作归纳成相同的函数进行处理,才可以节约程序代码。我把这些操作归纳成如下程序: typedefunion unsignedcharcc; struct unsignedcharbit0:1; unsignedcharbit1:1; unsignedcharbit2:1; unsignedcharbit3:1; unsignedcharbit4:1; unsignedcharbit5:1; unsignedcharbit6:1; unsignedcharbit7:1; Bits; Char_Bit; Char_BitVolErrFlag2;/可以用位或字节操作 staticv
8、oidCheckVolErr(unsignedchari) /I=0,检查常用电源的电压,更新缺相,欠压和过压标志位 /I=1,检查备用电源的电压,更新缺相,欠压和过压标志位 staticvoidStartTurn(unsignedcharbi) /bi=0,转到常用电源 /bi=1,转到备用电源 staticvoidCheckVol1(unsignedchari) /I=0,判断常用电源的合闸状态 /I=1,判断备用电源的合闸状态 /电压判断,处理函数1 unsignedcharj,k; if(i=0) j=0; k=1; else j=1; k=0; if(VolErrFlagj.cc=0
9、) bVolErrCnting=0;/恢复异常计时器标记 else if(bVolErrCnting=0) di(); CLRWDT(); VolErrCnt=(unsignedint)LimParams.ccj*TiScale; /预设异常计时器的初值 ei(); bVolErrCnting=1; return; 上一页 1 2 3 4 5 下一页 if(VolErrFlagk.cc!=0) bVolErrCnting=0;
10、 if(bVolErrCnting&&VolErrCnt=0) /启动转换动作 bVolErrCnting=0; bBkOpen1=k; CLRWDT(); StartTurn(k); staticvoidCheckVol2() /电压判断,处理函数2 if(VolErrFlag0.cc!=0) bVolErrCnting=0;/恢复异常计时器标记 else if(bVolErrCnting=0) di(); CLRWDT(); VolErrCnt=(unsignedint)LimParams.Para.Trn*TiScale; /预设异常计时器的初值 ei(); bVolEr
11、rCnting=1; return; if(bVolErrCnting&&VolErrCnt=0) /启动转换动作 bVolErrCnting=0; CLRWDT(); bBkOpen1=0; StartTurn(0); staticvoidCheckVol3() /电压判断,处理函数3 if(VolErrFlag0.cc=0) bVolErrCnting=0;/恢复异常计时器标记 bDJstarting=0; else if(bVolErrCnting=0) di(); CLRWDT(); VolErrCnt=(unsignedint)LimParams.Para.Tnr*T
12、iScale; /预设异常计时器的初值 ei(); bVolErrCnting=1; return; if(bVolErrCnting&&bDJstarting=0&&VolErrCnt=0) di(); CLRWDT(); DJstartCnt=(unsignedint)LimParams.Para.T1*TiScale; /预设发电机启动的等待计时器的初值 ei(); CLRWDT(); bDJstarting=1; return; if(bDJstarting&&DJstartCnt=0) /启动转换动作 CLRWDT(); bVolErr
13、Cnting=0; bBkOpen1=1; 上一页 1 2 3 4 5 下一页 StartTurn(1); voidmain() if(bBkOpen1) /在备用电源合闸状态 if(LimParams.Para.JobType=1) /自投不自复方式 CheckVol1(1); else /自投不自复或发电机方式 CheckVol2(); else /在常用电源合闸状态 if(LimParams.Para.JobType=2)
14、 /发电机工作方式 CheckVol3(); else /自投自复或自投不自复方式 CheckVol1(0); 5.智能双电源装置的电压采样的校准 在实际生产中,由于采样电阻的误差,所以在相同的校准电压输入,单片机采样到的AD值是不一样的。如何设定AD值和校准电压的校准比例,是一个关键的问题,校准比例不能在程序编译中固定下来,因为这样会有较大的误差,即使改用精密电阻来采样,误差也不能减低很多。我在应用中采用的方法是:提高采样电路的线性度,使其在不同电压下的校准比例有很好的一致性(在解决了温升的问题后,这点是可以做到的);在采样电路输入校准电压,输入设置密码后,单片机自动计算校准比例,并把校准比
15、例进行保存。 voidmain() ReadScal(); while(1) staticvoidKeyProc() if(SetKey=0) if(bSecPass=1) /设电压 if(ReadScalFlag()!=0) return; /如果已设定了比例,就不能再更改 CLRWDT(); ShowString(0,0); ShowString(1,1);/"pass" ShowString(0,2); /在LCD屏上显示PASS CLRWDT(); for(i=0;i!=6;i+) ScalUarrayi=IntUarrayi;/读入比例参数, CLRWDT(); 上一页
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑装饰工程项目进度控制与反馈方案
- 工程施工风险评估与管理方案
- 河道堤防加固与优化方案
- 基于AI的产品质量检测系统方案
- 展品展示流程数字化解决方案
- 智能感知系统应用方案
- 工程进度管理数字化可视化方案
- 2025年三基护理题库及答案第四版
- 酒店前台接待专业培训教材
- 八年级数学上册积的乘方同课异构教案新版新人教版(2025-2026学年)
- CJ/T 251-2007铜分集水器
- T/CSWSL 020-2020肉羊用菌酶协同发酵饲料
- T/CASWSS 009-2023社区老年中医健康管理服务中心功能性食品调理规范
- 关爱老人出行 筑牢安全防线-老年人交通安全宣传
- 《思想道德与法治》课件-第一章 领悟人生真谛 把握人生方向
- 四川省成都市高中化学 专题 氯以及化合物的性质和应用教学设计 新人教版必修1
- BOM变更管理知识课件
- 博物馆资源融入音乐课程的美育路径研究
- DB1331T 065-2023雄安新区E波段微波工程建设规范
- 六上冬季星空
- 社会单位微型消防站建设标准
评论
0/150
提交评论