/****************temic*********t5557***********************************/ #include <at892051.h> #include <string.h> #include <intrins.h> #include <stdio.h> #define uchar unsigned char #define uint unsigned int #define ulong unsigned long //STC12C2051AD的SFR定义 sfr WDT_CONTR = 0xe1;//stc2051的看门狗?????? /**********全局常量************/ //写卡的命令 #define write_command0 0//写密码 #define write_command1 1//写配置字 #define write_command2 2//密码写数据 #define write_command3 3//唤醒 #define write_command4 4//停止命令 #define TRUE 1 #define FALSE 0 #define OK 0 #define ERROR 255 //读卡的时间参数us #define ts_min 250//270*11.0592/12=249//取近似的整数 #define ts_max 304//330*11.0592/12=304 #define t1_min 73//90*11.0592/12=83:-10调整 #define t1_max 156//180*11.0592/12=166 #define t2_min 184//210*11.0592/12=194 #define t2_max 267//300*11.0592/12=276 //***********不采用中断处理:采用查询的方法读卡时关所有中断****************/ sbit p_U2270B_Standby = P3^5;//p_U2270B_Standby PIN=13 sbit p_U2270B_CFE = P3^3;//p_U2270B_CFE PIN=6 sbit p_U2270B_OutPut = P3^7;//p_U2270B_OutPut PIN=2 sbit wtd_sck = P1^7;//SPI总线 sbit wtd_si = P1^3; sbit wtd_so = P1^2; sbit iic_data = P1^2;//lcd IIC sbit iic_clk = P1^7; sbit led_light = P1^6;//测试绿灯 sbit led_light1 = P1^5;//测试红灯 sbit led_light_ok = P1^1;//读卡成功标志 sbit fengmingqi = P1^5; /***********全局变量************************************/ uchar data Nkey_a[4] = {0xA0, 0xA1, 0xA2, 0xA3};//初始密码 //uchar idata card_snr[4]; //配置字 uchar data bankdata[28] = {1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7,1,2,3,4,5,6,7}; //存储卡上用户数据(1-7)7*4=28 uchar data cominceptbuff[6] = {1,2,3,4,5,6};//串口接收数组ram uchar command; //第一个命令 uchar command1;// //uint temp; uchar j,i; uchar myaddr = 8; //uchar ywqz_count,time_count; //ywqz jishu: uchar bdata DATA; sbit BIT0 = DATA^0; sbit BIT1 = DATA^1; sbit BIT2 = DATA^2; sbit BIT3 = DATA^3; sbit BIT4 = DATA^4; sbit BIT5 = DATA^5; sbit BIT6 = DATA^6; sbit BIT7 = DATA^7; uchar bdata DATA1; sbit BIT10 = DATA1^0; sbit BIT11 = DATA1^1; sbit BIT12 = DATA1^2; sbit BIT13 = DATA1^3; sbit BIT14 = DATA1^4; sbit BIT15 = DATA1^5; sbit BIT16 = DATA1^6; sbit BIT17 = DATA1^7; bit i_CurrentLevel;//i_CurrentLevel BIT 00H(Saves current level of OutPut pin of U2270B) bit timer1_end; bit read_ok = 0; //缓存定时值,因用同一个定时器 union HLint { uint W; struct { uchar H;uchar L; } B; };//union HLint idata a union HLint data a; //缓存定时值,因用同一个定时器 union HLint0 { uint W; struct { uchar H; uchar L; } B; };//union HLint idata a union HLint0 data b; /**********************函数原型*****************/ //读写操作 void f_readcard(void);//全部读出1~7 AOR唤醒 void f_writecard(uchar x);//根据命令写不同的内容和操作 void f_clearpassword(void);//清除密码 void f_changepassword(void);//修改密码 //功能子函数 void write_password(uchar data *data p);//写初始密码或数据 void write_block(uchar x,uchar data *data p);//不能用通用指针 void write_bit(bit x);//写位 /*子函数区*****************************************************/ void delay_2(uint x) //延时,时间x*10us@12mhz,最小20us@12mhz { x--; x--; while(x) { _nop_(); _nop_(); x--; } _nop_();//WDT_CONTR=0X3C;不能频繁的复位 _nop_(); } ///////////////////////////////////////////////////////////////////// void initial(void) { SCON = 0x50; //串口方式1,允许接收 //SCON =0x50; //01010000B:10位异步收发,波特率可变,SM2=0不用接收到有效停止位才RI=1, //REN=1允许接收 TMOD = 0x21; //定时器1 定时方式2(8位),定时器0 定时方式1(16位) TCON = 0x40; //设定时器1 允许开始计时(IT1=1) TH1 = 0xfD; //FB 18.432MHz 9600 波特率 TL1 = 0xfD; //fd 11.0592 9600 IE = 0X90; //EA=ES=1 TR1 = 1; //启动定时器 WDT_CONTR = 0x3c;//使能看门狗 p_U2270B_Standby = 0;//单电源 PCON = 0x00; IP = 0x10;//uart you xian XXXPS PT1 PX1 PT0 PX0 led_light1 = 1; led_light = 0; p_U2270B_OutPut = 1; } /************************************************/ void f_readcard()//读卡 { EA = 0;//全关,防止影响跳变的定时器计时 WDT_CONTR = 0X3C;//喂狗 p_U2270B_CFE = 1;// delay_2(232); //>2.5ms /* // aor 用唤醒功能来防碰撞 p_U2270B_CFE = 0; delay_2(18);//start gap>150us write_bit(1);//10=操作码读0页 write_bit(0); write_password(&bankdata[24]);//密码block7 p_U2270B_CFE =1 ;// delay_2(516);//编程及确认时间5.6ms */ WDT_CONTR = 0X3C;//喂狗 led_light = 0; b.W = 0; while(!(read_ok == 1)) { //while(p_U2270B_OutPut);//等一个稳定的低电平?超时判断? while(!p_U2270B_OutPut);//等待上升沿的到来同步信号检测1 TR0 = 1; //deng xia jiang while(p_U2270B_OutPut);//等待下降沿 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//定时器晚启动10个周期 //同步头 if((324 < a.W) && (a.W < 353)) ;//检测同步信号1 else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //等待上升沿 while(!p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1;//b.N1<<=8; if(a.B.L < 195);//0.5p else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } //读0~7块的数据 for(j = 0;j < 28;j++) { //uchar i; for(i = 0;i < 16;i++)//8个位 { //等待下降沿的到来 while(p_U2270B_OutPut); TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_max < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2;//先左移再赋值 b.B.L += 0xc0; i++; } else if(t1_min < a.B.L/*)&&(a.B.L < t1_max)*/)//0.5p { b.W >>= 1; b.B.L += 0x80; } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; while(!p_U2270B_OutPut);//上升 TR0 = 0; a.B.H = TH0; a.B.L = TL0; TH0 = TL0 = 0; TR0 = 1; if(t2_min < a.W/*)&&(a.W < t2_max)*/)//1P { b.W >>= 2; i++; } else if(t1_min < a.B.L/*a.W)&&(a.B.L < t1_max)*/)//0.5P //else if(!(a.W==0)) { b.W >>= 1; //temp+=0x00; //led_light1=0;led_light=1;delay_2(40000); } else { TR0 = 0; TH0 = TL0 = 0; goto read_error; } i++; } //取出奇位 DATA = b.B.L; BIT13 = BIT7; BIT12 = BIT5; BIT11 = BIT3; BIT10 = BIT1; DATA = b.B.H; BIT17 = BIT7; BIT16 = BIT5; BIT15 = BIT3; BIT14 = BIT1; bankdata[j] = DATA1; } read_ok = 1;//读卡完成了 read_error: _nop_(); } } /***************************************************/ void f_writecard(uchar x)//写卡 { p_U2270B_CFE = 1; delay_2(232); //>2.5ms //psw=0 standard write if (x == write_command0)//写密码:初始化密码 { uchar i; uchar data *data p; p = cominceptbuff; p_U2270B_CFE = 0; delay_2(31);//start gap>330us write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_bit(0);//写锁定位0 for(i = 0;i < 35;i++) { write_bit(1);//写数据位1 } p_U2270B_CFE = 1; led_light1 = 0; led_light = 1; delay_2(40000);//测试使用 //write_block(cominceptbuff[4],p); p_U2270B_CFE = 1; bankdata[20] = cominceptbuff[0];//密码存入 bankdata[21] = cominceptbuff[1]; bankdata[22] = cominceptbuff[2]; bankdata[23] = cominceptbuff[3]; } else if (x == write_command1)//配置卡参数:初始化 { uchar data *data p; p = cominceptbuff; write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_bit(0);//写锁定位0 write_block(cominceptbuff[4],p); p_U2270B_CFE= 1; } //psw=1 pssword mode else if(x == write_command2) //密码写数据 { uchar data*data p; p = &bankdata[24]; write_bit(1);//写操作码1:10 write_bit(0);//写操作码0 write_password(p);//发口令 write_bit(0);//写锁定位0 p = cominceptbuff; write_block(cominceptbuff[4],p);//写数据 } else if(x == write_command3)//aor //唤醒 { //cominceptbuff[1]操作码10 X xxxxxB uchar data *data p; p = cominceptbuff; write_bit(1);//10 write_bit(0); write_password(p);//密码 p_U2270B_CFE = 1;//此时数据不停的循环传出 } else //停止操作码 { write_bit(1);//11 write_bit(1); p_U2270B_CFE = 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /************************************/ void f_clearpassword()//清除密码 { uchar data *data p; uchar i,x; p = &bankdata[24];//原密码 p_U2270B_CFE = 0; delay_2(18);//start gap>150us //操作码10:10xxxxxxB write_bit(1); write_bit(0); for(x = 0;x < 4;x++)//发原密码 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT0); DATA >>= 1; } } write_bit(0);//锁定位0:0 p = &cominceptbuff[0]; write_block(0x00,p);//写新配置参数:pwd=0 //密码无效:即清除密码 DATA = 0x00;//停止操作码00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /*********************************/ void f_changepassword()//修改密码 { uchar data *data p; uchar i,x,addr; addr = 0x07;//block7 p = &Nkey_a[0];//原密码 DATA = 0x80;//操作码10:10xxxxxxB for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } for(x = 0;x < 4;x++)//发原密码 { DATA = *(p++); for(i = 0;i < 8;i++) { write_bit(BIT7); DATA >>= 1; } } write_bit(0);//锁定位0:0 p = &cominceptbuff[0]; write_block(0x07,p);//写新密码 p_U2270B_CFE = 1; bankdata[24] = cominceptbuff[0];//密码存入 bankdata[25] = cominceptbuff[1]; bankdata[26] = cominceptbuff[2]; bankdata[27] = cominceptbuff[3]; DATA = 0x00;//停止操作码00000000B for(i = 0;i < 2;i++) { write_bit(BIT7); DATA <<= 1; } p_U2270B_CFE = 1; delay_2(560);//5.6ms } /***************************子函数***********************************/ void write_bit(bit x)//写一位 { if(x) { p_U2270B_CFE = 1; delay_2(32);//448*11.0592/120=42延时448us p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26写1 } else { p_U2270B_CFE = 1; delay_2(92);//192*11.0592/120=18 p_U2270B_CFE = 0; delay_2(28);//280*11.0592/120=26写0 } } /*******************写一个block*******************/ void write_block(uchar addr,uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)//block0数据 { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } DATA = addr <<= 5;//0地址 for(i = 0;i < 3;i++) { write_bit(BIT7); DATA <<= 1; } } /*************************************************/ void write_password(uchar data *data p) { uchar i,j; for(i = 0;i < 4;i++)// { DATA = *(p++); for(j = 0;j < 8;j++) { write_bit(BIT0); DATA >>= 1; } } } /*************************************************/ void main() { initial(); TI = RI = 0; ES = 1; EA = 1; delay_2(28); //f_readcard(); while(1) { f_readcard(); //读卡 f_writecard(command1); //写卡 f_clearpassword(); //清除密码 f_changepassword(); //修改密码 } }
标签: 12345
上传时间: 2017-10-20
上传用户:my_lcs
基于TMS320F2812 光伏并网发电模拟装置PROTEL设计原理图+PCB+软件源码+WORD论文文档,硬件采用2层板设计,PROTEL99SE 设计的工程文件,包括完整的原理图和PCB文件,可以做为你的学习设计参考。 摘要:本文实现了一个基于TMS320F2812 DSP芯片的光伏并网发电模拟装置,采用直流稳压源和滑动变阻器来模拟光伏电池。通过TMS320F2812 DSP芯片ADC模块实时采样模拟电网电压的正弦参考信号、光伏电池输出电压、负载电压电流反馈信号等。经过数据处理后,用PWM模块产生实时的SPWM 波,控制MOSFET逆变全桥输出正弦波。本文用PI控制算法实现了输出信号对给定模拟电网电压的正弦参考信号的频率和相位跟踪,用恒定电压法实现了光伏电池最大功率点跟踪(MPPT),从而达到模拟并网的效果。另外本装置还实现了光伏电池输出欠压、负载过流保护功能以及光伏电池输出欠压、过流保护自恢复功能、声光报警功能、孤岛效应的检测、保护与自恢复功能。系统测试结果表明本设计完全满定设计要求。关键词:光伏并网,MPPT,DSP Photovoltaic Grid-connected generation simulator Zhangyuxin,Tantiancheng,Xiewuyang(College of Electrical Engineering, Chongqing University)Abstract: This paper presents a photovoltaic grid-connected generation simulator which is based on TMS320F2812 DSP, with a DC voltage source and a variable resistor to simulate the characteristic of photovoltaic cells. We use the internal AD converter to real-time sampling the referenced grid voltage signal, outputting voltage of photovoltaic, feedback outputting voltage and current signal. The PWM module generates SVPWM according to the calculation of the real-time sampling data, to control the full MOSFET inverter bridge output sine wave. We realized that the output voltage of the simulator can track the frequency and phase of the referenced grid voltage with PI regulation, and the maximum photovoltaic power tracking with constant voltage regulation, thereby achieved the purpose of grid-connected simulation. Additionally, this device has the over-voltage and over-current protection, audible and visual alarm, islanding detecting and protection, and it can recover automatically. The testing shows that our design is feasible.Keywords: Photovoltaic Grid-connected,MPPT,DSP 目录引言 11. 方案论证 11.1. 总体介绍 11.2. 光伏电池模拟装置 11.3. DC-AC逆变桥 11.4. MOSFET驱动电路方案 21.5. 逆变电路的变频控制方案 22. 理论分析与计算 22.1. SPWM产生 22.1.1. 规则采样法 22.1.2. SPWM 脉冲的计算公式 32.1.3. SPWM 脉冲计算公式中的参数计算 32.1.4. TMS320F2812 DSP控制器的事件管理单元 42.1.5. 软件设计方法 62.2. MPPT的控制方法与参数计算 72.3. 同频、同相的控制方法和参数计算 8
标签: tms320f2812 光伏 并网发电 模拟 protel pcb
上传时间: 2021-11-02
上传用户:
基于DSP28035的高速永磁无刷直流电机驱动系统,包括论文和软硬设计资料。摘要参赛作品为基于DSP28035的高速永磁无刷直流电机驱动系统。该系统以一台额定转速60 krpm的高速永磁无刷直流电机、交错并联的Buck电路以及全桥电路为硬件平台,以DSP28035为控制核心,实现了调压调速功能和基于坐标变换的无位置传感器新技术。为实现该系统要求,本作品充分利用了DSP28035的资源例如:CLA模块,模拟比较器、HPWM模块以及AD转换模块等。AbstractThis work is the drive system for a high speed permanent magnet burshless dc motor based on DSP28035. The hardware platform consists of a BLDC motor(rated speed is 60000rpm), a Buck circuit and an inverter. Under the control of DSP28035, this system can achieve the goal of adjusting the motor’s speed with voltage and the function of sensorless control based on the coordinate transformation. By making full use of resources of the core, such as CLA, analog comparator, HPWM and AD converters, the whole system can meet the requirements.1 引言高速永磁无刷直流电机驱动系统由于基波频率较高(一般在1kHZ以上),利用逆变桥斩波进行调速的控制方式通常会受到开关管开关频率的限制,因此该系统多采用三相全桥前级加Buck电路进承担调压调速的功能,而三相全桥主要承担逻辑换相的功能。然而,传统Buck电路所需电感的体积较大,增加了系统的体积,降低了系统的功率密度。
上传时间: 2022-05-08
上传用户:bluedrops
超声波换能器由于负载的变化以及外界环境的变化等因素,导致超声波电源的输出频率与谐振频率不匹配,从而使清洗效果不佳。超声波电源是超声清洗机的核心部分,为实现其高效稳定的工作,需要对其工作频率进行自动跟踪控制。为此,本文设计了基于单片机PIC16F886为控制核心的超声波电源,其额定输出功率为600W,工作频率为20kHz,并实现了对频率的实时跟踪控制。主要研究内容如下: 首先,根据超声波电源的性能指标要求,设计了超声波电源主电路系统,主电路系统由整流滤波电路、逆变电路、匹配电路等单元组成,逆变电路采用全桥逆变拓扑结构,文中对主电路系统进行了详细分析与设计,并采用Multisim仿真软件对主电路系统各个部分进行仿真。 其次,设计了超声波电源频率跟踪的控制方案,该控制方案采用锁相环频率跟踪的控制思路并结合PID控制方法。为此设计了相应的控制软件,采用C语言编写主程序、A/D转换程序、PID控制程序等。 最后,以PIC16F866单片机芯片为控制核心,设计了超声波电源控制系统,主要包括采样电路、驱动电路、单片机外围电路等,分析了其工作原理。并采用Proteus软件对控制系统进行仿真。仿真结果表明,所设计的超声波电源控制系统能实现频率自动跟踪,与超声波换能器相匹配,工作在谐振状态,达到了设计要求。
上传时间: 2022-06-11
上传用户:jason_vip1
摘要:微弱信号检测是随着工程应用而不断发展的一门学科。近年来,微弱信号检测相关研究已经成为一个热点研究领域,具体表现在对微弱信号检测方法的探寻、对微弱信号检测系统的设计、对微弱信号检测仪器的研发。本文中主要研究了利用锁相放大器进行有用信号提取的微弱信号检测原理与实现方法。首先介绍了微弱信号检测的基本理论与常见的几种检测方法,重点介绍了利用数字锁相放大器进行信号检测的原理。在此基础上,结合数字锁相放大器的相关检测原理,给出了数字锁相放大器的整体设计方案,着重从相关检测原理算法和移相算法方面对数字锁相放大器的设计作了深入探讨。重点研究了采样频率与相关运算结果的关系,在设计的过程中先使用MATLAB进行算法上的模拟,从模拟结果发现参考信号为方波而采样频率与信号频率成一定关系时,系统相关运算存在固有误差。为减少该误差,提出了将动态采样率的方法引入数字锁相放大器设计中,运算发现动态采样的采样频率数越多,奇点产生的误差越少,有效地解决奇点问题。最后,使用LabVIEW对设计的系统进行仿真测试。测试结果表明该数字锁相放大器在信号幅度为5V、噪声标准差小于等于50时(SWR=.34.04dB),能有效地检测出频率为500kHz以下的信号,系统检测结果与理论计算值的相对误差基本不超过2%。
上传时间: 2022-06-18
上传用户:
本文围绕光伏离网发电系统的高效率发电技术和逆变控制技术进行了研究,主要内容如下:(1)研究了单相全桥光伏离网逆变器主电路拓扑结构,详细分析了全桥逆变电路的工作原理。研究了面积中心等效SPWM控制算法及电压电流双闭环PI控制算法,在此基础上实现逆变器的稳压控制。(2)重点研究了光伏阵列的输出特性、最大功率点跟踪(MPPT)控制算法和蓄电池充电特性。在对比分析几种常见MPPT控制算法的基础上,提出了一种改进型变步长扰动观察的MPPT控制方法,同时介绍了几种实现MPPT算法的常用DCIDC变换电路,对Boost变换电路的原理进行了分析,并基于Boost电路建立了改进型变步长扰动观察法MPPT控制系统的Matlab/Simulink仿真模型,仿真结果表明改进型变步长扰动观察的MPPT算法能有效地跟踪太阳能光伏系统的最大功率点,提高了系统动态和稳态性能;设计了带MPPT和恒压充电功能的光伏充电控制器,有效地提高了光伏阵列的利用率并实现了蓄电池充电控制的优化。(3)给出了20KW光伏离网逆变器的主电路元件参数及部分硬件电路的原理图设计。(4)给出了详细的软件控制系统设计方案和各功能子模块的软件流程图.重点阐述了带死区补偿的DSPWM控制信号、稳压控制及信号检测的软件实现方法。
上传时间: 2022-06-21
上传用户:
文件是基于Multisim的MOS管H桥驱动仿真,电路原理图由LM317恒流源电路、两个IR2011PBF半桥驱动电路、MOS管组成的全桥电路,可用于设计恒流电路和H桥驱动电路。
上传时间: 2022-07-19
上传用户:1208020161
本文以负载周期性交化而转速基本不变类负载的轻载调压节能控制器为研究对象。研究了以异步电动机的调压节能原理、控制策略、触发脉冲的选择、调压过程振荡现象的原因、解决方案、动态仿真模型等关键技术。 本文研究成果主要包括以下几个方面: 1.利用解析法分析了负载周期变化的恒转矩负载的调压节能原理,得到了异步电动机的调压特性曲线,指出了几种控制方法的本质是一定负载范围内的恒转差率控制。比较了负载转矩对几种控制方法的控制范围、节能效果的影响并且通过仿真和实验验证了理论分析的正确性。同时分析了风机水泵的调压特性,为异步电动机的节能控制器的方案设计以及为分析实际控制中遇到的问题打下理论基础。 2.设计了晶闸管调压的主电路、选择晶闸管及其相应的保护器件,通过实验和仿真对比分析了双窄脉冲和宽脉冲触发板在电动机周期变化负载调压时的差别。设计了以ARM7/LPC2214为控制器的硬件电路原理图、PCB、液晶显示器、串口通信、节能控制等部分的软硬件的调试,为实验和控制算法的实现作了铺垫。 3.通过实验和仿真,分析了以电源电压为同步信号的三相晶闸管调压过程产生电流振荡的影响因素,即负载转矩,移相触发角的大小,电机的转动惯量,负载的性质。说明了电压同步信号触发方式的适用范围,分析引起电流振荡的本质,提出了以电流为同步信号的解决方案,为实现异步电动机调压节能的动态控制算法扫清了障碍,提高了系统的动态响应速度。 4.建立了基于MATLAB/Simulink节能控制系统动态仿真模型,实现了系统动态跟踪负载变化自动调整电机的端电压,提高电机在空载和轻载时的效率和功率因数,验证了理论分析的正确性。 5.通过实验静态地分析了调压后电机的节能效果。
上传时间: 2013-05-20
上传用户:jjq719719
随着中国经济的迅速发展,能源问题在当今社会中受到越来越多的关注.能量回馈系统可以在减缓矛盾方面发挥重要作用,无论在减少能源的浪费方面或是在新能源的利用开发上.主要运用在功率电子负载、分布式发电和电机制动能馈等场合.该文主要研究了能量回馈系统.电力电子的逆变技术是能量回馈系统的核心部分,该文讲述了电压型逆变电路和电流型逆变电路在能量回馈系统中的工作实现原理.电压型逆变电路是该文的重点,针对中国电网的形式,对单相和三相逆变电路作了分析,讨论了几种控制策略的选择,提出间接电流控制中相位幅值分别控制方法和直接电流控制中滞环控制方法在逆变器并网中的实现意义.电流型有源逆变利用移相调节,适合大功率场合.文章的最后部分比较分析电流型和电压型电路的性能特点.数字化是控制领域发展的趋势,在具体实现能量回馈系统的过程中,该文也充分运用数字式控制方式.在电流型逆变系统中,运用可编程序控制器(PLC)作为控制核心,并在MCGS组态平台实现和工控机的通讯.在电压型逆变系统中,将数字信号处理器(DSP)作为控制中心,实现外围电路工作及其控制.在以上基础上,分别研制了一台大功率晶闸管电流型有源逆变器和一台电压型并网逆变器.
上传时间: 2013-06-20
上传用户:lingduhanya
数字控制技术在开关电源中的应用正变得越来越广泛,开关电源的数字控制器包含三个主要的功能模块:模数转换器、数字补偿器和数字脉宽调制器。本论文总结和比较了当今国际上高频开关电源数字控制器各个模块的先进技术和发展方向。 数字电源要在高频开关电源应用领域中实用化、市场化,在技术上仍然存在许多的难关需要攻克。其中模数转换器和数字脉宽调制器的分辨率问题给系统带来了极限环振荡的隐患,采样时滞现象增加了实现电源的电压调节快速动态响应特性的难度,同时数字补偿器必须在一个开关周期内完成若干次乘法和加法运算以便及时更新占空比信息,从而对数字控制器的运算速度提出了非常高的要求。本文集中研究和讨论解决这些技术难点的途径,利用matlab中的SISOTOOL块,通过直接数字设计提出了2P2Z的数字补偿算法。按照高频开关电源的设计步骤,本文对主要元器件进行了参数的计算以及选型,并利用matlab中的SIMULINK模块对电路的稳态瞬态性能进行仿真研究。 为了对理论分析和仿真研究进行验证,本文设计实现了一款基于DSPic30F2020高性能数字信号处理器并采用2P2Z控制算法的高频全桥拓扑大功率通信一次电源整流模块。实验结果表明,该数字电源方案稳定可靠,性能参数优异,能够满足应用的需要。
上传时间: 2013-04-24
上传用户:林鱼2016