下面是小编为大家整理的基于80C196KC的磁性检测的实现,本文共8篇,仅供参考,喜欢可以收藏与分享哟!本文原稿由网友“白目大叁角”提供。
篇1:基于80C196KC的磁性检测的实现
基于80C196KC的磁性检测的实现
介绍了票面检伪中磁迹检验的基本原理 ,设计了相关的检测电路 ,提出并详细介绍了采用 80C196KC单片机实现的.对票面磁性特征信息的采集、处理等硬件和软件实现.
作 者:李萍萍 周贵祥 LI Ping-ping ZHOU Gui-xiang 作者单位:李萍萍,LI Ping-ping(南京工业职业技术学院,南京,210016)周贵祥,ZHOU Gui-xiang(熊猫电子集团,南京,210009)
刊 名:机械设计与制造 ISTIC PKU英文刊名:MACHINERY DESIGN & MANUFACTURE 年,卷(期): “”(5) 分类号:V249.3 关键词:检伪 单片机 80C196KC篇2:网络入侵检测系统实现
互联网也同时带给我们无数的宝贵资源,只等我们去开发、利用,开放源代码软件(Open Source Software)便是其中之一,免费可得的软件发布形式,使其具有广大的用户群;众多志愿者的协同开发模式使其具有卓越的兼容性;大量的网上社区弥补了缺少商业服务的不足。本文试图论述利
用互联网上免费可得的开放源代码软件实现一个完整的网络入侵检测系统的过程。
系统概述
本系统采用三层分布式体系结构:网络入侵探测器、入侵事件数据库和基于Web的分析控制台。为了避免不必要的网络流量,本例将网络入侵探测器和入侵事件数据库整合在一台主机中,用标准浏览器异地访问主机上的Web服务器作为分析控制台,两者之间的通信采用HTTPS安全加密协议传输。
由于实现本系统所需的软件较多,有必要在此进行简要的说明:
Snort
功能简述:网络入侵探测器;
正式网址:www.snort.org/
软件版本:1.8.6
Libpcap
功能简述:Snort所依赖的网络抓包库;
正式网址:www.tcpdump.org/
软件版本:0.7.1
MySQL
功能简述:入侵事件数据库;
正式网址:www.mysql.org/
软件版本:3.23.49
Apache
功能简述:Web服务器;
正式网址:www.apache.org/
软件版本:1.3.24
Mod_ssl
功能简述:为Apache提供SSL加密功能的模块;
正式网址:www.modssl.org/
软件版本:2.8.8
OpenSSL
功能简述:开放源代码的SSL加密库,为mod_ssl所依赖;
正式网址:www.openssl.org/
软件版本:0.9.6d
MM
功能简述:为Apache的模块提供共享内存服务;
正式网址:www.engelschall.com/sw/mm/
软件版本:1.1.3
PHP
功能简述:ACID的实现语言;
正式网址:www.php.net/
软件版本:4.0.6
GD
功能简述:被PHP用来即时生成PNG和JPG图像的库;
正式网址:www.boutell.com/gd/
软件版本:1.8.4
ACID
功能简述:基于Web的入侵事件数据库分析控制台;
正式网址:www.cert.org/kb/aircert/
软件版本:0.9.6b21
ADODB
功能简述:为ACID提供便捷的数据库接口;
正式网址:php.weblogs.com/ADODB
软件版本:2.00
PHPlot
功能简述:ACID所依赖的制图库;
正式网址:www.phplot.com/
软件版本:4.4.6
上述软件都是开源软件,可以直接登录相应软件的正式网站,下载源代码,
此外,需要特别说明的一点是虽然本例中网络入侵检测系统所采用的系统平台是Solaris 8 for Intel Platform,但是在其它种类的系统平台上,如Linux 、OpenBSD以及Windows 等,其具体的实现步骤大同小异,因此就不在另行说明了。
三、安装及配置
在正式进行软件安装之前,请检查系统,确保拥有符合ANSI标准的C/C++编译器等软件开发工具。
1、安装MySQL
首先,以超级用户的身份登录系统,创建mysql 用户和mysql用户组;
然后,以mysql身份登录,执行下列命令:
$gzip -d -c mysql-3.23.49.tar.gz | tar xvf -
$cd mysql-3.23.49
$./configure
$make
$make install
这样,就按照缺省配置将MySQL安装在/usr/local目录下。然后将源代码树中的缺省配置文件my.cnf拷贝到/etc目录下。接下来,以超级用户身份执行源码树中scripts目录下的可执行脚本文件mysql_install_db来创建初始数据库。用/etc/init.d/mysql.server命令启动数据库服务器后,使用/usr/local/bin/mysqladmin程序来改变数据库管理员的口令。
[1] [2] 下一页
篇3:射频功率放大器实时检测的实现
射频功率放大器实时检测的实现
广播电视发射机是一个综合的电子系统,它不仅包括无线发射视音频通道,而且还包括通道的检测和自动控制电路,因此在设计时,它除了必须保证无线通道的技术指标处于正常范围外,还必须设计先进的取样检测和保护报警等电路,以确保发射机工作正常,从而实现发射机在线自动监测和控制。近年来,随着大功率全固态电视发射机多路功率合成技术的发展,越来越多的厂家采用模块化结构设计,因此单个功率放大器模块是整个发射机的基本测单元,本文就着重讨论单个模块的检测和控制电路,从而实现发射机在线状态自动监测。一、 工作原理
在功放模块中,主要检测和控制参数为电源电压,各放大管的工作电流,输出功率,反射功率,过温度和过激励保护等,图1为实现上述检测控制功能的方框图,它由取样放大电路,V/F变换,隔离电路,F/V变换,A/D转换,AT89C51,显示电路和输出保护电路等组成。
1、 隔离电路
在功放模块中,由于大功率器件的应用,往往单个模块的输出功率都比较大,因而对小信号存在较大的高频干扰,如处理不好,就会影响后级模数转换电路工作,从而导致检测数据不准确,显示数据跳动的现象,甚至出现误动作。这里采用光电耦合器进行隔离,由于光电耦合器具有体积小、使用寿命长、工作温度范围宽、抗干扰性能强、无触点且输入与输出在电气上完全隔离等特点,从而将模拟电路和数字电路完全隔离,保障系统在高电压、大功率辐射环境下安全可靠地工作。
2、LM331频率电压转换器
V/F变换和F/V变换采用集成块LM331,LM331是美国NS公司生产的性能价格比较高的集成芯片,可用作精密频率电压转换器用。LM331采用了新的温度补偿能隙基准电路,在整个工作温度范围内和低到4.0V电源电压下都有极高的精度。同时它动态范围宽,可达100dB;线性度好,最大非线性失真小于0.01%,工作频率低到0.1Hz时尚有较好的线性;变换精度高,数字分辨率可达12位;外接电路简单,只需接入几个外部元件就可方便构成V/F或F/V等变换电路,并且容易保证转换精度。
图2是由LM331组成的电压频率变换电路,LM331内部由输入比较器、定时比较器、R-S触发器、输出驱动、复零晶体管、能隙基准电路和电流开关等部分组成。输出驱动管采用集电极开路形式,因而可以通过选择逻辑电流和外接电阻,灵活改变输出脉冲的逻辑电平,以适配TTL、DTL和CMOS等不同的逻辑电路。
当输入端Vi+输入一正电压时,输入比较器输出高电平,使R-S触发器置位,输出高电平,输出驱动管导通,输出端f0为逻辑低电平,同时电源Vcc也通过电阻R2对电容C2充电。当电容C2两端充电电压大于Vcc的2/3时,定时比较器输出一高电平,使R-S触发器复位,输出低电平,输出驱动管截止,输出端f0为逻辑高电平,同时,复零晶体管导通,电容C2通过复零晶体管迅速放电;电子开关使电容C3对电阻R3放电。当电容C3放电电压等于输入电压Vi时,输入比较器再次输出高电平,使R-S触发器置位,如此反复循环,构成自激振荡。输出脉冲频率f0与输入电压Vi成正比,从而实现了电压-频率变换。其输入电压和输出频率的关系为:fo=(Vin×R4)/(2.09×R3×R2×C2) 由式知电阻R2、R3、R4、和C2直接影响转换结果f0,因此对元件的精度要有一定的要求,可根据转换精度适当选择。电阻R1和电容C1组成低通滤波器,可减少输入电压中的干扰脉冲,有利于提高转换精度。
同样,由LM331也可构成频率-电压转换电路。
3、数据处理电路
数据处理电路包括A/D数模转换ADC0809、AT89C51单片机和显示电路等组成。ADC0809是采用CMOS工艺制成的`八位八通道单片A/D逐次逼近型转换器,逐次逼近型转换器包括1个比较器,1个数模转换控制器,1个逐次逼近寄存器(SAR)和1个逻辑控制单元,转换中的逐次逼近是按对分原理由控制逻辑单元完成的,它原理简单,便于实现,不存在延迟问题。AT89C51是一个高性能的8位单片机,片内带有4k字节的FLASH可编程可擦除只读存储器,其指令系统与MCS-51完全兼容,因而可方便地应用各种控制领域。在设计中,P0口作为数据口,P1口作为开关量输入输出控制,P2作为显示模块和ADC0809的地址控制线,INT0端为键盘中断输入端,由此组成一个简单的单片机测量系统。
经过LM331 F/V变换后的电压信号,送入ADC0809进行数模转换,AT89C51单片机实时读取数模转换后的数据,通过内部软件的计算后,把结果送到显示屏显示,显示内容主要为各功放管的电流,电源电压,输出功率和反射功率等。输入的开关量检测信号经光电隔离后直接送入AT89C51的P1口。显示电路采用16×2字符点阵液晶显示模块,该显示模块具有内置192种字符(5×7点字型),指示功能强,可组成各种输入,显示和移位方式等功能,且与MCS-51系列单片机接口简单,软件编程简单等特点。
二、 软件设计
软件基本结构框图3。主程序主要是循环采集模拟量和开关量信号,并根据信号类型进行计算,所得值送到液晶屏显示,同时根据控制要求,输出控制信号,以实现对功放模块的控制、报警和保护功能。
键盘中断子
程序主要用于查看显示内容,设置一些如报警参数和RS232通信波特率等。RS232通信目的是把单个功放模块的数据传送给整机的控制单元,由整机总控制模块进行处理和显示,以实现远程控制和服务器连接。
三、结论
本文介绍的功放模块检测控制单元,由于存在于高功率和强磁场辐射的应用场合,因此关键在于解决信号在采集和传输过程的高频干扰和输入输出电路的隔离措施,同时对软件的数字波也要求较高。
篇4:Linux Shell脚本实现检测tomcat
这篇文章主要介绍了Linux Shell脚本实现检测tomcat的方法,推荐给小伙伴们,需要的朋友可以参考下
Linux Shell脚本检测tomcat并自动重启
后台运行命令 sh xxx.sh &
查看后台任务:jobs
召唤到前台:fg jobs编号
可以删掉while循环的代码放到crontab里面定时执行,可以将脚本直接后台运行,
#!/bin/bashwhile [ true ]do url=“www.jb51.net/”; httpOK=`curl --connect-timeout 10 -m 60 --head --silent $url | awk ‘NR==1{print $2}‘`; if [ $httpOK == “200” ];then tomcat6=`ps -ef | grep tomcat | awk ‘NR==1{print $1“ ”$2;}‘`; user=`echo $tomcat6 | awk ‘NR==1{print $1}‘`; pid=`echo $tomcat6 | awk ‘NR==1{print $2}‘`; if [ $user != “tomcat” ]; thenservice tomcat6 start; elsekill -9 $pid;sleep 5s;service tomcat6 start;service tomcat6 start;service tomcat6 status; fi; fi; sleep 5m;done;
以上所述就是本文的全部内容了,希望大家能够喜欢,
Linux Shell脚本实现检测tomcat
,
篇5:射频功率放大器实时检测的实现
射频功率放大器实时检测的实现
广播电视发射机是一个综合的电子系统,它不仅包括无线发射视音频通道,而且还包括通道的检测和自动控制电路,因此在设计时,它除了必须保证无线通道的技术指标处于正常范围外,还必须设计先进的取样检测和保护报警等电路,以确保发射机工作正常,从而实现发射机在线自动监测和控制。近年来,随着大功率全固态电视发射机多路功率合成技术的发展,越来越多的厂家采用模块化结构设计,因此单个功率放大器模块是整个发射机的基本测单元,本文就着重讨论单个模块的检测和控制电路,从而实现发射机在线状态自动监测。一、 工作原理
在功放模块中,主要检测和控制参数为电源电压,各放大管的工作电流,输出功率,反射功率,过温度和过激励保护等,图1为实现上述检测控制功能的方框图,它由取样放大电路,V/F变换,隔离电路,F/V变换,A/D转换,AT89C51,显示电路和输出保护电路等组成。
1、 隔离电路
在功放模块中,由于大功率器件的应用,往往单个模块的输出功率都比较大,因而对小信号存在较大的高频干扰,如处理不好,就会影响后级模数转换电路工作,从而导致检测数据不准确,显示数据跳动的现象,甚至出现误动作。这里采用光电耦合器进行隔离,由于光电耦合器具有体积小、使用寿命长、工作温度范围宽、抗干扰性能强、无触点且输入与输出在电气上完全隔离等特点,从而将模拟电路和数字电路完全隔离,保障系统在高电压、大功率辐射环境下安全可靠地工作。
2、LM331频率电压转换器
V/F变换和F/V变换采用集成块LM331,LM331是美国NS公司生产的性能价格比较高的集成芯片,可用作精密频率电压转换器用。LM331采用了新的温度补偿能隙基准电路,在整个工作温度范围内和低到4.0V电源电压下都有极高的.精度。同时它动态范围宽,可达100dB;线性度好,最大非线性失真小于0.01%,工作频率低到0.1Hz时尚有较好的线性;变换精度高,数字分辨率可达12位;外接电路简单,只需接入几个外部元件就可方便构成V/F或F/V等变换电路,并且容易保证转换精度。
图2是由LM331组成的电压频率变换电路,LM331内部由输入比较器、定时比较器、R-S触发器、输出驱动、复零晶体管、能隙基准电路和电流开关等部分组成。输出驱动管采用集电极开路形式,因而可以通过选择逻辑电流和外接电阻,灵活改变输出脉冲的逻辑电平,以适配TTL、DTL和CMOS等不同的逻辑电路。
当输入端Vi+输入一正电压时,输入比较器输出高电平,使R-S触发器置位,输出高电平,输出驱动管导通,输出端f0为逻辑低电平,同时电源Vcc也通过电阻R2对电容C2充电。当电容C2两端充电电压大于Vcc的2/3时,定时比较器输出一高电平,使R-S触发器复位,输出低电平,输出驱动管截止,输出端f0为逻辑高电平,同时,复零晶体管导通,电容C2通过复零晶体管迅速放电;电子开关使电容C3对电阻R3放电。当电容C3放电电压等于输入电压Vi时,输入比较器再次输出高电平,使R-S触发器置位,如此反复循环,构成自激振荡。输出脉冲频率f0与输入电压Vi成正比,从而实现了电压-频率变换。其输入电压和输出频率的关系为:fo=(Vin×R4)/(2.09×R3×R2×C2) 由式知电阻R2、R3、R4、和C2直接影响转换结果f0,因此对元件的精度要有一定的要求,可根据转换精度适当选择。电阻R1和电容C1组成低通滤波器,可减少输入电压中的干扰脉冲,有利于提高转换精度。
&n
[1] [2]
篇6:python脚本实现集群检测和管理
python脚本实现集群检测和管理
场景是这样的:一个生产机房,会有很多的测试机器和生产机器(也就是30台左右吧),由于管理较为混乱导致了哪台机器有人用、哪台机器没人用都不清楚,从而产生了一个想法--利用一台机器来管理所有的机器,记录设备责任人、设备使用状态等等信息....那么,为什么选择python,python足够简单并且拥有丰富的第三方库的支持,
最初的想法
由于刚参加工作不久,对这些东西也都没有接触过,轮岗到某个部门需要做出点东西来(项目是什么还没情况,就要做出东西来,没办法硬着头皮想点子吧)。。。
本想做一个简单点的自动化测试的工具,但这项目的测试方法和测试用例暂时不能使用这种通用的测试手段(输入和输出都确定不了),从而作罢...
那么做点什么东西,经常发现同事们问208谁用的?201谁用的?那IP是我的!!!你是不是把我得网线给拔掉了?242那机器到底是哪台?
突然间,春天来了,是不是可以做一个系统用来检测IP和记录设备的使用人,甚至可以按需要在某台设备上运行一个脚本或命令?把这个矮矬穷的想法和leader沟通过后,确认可以做,那么就开始吧!!!
设计思想
该系统的大概思想:
1. 要获得所有服务器的各种信息,需要在任意一台服务器上部署一个agent作为信息获取的节点,定时向管理服务器节点发送服务器信息数据。
2. server作为综合管理节点,接收并储存agent提交的信息。
3. 为了方便使用,采用web页面的形式做展示。
开发工具选择
1. 开发语言:python
之所以选择python,简单,第三方库丰富,不用造轮子
2. 数据库:mysql
简单、易用
3. webpy:web框架
入门简单、部署方便
4. bootstrap:前端框架
不要关心太多前端问题
5. paramiko:python库,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接
通过SSH方式连接agent服务器:远程运行命令、传输文件
6. scapy: python库,可用来发送、嗅探、解析和伪造网络数据包,这里用来扫描IP
7. MySQLdb: 连接mysql
8. shell 和 python脚本接口: 为其他人提供shell脚本的接口
经验分享
1. 前端对我来说是新东西,从来没弄过,页面的动画效果,脚本运行时的过渡都是需要考虑的,开始考虑利用倒计时,但是这个时间是不可控的,后来采用ajax来处理这个问题
2. agent要自动部署到每台机器,并可以通过server来控制刷新时间
3. 建立一个可扩展的表是非常重要的,而且一些重要的信息需要写入磁盘,在数据库失效的情况下,可以从磁盘获取数据
4. 数据库的连接,如果长时间没有操作的话会超时,要考虑到
... ...
项目结构--webpy
1. website.py为webpy的主程序,设置了url映射
2. model.py为webpy的url映射类,处理请求和返回
3. static中存放静态资源
4. scripts用来存放处理的脚本,这里起的名字有些问题
连接数据库
使用MyQSLdb连接mysql,在这里我没有使用webpy提供的数据库接口,而是自己封装了一套
ssh远程连接服务器
paramiko实现ssh连接、与数据传输、执行命令和脚本
def executecmd(cmd, host, port=22, user='root', passwd='root'):
try:
s = paramiko.SSHClient
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(host, port, user, passwd, timeout = 10)
except Exception as e:
s.close()
print e
print 'connet error...'
return
try:
stdin,stdout,stderr=s.exec_command(cmd)
#print 'Host: %s......' %host
res = stdout.readlines()
except Exception as e:
print 'exec_commmand error...'
s.close()
return res
def executefile(file, host, port=22, user='root', passwd='root'):
try:
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(host, port, user, passwd,timeout=5)
t = paramiko.Transport((host, port))
t.connect(username=user, password=passwd)
sftp =paramiko.SFTPClient.from_transport(t)
except Exception as e:
s.close()
print e
print 'connet error...'
return ''
try:
filename = os.path.basename(file)
if filename.find('.sh') >= 0:
sftp.put(path+'/'+file, '/tmp/tmp_test.sh')
stdin,stdout,stderr=s.exec_command('sh /tmp/tmp_test.sh 2>/dev/null', timeout=5)
else:
sftp.put(path+'/'+file, '/tmp/tmp_test.py')
stdin,stdout,stderr=s.exec_command('python /tmp/tmp_test.py', timeout=5)
#stdin,stdout,stderr=s.exec_command('rm -rf /tmp/tmp_test* 2>/dev/null')
res = stdout.readlines()
s.exec_command('rm -rf /tmp/tmp_test* 2>/dev/null')
except Exception as e:
s.exec_command('rm -rf /tmp/tmp_test* 2>/dev/null')
print 'timeout error...'
print e
return ''
return res
复制代码
IP扫描
使用scapy进行IP扫描
复制代码
def pro(ip, cc, handle):
global dict
dst = ip + str(cc)
packet = IP(dst=dst, ttl=20)/ICMP()
reply = sr1(packet, timeout=TIMEOUT)
if reply:
print reply.src,' is online'
tmp = [1, reply.src]
handle.write(reply.src + '\\n')
#handle.write(reply.src+“ is online”+“\\n”)
def main():
threads=[]
ip = '192.168.1.1'
s = 2
e = 254
f=open('ip.log','w')
for i in range(s, e):
t=threading.Thread(target=pro,args=(ip,i,f))
threads.append(t)
print “main Thread begins at ”,ctime()
for t in threads :
t.start()
for t in threads :
t.join()
print “main Thread ends at ”,ctime()
复制代码
批量添加ssh-key
复制代码
home_dir = '/home/xx'
id_rsa_pub = '%s/.ssh/id_rsa.pub' %home_dir
if not id_rsa_pub:
print 'id_rsa.pub Does not exist!'
sys.exit(0)
file_object = open('%s/.ssh/config' %home_dir ,'w')
file_object.write('StrictHostKeyChecking no\\n')
file_object.write('UserKnownHostsFile /dev/null')
file_object.close()
def up_key(host,port,user,passwd):
try:
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(host, port, user, passwd)
t = paramiko.Transport((host, port))
t.connect(username=user, password=passwd, timeout=3)
sftp =paramiko.SFTPClient.from_transport(t)
print 'create Host:%s .ssh dir......' %host
stdin,stdout,stderr=s.exec_command('mkdir ~/.ssh/')
print 'upload id_rsa.pub to Host:%s......' %host
sftp.put(id_rsa_pub, “/tmp/temp_key”)
stdin,stdout,stderr=s.exec_command('cat /tmp/temp_key >>~/.ssh/authorized_keys && rm -rf /tmp/temp_key')
print 'host:%s@%s auth success!\\n' %(user, host)
s.close()
t.close()
except Exception, e:
#import traceback
#traceback.print_exc()
print 'connect error...'
print 'delete ' + host + ' from database...'
delip(host)
#delete from mysql****
try:
s.close()
t.close()
except:
pass
篇7:基于87C196实现的快速无功电流检测
基于87C196实现的快速无功电流检测
摘要:提出了电力系统无功电流的ip-iq检测方案,给出了用87C196单片机实现无功电流实时检测的具体方法,该检测系统不但可以快速准确地进行无功检测,同时还可以配合TSC系统对系统无功电流进行动态补偿。关键词:ip-iq检测法;无功补偿;单片机;87C196
随着电力系统对电能质量要求的日益提高,影响电力系统电压稳定的无功功率及其补偿问题越来越受到重视。供电系统中已经有大量的无功补偿装置投入运行,这对电力系统的稳定起到了一定的作用。然而,在类似于轧钢等无功功率动态变化的工业场所,由于无功功率的大小不但随时间在不断变化,而且变化的速度很快。为了获取稳定电压,通常要求无功补偿装置能快速跟随无功电流变化,这无疑对无功电流检测的准确性和快速性提出了更高要求。本文提出了基于瞬时无功功率理论?1? 实现无功快速检测,并将检测算法在87C196KC单片机上实现的方法,试验证明,该方法具有较高的检测精度和较快的检测速度,是动态无功补偿装置的较佳检测方案。
(本网网收集整理)
1 系统的硬件结构
无功电流检测系统由模拟量变送器、模拟信号处理模块、开关量输入模块、开关量输出模块、基于单片机的微处理系统、键盘与显示单元等组成。若需要根据无功电流的大小来控制电容器的投切,以实现无功的快速补偿,也可以增加相应模块来控制电容器的投切,如由反并联晶闸管组成的开关模块、晶闸管的驱动控制电路、电容器补偿回路等。整个控制系统硬件结构如图1所示。
图中,CPU模块采用Intel公司生产的87C196KC单片机,该芯片内部有8位和10位可编程采集和转换时间的A/D变换、16kB ROM以及488B寄存器RAM,它的主频可运行到20MHz。87C196KC采用高速输入/输出(HISO)结构进行事件控制。HISO口有4个输入、6个输出,用两个16位定时器/计数器作为系统时间基准。除此以外的相关硬件组成还有看门狗定时器、全双工位串口(SIO)。以及外设事务服务器(PTS),它由微代码处理中断事件,类似于DMA通道方法,这样可以大大减少CPU响应中断服务的开销。有关87C196KC的引脚功能、控制命令格式等详细内容可参看参考文献?2?。由于87C196KC集成了完全可编程、自校准、高精度的模拟数据采集系统。因此,用其组成无功检测系统结构简单,无需大量复杂外设及外围电路。其简单的硬件结构设计使得整个系统的工作可靠性和抗干扰能力大为提高。
2 无功电流的检测原理
基于瞬时无功功率理论的ip-iq检测法由于计算量少且有较好的实时性而得到广泛应用?3?。在电力系统中,一般情况下,三相电网电压都是对称无畸变,假定负载电流是三相对称的,考虑到负载电流可能含有谐波,因而其电压、电流表达式可以表示为:
式中n=3k±1,其中k为整数(当k=0时,只取+号,即只取n=1),ω为电源角频率,In、?n为各次电流的有效值和初相角(基波初相角即相对于基波电压的相位差)。
将三相电流变换到α-β两相正交坐标上可以得到瞬时电流iα和iβ。
式2中,C32为变换矩阵,其表达式为:
为了更方便地分解出电流的有功和无功分量,应将坐标系变换到与电源电压同步旋转的dq坐标系中,并使d轴与电源电压同相位,这样,变换后的d轴即为有功分量,q轴分量则是无功分量。假定由α-β坐标变换到dq坐标的变换矩阵为C,则有:
由式(5)可见,电流的有功分量和无功分量均是瞬时交变的,除了基波分量外,还含有谐波分量。若只考虑基波,则n=1时的基波电流为:
式说明,经过上述处理后,通过低通滤波获得的直流分量ip和iq分别为基波电流有功电流分量和无功电流分量的√3 倍 。因此整个无功电流的'检测可按图2的原理来实现。在变换矩阵C中sinωt及cosωt是与a相电压ea同相的,可用锁相环(PLL)和正余弦信号生成电路得到。在单片机中实现时,也可以通过同步过零检测来用软件计算获取。
3 无功电流计算的程序流程
图3是该控制器软件流程,图3(a)为主程序流程图。系统上电后,首先进行初始化,以对寄存器和I/O端口进行设置,然后执行自检程序,自检无误后开放外部中断,然后进行键扫描,如果有键按下则执行键处理后再执行显示程序。没键按下则直接执行显示程序。之后再回到主程序的键扫描步骤,如此不断循环,以等待同步检测触发的中断子程序。
图3(b)为接收到同步检测信号后触发的中断子程序流程图。当接收到同步检测信号后,程序进入相应的中断子程序。首先对程序现场进行保护,再采样电流电压值。系统根据上述检测法和电流电压值,计算出无功电流的有效值,并依据该电流有效值计算哪些支路需要投切,并输出投切指令。执行完毕后退出中断,等待下一个中断。
4 结论
本文提出的检测系统结构简单,采用高集度度芯片进行硬件结构设计使得整个系统的工作可靠性和抗干扰能力均大为提高,运行可靠。同时又能快速、精确地检测出无功电流。按照本文提出的检测方法制作的硬件系统也已投入实际运行。实践证明:该系统不但能在20ms以内完成无功电流的精确检测,同时配合TSC系统还能在40ms内完成电容投切,此外还能实现动态无功补偿。因而对改善电能质量、降低损耗具有重要作用,具有很好的推广应用价值。
篇8:基于87C196实现的快速无功电流检测
基于87C196实现的快速无功电流检测
摘要:提出了电力系统无功电流的ip-iq检测方案,给出了用87C196单片机实现无功电流实时检测的具体方法,该检测系统不但可以快速准确地进行无功检测,同时还可以配合TSC系统对系统无功电流进行动态补偿。关键词:ip-iq检测法;无功补偿;单片机;87C196
随着电力系统对电能质量要求的日益提高,影响电力系统电压稳定的无功功率及其补偿问题越来越受到重视。供电系统中已经有大量的无功补偿装置投入运行,这对电力系统的稳定起到了一定的作用。然而,在类似于轧钢等无功功率动态变化的工业场所,由于无功功率的大小不但随时间在不断变化,而且变化的速度很快。为了获取稳定电压,通常要求无功补偿装置能快速跟随无功电流变化,这无疑对无功电流检测的准确性和快速性提出了更高要求。本文提出了基于瞬时无功功率理论?1? 实现无功快速检测,并将检测算法在87C196KC单片机上实现的方法,试验证明,该方法具有较高的检测精度和较快的检测速度,是动态无功补偿装置的较佳检测方案。
1 系统的硬件结构
无功电流检测系统由模拟量变送器、模拟信号处理模块、开关量输入模块、开关量输出模块、基于单片机的微处理系统、键盘与显示单元等组成。若需要根据无功电流的大小来控制电容器的投切,以实现无功的快速补偿,也可以增加相应模块来控制电容器的投切,如由反并联晶闸管组成的开关模块、晶闸管的驱动控制电路、电容器补偿回路等。整个控制系统硬件结构如图1所示。
图中,CPU模块采用Intel公司生产的87C196KC单片机,该芯片内部有8位和10位可编程采集和转换时间的A/D变换、16kB ROM以及488B寄存器RAM,它的主频可运行到20MHz。87C196KC采用高速输入/输出(HISO)结构进行事件控制。HISO口有4个输入、6个输出,用两个16位定时器/计数器作为系统时间基准。除此以外的相关硬件组成还有看门狗定时器、全双工位串口(SIO)。以及外设事务服务器(PTS),它由微代码处理中断事件,类似于DMA通道方法,这样可以大大减少CPU响应中断服务的开销。有关87C196KC的引脚功能、控制命令格式等详细内容可参看参考文献?2?。由于87C196KC集成了完全可编程、自校准、高精度的`模拟数据采集系统。因此,用其组成无功检测系统结构简单,无需大量复杂外设及外围电路。其简单的硬件结构设计使得整个系统的工作可靠性和抗干扰能力大为提高。
2 无功电流的检测原理
基于瞬时无功功率理论的ip-iq检测法由于计算量少且有较好的实时性而得到广泛应用?3?。在电力系统中,一般情况下,三相电网电压都是对称无畸变,假定负载电流是三相对称的,考虑到负载电流可能含有谐波,因而其电压、电流表达式可以表示为:
式中n=3k±1,其中k为整数(当k=0时,只取+号,即只取n=1),ω为电源角频率,In、?n为各次电流的有效值和初相角(基波初相角即相对于基波电压的相位差)。
将三相电流变换到α-β两相正交坐标上可以得到瞬时电流iα和iβ。
[1] [2]
化合物YCo12-xTix和YFe12-xTix的结构与磁性