当前位置:文档之家› 电路仿真

电路仿真

电路仿真
电路仿真

#include

#define uint unsigned int

#define uchar unsigned char

uchar code FFW[]=

{

0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09 };

uchar code REV[]=

{

0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01 };

sbit K1 = P3^0;

sbit K2 = P3^1;

sbit K3 = P3^2;

void DelayMS(uint ms)

{

uchar i;

while(ms--)

{

for(i=0;i<120;i++);

}

}

void SETP_MOTOR_FFW(uchar n) {

uchar i,j;

for(i=0;i<5*n;i++)

{

for(j=0;j<8;j++)

{

if(K3 == 0) break;

P1 = FFW[j];

DelayMS(25);

}

}

}

void SETP_MOTOR_REV(uchar n) {

uchar i,j;

for(i=0;i<5*n;i++)

{

for(j=0;j<8;j++)

{

if(K3 == 0) break;

P1 = REV[j];

DelayMS(25);

}

}

}

void main()

{

uchar N = 3;

while(1)

{

if(K1 == 0)

{

P0 = 0xfe;

SETP_MOTOR_FFW(N);

if(K3 == 0) break;

}

else if(K2 == 0)

{

P0 = 0xfd;

SETP_MOTOR_REV(N);

if(K3 == 0) break;

}

else

{

P0 = 0xfb;

P1 = 0x03;

}

}

}

/*************** writer:shopping.w ******************/ #include

#include

#define uint unsigned int

#define uchar unsigned char

#define delayNOP() {_nop_();_nop_();_nop_();_nop_();}

sbit DQ = P3^3;

sbit LCD_RS = P2^0;

sbit LCD_RW = P2^1;

sbit LCD_EN = P2^2;

uchar code Temp_Disp_Title[]={"Current Temp : "}; uchar Current_Temp_Display_Buffer[]={" TEMP: "};

uchar code Temperature_Char[8] =

{

0x0c,0x12,0x12,0x0c,0x00,0x00,0x00,0x00

};

uchar code df_Table[]=

{

0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9

};

uchar CurrentT = 0;

uchar Temp_Value[]={0x00,0x00};

uchar Display_Digit[]={0,0,0,0};

bit DS18B20_IS_OK = 1;

void DelayXus(uint x)

{

uchar i;

while(x--)

{

for(i=0;i<200;i++);

}

}

bit LCD_Busy_Check()

{

bit result;

LCD_RS = 0;

LCD_RW = 1;

LCD_EN = 1;

delayNOP();

result = (bit)(P0&0x80);

LCD_EN=0;

return result;

}

void Write_LCD_Command(uchar cmd)

{

while(LCD_Busy_Check());

LCD_RS = 0;

LCD_RW = 0;

LCD_EN = 0;

_nop_();

_nop_();

P0 = cmd;

delayNOP();

LCD_EN = 1;

delayNOP();

LCD_EN = 0;

}

void Write_LCD_Data(uchar dat)

{

while(LCD_Busy_Check());

LCD_RS = 1;

LCD_RW = 0;

LCD_EN = 0;

P0 = dat;

delayNOP();

LCD_EN = 1;

delayNOP();

LCD_EN = 0;

}

void LCD_Initialise()

{

Write_LCD_Command(0x01);

DelayXus(5);

Write_LCD_Command(0x38);

DelayXus(5);

Write_LCD_Command(0x0c);

DelayXus(5);

Write_LCD_Command(0x06);

DelayXus(5);

}

void Set_LCD_POS(uchar pos)

{

Write_LCD_Command(pos|0x80); }

void Delay(uint x)

{

while(--x);

}

uchar Init_DS18B20()

{

uchar status;

DQ = 1;

Delay(8);

DQ = 0;

Delay(90);

DQ = 1;

Delay(8);

DQ = 1;

return status;

}

uchar ReadOneByte()

{

uchar i,dat=0;

DQ = 1;

_nop_();

for(i=0;i<8;i++)

{

DQ = 0;

dat >>= 1;

DQ = 1;

_nop_();

_nop_();

if(DQ)

dat |= 0X80;

Delay(30);

DQ = 1;

}

return dat;

}

void WriteOneByte(uchar dat) {

uchar i;

for(i=0;i<8;i++)

{

DQ = 0;

DQ = dat& 0x01;

Delay(5);

DQ = 1;

dat >>= 1;

}

}

void Read_Temperature()

{

if(Init_DS18B20()==1)

DS18B20_IS_OK=0;

else

{

WriteOneByte(0xcc);

WriteOneByte(0x44);

Init_DS18B20();

WriteOneByte(0xcc);

WriteOneByte(0xbe);

Temp_Value[0] = ReadOneByte();

Temp_Value[1] = ReadOneByte();

DS18B20_IS_OK=1;

}

}

void Display_Temperature()

{

uchar i;

uchar t = 150, ng = 0;

if((Temp_Value[1]&0xf8)==0xf8)

{

Temp_Value[1] = ~Temp_Value[1];

Temp_Value[0] = ~Temp_Value[0]+1;

if(Temp_Value[0]==0x00)

Temp_Value[1]++;

ng = 1;

}

Display_Digit[0] = df_Table[Temp_Value[0]&0x0f];

CurrentT = ((Temp_Value[0]&0xf0)>>4) | ((Temp_Value[1]&0x07)<<4);

Display_Digit[3] = CurrentT/100;

Display_Digit[2] = CurrentT%100/10;

Display_Digit[1] = CurrentT%10;

Current_Temp_Display_Buffer[11] = Display_Digit[0] + '0';

Current_Temp_Display_Buffer[10] = '.';

Current_Temp_Display_Buffer[9] = Display_Digit[1] + '0';

Current_Temp_Display_Buffer[8] = Display_Digit[2] + '0';

Current_Temp_Display_Buffer[7] = Display_Digit[3] + '0';

if(Display_Digit[3] == 0)

Current_Temp_Display_Buffer[7] = ' ';

if(Display_Digit[2] == 0&&Display_Digit[3]==0)

Current_Temp_Display_Buffer[8] = ' ';

if(ng)

{

if(Current_Temp_Display_Buffer[8] == ' ')

Current_Temp_Display_Buffer[8] = '-';

else if(Current_Temp_Display_Buffer[7] == ' ')

Current_Temp_Display_Buffer[7] = '-';

else

Current_Temp_Display_Buffer[6] = '-';

}

Set_LCD_POS(0x00);

for(i=0;i<16;i++)

{

Write_LCD_Data(Temp_Disp_Title[i]);

}

Set_LCD_POS(0x40);

for(i=0;i<16;i++)

{

Write_LCD_Data(Current_Temp_Display_Buffer[i]);

}

Set_LCD_POS(0x4d);

Write_LCD_Data(0x00);

Set_LCD_POS(0x4e);

Write_LCD_Data('C');

}

void main()

{

LCD_Initialise();

Read_Temperature();

Delay(50000);

Delay(50000);

while(1)

{

Read_Temperature();

if(DS18B20_IS_OK)

Display_Temperature();

DelayXus(100);

}

}

#include

#define uchar unsigned char

#define uint unsigned int

sbit BEEP = P3^7;

uchar code DSY_CODE[]=

{

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0x00 };

uchar Pre_KeyNO = 16,KeyNO = 16;

void DelayMS(uint ms)

{

uchar t;

while(ms--)

{

for(t=0;t<120;t++);

}

}

void Keys_Scan()

{

uchar Tmp;

P1 = 0x0f;

DelayMS(1);

Tmp = P1 ^ 0x0f;

switch(Tmp)

{

case 1: KeyNO = 0; break;

case 2: KeyNO = 1; break;

case 4: KeyNO = 2; break;

case 8: KeyNO = 3; break;

default: KeyNO = 16;

}

P1 = 0xf0;

DelayMS(1);

Tmp = P1 >> 4 ^ 0x0f;

switch(Tmp)

{

case 1: KeyNO += 0; break;

case 2: KeyNO += 4; break;

case 4: KeyNO += 8; break;

case 8: KeyNO += 12;

}

}

void Beep()

{

uchar i;

for(i=0;i<100;i++)

{

DelayMS(1);

BEEP = ~BEEP;

}

BEEP = 1;

}

void main()

{

P0 = 0x00;

while(1)

{

P1 = 0xf0;

if(P1 != 0xf0)

Keys_Scan();

if(Pre_KeyNO != KeyNO)

{

P0 = ~DSY_CODE[KeyNO];

Beep();

Pre_KeyNO = KeyNO;

}

DelayMS(100);

}

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar Count;

sbit Dot = P0^7;

uchar code DSY_CODE[]=

{

0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f };

uchar Digits_of_6DSY[]={0,0,0,0,0,0};

void DelayMS(uint x)

{

uchar i;

while(--x)

{

for(i=0;i<120;i++);

}

}

void main()

{

uchar i,j;

P0 = 0x00;

P3 = 0xff;

Count =0;

TMOD = 0x01;

TH0 = (65535-50000)/256;

TL0 = (65535-50000)%256;

IE = 0x82;

TR0 = 1;

while(1)

{

j = 0x7f;

for(i=5;i!=-1;i--)

{

j=_crol_(j,1);

P3 = j;

P0 = DSY_CODE[Digits_of_6DSY[i]];

if(i==1) P0 |= 0x80;

DelayMS(2);

}

}

}

void Time0() interrupt 1

{

uchar i;

TH0 = (65535-50000)/256;

TL0 = (65535-50000)%256;

if(++Count !=2) return;

Count = 0;

Digits_of_6DSY[0]++;

for(i=0;i<=5;i++)

{

if(Digits_of_6DSY[i] == 10)

{

Digits_of_6DSY[i] = 0;

if(i != 5) Digits_of_6DSY[i+1]++;

}

else break;

}

}

#include

#include

#define uchar unsigned char

#define uint unsigned int

uchar code Table_OF_Digits[]=

{

0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00,

0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00,

0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00, 0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00, 0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00,

0x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00,

0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00,

0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00,

0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00, 0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00, };

uchar i=0,t=0,Num_Index = 0;

void main()

{

P3 = 0x80;

Num_Index = 0;

TMOD = 0x00;

TH0 = (8192-2000)/32;

TL0 = (8192-2000)%32;

TR0 = 1;

IE = 0x82;

while(1);

}

void LED_Screen_Display() interrupt 1

{

TH0 = (8192-2000)/32;

TL0 = (8192-2000)%32;

P3 = _crol_(P3,1);

P0 = ~Table_OF_Digits[Num_Index * 8 +i];

if(++i == 8) i = 0;

if(++t == 250)

{

t = 0x00;

if(++Num_Index == 10) Num_Index = 0;

}

}

/*************** writer:shopping.w ******************/ #include

#include

#include

#define uint unsigned int

#define uchar unsigned char

sbit IO = P1^0;

sbit SCLK = P1^1;

sbit RST = P1^2;

sbit RS = P2^0;

sbit RW = P2^1;

sbit EN = P2^2;

uchar *WEEK[]=

{

"SUN","***","MON","TUS","WEN","THU","FRI","SAT" };

uchar LCD_DSY_BUFFER1[]={"DA TE 00-00-00 "};

uchar LCD_DSY_BUFFER2[]={"TIME 00:00:00 "};

uchar DateTime[7];

void DelayMS(uint ms)

{

uchar i;

while(ms--)

{

for(i=0;i<120;i++);

}

}

void Write_A_Byte_TO_DS1302(uchar x)

{

uchar i;

for(i=0;i<8;i++)

{

IO=x&0x01;SCLK=1;SCLK=0;x>>=1;

}

}

uchar Get_A_Byte_FROM_DS1302()

{

uchar i,b=0x00;

for(i=0;i<8;i++)

{

b |= _crol_((uchar)IO,i);

SCLK=1;SCLK=0;

}

return b/16*10+b%16;

}

uchar Read_Data(uchar addr)

{

uchar dat;

RST = 0;SCLK=0;RST=1;

Write_A_Byte_TO_DS1302(addr);

dat = Get_A_Byte_FROM_DS1302();

SCLK=1;RST=0;

return dat;

}

void GetTime()

{

uchar i,addr = 0x81;

for(i=0;i<7;i++)

{

DateTime[i]=Read_Data(addr);addr+=2;

}

}

uchar Read_LCD_State()

{

uchar state;

RS=0;RW=1;EN=1;DelayMS(1);

state=P0;

EN = 0;DelayMS(1);

return state;

}

void LCD_Busy_Wait()

{

while((Read_LCD_State()&0x80)==0x80);

DelayMS(5);

}

void Write_LCD_Data(uchar dat)

{

LCD_Busy_Wait();

RS=1;RW=0;EN=0;P0=dat;EN=1;DelayMS(1);EN=0; }

void Write_LCD_Command(uchar cmd)

{

LCD_Busy_Wait();

RS=0;RW=0;EN=0;P0=cmd;EN=1;DelayMS(1);EN=0; }

void Init_LCD()

{

Write_LCD_Command(0x38);

DelayMS(1);

Write_LCD_Command(0x01);

DelayMS(1);

Write_LCD_Command(0x06);

DelayMS(1);

Write_LCD_Command(0x0c);

DelayMS(1);

}

void Set_LCD_POS(uchar p)

{

Write_LCD_Command(p|0x80);

}

void Display_LCD_String(uchar p,uchar *s)

{

uchar i;

Set_LCD_POS(p);

for(i=0;i<16;i++)

{

Write_LCD_Data(s[i]);

DelayMS(1);

}

}

void Format_DateTime(uchar d,uchar *a)

{

a[0]=d/10+'0';

a[1]=d%10+'0';

}

void main()

{

Init_LCD();

while(1)

{

GetTime();

Format_DateTime(DateTime[6],LCD_DSY_BUFFER1+5);

Format_DateTime(DateTime[4],LCD_DSY_BUFFER1+8);

Format_DateTime(DateTime[3],LCD_DSY_BUFFER1+11);

strcpy(LCD_DSY_BUFFER1+13,WEEK[DateTime[5]]);

Format_DateTime(DateTime[2],LCD_DSY_BUFFER1+5);

Format_DateTime(DateTime[1],LCD_DSY_BUFFER1+8);

Format_DateTime(DateTime[0],LCD_DSY_BUFFER1+11);

Display_LCD_String(0x00,LCD_DSY_BUFFER1);

Display_LCD_String(0x40,LCD_DSY_BUFFER2);

}

}

#include

#define uchar unsigned char

#define uint unsigned int

sbit k3 = P3^4;

sbit k4 = P3^5;

uchar code DSY_CODE[]=

{

0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff };

uchar code Scan_BITs[]=

{

0x20,0x10,0x08,0x04,0x02,0x01

};

uchar data Buffer_Counts[]={0,0,0,0,0,0};

uint Count_A=0;

uint Count_B=0;

void DelayMS(uint x)

{

uchar t;

while(x--)

{

for(t=0;t<120;t++);

}

}

void Show_Counts()

{

uint i;

Buffer_Counts[2] = Count_A / 100;

Buffer_Counts[1] = Count_A % 100 /10;

Buffer_Counts[0] = Count_A % 10;

if(Buffer_Counts[2]==0)

{

Buffer_Counts[2] = 0x0a;

if(Buffer_Counts[1]==0)

{

Buffer_Counts[1]=0x0a;

}

}

Buffer_Counts[5] = Count_B / 100;

Buffer_Counts[4] = Count_B % 100 /10;

Buffer_Counts[3] = Count_B % 10;

if(Buffer_Counts[5]==0)

{

Buffer_Counts[5] = 0x0a;

if(Buffer_Counts[4]==0)

{

Buffer_Counts[4]=0x0a;

}

}

for(i=0;i<6;i++)

{

P2 = Scan_BITs[i];

P1 = DSY_CODE[Buffer_Counts[i]];

DelayMS(1);

}

}

void main()

{

IT0 = 1;

IT1 = 1;

PX0 = 1;

IE = 0x85;

while(1)

{

if(k3 == 0) Count_A = 0;

if(k4 == 0) Count_B = 0;

Show_Counts();

}

}

void EX_INT0() interrupt 0

{

Count_A++;

}

void EX_INT1() interrupt 2

{

Count_B++;

}

简单电路系统的计算机仿真

目录: 一.课程设计任务书 (3) 二.Mtlab及其组件Simulink介绍 (4) 三.串联谐振电路建模及仿真 (6) 四.并联谐振电路建模仿真 (9) 五.二阶电路系统(欠阻尼)建模仿真 (11) 六.课程设计心得体会 (12) 七.致谢 (13) 八.参考文献 (14)

计算机课程设计任务书 系别:电气工程系专业:电气工程及其自动化 设计题目:简单电路系统的计算机仿真 一、设计任务 Matlab是当今国际上最流行的控制系统辅助设计语言和软件工具之一,Simulink是Matlab的一个主要分支,主要用来实现对工程问题的模型化合动态仿真,针对所学过的电路的相关课程,对学习的相应电路系统进行动态仿真,并观察相应的仿真波形。 二、设计内容 1、了解Matlab的主要功能及其编程语言,掌握Simulink的功能、特点和一 般使用方法。 2、掌握电路系统的一般建模方法及传递函数的求解方法; 3、对串联谐振电路、并联谐振电路进行建模及仿真,观察电路的暂态过程; 4、对二阶(欠阻尼)及以上的电路系统进行建模及仿真,观察在单位阶跃 相应时的波形; 5、整理资料,书写课程设计说明书。 三、课程设计进度安排 四、课程设计说明要求 设计完成后,上交电路系统的仿真文件并以学号和姓名命名,其中必须包括Matlab设计仿真中框图、参数设置及实验结果,同时上交课程设计说明书一份。

Mtlab及其组件Simulink介绍:MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。 Simulink是Matlab最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点Simulink已被广

各种电路仿真软件的分析与比较

一.当今流行的电路仿真软件及其特性 电路仿真属于电子设计自动化(EDA)的组成部分。一般把电路仿真分为三个层次:物理级、电路级和系统级。教学中重点运用的为电路级仿真。 电路级仿真分析由元器件构成的电路性能,包括数字电路的逻辑仿真和模拟电路的交直流分析、瞬态分析等。电路级仿真必须有元器件模型库的支持,仿真信号和波形输出代替了实际电路调试中的信号源和示波器。电路仿真主要是检验设计方案在功能方面的正确性。电路仿真技术使设计人员在实际电子系统产生之前,就有可能全面地了解电路的各种特性。目前比较流行的电路仿真软件大体上说有:ORCAD、Protel、Multisim、TINA、ICAP/4、Circuitmaker、Micro-CAP 和Edison等一系列仿真软件。 电路仿真软件的基本特点: ●仿真项目的数量和性能: 仿真项目的多少是电路仿真软件的主要指标。各种电路仿真软件都有的基本功能是:静态工作点分析、瞬态分析、直流扫描和交流小信号分析等4项;可能有的分析是:傅里叶分析、参数分析、温度分析、蒙特卡罗分析、噪声分析、传输函数、直流和交流灵敏度分析、失真度分析、极点和零点分析等。仿真软件如SIMextrix只有6项仿真功能,而Tina6.0有20项,Protel、ORCAD、P-CAD等软件的仿真功能在10项左右。专业化的电路仿真软件有更多的仿真功能。对电子设计和教学的各种需求考虑的比较周到。例如TINA的符号分析、Pspice和ICAP/4的元件参数变量和最优化分析、Multisim的网络分析、CircuitMaker的错误设置等都是比较有特色的功能。 Pspice语言擅长于分析模拟电路,对数字电路的处理不是很有效。对于纯数字电路的分析和仿真,最好采用基于VHDL等硬件描述语言的仿真软件,例如,Altera公司的可编程逻辑器件开发软件MAX+plusII等。 ●仿真元器件的数量和精度: 元件库中仿真元件的数量和精度决定了仿真的适用性和精确度。电路仿真软件的元件库有数千个到1--2万个不等的仿真元件,但软件内含的元件模型总是落后于实际元器件的生产与应用。因此,除了软件本身的器件库之外,器件制造商的网站是元器件模型的重要来源。大量的网络信息也能提供有用的仿真模型。设计者如果对仿真元件模型有比较深入的研究,可根据最新器件的外部特性参数自定义元件模型,构建自己的元件库。对于教学工作者来说,软件内的元件模型库,基本上可以满足常规教学需要,主要问题在于国产元器件与国外元器件的替代,并建立教学中常用的国产元器件库。 电路仿真软件的元件分类方式有两种:按元器件类型如电源、二极管、74系列等分成若干个大类;或按元器件制造商分类,大多数仿真软件有电路图形符号的预览,便于选取使用。

电路仿真软件的使用方法

电路仿真软件的使用方法

河南机电高等专科学校软件实习报告 系部:电子通信工程系 专业:应用电子技术 班级:应电111 学生姓名: xxx 学号: xxxxxxxx

201x年xx月xx日 实习任务书 1.时间:201x年xx月xx日~201x年xx月xx日 2. 实训单位:河南机电高等专科学校 3. 实训目的:学习电路仿真软件的使用方法 4. 实训任务: ①了解电路仿真与EDA技术的基础常识; ②了解电路仿真软件的作用及其特点; ③了解软件仿真结果与实际电路结果的异同; ④熟悉电路仿真软件的界面,能熟练的在电路仿真软件环境中绘制电路图; ⑤能够使用电路仿真软件的各种分析功能对电路进行软件仿真; ⑥会使用电路仿真软件中的虚拟仪器对电路进行数据和波形等的测量; ⑦作好实习笔记,对自己所发现的疑难问题及时请教解决; ⑧联系自己专业知识,体会本软件的具体应用,总结自己的心得体会; ⑨参考相关的的书籍、资料,认真完成实训报告。

软件实习报告 前言:经过半学期深入地学习基础电路知识,我们终于有机会学习电路仿真用软件设计并检验电路,深入的理解电路定理,增加我们对专业的兴趣,增强我们的实际动手操作能力。 实习报告: 实验一、戴维南定理和诺顿定理的研究 一、实验目的 1、求出一个已知网络的戴维南等效电路。 2、求出一个已知网络的诺顿等效电路。 3、验证戴维南定理和诺顿定理的正确性。

二、实验器材 直流电压源 1个 电压表 1个 电流表 1个 电阻 3个 万用表 1个 三、实验原理及实验电路 任何一个具有固定电阻和电源的线性二端网络,都可以用一个串联电阻的等效电压源来代替,这个等效电压源的电压等于原网络开路时的端电压U oc ,或用一个并联电阻的等效电流源来代替,这个等效电压源的电压等于原网络开路时的端电压I sc 。下图电路中负载为RL ,试用EWB 仿真测得到除去负载后的二端网络的开路电压、短路电流以及等效电阻大小。 0.5Ω RL=0.25Ω

电力系统仿真

如图所示为一无穷大功率供电的三相对称系统,短路发生前系统处于稳定运行状态。假设a 相电流为)sin(i |0|0?αω-+=t (1-1) 式中, 2 22|0|m )'()'(L L R R U I m +++= ω,) '()'(arct an R R L L ++=ω? 假设t=0s 时刻,f 点发生三相短路故障。此时电路被分成俩个独立回路。由无限大电源供电的三相电路,其阻抗由原来的)'()'(L L j R R +++ω突然减小为L j R ω+。由于短路后的电路仍然是三相对称的,依据对称关系可以得到a 、b 、c 相短路全电流的表达式 []a T t m m m e I I t I ----+-+=)sin()sin()sin(i |0||0|a ?α?α?αω [ ] α ?α?α?αωT t m e I I t I - -----+--+=)120sin()120sin()120sin(i m |0||0|m b 。 。。 [ ] α ?α?αααωT t m m m c e I I t I - -+--++-++=)120sin()120sin()120sin(i |0||0|。 。。 式中, 2 2m )(L R U I m ω+= 为短路电流的稳态分量的幅值。 短路电流最大可能瞬时值称为短路电流的冲击值,以m i 表示。冲击电流主要用于检验电气设备和载流导体在短路电流下的受力是否超过容许值,即所谓的动稳定度。由此可得冲击电流的计算式为 m m 01.001 .0m )e 1(i I K I e I I im T T m m =+=+≈α α 式中,im K 称为冲击系数,即冲击电流值对于短路电流周期性分量幅值的倍数;αT 为时间常数。 短路电流的最大有效值m I 是以最大瞬时值发生的时刻(即发生短路经历约半个周期)为中心的短路电流有效值。在发生最大冲击电流的情况下,有 22 2m 2 1(21)1(m 2) -+= -+= im I im I im K K I I m 短路电流的最大有效值主要用于检验开关电器等设备切断短路电流的能力。 无穷大功率电源供电系统仿真模型构建 假设无穷大功率电源供电系统如图所示,在0.02s 时刻变压器低压母线发生三相短路故障,仿真其短路电流周期分量幅值和冲击电流的大小。线路参数为 ;km 17.0,km 4.0,5011Ω=Ω==r x km L 变压器额定容量A MW S N ?=20,电压 U s %=10.5,短路损耗KW P s 135=?,空载损耗KW P 220=?,空载电流I 0%=0.8,变比 11110=T K ,高低压绕组均为Y 形联结;并设供点电压为110KV 。其对应的Simulink 仿真

电子电路仿真分析与设计

上海大学 模拟电子技术课程 实践项目 项目名称:_电子电路仿真分析与设计_指导老师:_______李智华________ 学号:______12122272_______ 姓名:_______翟自协________ 日期:_____2014/1/27______

电子电路仿真软件PSPICE 题目一:放大电路电压增益的幅频响应与相频响应 电路如图所示,BJT为NPN型硅管,型号为2N3904,放大倍数为50,电路其他元件参数如图所示。求解该放大电路电压增益的幅频响应和相频响应。 步骤如下: 1、绘制原理图如上图所示。 2、修改三极管的放大倍数Bf。选中三极管→单击Edit→Model→Edit Instance Model, 在Model Ediror中修改放大倍数Bf=50。 3、由于要计算电路的幅频响应和相频响应,需设置交流扫描分析,所以电路中需要有交流源。 双击交流源v1设置其属性为:ACMAG=15mv,ACPHASE=0。 4、设置分析类型: 选择Analysis→set up→AC Sweep,参数设置如下:

5、Analysis→Simulate,调用Pspice A/D对电路进行仿真计算。 6、Trace→ Add(添加输出波形),,弹出Add Trace对话框,在左边的列表框中选中v(out),单击右边列表框中的符号“/”,再选择左边列表框中的v(in),单击ok按钮。 仿真结果如下:

上面的曲线为电压增益的幅频响应。要想得到电压增益的相频响应步骤如下:在probe下,选择Plot→ Add Plot(在屏幕上再添加一个图形)。如下图所示: 单击Trace→ Add(添加输出波形),弹出Add Trace对话框,单击右边列表框中的符号“P”,在左边的列表框中选中v(out),单击右边列表框中的符号“-”,再单击右边列表框中的符号“P”,再选择左边列表框中的v(in),单击ok按钮。函数P()用来求相位。

Proteus在模拟电路中仿真应用

Proteus在模拟电路中仿真应用Proteus在很多人接触都是因为她可以对单片机进行仿真,其实她在模拟电路方面仿真能力也很强大。下面对几个模块方面的典型带那路进行阐述。 第1部分模拟信号运算电路仿真 1.0 运放初体验 运算,顾名思义,正是数学上常见的加减乘除以及积分微分等,这里的运算电路,也就是用电路来实现这些运算的功能。而运算的核心就是输入和输出之间的关系,而这些关系具体在模拟电路当中都是通过运算放大器实现的。运算放大器的符号如图1所示。 同相输入端, 输出信号不反相 反相输入端, 输出信号反相 输入端 图1 运算放大器符号 运算器都工作在线性区,故进行计算离不开工作在线性区的“虚短”和“虚断”这两个基本特点。与之对应的,在Proteus中常常用到的放大器有如图2几种。 3 2 1 4 1 1 U1:A TL074 3 2 6 7 415 U5 TL071 3 2 6 7 415 U6 741图2 Proteus中几种常见放大器 上面几种都是有源放大器件,我们还经常用到理想无源器件,如图4所示,它的位置在“Category”—“Operational Amplifiers”—“OPAMP”。

图4 理想无源放大器件的位置 1.1 比例运算电路与加法器 这种运算电路是最基本的,其他电路都可以由它进行演变。 (1)反相比例运算电路,顾名思义,信号从反相输入端进入,如图5所示。 RF 10K R1 2K Volts -5.00 R1(1) 图5 反相比例运算电路 由“虚断”“虚短”可知:f o i 1 *R u u R =- 我们仿真的值:11(1)1 ,2,10i f U R V R K R K ====,

(完整版)电力系统仿真

电力系统分析与设计 例子:电力系统可视化仿真介绍 EXAMPLE1-1: 题目:双总线电力系统 初始条件:总线1电压为16kV,总线2为15.75KV,负载功率为5MW,发电机功率为5.1MW。总线1与总线2之间由一条传输线连接。 实验步骤:保持其他参数不变,依次调节负载功率参数,观察其他参数的变化。实验现象:①当负载功率为5MW时,发电机的输出功率为5.1MW。 ②当负载功率调整为6MW时,发电机的输出功率为6.1MW。

③当负载功率调整为4MW 时,发电机的输出功率为4.0MW。 实验结论:在双总线电力系统中,当其他线路装置参数不变时,负载功率增大时,发电机的输出功率相应增大,负载功率减小时,发电机的输出功率相 应减小。 EXAMPLE1-2: 题目:植入新的总线 初始条件:在上图中保持其他条件不变,植入新的总线”Bus3”。 实验步骤:在powerworld选择edit mode,在Draw中选择Network---bus,将”Bus” 放置图中,双击”Bus”,将对话框中的名称改为”Bus3”,电压改为16kV。实验结果:如下图所示

EXAMPLE1-3: 题目:三总线电力系统 初始条件:在EXAMPLE2的基础上,通过传输线路将Bus1和Bus2与Bus3连接在一起。 实验步骤:在edit mode下,选择draw选项,选择Network中的transmission line,单击Bus1,然后将线路连接到Bus3,双击完成连接。并调节字 体大小和线路的颜色。在Network中选择load选项,选择load的大 小。最后把系统名字改为Three Bus Powr system。 实验结果:如下图所示 ② 对新系统进行调节参数实验: 实验步骤: ⑴调节新总线Bus3下负载参数,观察对其它参数的影响: ①当负载功率为11MW时,如图 ②当负载功率为9MW时,如图

基于Simulink的简单电力系统仿真

基于S i m u l i n k的简单 电力系统仿真 The Standardization Office was revised on the afternoon of December 13, 2020

实验六基于Simulink的简单电力系统仿真 实验目的 1)熟悉Simulink的工作环境; 2)掌握Simulink电力系统工具箱的使用; 3)掌握在Simulink的工作环境中建立简单电力系统的仿真模型 实验内容 输电线路电路参数建模时采用电力系统分析中常用的π型等值电路,搭建如图1所示的一个简单交流单相电力系统,在仿真进行中,负载通过断路器切除并再次投入。π型等值电路具体元件参数如下:Ω L138 =, .0 R,H =2.5 2 =。 1= .0 967 C F Cμ 图1简单电力系统仿真示意图 1)在Simulink中建立简单交流单相电力系统模型,并进行仿真,观测负载电流和输电线路末端电压; 2)结合理论知识分析上述观测信号变化的原因; 3)比较不同功率因数,如cosφ=1、cosφ=(感性)、cosφ=(容性)负载条件下的仿真结果 实验原理与方法 1、系统的仿真电路图 实验步骤 根据所得建立模型,给定参数,得到仿真结果 cosφ=1 cosφ=(感性) cosφ=(容性) 实验结果与分析 cosφ=1 cosφ=(感性) cosφ=(容性) 仿真结果分析 (1)在纯阻性负载电路中,电压相位与电流相位相同;与感性负载相比,断路器重新闭合后电流没有额外的直流分量。 (2)在感性负载中,电压相位超前电流相位;断路器重新闭合时,交变的电流瞬间增加了一个直流分量,随后逐渐减小。 (3)在容性负载中,电压相位滞后于电流相位;断路器重新闭合时,电流瞬间突变至极大;与感性负载和纯阻性负载相比,断路器断开时的末端电压由于有电容放电作用,电压波形畸变很小。 (4)当断路器断开时,线路断路,电流突变为0,但电压行波仍在进行,因此在末端能够测量到连续的电压波形,但断路器断开对电压波形造成了影响,产生了畸变。这是由于能量是通过电磁场传递的,线路断开时电压继续向前传递。 总括:L和C对输出波形振荡的频率和幅度影响程度不同,当变化相同幅度时,电容对振荡频率和幅度的影响要比电感的大。

几款主流电子电路仿真软件优缺点比较

几款主流电子电路仿真软件优缺点比较 电子电路仿真技术是当今相关专业学习者及工作者必须掌握的技术之一,它有诸多优点:第一,电子电路仿真软件一般都有海量而齐全的电子元器件库和先进的虚拟仪器、仪表,十分方便仿真与测试;第二,仿真电路的连接简单快捷智能化,不需焊接,使用仪器调试不用担心损坏;大大减少了设计时间及金钱的成本;第三,电子电路仿真软件可进行多种准确而复杂的电路分析。 随着电子电路仿真技术的不断发展,许多公司推出了各种功能先进、性能强劲的仿真软件。既然它们能百家争鸣,那么肯定是在某些方面各有优劣的。下面就针对几款主流电子电路仿真软件的优缺点进行比较。 (1) Multisim 在模电、数电的复杂电路虚拟仿真方面,Multisim是当之无愧的一哥。它有形象化的极其真实的虚拟仪器,无论界面的外观还是内在的功能,都达到了的最高水平。它有专业的界面和分类,强大而复杂的功能,对数据的计算方面极其准确。在我们参加电子竞赛的时候,特别是模拟方向的题目,我们用得最多的仿真软件就是Multisim。同时,Multisim不仅支持MCU,还支持汇编语言和C语言为单片机注入程序,并有与之配套的制版软件NI Ultiboard10,可以从电路设计到制板layout一条龙服务。 Multisim的缺点是,软件过于庞大,对MCU的支持不足,制板等附加功能比不上其他的专门的软件。 (2)Tina Tina的界面简单直观,元器件不算多,但是分类很好,而且TI公司的元器件最齐全。在比赛时经常用到TI公司的元器件,当在Multisim找不到对应的器件时,我们就会用到Tina来仿真。 Tina的缺点是,功能相对较少,对TI公司之外的元器件支持较少。 (3) Proteus

模拟电子线路multisim仿真实验报告

MULTISIM 仿真实验报告

实验一单级放大电路 一、实验目的 1、熟悉multisim软件的使用方法 2、掌握放大器的静态工作点的仿真方法,及对放大器性能的影响。 3、学习放大器静态工作点、电压放大倍数,输入电阻、输出电阻的仿真方法,了解共 射级电路的特性。 二、虚拟实验仪器及器材 双踪示波器信号发生器交流毫伏表数字万用表 三、实验步骤 1.仿真电路图 V1 10mVrms 1kHz 0° R1 100kΩ Key=A 10 % R2 51kΩ R3 20kΩ R4 5.1kΩ Q1 2N2222A R5 100Ω R6 1.8kΩ C1 10μF C2 10μF C3 47μF 3 7 V2 12 V 4 5 2 1 R7 5.1kΩ 9 XMM1 6 E级对地电压25.静态数据仿真

仿真数据(对地数据)单位;V计算数据单位;V 基级集电极发射级Vbe Vce RP 2.834 6.126 2.2040.63 3.92210k 26.动态仿真一 1.单击仪表工具栏的第四个,放置如图,并连接电路。 V1 10mVrms 1kHz 0° R1 100kΩ Key=A 10 % R2 51kΩ R3 20kΩ R4 5.1kΩ Q1 2N2222A R5 100Ω R6 1.8kΩ C1 10μF C2 10μF C3 47μF 3 7 V2 12 V 4 5 2 R7 5.1kΩ XSC1 A B Ext Trig + + _ _+_ 6 1 9

2.双击示波器,得到如下波形 5.他们的相位相差180度。 27.动态仿真二 1.删除负载电阻R6 V1 10mVrms 1kHz 0° R1 100kΩ Key=A 10 % R2 51kΩ R3 20kΩ R4 5.1kΩ Q1 2N2222A R5 100Ω R6 1.8kΩ C1 10μF C2 10μF C3 47μF 3 7 V2 12 V 4 5 2 XSC1 A B Ext Trig + + _ _+_ 6 1 9 2.重启仿真。

模拟电子电路multisim仿真(很全 很好)

仿真 1.1.1 共射极基本放大电路 按图7.1-1搭建共射极基本放大电路,选择电路菜单电路图选项(Circuit/Schematic Option )中的显示/隐藏(Show/Hide)按钮,设置并显示元件的标号与数值等 。 1. 静态工作点分析 选择分析菜单中的直流工作点分析选项(Analysis/DC Operating Point)(当然,也可以使用仪器库中的数字多用表直接测量)分析结果表明晶体管Q1工作在放大状态。 2. 动态分析 用仪器库的函数发生器为电路提供正弦输入信号Vi(幅值为5mV,频率为10kH),用示波器观察到输入,输出波形。由波形图可观察到电路的输入,输出电压信号反相位关系。再一种直接测量电压放大倍数的简便方法是用仪器库中的数字多用表直接测得。 3. 参数扫描分析 在图7.1-1所示的共射极基本放大电路中,偏置电阻R1的阻值大小直接决定了静态电流IC的大小,保持输入信号不变,改变R1的阻值,可以观察到输出电压波形的失

真情况。选择分析菜单中的参数扫描选项(Analysis/Parameter Sweep Analysis),在参数扫描设置对话框中将扫描元件设为R1,参数为电阻,扫描起始值为100K,终值为900K,扫描方式为线性,步长增量为400K,输出节点5,扫描用于暂态分析。 4. 频率响应分析 选择分析菜单中的交流频率分析项(Analysis/AC Frequency Analysis)在交流频率分析参数设置对话框中设定:扫描起始频率为1Hz,终止频率为1GHz,扫描形式为十进制,纵向刻度为线性,节点5做输出节点。 由图分析可得:当共射极基本放大电路输入信号电压VI为幅值5mV的变频电压时,电路输出中频电压幅值约为0.5V,中频电压放大倍数约为-100倍,下限频率(X1)为14.22Hz,上限频率(X2)为25.12MHz,放大器的通频带约为25.12MHz。 由理论分析可得,上述共射极基本放大电路的输入电阻由晶体管的输入电阻rbe限定,输出电阻由集电极电阻R3限定。 1.1.2共集电极基本放大电路(射极输出器) 图7.1-7为一共集电极基本放大电路,用仪器库的函数发生器为电路提供正弦输入信号VI(幅值为1V,频率为10 kHz)采用与共射极基本放大电路相同的分析方法获得电路的静态工作点分析结果。用示波器测得电路的输出,输入电压波形,选用交流频率分析项分析出电路的频率响应曲线及相关参数。

基于MATLAB的电力系统仿真

《电力系统设计》报告题目: 基于MATLAB的电力系统仿 学院:电子信息与电气工程学院 班级: 13级电气 1 班 姓名:田震 学号: 日期:2015年12月6日 基于MATLAB的电力系统仿真 摘要:目前,随着科学技术的发展和电能需求量的日益增长,电力系统规模越来 越庞大,超高压远距离输电、大容量发电机组、各种新型控制装置得到了广泛的应用,这对于合理利用能源,充分挖掘现有的输电潜力和保护环境都有重要意义。另一方面,随着国民经济的高速发展,以城市为中心的区域性用电增长越来越快,大电网负荷中心的用电容量越来越大,长距离重负荷输电的情况日益普遍,电力系统在人们的生活和工作中担任重要角色,电力系统的稳定运行直接影响着人们的日常生活。从技术和安全上考虑直接进行电力试验可能性很小,因此迫切要求运用电力仿真来解决这些问题。 电力系统仿真是将电力系统的模型化、数学化来模拟实际的电力系统的运行,可以帮助人们通过计算机手段分析实际电力系统的各种运行情况,从而有效的了解电力系统概况。本文根据电力系统的特点,利用MATLAB的动态仿真软件Simulink搭建了无穷大电源的系统仿真模型,得到了在该系统主供电线路电源端发生三相短路接地故障并由故障器自动跳闸隔离故障的仿真结果,并分析了这一暂态过程。通过仿真结果说明MATLAB 电力系统工具箱是分析电力系统的有效工具。 关键词:电力系统;三相短路;故障分析;MATLAB仿真 目录 一.前言.............................................. 二.无穷大功率电源供电系统仿真模型构建............... 1.总电路图的设计......................................

2 Multisim 电路仿真分析(一)

Multisim 电路仿真分析(一) Multisim 12.0提供了多种电路仿真引擎,包含Xspice、VHDL和Verilog等。电路仿真分析的一般流程为: (1)设计仿真电路图; (2)设置分析参数; (3)设置输出变量的处理方式; (4)设置分析项目; (5)自定义分析选项 开始/终止仿真分析,可以单击仿真运行开关按钮,或者执行主菜单的Simulate|Run命令。 暂停/继续仿真分析,可以单击仿真运行开关按钮,或者执行主菜单的Simulate|Pause命令。 1. Multisim 1 2.0的仿真参数设置 在使用Multisim12.0进行仿真分析时,需要对各类仿真参数进行设置,包含仿真基本参数(仿真计算步长、时间、初始条件等)的设置;仿真分析参数(分析条件、分析范围、输出结点等)设置;仿真输出显示参数(数据格式、显示栅格、读数标尺等)设置。 1)仿真基本参数的设置 仿真基本参数的设置,可以通过执行Simulate|Interactive Simulation Settings 命令,打开交互式仿真设置对话框,如图2-1所示,通过修改或者重设其中的参数,可以完成仿真基本参数的设置。

图3-1 仿真基本参数设置对话框 2)仿真输出显示参数的设置 仿真输出参数的设置,是通过执行View|Grapher命令,打开Grapher View 仿真图形记录器,对话框如图3-2所示。 图3-2 Grapher View仿真图形记录器 2. Multisim 12.0的仿真分析 Multisim12.0提供了多种仿真分析方法,如图3-3所示,主要包含:直流工作点分析(DC Operation Point Analysis),交流分析(AC Analysis),单频交流分析( Single Frequency AC Analysis),瞬态分析( Transient Analysis),傅立叶分析( Fourier Analysis),噪声分析(Noise Analysis),噪声系数分析( Noise Figure Analysis),失真分析( Distortion Analysis),直流扫描分析( DC Sweep Analysis),灵敏度分析( Sensitivity Analysis),参数扫描分析( Parameter Sweep Analysis),温度扫描分析(Temperature Sweep Analysis),极点-零点分析( Pole-Zero Analysis)),

电磁场仿真软件简介

电磁场仿真软件简介 随着电磁场和微波电路领域数值计算方法的发展,在最近几年出现了大量的电磁场和微波电路仿真软件。在这些软件中,多数软件都属于准3维或称为2.5维电磁仿真软件。例如,Agilent公司的ADS(Advanced Design System)、AWR公司的Microwave Office、Ansoft公司的Esemble、Serenade和CST公司的CST Design Studio等。目前,真正意义上的三维电磁场仿真软件只有Ansoft公司的HFSS、CST公司的Mafia、CST Microwave Studio、Zeland公司的Fidelity和IMST GmbH公司的EMPIRE。从理论上讲,这些软件都能仿真任意三维结构的电磁性能。其中,HFSS(HFSS是英文高频结构仿真器(High Frequency Structure Simulator)的缩写)是一种最早出现在商业市场的电磁场三维仿真软件。因此,这一软件在全世界有比较大的用户群体。由于HFSS进入中国市场较早,所以目前国内的电磁场仿真方面HFSS的使用者众多,特别是在各大通信技术研究单位、公司、高校非常普及。 德国CST公司的MicroWave Studio(微波工作室)是最近几年该公司在Mafia软件基础上推出的三维高频电磁场仿真软件。它吸收了Mafia软件计算速度快的优点,同时又对软件的人机界面和前、后处理做了根本性的改变。就目前发行的版本而言,CST 的MWS的前后处理界面及操作界面比HFSS好。Ansoft也意识到了自己的缺点,在刚刚推出的新版本HFSS(定名为Ansoft HFSS V9.0)中,人机界面及操作都得到了极大的改善。在这方面完全可以和CST媲美。在性能方面,两个软件各有所长。在速度和计算的精度方面CST和ANSOFT成绩相差不多。值得注意的是,MWS采用的理论基础是FIT(有限积分技术)。与FDTD(时域有限差分法)类似,它是直接从Maxwell 方程导出解。因此,MWS可以计算时域解。对于诸如滤波器,耦合器等主要关心带内参数的问题设计就非常适合;而HFSS采用的理论基础是有限元方法(FEM),这是一种微分方程法,其解是频域的。所以,HFSS如果想获得频域的解,它必须通过频域转换到时域。由于,HFSS是用的是微分方法,所以它对复杂结构的计算具有一定的优势。 另外,在高频微波波段的电磁场仿真方面也应当提及另一个软件:ANSYS 。ANSYS是一个基于有限元法(FEM)的多功能软件。该软件可以计算工程力学、材料力学、热力学和电磁场等方面的问题。它也可以用于高频电磁场分析(应用例如:微波辐射和散射分析、电磁兼容、电磁场干扰仿真等)。其功能与HFSS和CST MWS类似。但由于该软件在建模和网格划分过程中需要对该软件的使用规则有详细的了解,因此,对一般的工程技术人员来讲使用该软件有一定困难。对于高频微波波段通信、天线、器件封装、电磁干扰及光电子设计中涉及的任意形状三维电磁场仿真方面不如HFSS更专业、更理想。实际上,ANSYS软件的优势并不在电磁场仿真方面,而是结构静力/动力分析、热分析以及流体动力学等。但是,就其电磁场部分而言,它也能对任意三维结构的电磁特性进行仿真。 虽然,Zeland公司的Fidelity和IMST GmbH公司的EMPIRE也可以仿真三维结构。

模拟电子技术课程设计(Multisim仿真).

《电子技术Ⅱ课程设计》 报告 姓名 xxx 学号 院系自动控制与机械工程学院 班级 指导教师 2014 年 6 月18日

目录 1、目的和意义 (3) 2、任务和要求 (3) 3、基础性电路的Multisim仿真 (4) 3.1 半导体器件的Multisim仿真 (4) 3.11仿真 (4) 3.12结果分析 (4) 3.2单管共射放大电路的Multisim仿真 (5) 3.21理论计算 (7) 3.21仿真 (7) 3.23结果分析 (8) 3.3差分放大电路的Multisim仿真 (8) 3.31理论计算 (9) 3.32仿真 (9) 3.33结果分析 (9) 3.4两级反馈放大电路的Multisim仿真 (9) 3.41理论分析 (11) 3.42仿真 (12) 3.5集成运算放大电路的Multisim仿真(积分电路) (12) 3.51理论分析 (13) 3.52仿真 (14) 3.6波形发生电路的Multisim仿真(三角波与方波发生器) (14) 3.61理论分析 (14) 3.62仿真 (14) 4.无源滤波器的设计 (14) 5.总结 (18) 6.参考文献 (19)

一、目的和意义 该课程设计是在完成《电子技术2》的理论教学之后安排的一个实践教学环节.课程设计的目的是让学生掌握电子电路计算机辅助分析与设计的基本知识和基本方法,培养学生的综合知识应用能力和实践能力,为今后从事本专业相关工程技术工作打下基础。这一环节有利于培养学生分析问题,解决问题的能力,提高学生全局考虑问题、应用课程知识的能力,对培养和造就应用型工程技术人才将能起到较大的促进作用。 二、任务和要求 本次课程设计的任务是在教师的指导下,学习Multisim仿真软件的使用方法,分析和设计完成电路的设计和仿真。完成该次课程设计后,学生应该达到以下要求: 1、巩固和加深对《电子技术2》课程知识的理解; 2、会根据课题需要选学参考书籍、查阅手册和文献资料; 3、掌握仿真软件Multisim的使用方法; 4、掌握简单模拟电路的设计、仿真方法; 5、按课程设计任务书的要求撰写课程设计报告,课程设计报告能正确反映设计和仿真结果。

基于MATLAB的电力系统仿真

《电力系统设计》报告 题目: 基于MATLAB的电力系统仿学院:电子信息与电气工程学院 班级: 13级电气 1 班 姓名:田震 学号: 20131090124 日期:2015年12月6日

基于MATLAB的电力系统仿真 摘要:目前,随着科学技术的发展和电能需求量的日益增长,电力系统规模越来越庞大,超高压远距离输电、大容量发电机组、各种新型控制装置得到了广泛的应用,这对于合理利用能源,充分挖掘现有的输电潜力和保护环境都有重要意义。另一方面,随着国民经济的高速发展,以城市为中心的区域性用电增长越来越快,大电网负荷中心的用电容量越来越大,长距离重负荷输电的情况日益普遍,电力系统在人们的生活和工作中担任重要角色,电力系统的稳定运行直接影响着人们的日常生活。从技术和安全上考虑直接进行电力试验可能性很小,因此迫切要求运用电力仿真来解决这些问题。 电力系统仿真是将电力系统的模型化、数学化来模拟实际的电力系统的运行,可以帮助人们通过计算机手段分析实际电力系统的各种运行情况,从而有效的了解电力系统概况。本文根据电力系统的特点,利用MATLAB的动态仿真软件Simulink搭建了无穷大电源的系统仿真模型,得到了在该系统主供电线路电源端发生三相短路接地故障并由故障器自动跳闸隔离故障的仿真结果,并分析了这一暂态过程。通过仿真结果说明MATLAB电力系统工具箱是分析电力系统的有效工具。 关键词:电力系统;三相短路;故障分析;MATLAB仿真

目录 一.前言 (4) 二.无穷大功率电源供电系统仿真模型构建 (5) 1.总电路图的设计 (5) 2.各个元件的参数设定 (6) 2.1供电模块的参数设定 (6) 2.2变压器模块的参数设置 (6) 2.3输电线路模块的参数设置 (7) 2.4三相电压电流测量模块 (8) 2.5三相线路故障模块参数设置 (8) 2.6三相并联RLC负荷模块参数设置 (9) 3.仿真结果 (9)

反相比例运算电路仿真分析.doc

1 反相比例运算电路 1.1 综述 反相比例运算电路实际上是深度的电压并联负反馈电路。在理想情况下,反相输入端的电位等于零,称为“虚地”。因此加在集成运放输入端的共模电压很小。 输出电压与输入电压的幅值成正比,但相位相反,因此,电路实现了反相比例运算。比例系数的数值决定于电阻RF与R1之比,而与集成运放内部各项参数无关。只要RF 和R1的阻值比较准确和稳定,即可得到准确额比例运算关系。比例系数的数值可以大于或等于1,也可以小于1。 由于引入了深度电压并联负反馈,因此电路的输入电阻不高,而输出电阻很低。1.2 工作原理 1.2.1 原理图说明 图1.2.1.1 反相比例运算电路 如图所示,输入电压V1经电阻R1接到集成运放的反相输入端,运放的同相输入端经电阻R2接地。输出电压经反馈电阻RF引回到反相输入端。 集成运放的反相输入端和同相输入端,实际上是运放内部输入级两个差分对管的基极。为使差分放大电路的参数保持对称,应使两个差分对管基极对地的电阻尽量一致,以免静态基流流过这两个电阻时,在运放输入端产生附加的偏差电压。因此,通常选择R2的阻值为R2=R1∥RF 经过分析可知,反相比例运算电路中反馈的组态是电压并联负反馈。由于集成运放

的开环差模增益很高,因此容易满足深度负反馈的条件,故可以认为集成运放工作在线性区。所以,可以利用理想运放工作在线性区时“虚短”和“虚断”的特点来分析反相比例运算电路的输出输入关系。 由于“虚断”,U +=0 又因“虚短”,可得 U - =U + =0 由于 I -=0 , 则由图可见 I I =I F 即(U I -U - )/R1=(U—U )/RF 上式中U - =0,由此可求得反相比例运算电路的输出电压与输入电压的关系为 U 0=-RF·U I /R1 1.2.2 元件表 元件名称大小数量 集成运算放大器741 1 直流电源1V 1 电阻 6.8K 1 10K 1 20K 1 1.3 仿真结果分析 图1.3.1 仿真分析结果图 由于输入电压为1V,所以根据公式可得输出电压为-1.997,符合理论。

模拟电子电路仿真(很全 很好)

仿真 1.1.1 共射极基本放大电路 按图7.1-1搭建共射极基本放大电路,选择电路菜单电路图选项(Circuit/Schematic Option )中的显示/隐藏(Show/Hide)按钮,设置并显示元件的标号与数值等 。 1.静态工作点分析 选择分析菜单中的直流工作点分析选项(Analysis/DC Operating Point)(当然,也可以使用仪器库中的数字多用表直接测量)分析结果表明晶体管Q1工作在放大状态。 2.动态分析 用仪器库的函数发生器为电路提供正弦输入信号Vi(幅值为5mV,频率为10kH),用示波器观察到输入,输出波形。由波形图可观察到电路的输入,输出电压信号反相位关系。再一种直接测量电压放大倍数的简便方法是用仪器库中的数字多用表直接测得。 3. 参数扫描分析 在图7.1-1所示的共射极基本放大电路中,偏置电阻R1的阻值大小直接决定了静态电流IC的大小,保持输入信号不变,改变R1的阻值,可以观察到输出电压波形的失真情况。选择分析菜单中的参数扫描选项(Analysis/ParameterSweep Analysis),在参数扫描设置对话框中将扫描元件设为R1,参数为电阻,扫描起始值为100K,终值为900K,扫描方式为线性,步长增量为400K,输出节点5,扫描用于暂态分析。 4.频率响应分析 选择分析菜单中的交流频率分析项(Analysis/AC FrequencyAnalysis)在交流频率分析参数设置对话框中设定:扫描起始频率为1Hz,终止频率为1GHz,扫描形式为十进制,纵向刻度为线性,节点5做输出节点。 由图分析可得:当共射极基本放大电路输入信号电压VI为幅值5mV的变频电压时,电路输出中频电压幅值约为0.5V,中频电压放大倍数约为-100倍,下限频率(X1)为14.22Hz,上限频率(X2)为25.12MHz,放大器的通频带约为25.12MHz。 由理论分析可得,上述共射极基本放大电路的输入电阻由晶体管的输入电阻rbe限定,输出电阻由集电极电阻R3限定。 1.1.2共集电极基本放大电路(射极输出器)

混沌系统的电路实现与仿真分析

混沌系统的电路实现与仿真分析 1. 设计思路 混沌系统模块化设计方法的主要思路是,根据系统的无量纲状态方程,用模块化设计理念设计相应的混沌电路,其中主要的模块包括:反相器模块、积分器模块、反相加法比例运算模块和非线性函数产生模块。 2. 设计过程 第一步,对混沌系统采用Matlab 进行数值分析,观察状态变量的时序图、相图,观察系统状态变量的动态范围; 第二步,对变量进行比例压缩变换。我们通常取电源电压为±15V ,集成运放的动态范围为±13.5V ,如果系统状态变量的动态范围超过±13.5,则状态变量的动态范围超过了集成运放的线性范围,需要进行比例压缩变换,如没有超出,则不需要进行变换。 举例:变换的基本方法 ?????? ?=== w k z v k y u k x 32 1 代入原状态方程,然后重新定义u →x ,v →y ,w →z 得到的状态方程即为变量压缩后的状态方程。 第三步,作时间尺度变换。将状态方程中的t 变换为τ0t ,其中τ0为时间尺度变换因子,设τ0=1/R 0C 0,从而将时间变换因子与积分电路的积分时间常数联系起来。 第四步,作微分-积分变换。 第五步,考虑到模块电路中采用的是反相加法器,将积分方程作标准化处理。 第六步,根据标准积分方程,可得到相应的实现电路。 第七步,采用Pspice 仿真软件或Multisim 仿真软件对电路进行仿真分析。

3. 设计举例:Lorenz 系统的电路设计与仿真 Lorenz 系统的无量纲归一化状态方程为 bz xy z y xz cx y ay ax x --=--=+-= (1) 其中当a=10,b=8/3,c=28时,该系统可以展现出丰富的混沌行为。 MATLAB 仿真程序如下: function dx=lorenz(t,x) %?¨ò?oˉêy a=10; b=8/3;c=28; %?¨ò??μí32?êy %***************************************** dx=zeros(3,1); dx(1)=a*(x(2)-x(1)); dx(2)=c*x(1)-x(1).*x(3)-x(2); dx(3)=x(1).*x(2)-b*x(3); %*********************************?¨ò?×′ì?·?3ì clear; options=odeset('RelTol',1e-6,'AbsTol',[1e-6,1e-6,1e-6]); t0=[0 500]; x0=[1,0,0]; [t,x]=ode45('Lorenz',t0,x0,options); n=length(t); n1=round(n/2); figure(1); plot(t(n1:n),x(n1:n,1)); %×′ì?xμ?ê±Dòí? xlabel('t','fontsize',20,'fontname','times new roman','FontAngle','normal'); ylabel('x1','fontsize',20,'fontname','times new roman','FontAngle','normal'); figure(2); plot(x(n1:n,1),x(n1:n,3)); %x-z?àí? xlabel('x','fontsize',20,'fontname','times new roman','FontAngle','italic'); ylabel('Z','fontsize',20,'fontname','times new roman','FontAngle','italic'); figure(3); plot3(x(n1:n,1),x(n1:n,2),x(n1:n,3)); %x-y-z?àí? xlabel('x','fontsize',20,'fontname','times new roman','FontAngle','italic'); ylabel('y','fontsize',20,'fontname','times new roman','FontAngle','italic');

相关主题
文本预览
相关文档 最新文档