1 系统的设计
设计采用16位的PIC24FJ64GA为主芯片,其带有10位A/D、UART、SPI接口和CAN接口,完全可满足设计要求,且有成本低,可靠性高的特点。图1中,市电和发电机三相电参数通过信号调理电路输送1给主芯片的A/D口,发电机的油温油压等参数通过信号调理电路2输送给主芯片的A/D口,作为备用电源时,工作在自动模式,此时监测市电参数并且当市电电压出现异常时,进行分闸操作,此时自动启动柴油发电机,等待启动完毕后,进行合闸操作,给予供电,当市电恢复时,合闸至市电电网,同时进行柴油发电机的停机操作,实现自动合分闸(ATS切换)。作为电源使用时,工作在手动模式,手动控制发电机启动。发电机启动后,将实时检测发电机运行的各项参数,同时通过SPI传送至128×64液晶屏显示,此外,该控制器还配有CAN和485 接口,通过与PC机连接,可以通过上位机来设定控制器的参数,也可将控制器采集到的数据显示在上位机上,CSM模块可以将报警信息以SMS方式发送到用户手机。
2 电路设计
2.1 三相电压检测信号调理电路
该电路的目的是将三相电压转换成处理器A/D可输入的电压范围,该信号调理电路运用运放电路中的差动电路来实现,图2为实现L1-N的线电压转换,由于PIC24FJ64CA的A/D电压范围为0~3.3 V,且交流电的负电压不能被A/D所采样,以往的设计往往是使用专用的A/D芯片转换负电压,这样就增加了成本。本文通过在同相输入端增加了1.6 V的偏压信号,使得正弦波幅值上移,这样可以正向电压则在1.6~3.3 V之间,而反向电压在0~1.6 V之间,0位为1.6 V,在0~3.3 V能采集到完整的正弦波,这种方法的优点在于,前置电路处理简单,成本极大的降低了,并使得CPU处理交流电压变得方便。设计测量电压的量程为0~450 V,取比例系数为K=RF/R4=0.002,使得输出电压范围在0.7~2.5 V之间,由于现场使用中发现交流电中存在较大的干扰信号。
(1)当闸门关闭时,零线上存在极大的扰动电压,这是由于电网中其他用电设备在交流回路上会产生电压。
(2)输出电压波形上叠加有高频干扰信号。因此本电路在偏压端,也就是同相输入端加入C1用于滤除零线上的干扰信号,输出端加入C2滤去高频信号。
同理测得另外两相电压L2-N,L3-N的线电压,再通过计算公示可得出L1-L2,L2-L3,L3-L1的相电压。
3 dB带宽fc=1.32 kHz,该带宽可以通过50 Hz交流电,而对频率高于1.32 kHz的信号有抑制作用,该电路设计的信号效果如图3所示。
2.2 三相电压频率信号调理电路
该电路的目的是将交流电的正弦波信号转换成单片机计数器口所能识别的方波信号,并能抑制高频干扰,使测量结果准确。基本设计思路是通过一个有限增益反馈型二阶低通滤波器和一个双限比较器来实现,具体实施电路如图4所示。
第一个运算放大器环节为有限增益反馈型二阶低通滤波器,其输入与输出的传递函数如下[page]
通过分析计算可知,带宽为212.31 Hz,幅频特性无谐振,无超调量,满足设计性能指标。
2.3 通讯接口电路
2.3.1 RS-485通讯接口
由于PC机的串行通讯总线是RS-232电平,因此要使RS-485总线可与PC机通讯,则需将RS-485转成RS-232,利用Modbus协议与上位机通讯,RS-485接口采用RSM3485芯片接受上位机可通过该口接受控制器监测到的参数,也可通过该口设置一些控制参数。采用RS-485,其电平格式为差分的形式,能抑制共模干扰,因此其通讯距离比RS-232要长得多。对于有监控要求的用户,可使得监控室设置在离机房较远的地方。
2.3.2 CAN通讯接口
CTM1050T是5V的高速隔离CAN收发器。在设计中,采用屏蔽线方式通讯,这样可抑制电磁干扰,屏蔽层接致CANSCR引脚,其中R9和C12为耐高压电阻电容,该电路设计特点是能抑制电磁干扰,防止总线过压引起的电路烧毁。
3 软件设计
3.1 电压参数检测软件设计
市电/发电的电压信号,通过信号调理电路,转换为0~3.3 V之间的低压信号输入到PIC24FJ64GA的A/D口,根据正弦波频率50 Hz,设定采样转换周期为2 kHz,设计采用每个转换周期转换8次数据,一个正弦波周期采样40个数据,对采样数据进行滤波,转换得到最终结果。
第k次采集到的A/D的值,buf0~buf7为存放A/D读数的缓存区,为抑制瞬态干扰,对buff中的数据进行排序,排序后采用中位值取平均。
D(k)=(buf3+buf4)/2 (13)
根据A/D参考电压为3.3 V,10位A/D,每个A/D读数表示3.225 mV,上述信号调理电路放大倍数为0.002,也就是2 mV表示1 V。计算每个A/D读书表示电压的值
A=3.225/2=1.57 (14)
根据信号调理电路,加1.6 V的偏压,0位为1.6 V,A/D读数为512,将读数转换为电压值
u(k)=[D(k)-512]/1 023×A (15)
将一个正弦波周期采集到的值求均方根,得到T时刻一个正弦波周期的有效值
在实验中发现若只采集1个正弦波算出有效值并直接显示,则显示的有效值会不稳定,并呈周期性跳变,因此采用一阶滞后滤波算法。
上一篇:一种入侵探测装置的软硬件设计
下一篇:PIC16F1933应用笔记
推荐阅读最新更新时间:2024-03-16 14:36