该论文《基于LabVIEW的热电空调温度模糊控制系统的研究》是优秀硕士学位论文。 主要内容如下: 1.阐述了热电制冷的基本原理,并对热电制冷的热力学特性和极限工况进行了分析与计算。 2.根据热电空调的温度控制要求选取了适用于系统的模糊控制规则,并在LabVIEW环境下完成了对模糊控制器的设计并进行了输入输出性能测试。 3.在研究信号采集和调理技术的基础上,结合信号调理设备实现了在LabVIEW环境下热电空调温度监测子系统的软件设计。 4.完成了热电空调供电子系统的PWM直流斩波调压电路的设计及LabVIEW环境下硬件电路控制的程序设计 利用PSpice对PWM直流斩波调压电路进行了硬件...
上传时间: 2014-01-17
上传用户:BIBI
将魔王的语言抽象为人类的语言:魔王语言由以下两种规则由人的语言逐步抽象上去的:α-〉β1β2β3…βm ;θδ1δ2…-〉θδnθδn-1…θδ1 设大写字母表示魔王的语言,小写字母表示人的语言B-〉tAdA,A-〉sae,eg:B(ehnxgz)B解释为tsaedsaeezegexenehetsaedsae对应的话是:“天上一只鹅地上一只鹅鹅追鹅赶鹅下鹅蛋鹅恨鹅天上一只鹅地上一只鹅”。(t-天d-地s-上a-一只e-鹅z-追g-赶x-下n-蛋h-恨)
上传时间: 2013-12-19
上传用户:aix008
本设计以P89V51RD2FN单片机为电动小车的控制核心,采用MSA-LD2.0倾角传感器实时测量跷跷板的倾斜角,用ST198光电传感器检测黑色引导线监测小车运动。光电传感器和倾角传感器模块把实时测量信号馈送至单片机,利用专用细分芯片TA8435H驱动步进电机,以脉宽调制式斩波方式对步进电机步进角进行细分,控制和调节小车速度。采用增量式PID控制算法确保小车能够达到平衡;用RT128×64M液晶显示时间、角度等参数。经测试表明:小车各项性能指标达到设计要求,能够实现30秒内小车行驶到规定点,并保持跷跷板平衡;在跷跷板一端配重可调整的情况下,小车也能自动找到平衡点并保持跷跷板平衡。
上传时间: 2013-12-07
上传用户:lwwhust
【问题描述】 在一个N*N的点阵中,如N=4,你现在站在(1,1),出口在(4,4)。你可以通过上、下、左、右四种移动方法,在迷宫内行走,但是同一个位置不可以访问两次,亦不可以越界。表格最上面的一行加黑数字A[1..4]分别表示迷宫第I列中需要访问并仅可以访问的格子数。右边一行加下划线数字B[1..4]则表示迷宫第I行需要访问并仅可以访问的格子数。如图中带括号红色数字就是一条符合条件的路线。 给定N,A[1..N] B[1..N]。输出一条符合条件的路线,若无解,输出NO ANSWER。(使用U,D,L,R分别表示上、下、左、右。) 2 2 1 2 (4,4) 1 (2,3) (3,3) (4,3) 3 (1,2) (2,2) 2 (1,1) 1 【输入格式】 第一行是数m (n < 6 )。第二行有n个数,表示a[1]..a[n]。第三行有n个数,表示b[1]..b[n]。 【输出格式】 仅有一行。若有解则输出一条可行路线,否则输出“NO ANSWER”。
标签: 点阵
上传时间: 2014-06-21
上传用户:llandlu
实验源代码 //Warshall.cpp #include<stdio.h> void warshall(int k,int n) { int i , j, t; int temp[20][20]; for(int a=0;a<k;a++) { printf("请输入矩阵第%d 行元素:",a); for(int b=0;b<n;b++) { scanf ("%d",&temp[a][b]); } } for(i=0;i<k;i++){ for( j=0;j<k;j++){ if(temp[ j][i]==1) { for(t=0;t<n;t++) { temp[ j][t]=temp[i][t]||temp[ j][t]; } } } } printf("可传递闭包关系矩阵是:\n"); for(i=0;i<k;i++) { for( j=0;j<n;j++) { printf("%d", temp[i][ j]); } printf("\n"); } } void main() { printf("利用 Warshall 算法求二元关系的可传递闭包\n"); void warshall(int,int); int k , n; printf("请输入矩阵的行数 i: "); scanf("%d",&k); 四川大学实验报告 printf("请输入矩阵的列数 j: "); scanf("%d",&n); warshall(k,n); }
上传时间: 2016-06-27
上传用户:梁雪文以
#include "iostream" using namespace std; class Matrix { private: double** A; //矩阵A double *b; //向量b public: int size; Matrix(int ); ~Matrix(); friend double* Dooli(Matrix& ); void Input(); void Disp(); }; Matrix::Matrix(int x) { size=x; //为向量b分配空间并初始化为0 b=new double [x]; for(int j=0;j<x;j++) b[j]=0; //为向量A分配空间并初始化为0 A=new double* [x]; for(int i=0;i<x;i++) A[i]=new double [x]; for(int m=0;m<x;m++) for(int n=0;n<x;n++) A[m][n]=0; } Matrix::~Matrix() { cout<<"正在析构中~~~~"<<endl; delete b; for(int i=0;i<size;i++) delete A[i]; delete A; } void Matrix::Disp() { for(int i=0;i<size;i++) { for(int j=0;j<size;j++) cout<<A[i][j]<<" "; cout<<endl; } } void Matrix::Input() { cout<<"请输入A:"<<endl; for(int i=0;i<size;i++) for(int j=0;j<size;j++){ cout<<"第"<<i+1<<"行"<<"第"<<j+1<<"列:"<<endl; cin>>A[i][j]; } cout<<"请输入b:"<<endl; for(int j=0;j<size;j++){ cout<<"第"<<j+1<<"个:"<<endl; cin>>b[j]; } } double* Dooli(Matrix& A) { double *Xn=new double [A.size]; Matrix L(A.size),U(A.size); //分别求得U,L的第一行与第一列 for(int i=0;i<A.size;i++) U.A[0][i]=A.A[0][i]; for(int j=1;j<A.size;j++) L.A[j][0]=A.A[j][0]/U.A[0][0]; //分别求得U,L的第r行,第r列 double temp1=0,temp2=0; for(int r=1;r<A.size;r++){ //U for(int i=r;i<A.size;i++){ for(int k=0;k<r-1;k++) temp1=temp1+L.A[r][k]*U.A[k][i]; U.A[r][i]=A.A[r][i]-temp1; } //L for(int i=r+1;i<A.size;i++){ for(int k=0;k<r-1;k++) temp2=temp2+L.A[i][k]*U.A[k][r]; L.A[i][r]=(A.A[i][r]-temp2)/U.A[r][r]; } } cout<<"计算U得:"<<endl; U.Disp(); cout<<"计算L的:"<<endl; L.Disp(); double *Y=new double [A.size]; Y[0]=A.b[0]; for(int i=1;i<A.size;i++ ){ double temp3=0; for(int k=0;k<i-1;k++) temp3=temp3+L.A[i][k]*Y[k]; Y[i]=A.b[i]-temp3; } Xn[A.size-1]=Y[A.size-1]/U.A[A.size-1][A.size-1]; for(int i=A.size-1;i>=0;i--){ double temp4=0; for(int k=i+1;k<A.size;k++) temp4=temp4+U.A[i][k]*Xn[k]; Xn[i]=(Y[i]-temp4)/U.A[i][i]; } return Xn; } int main() { Matrix B(4); B.Input(); double *X; X=Dooli(B); cout<<"~~~~解得:"<<endl; for(int i=0;i<B.size;i++) cout<<"X["<<i<<"]:"<<X[i]<<" "; cout<<endl<<"呵呵呵呵呵"; return 0; }
标签: 道理特分解法
上传时间: 2018-05-20
上传用户:Aa123456789
在我国煤矿的生产过程中,人员和设备的安全始终是煤矿开采最为关心的问题,煤矿井下瓦斯气体所引起的爆炸事故,会造成巨大的人员和财产损失其中甲烷气体是瓦斯气体的最主要的成分。传统上的甲烷气体检测大都采用化学检测方法,但是该种方法存在很多不足,人们开始研究采用光学方法代替化学检测的方法。本文采用了基于蚂蚁算法的光谱吸收光纤监测系统对甲烷气体实施监测本论文通过对瓦斯气体(主要成分是甲烷)检测技术的历史发展背景和国内外刈其研究现状的介绍,对于传统的甲烷气体检测系统中存在的缺陷和局限性问题分析,提出了基于蚂蚁算法的光谱吸收光纤甲烷隘测系统。首先介绍了气体光谱吸收原理和蚂蚁算法的基本原理,然后详细说明了蚂蚁BP神经网络算法,系统采用了型号为 MXSLD-CS65M5A的激光器,斩波器,测量气室等甲烷气体传感器系统,通过使用蚂蚁BP神经网络算法对测量数据进行优化设计,最后选用 Labview软件对数据进行测量显示,测试系统运行的可行性。通过实验,检验了基于蚂蚁算法的光谱吸收光纤甲烷传感系统的效果,本系统的实验测试数据可以通过 LabView软件的设计进行保存,对甲烷气体浓度的检测达到良好的运行效果,系统具有实时监测和自动报警功能。研究基于蚂蚁算法的光谱吸收光纤甲烷传感系统对于煤矿安全生产具有十分重要的意义和应用前景。
标签: 蚂蚁算法
上传时间: 2022-03-10
上传用户:canderile
基于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
本文所研究的课题是电磁炉IGBT驱动智能同步系统的设计,并在同步系统的基础上引入电磁炉的低功率连续加热设计。论文介绍了电磁炉的发展历史和工作原理,并基于美的电磁炉的硬件设计,介绍了美的电磁炉的硬件模块电路设计和美的定制的单片机以及关键程序结构等等。目的是为了开发一款能够自动识别使用时不同锅具的特性,从而根据程序功能程序智能调功率的电磁炉具有低成本、多功能、低功率连续加热等优点,具有一定的市场竞争力。 电磁炉的发展已经完全进入了其产品演化的成熟阶段,近年来各大品牌都没有太大的技术创新,创新更多的是在优化产品使用体验及成本上优化方面。论文从产品智能化的角度,先从实现电磁炉的IGBT驱动智能同步,来实现锅具的自动识别出发,找系统中的一个状态及功率基准点,以此基准点来实现电磁炉功率及功能的智能化操作。在此研究,先是对基本电路方案进行研究,对IGBT驱动智能同步方案进行研究,并且在实现过程中,引入了过零启动方案,从而更好的实现了IGBT的热损耗管理。由此,看到了低成本实现电磁炉低功率连续加热的可能性,并对此研究了斩波方案,同时为了解决噪音问题,从多种方案中选择了台阶驱动方案进行研究。 IGBT驱动的智能同步,更是让电磁炉可以直接识别不同的锅具,且都有赋予其良好的加热控制,这个完美的解决了当前电磁炉的一个痛点。低功率连续加热的实现更是解决了当前电磁炉的另一个痛点。同时由于方案都是基础研究方案,可以全平台导入,且各方案相对独立,可以根据实际需求拆开来导入。
上传时间: 2022-05-29
上传用户:
随着经济发展,步进电机在工业生产与社会生活中的应用越来越广泛,对精度的要求也在不断提高。日益扩展的实际应用需求,不仅对步进电机结构提出了更高的要求,而且对步进电机的驱动控制也提出了更高的要求。虽然步进电机存在很多的优点,但是实际应用起来也有许多的不方便,很大程度上是受到步进电机驱动器的限制。步进电机的应用必须选用与之匹配的步进电机驱动器,以满足电机对不同电流大小的要求。而且现在的很多控制器不够智能化,实际应用中,除了要选用专门的驱动器之外,还要配备一个控制器,来发送一些脉冲,或者调节一些步进电机的运行参数。大多数驱动器都无法满足高精度高效控制的需求,这些驱动器没能更好的开发出步进电机的细分等方面的潜能。由上述可知,目前常用驱动器缺乏普适性,电流大小无法满足不同类型电机的要求,细分分辨率不高,斩波频率不可调,保护功能不足,智能化程度不高。 针对步进电机存在的上述问题,本课题设计了性能较为优越的步进电机驱动系统。该驱动器采用了恒流驱动与细分驱动的原理,结合单片机与电力电子应用技术,来提高驱动器的性能。该步进电机驱动系统,硬件上包括STM32与LV8726专用芯片组成的控制电路、功率放大电路、光耦隔离电路以及USB转串口的通信电路。软件上使用VB6.0编写了驱动器的控制应用程序,通过上位机实时控制步进电机的运行状态,以提高智能化的程度。 对整个系统的测试表明,电机的实际输出波形与理论输出波形接近。优化的加速曲线的设计,使得电机在高速启动的时候,不会出现失步或者堵转的情况。通过上位机的界面,可以实时控制步进电机在各种参数下运行,并实时地切换运行状态,运行参数主要包括步进电机的速度,加速度,步距角细分,绕组电流,正反转,启动和停止,电流衰减率,上下桥臂切换的死区时间等参数。驱动器除具备以上功能之外,还具备多种保护功能,如欠压保护,过流保护,过温报警等功能。该驱动器能够驱动多种不同类型的步进电机,具有更高的输出电流,电流无极可调,具有更高的细分分辨率。能够满足多场合下,高精度高效的应用需求。
上传时间: 2022-05-29
上传用户:qdxqdxqdxqdx