随着经济的发展,科学技术的进步,永磁电机的研发和控制技术都有了快速的发展。永磁电机的发展也带来了永磁电机控制器的发展,电机控制器已经由传统的模拟元件控制器,逐渐转向数模混合控制器、全数字控制器。基于现场可编程门阵列(FPGA——Field Programmable Gate Array)的新一代数字电机控制技术得到越来越多的关注。现在的FPGA不仅实现了软件需求和硬件设计的完美集合,还实现了高速与灵活性的完美结合,使其已超越了ASIC器件的性能和规模。在工业控制领域,FPGA虽然起步较晚,但是发展势头迅猛。 本文在介绍了传统无刷直流电机控制技术的基础上,分析了采用FPGA实现电机控制的优点。详细介绍了使用硬件编程语言,在FPGA中编程实现永磁无刷直流电机速度闭环控制的各个关键环节,如:PI调节器、数字PWM等等。在实现永磁无刷直流电机速度闭环控制的同时,将速度检测环节采用FPGA实现,减小了系统硬件开销。在实现单台永磁无刷直流电机速度闭环控制的基础上,本文在一片FPGA芯片上实现了多台永磁无刷直流电机的速度闭环独立控制系统。介绍了采用FPGA进行多台电机控制具有独特的优势,这些优势使得FPGA在实现多台电机控制时非常方便,具有单片机(MCU)和数字信号处理器(DSP)无法比拟的优点。文中对基于FPGA的单台和多台永磁无刷直流电机控制系统分别进行了实验验证。 FPGA编程灵活,设计方便,本文在FPGA中实现了各种不同的PWM调制方式。从电路方面详细分析了采用不同的PWM调制,换相时无刷直流电机母线的反向电流问题。借助FPGA平台,对各种PWM调制方式进行了实验,对理论分析进行了验证。 另外,本文介绍了目前非常流行的一种FPGA图形化设计方法,即基于XSG(Xilinx System Generator)的FPGA设计。这种设计方法具有图形化、模块化的优点,大大方便了用户的FPGA开发设计。在XSG中建立的仿真系统,区别于传统的Simulink仿真,可以直接生成相应的硬件编程语言代码下载到FPGA中运行。本文借助XSG软件设计在XSG/Simulink中实现了永磁同步电机矢量控制系统的混合建模算法,并进行了仿真。
上传时间: 2013-04-24
上传用户:wangyi39
特点: 精确度0.1%满刻度 可作各式數學演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A|/ 16 BIT类比输出功能 输入与输出绝缘耐压2仟伏特/1分钟(input/output/power) 宽范围交直流兩用電源設計 尺寸小,穩定性高
上传时间: 2014-12-23
上传用户:ydd3625
特点(FEATURES) 精确度0.1%满刻度 (Accuracy 0.1%F.S.) 可作各式数学演算式功能如:A+B/A-B/AxB/A/B/A&B(Hi or Lo)/|A| (Math functioA+B/A-B/AxB/A/B/A&B(Hi&Lo)/|A|/etc.....) 16 BIT 类比输出功能(16 bit DAC isolating analog output function) 输入/输出1/输出2绝缘耐压2仟伏特/1分钟(Dielectric strength 2KVac/1min. (input/output1/output2/power)) 宽范围交直流两用电源设计(Wide input range for auxiliary power) 尺寸小,稳定性高(Dimension small and High stability)
上传时间: 2013-11-24
上传用户:541657925
随着电力电子技术的发展和电力电子元器件制造水平的提高,中频感应加热技术日臻完善。中频感应加热以其便捷高效的加热性能正逐步取代煤、油等燃料加热而成为工业加热的首选方式。作为感应加热装置的电源,KGPS(晶闸管静止变频装置)与传统BPS机组(中频发电机组)相比,负载适应性强,效率高,易于形成自动加热线,已在工业加热领域得到越来越广泛的应用。
上传时间: 2014-01-06
上传用户:dave520l
/*--------- 8051内核特殊功能寄存器 -------------*/ sfr ACC = 0xE0; //累加器 sfr B = 0xF0; //B 寄存器 sfr PSW = 0xD0; //程序状态字寄存器 sbit CY = PSW^7; //进位标志位 sbit AC = PSW^6; //辅助进位标志位 sbit F0 = PSW^5; //用户标志位0 sbit RS1 = PSW^4; //工作寄存器组选择控制位 sbit RS0 = PSW^3; //工作寄存器组选择控制位 sbit OV = PSW^2; //溢出标志位 sbit F1 = PSW^1; //用户标志位1 sbit P = PSW^0; //奇偶标志位 sfr SP = 0x81; //堆栈指针寄存器 sfr DPL = 0x82; //数据指针0低字节 sfr DPH = 0x83; //数据指针0高字节 /*------------ 系统管理特殊功能寄存器 -------------*/ sfr PCON = 0x87; //电源控制寄存器 sfr AUXR = 0x8E; //辅助寄存器 sfr AUXR1 = 0xA2; //辅助寄存器1 sfr WAKE_CLKO = 0x8F; //时钟输出和唤醒控制寄存器 sfr CLK_DIV = 0x97; //时钟分频控制寄存器 sfr BUS_SPEED = 0xA1; //总线速度控制寄存器 /*----------- 中断控制特殊功能寄存器 --------------*/ sfr IE = 0xA8; //中断允许寄存器 sbit EA = IE^7; //总中断允许位 sbit ELVD = IE^6; //低电压检测中断控制位 8051
上传时间: 2013-10-30
上传用户:yxgi5
TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。 TLC2543的特点 (1)12位分辩率A/D转换器; (2)在工作温度范围内10μs转换时间; (3)11个模拟输入通道; (4)3路内置自测试方式; (5)采样率为66kbps; (6)线性误差±1LSBmax; (7)有转换结束输出EOC; (8)具有单、双极性输出; (9)可编程的MSB或LSB前导; (10)可编程输出数据长度。 TLC2543的引脚排列及说明 TLC2543有两种封装形式:DB、DW或N封装以及FN封装,这两种封装的引脚排列如图1,引脚说明见表1 TLC2543电路图和程序欣赏 #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit clock=P1^0; sbit d_in=P1^1; sbit d_out=P1^2; sbit _cs=P1^3; uchar a1,b1,c1,d1; float sum,sum1; double sum_final1; double sum_final; uchar duan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar wei[]={0xf7,0xfb,0xfd,0xfe}; void delay(unsigned char b) //50us { unsigned char a; for(;b>0;b--) for(a=22;a>0;a--); } void display(uchar a,uchar b,uchar c,uchar d) { P0=duan[a]|0x80; P2=wei[0]; delay(5); P2=0xff; P0=duan[b]; P2=wei[1]; delay(5); P2=0xff; P0=duan[c]; P2=wei[2]; delay(5); P2=0xff; P0=duan[d]; P2=wei[3]; delay(5); P2=0xff; } uint read(uchar port) { uchar i,al=0,ah=0; unsigned long ad; clock=0; _cs=0; port<<=4; for(i=0;i<4;i++) { d_in=port&0x80; clock=1; clock=0; port<<=1; } d_in=0; for(i=0;i<8;i++) { clock=1; clock=0; } _cs=1; delay(5); _cs=0; for(i=0;i<4;i++) { clock=1; ah<<=1; if(d_out)ah|=0x01; clock=0; } for(i=0;i<8;i++) { clock=1; al<<=1; if(d_out) al|=0x01; clock=0; } _cs=1; ad=(uint)ah; ad<<=8; ad|=al; return(ad); } void main() { uchar j; sum=0;sum1=0; sum_final=0; sum_final1=0; while(1) { for(j=0;j<128;j++) { sum1+=read(1); display(a1,b1,c1,d1); } sum=sum1/128; sum1=0; sum_final1=(sum/4095)*5; sum_final=sum_final1*1000; a1=(int)sum_final/1000; b1=(int)sum_final%1000/100; c1=(int)sum_final%1000%100/10; d1=(int)sum_final%10; display(a1,b1,c1,d1); } }
上传时间: 2013-11-19
上传用户:shen1230
#include<iom16v.h> #include<macros.h> #define uint unsigned int #define uchar unsigned char uint a,b,c,d=0; void delay(c) { for for(a=0;a<c;a++) for(b=0;b<12;b++); }; uchar tab[]={ 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
上传时间: 2013-10-21
上传用户:13788529953
实时操作系统μC/OS-II是一种源代码公开、可移植、可固化、微小内核的嵌入式操作系统。它具有执行效率高、占用空间小、可移植性强、实时性能良好和可扩展性等特点。μC/OS-II非常适合应用在一些小型的嵌入式产品应用场合,在家用电器,机器人,医疗设备,工业控制,航空器等领域有着广泛的应用。 目前在我国的工业控制领域中,8位单片机依然有着广泛的应用,占据着非常重要的位置。而作为高性能,集成度高,运行速度快的C8051F系列单片机也越来越受到广泛的关注,并不断的应用于各种场合。同时,将μC/OS-II操作系统移植到C8051F系列单片机上,以其两者的完美结合实现更高性能要求的应用环境中就显得很有必要。
上传时间: 2013-10-21
上传用户:赵一霞a
摘要:随着网络技术和单片机技术的发展,嵌入式网络在远程控制领域拥有广泛的应用前景。文中以Atmega16单片机和CP2200网络芯片为硬件平台,设计和实现了一个面向远程工业控制领域的精简TCP/IP协议栈,包括ARP,IP,UDP及TCP等协议模块。文中给出了系统的硬件设计,详细论述了精简TCP/IP协议栈的实现方法,并给出了一个远程控制的应用实例。该系统具有低成本、易使用的特点。关键词:单片机 以太网 CP2200 TCP/IP
上传时间: 2013-11-13
上传用户:fac1003
介绍了基于TMS320F2812的智能数字调节器的设计, 该调节器利用处理器强大的数据运算、丰富的片内外设资源和实时控制能力, 实现了神经元自适应控制算法, 具有硬件电路简单、,耳靠性高等特点, 可广泛应用于工业控制领域。
上传时间: 2014-12-27
上传用户:unmwq