




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-. z基于uC/COS的直流电机PID转速闭环调速控制系统Proteus仿真实现在工业自动控制系统和各种智能产品中常常会用用电动机进展驱动、传动和控制,而现代智能控制系统中,对电机的控制要求越来越准确和迅速,对环境的适应要求越来越高。随着科技的开展,通过对电机的改造,出现了一些针对各种应用要求的电机,如伺服电机、步进电机、开关磁阻电机等非传统电机。但是在一些对位置控制要求不高的电机控制系统如传动控制系统中,传统电机如直流电机乃有很大的优势,而要对其进展准确而又迅速的控制,就需要复杂的控制系统。随着微电子和计算机的开展,数字控制系统应用越来越广泛,数字控制系统有控制准确,硬件实现简单,受环境影
2、响小,功能复杂,系统修改简单,有很好的人机交换界面等特点。在电机控制系统开发中,常常需要消耗各种硬件资源,系统构建时间长,而在调试时很难对硬件系统进展修改,从而延长开发周期。随着计算机仿真技术的出现和开展,可用计算机对电机控制系统进展仿真,从而减小系统开发开支和周期。计算机仿真可分为整体仿真和实时仿真。整体仿真是对系统各个时间段对各个对象进展计算和分析,从而对各个对象的变化情况有直观的整体的了解,即能对系统进展准确的预测,如Matlab就是一个典型的实时仿真软件。实时仿真是对时间点的动态仿真,即随着时间的推移它能动态仿真出当时系统的状态。Proteus是一个实时仿真软件,用来仿真各种嵌入式系统
3、。它能对各种微控制器进展仿真,本系统即用Proteus对直流电机控制系统进展仿真。 在系统软件开发中开发中可用操作系统,也可不用操作系统。如用操作系统,程序可实现模块化,并能对系统资源进展统筹管理,最主要的是可实现多任务运行。如果需要多任务并行运行,并且需要一定的时间间隔,*些任务对时间的要求不高时,如不用操作系统则要占用定时器资源,并且对栈空间和硬件资源很难进展管理,所以在这种情况下需要操作系统。本系统用操作系统uC/COS.uC/COS是一个完整的、可移植、可固化、可剪裁的占先式实时多任务核.uC/COS已经有很多产品成功使用的案例且得到美国军方的认证,说明了该系统的可靠性。uC/COS源
4、代码公开,代码短,源代码大局部是使用NSI C编写的,移植性和裁减性好,功能强大,能可靠应用于各种控制系统中。系统构成转速控制输入0832采样移植了uCCOS的LPC2106ARM微控制器波液晶显示51单片机仿真的电机电机驱动电路测速接口输入转矩硬件全图各子系统. 转速控制输入如用按键输入则需要复杂的软件实现,并且需要足够的引脚资源,本系统用ADC0832采样电位器上的电压信号来实现转速信号输入。2.LPC2106微控制器 LPC2106是Phlip公司推出的核心为ARM的控制器。LPC2106 包含一个支持仿真的ARM7TDMI-S CPU、与片存储器控制器接口的ARM7 局部总线、与中断控
5、制器接口的AMBA 高性能总线AHB和连接片外设功能的VLSI 外设总线VPB,ARMAMBA 总线的兼容超集。片有64K 字节静态RAM和128K的FLASH存储器。可寻址4GB。 在本仿真中LPC2106没加晶振电路,频率在芯片属性中设置。3.液晶显示本系统采用Proteus仿真库有的液晶显示模块AMPIRE128*64,为8192像素的单色LCD屏幕分为两半控制,控制引脚为CS1和CS2。数据通过移位存放器输入。4电机驱动电路 本系统仿真的是最大输入电压为12伏的微型电机,故用通用电机驱动电路实现假设该电路输入电阻为无穷大,输出电阻为0。5仿真电机的51单片机虽然Proteus有电机模块
6、,但其电机模块没有输出转速接口故用一单片机代替它,单片机用ADC0832采样输入的电压,经过处理即输出和真实电机同步的转速需要大量的浮点运算,可考虑用DSP。通过两个按键改变转矩没按一次增大或减小0.001,上面的是增大。6仿真结果仿真1.8秒钟后得下列图,可看到转速逐渐增大然后稳定下来。增大转矩后,可看到转速下降后又恢复7程序;1系统主程序:main.c/* 实时微型直流电机PID转速闭环调速控制系统程序(基于移植于LPC2106上的uc/cos实时操作系统)* 程序编写者: 吴斌* 编写日期: 2007年11月14日*/*include config.h*include LCD.h*def
7、ine TASK_STK_SIZE 512 /各任务栈大小*define IO_Init() PINSEL0= 2; IODIR|= 0*00007FB0; /P0.4P0.5P0.7-P1.4为输出其他的为输入*define Uma* 1000 /最大调节转速*define Kp 0.7 /比例放大系数*define Ts 0.03 /采样周期*define t0 4 /积分时间常数*define td 0.0005 /微分时间常数*define q0 Kp*(1+Ts*t0+td/Ts)*define q1 -Kp*(1+2*td/Ts) *define q2 Kp*td/Ts*defin
8、e ADC_DO 0*00000040 /P0.6*define ADC_CS 0*00000080 /P0.7*define ADC_CLK 0*00000100 /P0.8*define ADC_DI 0*00000200 /P0.9OS_STK Main_TaskStkTASK_STK_SIZE;OS_STK Task1_TaskStkTASK_STK_SIZE;OS_STK Task2_TaskStkTASK_STK_SIZE;OS_STK Task3_TaskStkTASK_STK_SIZE;OS_STK Task4_TaskStkTASK_STK_SIZE;/各任务栈OS_EVEN
9、T *Conbo*; /控制信号float n=0; / 输入转速float nb=0; / 反应转速void Main_Task(void *data);void Task1(void *p_arg);void Task2(void *p_arg);void Task3(void *p_arg);void Task4(void *p_arg); /函数声明void PWMInit(void) PWMPR = 0*00; / 不分频,计数频率为Fpclk PWMMCR = 0*02; / 设置PWMMR0匹配时复位PWMTCPWMMR0 = 2765; / 设置PWM周期 PWMMR1 = 0
10、; / 设置PWM占空比 PWMLER = 0*03; / PWMMR0、PWMMR1锁存 PWMPCR = 0*0200;/ 允许PWM1输出,单边PWM PWMTCR = 0*09; / 启动定时器,PWM使能PWMMR0 = 2765; / 设置PWM周期 PWMMR1 = 0; / 设置PWM占空比 PWMLER = 0*03; / PWMMR0、PWMMR1锁存/* 函数名称: main* 功能描述: c语言的主函数,由它启动多任务环境*/int main (void) OSInit(); OSTaskCreate(Main_Task, (void*)0, &Main_TaskStk
11、TASK_STK_SIZE - 1, 0); OSStart();return 0;/* 函数名称: Main_Task* 功能描述: 初始化系统及建立任务*/ void Main_Task(void *p_arg) p_arg = p_arg; / 防止编译警告 TargetInit(); IO_Init(); Conbo* = OSMbo*Create(void*)0); LCD_Main(); OSTaskCreate(Task1, (void *)0, &Task1_TaskStkTASK_STK_SIZE - 1, 2); OSTaskCreate(Task2, (void *)0,
12、 &Task2_TaskStkTASK_STK_SIZE - 1, 3); OSTaskCreate(Task3, (void *)0, &Task3_TaskStkTASK_STK_SIZE - 1, 1); OSTaskCreate(Task4, (void *)0, &Task4_TaskStkTASK_STK_SIZE - 1, 5); OSTaskSuspend(0);/* 函数名称: Task1_Task* 功能描述: 实时任务,负责采样和处理数据*/ void Task1(void *p_arg) float us;/上次输出控制信号 float es;/上次采样误差信号 flo
13、at es2 = 0;/上次的上次的采样误差信号 uint32 nj;/采样转速信号 float u;/此次输出控制信号 float e;/此次采样误差信号 p_arg = p_arg; PWMInit();/PWM初始化 while(1) nj=IOPIN16; nb=(float)nj/10;/采样反应转速 e=n-nb;u=us+q0*e+q1*es+q2*es2;/PID处理if(u=Uma*)u=Uma*;es2=es;es=e;us=u; OSMbo*Post(Conbo*,(void*)&u); /发送处理后的信号OSTimeDlyHMSM(0,0,0,30); /* 函数名称:
14、 Task2_Task* 功能描述: 根据控制信号输出PWM波*/ void Task2(void *p_arg) uint8 err; float *nh; p_arg = p_arg; while(1) nh=(float*)OSMbo*Pend(Conbo*,0,&err); if(*nh=Uma*-0.5) PWMMR0 = 2765; PWMMR1= 2764;PWMLER = 0*03;else PWMMR0 = 2765; PWMMR1=(uint32)(*nh/Uma*2765);PWMLER = 0*03; void Delay(uint8 n) /延时函数 uint8 i;
15、 for(i=1;i=n;i+); /* 函数名称: Task3_Task* 功能描述: 定时采样输入的转速要求(0832采样)*/ void Task3(void *p_arg) uint8 ch,i,flag=0; p_arg=p_arg; ch=0; IOCLR=ADC_CS; IOCLR=ADC_DI;/片选,DO为高阻态 for(i=0;i10;i+) ;IOCLR=ADC_CLK; Delay(4); IOSET=ADC_DI; IOSET=ADC_CLK; Delay(4); /第一个脉冲,起始位 IOCLR=ADC_CLK; Delay(4); IOSET=ADC_DI; IO
16、SET=ADC_CLK; Delay(4); /第二个脉冲,DI=1表示双通道单极性输入 IOCLR=ADC_CLK; Delay(4); IOSET=ADC_DI; IOSET=ADC_CLK; Delay(4); /第三个脉冲,DI=1表示选择通道1CH2 IOCLR=ADC_DI; /DI转为高阻态,DO脱离高阻态为输出数据作准备 IOSET=ADC_CLK; Delay(4); IOCLR=ADC_CLK; Delay(4); /经实验,这里加一个脉冲AD便能正确读出数据 for (i=0; i8; i+) IOSET=ADC_CLK; Delay(4); IOCLR=ADC_CLK;
17、 Delay(4); if(IOPIN & ADC_DO)!=0) ch=(ch1)|1;/在每个脉冲的下降沿DO输出一位数据,最终ch为8位二进制数 else ch=(ch1)|0; IOSET=ADC_CS; n=(float)ch*1000/256; if(flag=0) flag=1; OSTaskChangePrio(1,4); OSTimeDlyHMSM(0,0,0,300);/* 函数名称: Task4_Task* 功能描述: 液晶显示任务*/ void Task4(void *p_arg) *if OSCRITICAL_METHOD =3 OS_CPU_SR cpu_sr; *
18、endifuint16 w,q,k; uint8 i; uint8 shu16,shu26; p_arg=p_arg; for(;) shu14=10; w=(uint16)(n*10); k=10000; for(i=0;i4;i+) shu1i=(uint8)(w/k); w=w%k;k=k/10; shu15=(uint8)w; OS_ENTER_CRITICAL(); LCD_num(80,2,shu1,6); shu24=10; q=(uint16)(nb*10); k=10000; for(i=0;i4;i+) shu2i=(uint8)(q/k); q=q%k;k=k/10; s
19、hu25=(uint8)q; LCD_num(80,4,shu2,6); OS_E*IT_CRITICAL(); OSTimeDlyHMSM(0,0,0,100); /* End Of File*/2.自编的LCD驱动程序 (1)头文件LCD.h/* LCD驱动头文件LCD.h(基于LPC21*)* 程序编写者: 吴斌* 编写日期: 2007年11月12日*/*ifndef _LCD_H_*define _LCD_H_*include config.h*define SPI_CLK0*00000010/P0.4 *define SPI_DATA0*00000020/P0.5 *define R
20、W 0*00000800 /RW*define RS 0*00000400 /RS*define CS1 0*00001000 /CS1*define CS2 0*00002000 /CS2*define E 0*00004000 /E*define Kai 0*3F*define Guang 0*3E*define Hang 0*C0*define Ye 0*B8*define Lie 0*40*define Setlie(a) IOCLR = RW; IOCLR = RS; send(Lie+a);*define Setye(a) IOCLR = RW; IOCLR = RS; send(
21、Ye+a);*define Setweizi(a,b) IOCLR = RW; IOCLR = RS; send(Lie+a); send(Ye+b);*define Write(a) IOCLR = RW; IOSET = RS; send(a);void send(uint8 dat);void LCD_disp(uint8 a,uint8 b,uint8 c,uint8 d,uint8 m,uint8 *shuju);void SetCS(uint8 a);void LCD(uint8 a,uint8 b,uint8 c,uint8 d, uint8 *shuju);void LCD_n
22、um(uint8 a,uint8 b,uint8 *shuju,uint8 n);void LCD_str(uint8 a,uint8 b,uint8 *strtab,uint8 n);void LCD_hanzi(uint8 a,uint8 b,uint8 *hanzitab,uint8 n);void LCD_*ian(uint8 a,uint8 b,uint8 *strtab,uint8 n);void LCD_Main(void);*endif/* End Of File*/ (2)LCD驱动程序LCD.c/* LCD驱动程序(基于LPC21*)* 程序编写者: 吴斌* 编写日期: 2
23、007年11月12日*/*includeLCD.hvoid send(uint8 dat) /用移位存放器输出一字节数据 uint8 i; IOSET = E; / E = 1 for(i=0; i8; i+)/ 发送8位数据 IOCLR = SPI_CLK;/ SPI_CLK = 0 if( (dat&0*80)!=0 ) IOSET = SPI_DATA; else IOCLR = SPI_DATA; dat = 1; IOSET = SPI_CLK;/ SPI_CLK = 1 IOCLR = E; / E = 0void LCD_disp(uint8 a,uint8 b,uint8 c,
24、uint8 d,uint8 m,uint8 *shuju)/*LCD显示函数,在第a列b页输出大小为c*d的图像(只能选择在左或右屏幕显示) */uint8 i,j,f; SetCS(m); for(j=0;jd;j+) Setweizi(a,j+b); for(i=0;ic;i+) Write(*(shuju+i); for(f=0;f0*FF;f+); void SetCS(uint8 a) if(a=0) IOSET =CS2; IOCLR =CS1; else IOSET =CS1; IOCLR =CS2; void LCD(uint8 a,uint8 b,uint8 c,uint8
25、d, uint8 *shuju) /*LCD主显示函数,在第a列b页输出大小为c*d的图像*/uint8 i,j,m,f,n; uint8 *p=shuju; if(a+c=64) SetCS(0); for(j=0;jd;j+) Setweizi(a,j+b); for(i=0;ic;i+) Write(*p); p+; for(f=0;f0*FF;f+); else if(a64) m=64-a; n=c-m; for(j=0;jd;j+) SetCS(0); Setweizi(a,j+b); for(i=0;im;i+) Write(*p); p+; for(f=0;f0*FF;f+);
26、 SetCS(1);Setweizi(0,j+b); for(i=0;in;i+) Write(*p); p+; for(f=0;f0*FF;f+); else SetCS(1); for(j=0;jd;j+) Setweizi(a-64,j+b); for(i=0;ic;i+) Write(*p); p+; for(f=0;f0*FF;f+); void LCD_num(uint8 a,uint8 b,uint8 *shuju,uint8 n)/*在第a列b页显示shuju数组的数字或小数点和空格*/uint8 numzimo192=0*FF,0*1F,0*EF,0*F7,0*F7,0*EF
27、,0*1F,0*FF,0*FF,0*F0,0*EF,0*DF,0*DF,0*EF,0*F0,0*FF, /*0,0*/0*FF,0*EF,0*EF,0*07,0*FF,0*FF,0*FF,0*FF,0*FF,0*DF,0*DF,0*C0,0*DF,0*DF,0*FF,0*FF,/*1,1*/0*FF,0*8F,0*F7,0*F7,0*F7,0*77,0*8F,0*FF,0*FF,0*CF,0*D7,0*DB,0*DD,0*DE,0*CF,0*FF,/*2,2*/0*FF,0*CF,0*F7,0*77,0*77,0*B7,0*CF,0*FF,0*FF,0*E7,0*DF,0*DF,0*DF,0*
28、EE,0*F1,0*FF,/*3,3*/0*FF,0*FF,0*3F,0*DF,0*EF,0*07,0*FF,0*FF,0*FF,0*F8,0*FB,0*DB,0*DB,0*C0,0*DB,0*FF,/*4,4*/0*FF,0*07,0*F7,0*77,0*77,0*F7,0*F7,0*FF,0*FF,0*E6,0*DE,0*DF,0*DF,0*EE,0*F1,0*FF,/*5,5*/0*FF,0*1F,0*EF,0*77,0*77,0*E7,0*FF,0*FF,0*FF,0*F0,0*EE,0*DF,0*DF,0*EE,0*F1,0*FF,/*6,6*/0*FF,0*C7,0*F7,0*F7
29、,0*37,0*C7,0*F7,0*FF,0*FF,0*FF,0*FF,0*C0,0*FF,0*FF,0*FF,0*FF,/*7,7*/0*FF,0*8F,0*77,0*F7,0*F7,0*77,0*8F,0*FF,0*FF,0*E3,0*DD,0*DE,0*DE,0*DD,0*E3,0*FF,/*8,8*/0*FF,0*1F,0*EF,0*F7,0*F7,0*EF,0*1F,0*FF,0*FF,0*FF,0*CE,0*DD,0*DD,0*EE,0*F0,0*FF,/*9,9*/0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*CF,0*CF,0*F
30、F,0*FF,0*FF,0*FF,0*FF,/*.,10*/0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF;/* ,11*/ uint8 i,f; uint8 *p; for(i=0;in;i+) f=*(shuju+); p=numzimo+f*16; LCD(a,b,8,2,p); a=a+8; void LCD_str(uint8 a,uint8 b,uint8 *strtab,uint8 n) /*在第a列b页显示ASCII字符串(要点阵数据)*/uint8 i; for(i
31、=0;in;i+) LCD(a,b,8,2,strtab); a=a+8; strtab=strtab+16; void LCD_hanzi(uint8 a,uint8 b,uint8 *hanzitab,uint8 n) /*在第a列b页显示汉字串(要点阵数据)*/uint8 i; for(i=0;in;i+) LCD(a,b,16,2,hanzitab); a=a+16; hanzitab=hanzitab+32; void LCD_*ian(uint8 a,uint8 b,uint8 *strtab,uint8 n) /显示ASCII字符串到顶时换行uint8 m; if(a+(n-1)
32、*80) m=a/8+1+n-16; else m=a/8+n-16; LCD_str(a,b,strtab,n-m); LCD_str(0,b+2,strtab+16*(n-m),m); void LCD_Main(void) /本系统显示主界面uint8 i;uint8 zifu80=0*F7,0*07,0*F7,0*FF,0*FF,0*F7,0*07,0*F7,0*FF,0*E0,0*DF,0*DF,0*DF,0*DF,0*E0,0*FF,/*U,0*/0*FF,0*FF,0*FF,0*FF,0*7F,0*9F,0*E7,0*FB,0*FF,0*9F,0*E7,0*F9,0*FE,0*F
33、F,0*FF,0*FF,/*/,1*/0*FF,0*FF,0*FF,0*7F,0*7F,0*7F,0*FF,0*FF,0*FF,0*F1,0*EE,0*DF,0*DF,0*DF,0*EE,0*FF,/*c,2*/0*FF,0*FF,0*7F,0*7F,0*7F,0*7F,0*FF,0*FF,0*FF,0*E0,0*DF,0*DF,0*DF,0*DF,0*E0,0*FF,/*o,3*/0*FF,0*FF,0*7F,0*7F,0*7F,0*7F,0*7F,0*FF,0*FF,0*CC,0*DB,0*DB,0*DB,0*DB,0*E6,0*FF;/*s,4*/uint8 inputn160=0*BB
34、,0*0B,0*B0,0*1B,0*BB,0*9B,0*6F,0*67,0*6B,0*6C,0*EB,0*67,0*F7,0*2F,0*EF,0*FF,0*FB,0*FB,0*FB,0*00,0*FD,0*FD,0*00,0*B5,0*75,0*80,0*FF,0*C0,0*7F,0*00,0*FF,0*FF,/*输,0*/0*FF,0*FF,0*FF,0*FF,0*FE,0*7C,0*89,0*E7,0*9F,0*7F,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*BF,0*DF,0*EF,0*F7,0*F9,0*FE,0*FF,0*FF,0*FF,0*FF,0*FC,0*
35、FB,0*E7,0*CF,0*EF,0*FF,/*入,1*/0*37,0*57,0*63,0*14,0*77,0*77,0*77,0*BF,0*B7,0*07,0*B0,0*B7,0*B7,0*B7,0*BF,0*FF,0*F7,0*F7,0*FB,0*00,0*FB,0*FB,0*FF,0*FD,0*F4,0*ED,0*DD,0*2D,0*F1,0*FD,0*FF,0*FF,/*转,2*/0*BF,0*BD,0*33,0*FF,0*FB,0*1B,0*DB,0*DB,0*0,0*DB,0*DB,0*DB,0*1B,0*FB,0*FF,0*FF,0*BF,0*DF,0*E0,0*DF,0*B7
36、,0*B6,0*BA,0*BC,0*80,0*BE,0*BC,0*BA,0*B2,0*BF,0*BF,0*FF,/*速,3*/0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*C9,0*C9,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF;/*:,4*/uint8 outputn160=0*BB,0*0B,0*B0,0*1B,0*BB,0*9B,0*6F,0*67,0*6B,0*6C,0*E
37、B,0*67,0*F7,0*2F,0*EF,0*FF,0*FB,0*FB,0*FB,0*00,0*FD,0*FD,0*00,0*B5,0*75,0*80,0*FF,0*C0,0*7F,0*00,0*FF,0*FF,/*输,0*/0*FF,0*FF,0*03,0*BF,0*BF,0*BF,0*BF,0*00,0*BF,0*BF,0*BF,0*BF,0*BF,0*03,0*FF,0*FF,0*FF,0*FF,0*81,0*DF,0*DF,0*DF,0*DF,0*C0,0*DF,0*DF,0*DF,0*DF,0*DF,0*81,0*FF,0*FF,/*出,1*/0*37,0*57,0*63,0*14
38、,0*77,0*77,0*77,0*BF,0*B7,0*07,0*B0,0*B7,0*B7,0*B7,0*BF,0*FF,0*F7,0*F7,0*FB,0*00,0*FB,0*FB,0*FF,0*FD,0*F4,0*ED,0*DD,0*2D,0*F1,0*FD,0*FF,0*FF,/*转,2*/0*BF,0*BD,0*33,0*FF,0*FB,0*1B,0*DB,0*DB,0*0,0*DB,0*DB,0*DB,0*1B,0*FB,0*FF,0*FF,0*BF,0*DF,0*E0,0*DF,0*B7,0*B6,0*BA,0*BC,0*80,0*BE,0*BC,0*BA,0*B2,0*BF,0*B
39、F,0*FF,/*速,3*/0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*C9,0*C9,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF,0*FF;/*:,4*/ uint8 *inhao16=0*BF,0*BF,0*7F,0*0F,0*7F,0*BF,0*BF,0*FF,0*FD,0*FD,0*FE,0*F0,0*FE,0*FD,0*FD,0*FF;/*,0*/ LCD_str(44,0,zif
40、u,5); LCD_hanzi(0,2,inputn,5); LCD_hanzi(0,4,outputn,5); for(i=0;i16;i+) LCD_str(i*8,6,*inhao,1); /* End Of File*/3. 用AT89S52单片机仿真直流电动机程序/* 用AT89S52单片机仿真直流电动机程序* 程序编写者: 吴斌* 编写日期: 2007年11月11日*/ *include *include *include *define La 0.1/电枢电感 *define CeQ 0.005 *define CmQ 0.2/ *define Ja 0.0000018/转动惯量 *define Ra 10 *define Ra-La 11.9 sbit ADC_CS =P34; sbit ADC_CLK=P35; sbi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Objective-C并行编程技术研究-全面剖析
- 环境因素与人体健康关系-全面剖析
- 2025-2030碳排放交易行业发展分析及前景趋势与投资研究报告
- 2025-2030真空镀膜机市场前景分析及投资策略与风险管理研究报告
- 2025-2030灰肥市场发展分析及行业投资战略研究报告
- 2025-2030湿纸巾行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030洗涤用品市场发展分析及行业投资战略研究报告
- 2025-2030汽车电梯行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030气压开关行业行业风险投资发展分析及投资融资策略研究报告
- 2025-2030橘子馅行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 北京小客车指标车牌租赁协议模板
- 2025年浙江省杭州市余杭区中考语文模拟试卷含答案
- 2025道德讲堂课件
- 广东省2025年普通高等学校招生全国统一考试模拟测试(一)英语试题及答案
- 学生心理健康一生一策档案表
- 世界职业院校技能大赛中职组“养老照护组”赛项参考试题及答案
- DL-T5190.1-2022电力建设施工技术规范第1部分:土建结构工程
- 住宅改为经营性用房证明(参考样本)
- BD 420008-2015 全球卫星导航系统(GNSS)导航电子地图应用开发中间件接口规范
- GCP相关人员职责
- 车辆二级维护计划
评论
0/150
提交评论