青岛理工大学毕业设计
参 考 文 献
[1] 赵争鸣,刘建政,孙晓英等.太阳能光伏发电及其应用[M].北京:科学出版社,2005
[2] 王长贵.新能源和可再生能源的现状和展望[C].太阳能光伏产业发展论坛论文集,2003,9:4~17
[3] 林安中,王斯成.国内外太阳电池和光伏发电的进展与前景[J].太阳能学报,1999(特刊),68~74
[4] 张占松.开关电源的原理与设计[M].北京:电子工业出版社, 2004:19-27 [5] 翁炳文.光伏发电系统关键技术的研究[D].杭州:浙江大学,2008 [6] 张洪亮.并网型单相光伏逆变器的研究[D].济南:山东大学,2007
[7] 姜奇荣,张春朋,李虹.风能与太阳能发电系统-设计、分析与运行[M].北京:机械工业出版社,2008:142-157
[8] Koutroulis E Kalaitzakis K,Voulgaris N C.Development of a Microcont roller-Based
Photovoltaic Maximum Power Point Tracking Control System[J].IEEE Trans Power Electronics,2001,16(1):46-54
[9] 马兆彪.太阳能光伏并网发电系统的分析与研究[D].无锡:江南大学,2008 [10] 王兆安.电力电子技术[M].北京:机械工业出版社 ,2009:103-106 [11] 谭浩强.C程序设计[M].北京:清华大学出版社,2005
[12] 曲学基,曲敬铠,于明扬.逆变技术基础与应用[M].北京:电子工业出版社,2007 [13] 邱关源.电路(第五版)[M].北京:高等教育出版社,2008:90-99 [14] 华成英,童诗白.模拟电子技术基础(第四版)[M]. 北京:高等教育出版社,2006
[15] 欧阳名三,余世杰,沈玉梁.一种太阳能电池MPPT控制器实现测试方法的研究[J]. 电子测量与仪器学报,Vol.18,No2,2004.5
[16] J. M. A. Myrzik, M. Calais. String and Module Integrated Inverters for Single-Phase Grid Connected Photovoltaic Systems - A Review[J].IEEE Bologna Power Tech Conference, June 2th-26th,2003
[17] 马潮. AVR单片机嵌入式系统原理与应用实践[M].北京:北京航空航天大学出版社,2007
[18] Nicola Femia,Member,Giovanni Petrone,Giovanni Spagnuolo,Massimo Vitelli.Optimization of perturb and Observe Maximum Power Point Tracking Method[J] .IEEE TRANSACTIONS ON POWER ELECTRONICS,VOL.20,NO.4,JULY 2005.PP,963-973
青岛理工大学毕业设计
致 谢
通过这三个月的毕业设计,是我无论在思想上还是在学习上都有很大的进步。首先,感谢郑刚老师无微不至的关怀和谆谆教导,在郑老师的鼓励和帮助下,使我能在三个月的时间里,顺利完成自己的课题研究,使我学到了很多知识。这三个月,是我大学四年之中,最有意义和最充实的美好时光。在郑老师帮助下,我对光伏电池的特性和其发电原理有了更深刻的了解,再次感谢郑老师为我提供的学习的机会!
再次我要感谢学校、学院和各位老师。大学四年来,我认识了很多老师,与老师相处的过程中,我无论是专业知识还是个人品质都收获了很多,这是今天的我,自信的走向社会原因。学院为我们毕业设计创造了良好的环境和合理的安排,使我成功完成了设计,在此真诚的感谢。
最后要感谢在实验室的共同学习的同学,以及在山东奥太电气有限公司的同事和领导,为我提供了那么好的实验条件和环境,并在紧张的学习中给了我无私帮助。
青岛理工大学毕业设计
附录A 硬件电路总图
附录图1:DSP最小系统及保护电路
附录图2:AD调理电路及通信电路
青岛理工大学毕业设计
附录B 程序代码
/*************************************************************** 2011毕业设计
基于DSP TMS320F2812单片机的PWM的光伏最大功率跟踪设计 主程序
***************************************************************/ #include \ //DSP TMS320F2812头文件 #include \
#include\ //1602液晶头文件 #define uchar unsigned char #define uint unsigned int
#define D OCR1A // 定义占空比
#define N 10 //定义AD采样次数 uchar adc_0[]={\ //电压显示 uchar adc_1[]={\电流显示 uchar P[]={\ //功率显示
uint adc_l0,adc_h0,adc_U,adcU[N],adc_l1,adc_h1,adc_I,adcI[N],temp; //pv_P当前功率;old_P上次功率;pv_U当前电压;old_U上次电压 long uint pv_P=0,old_P=0,pv_U=0,old_U=0,U=0,pv_I=0,I=0; static uint Volt_given,old_Volt; //电压给定 static uint temp_cont,temp_cont0,temp_cont1; static uchar mppt_flag; //标志位 void PWM_init(void); //PWM初始化函数 void MPPT(void); //最大功率跟踪函数 void display(void); //液晶显示函数 void timer0(void); //T/C0 初始化函数
void main() //主函数 {
uchar i,j,k;
InitSysCtrl(); //Step1.初始化系统控制寄存器(PLL、看门狗、使能外设时钟)
GpioDirRegs.GPADIR.all=0xff; //初始化端口 GpioMuxRegs.GPAMUX.all=0xff; GpioDatRegs.GPADAT.all=0x00; GpioDirRegs.GPCDIR.all=0xff; GpioMuxRegs.GPCMUX.all=0xff; GpioDatRegs.GPCDAT.all=0x00;
GpioDirRegs.GPBDIR.all =0xff; GpioDirRegs.GPBDDIR.all =0xff;
青岛理工大学毕业设计
GpioDatRegs.GPDDAT.all =0x00; GpioDirRegs.GPFDIR.all =0x00; GpioDatRegs.GPFDAT.all =0x00; GpioDirRegs.GPGDIR.all =0xff; GpioDatRegs.GPGDAT.all =0x00;
DINT; //禁止CPU中断
InitPieCtrl(); //PIE控制寄存器为默认状态
//PIE寄存器的默认状态为PIE所有中断都被禁止,且标志位都清零 IER=0X0000;//禁止CPU中断并清除所有的CPU中断标志位 InitPieVectorTable(); //初始化PIE向量表
EINT; //使能全局CPU中断,使能全局中断INTM IFR=0X0000;
/*****1602初始化***/ LcdInit();
WriteChar(1,0,7,adc_0); WriteChar(1,8,8,adc_1); WriteChar(2,3,8,P);
GpioDatRegs.GPCDAT.all |=(1<<6); PWM_init(); //初始化PWM timer0(); //初始化T/C0 EINT; //全局中断使能 while(1) {
/**************取电压值pv_U 采样N次******************/ for(j=0;j ADCSRA=0x00; //关闭ADC ADMUX=0x00; //AREF 为参考源 选ADC0通道PF0端口 ADCSRA=(1< s_ms(500); //延时很重要,给出转换的时间 adc_l0=ADCL; //取AD转换结果 adc_h0=ADCH; adc_U=adc_h0<<8|adc_l0; adcU[j]=adc_U; } //电压转换结束 //对adcU[]中的值从小到大排列 for(i=0;i for(j=0;j if(adcU[j]>adcU[j+1]) { temp = adcU[j];