


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.2015 年全国大学生电子设计竞赛风板控制装置(I 题)【高职高专组】2015年 8月 15日精品.摘要本系统通过对直流小风扇风速的调节实现对风板转角的控制,使风板转角能够随风速变化而改变,且能快速达到设定角度并稳定。IAP15F2K61S2 单片机为控制核心,通过键盘设定风板板角度 12864 实时显示风板当前角度。单片机输出 PWM 波控制风扇的风速, 通过GY521mpu-6050 测量风板的倾角反馈至单片机,采用PID 控制经典算法,使系统实现精确控制,然后微调小风扇的转速改变风速的大小使风板角度达到稳定。并且在达到设定范围时进行声光提示。 通过调试与测试, 实现了基本部分与发挥部分
2、,最终实现在悬挂重物的情况下风板能达到设定角度控制,且最终绝对值误差不超过5 度 .关键字: 1602; GY521mpu-6050;PWM;PID 算法。目录1 系统方案11.1 角度测量方案选择11.2 风扇控制方案选择2精品.1.3显示方案选择21.4控制器方案选择22 系统理论分析与计算32.1 风扇调试原理32.2 角度测量原理32.3 PID 控制算法的分析33 电路与程序设计43.1 电路的设计43.1.1 系统总体框图43.1.2 角度检测电路43.1.3 风扇驱动电路53.1.4 按键及显示电路53.1.5 电源电路63.2程序的设计63.2.1程序功能描述与设计思路63.2
3、.2程序流程图64 测试方案与测试结果 74.1测试方法与仪器74.2测试过程及数据74.3测试分析与结论8附录 1:电路原理图10附录 2:实物图11精品.1 系统方案根据题目要求,本系统可以分为控制部分和信号检测部分.控制部分则包括显示模块、按键模块、声光报警模块、 风扇驱动模块四个基本部分。信号检测部分为角度测量模块, 测量风板的角度。下面分别论证这几个模块的选择。1.1 角度测量方案选择方案一:采用 MMA7260 重力加速度传感器,由于加速度传感器在静止放置时受到重力作用,因此会有1g 的重力加速度。利用这个性质,通过测量重力加速度在加速度传感器的X 轴和 Y 轴上的分量, 可以计算
4、出其在垂直平面上的倾斜角度。根据如图1.1 所示,有 Ax = gsin,Ay =gcos。则 =tan 即 =arctan().这样,根据以上原理一个2 轴加速度传感器可以测量在 X-Y 平面上的倾斜角度。该方案原理简单,操作方便,但使用起来运算量较大,程序较为复杂,对于单片机来说,会显得有点吃力,因此我们放弃选用该方案。图 1.1 加速度传感器角度测量原理方案二: MPU-6000 为全球首例整合性6 轴运动处理组件,相较于多组件方案,免除了组合陀螺仪与加速器时之间轴差的问题,减少了大量的包装空间。MPU-6000 能以数字输出6 轴或 9 轴的旋转矩阵、 四元数 (quaternion)
5、、欧拉角格式 (Euler Angle forma) 的融合演算数据。内建之运作时间偏差与磁力感测器校正演算技术,免除了客户须另外进行校正的需求。符合设计要求,同时也是我们平时有接触的模块。故综合考虑实际中选择方案二。1.2 风扇控制方案选择方案一:采用可控硅控制调速,通过控制双向可控硅的导通角,使输出端电压发生改变,从而使施加在电风扇的输入电压发生改变,以调节风扇的转速,实现各档位风速的无级调速。但可控硅控制控制原理决定了只能滞后触发,因此,晶闸管可控制整流器对交流电源来说相当于一个感性负载,吸取滞后的无功电流,因此功率因素低。并且晶闸管整流装置的输出电压是脉动的, 而且脉波数总是有限的。如
6、果主电路电感不是非常大,则输出电流总存在连续和断续两种情况,因而机械特性也有连续和断续两段,因此功率因素低,故我们不选用该方案。精品.方案二:采用直流斩波控制,改变电压输出开关断时间,将直流电源电压断续加到负载上,即可实现风扇调速控制,它具有效率高、体积小、 成本低等优点。 我们可以采用单片机由软件来实现 PWM 波,简化系统硬件设计,通过改变PWM 波的占空比的值即可改变电枢端电压的平均值从而达到调速的目的。再加上 PID 算法控制, 而整个系统的PWM 波形的产生是通过 PID 算法调节,这样提高了系统的稳定性和可靠性,让系统控制更加精确。故综合考虑实际中选择方案二。1.3 显示方案选择方
7、案一:使用数码管显示,通过数码管显示被测角度和设定角度。该方案程序简单,但硬件占用单片机 I/O 口较多,对于尽量节约端口,让线路简单来说不是好方法,而且显示也不够直观灵活,只能显示数字,不能显示汉字显示功能提示,故不适合本次设计应用。方案二:使用液晶屏LCD1602,具有体积小,使用方便等特点。并且可以显示字母,数字等功能,观察显示很直观,通过字幕显示各种菜单界面、设定角度、测量角度等。该方案程序较复杂,但显示观察清晰,显示直接明白,完全符合本系统设计功能。故为最佳方案,我们选择方案二。方案二:使用液晶屏LCD1602,具有体积小,使用方便等特点。并且可以显示字母,数字等功能,观察显示很直观
8、,通过字幕显示各种菜单界面、设定角度、测量角度等。该方案程序较复杂,但显示观察清晰,显示直接明白,完全符合本系统设计功能。故为最佳方案,我们选择方案二。1.4 控制器方案选择方案一:采用FPGA (现场可编程门阵列)作为系统的控制器;将所有的器件集成在一块芯片上,这样外围电路较少,控制板的体积小,稳定性高,扩展性能好;而且FPGA 采用并行的输入 / 输出方式,系统处理速度快,再加上FPGA 有方便的开发环境和丰富的开发工具等资源可利用,易于调试;但是FPGA得成本偏高,算术运算能力不强,而本设计系统的设计会用到较多算术运算,所以FPGA 的高速处理的优势得不到充分体现。方案二: 采用 STC
9、 公司的 IAP15F2K61S2 单片机作为系统的控制器。单片机算术运算功能强, 软件编程灵活,可用软件较简单的实现各种算术和逻辑控制,并且由于其成本低,体积小和功耗低等优点,使其在各个领域应用广泛;另外, 由于本设计中会用到较多的算术运算,所以对本系统来说非常适合利用单片机作为控制器。基于以上分析,选择方案二。精品.2 系统理论分析与计算2.1 风扇调试原理单片机控制的小型直流电机的一般采用PWM脉冲调制方式实现速度的控制。PWM 基本原理 : PWM 即脉冲宽度调制 (定义),是直流电源电压基本不变的情况下通过电子开关的通断,改变施加到电机电枢端得直流电压脉冲宽度(即所谓的占空比)输入电
10、机电枢的电压平均值的调速方式。,以调节通过改变固定周期内直流电压的占空比来改变电机两端的直流平均电压, 进而达到控制风力大小的一种方法。 PWM 可以应用在许多方面,如电机调速、温度控制、压力控制等。通过改变直流电机电枢上电压的" 占空比 " 来改变平均压的大小,从而控制电动机的转速。只要按一定规律,改变通、断电的时间,即可让电机转速得到控制。设电机始终接通电源时,电机转速最大为Vmax, 设占空比为D=t1 T ,则电机的平均速度为式中,Vd - 电机的平均速度;Vmax- -电机全通电时的速度(最大 ); D=t1 T - 占空比。由此可见,当我们改变占空比D :t1
11、T 时,就可以得到不同的电机平均速度Vd ,严格地讲, 平均速度Vd与占空比D 并不是严格的线性关系,在一般的应用中,可以将其近似地看成线性关系。2.2 角度测量原理mpu6050 工作原理 :作为一款物理传感器,其工作原理是利用物理效应,诸如压电效应,将被测信号量的微小变化转换成电信号。MPU6050是一款9 轴运动处理传感器。它集成了3 轴MEMS陀螺仪,3 轴MEMS加速度计,以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),可用I2C接口连接一个第三方的数字传感器,比如磁力计。 扩展之后就可以通过其I2C或SPI接口输出一个9 轴的信号(SPI
12、接口仅在MPU-6000可用)。MPU-6050 也可以通过其I2C 接口连接非惯性的数字传感器,比如压力传感器。极大提高系统最小精度,符合题目要求。精品.2.3 PID 控制算法的分析PID 控制算法是控制理论中应用很广泛的一种算法,对于一般控制系统来说,PID 算法从某种意义来说具有通用性, 对各种系统具有广泛的适用性, 通过现场的参数调试, 可以达到很好的控制效果。对于我们这次风板控制系统的设计,我们同样也可以使用PID 控制算法,具体算法如下:e(i)=t 测 -t 设E=( 2)算法中, u( i)为当时的功率输出。T 为采样时间,E 为误差积累, KP 为比例常数,Ti 为积分常数
13、, Td 为微分常数。根据实际系统,调节这三个常数,可以达到更好的效果。3 电路与程序设计3.1 电路的设计3.1.1 系统总体框图系统总体框图如图3.1 所示:图 3.1 系统总体框图3.1.2 角度检测电路采用 GY-52 角度传感器,免除了组合陀螺仪与加速器时之轴间差的问题,减少了大量的包装空间。 MPU-6000 整合了3 轴陀螺仪、 3 轴加速器,可以直接输出角度转换为数字信号传递给单片机进行调速控制。其电路图如图3.2 所示:图 3.2 角度检测电路3.1.3 风扇驱动电路精品.采用单片机产生PWM 波,简化硬件电路设计,实现性价比高特点,改变PWM 波的占空比的值即可改变电枢端电
14、压的平均值从而达到调速的目的。外加LM298 驱动电路,即可完全实现调速控制。LM298N 它采用单片集成塑装,是一个高电压、大电流全双桥驱动器,由标准的TTL 电平控制。 L298N 支持 50V 以内的电机控制电压,在直流运转条件下,可以通过高达2A 的电流,因此它满足了一般小型电机的控制要求。接法见图3.3,图中二极管的作用是消除电机的反向电动势,保护电路,因此采用整流二极管比较合适。PWM 控制信号由 in1、in2 输入。如果 in1 为高电平, in2 为低电平时电机为正向转速,反之 in1 为低电平,in2 为高电平时,电机为反向转速。本设计将in2 直接接地,即采用单向制动的方
15、式。图 3.3 L298N 模块实物图3.1.4 按键及显示电路图 3.4 1602 显示电路本设计采用1 个键作为键盘,分别为选择2 种模式。按是一种,不按又是一种。图 3.5按键输入电路3.1.5 电源电路电源由变压部分、滤波部分、稳压部分组成。为整个系统提供5V 或者 12V 电压,确保电路的正常稳定工作。 我们采取的是单电源供电, 把 12v 的直流电供给电机,用降压芯片把电压稳定到 5V,提供给单片机工作,并实现了互不干扰。同时单片机可以间接控制电机的调速。LM337 可调稳压精品.3.2 程序的设计3.2.1 程序功能描述与设计思路1、程序功能描述:可以输出精确的角度信息,并利用P
16、WM 来高速调节电机的开关从而实现对电机速度控制,使得角度传感器,风板,电机,单片机,LCD1602 ,形成了一个简单的系统。2、程序设计思路:先是利用角度传感器对风板的角度进行精确的实时显示,利用角度传感器传输的数据对 pwm 进行控制, 使得电机的风速得到控制, 最后风速来反馈给角度传感器,形成了一个封闭的反馈使的闭环系统。4 测试方案与测试结果4.1 测试方法与仪器测试方法:先通过Keil C 软件实现程序调试和进行初步仿真,再通过protues 仿真软件搭建电理图,实现对程序功能的实现仿真,并且用虚拟仿真软件Multisim 对硬件电路实现功能仿真,确保电路无误后,在制作硬质电路板,焊
17、接电路,实现软硬件联合调试。测试仪器:量角器、秒表、直尺、模拟示波器、数字示波器、数字万用表、指针式万用表。4.2 测试过程及数据1.测试基本功能一:用手搬动风板时,数字显示风板的转角。实际测试时,风板角度能够从 45-135 度变化,符合题目要求。2.测试基本功能二:当悬挂10 克重物时,使风板角度能够在 45-135 度范围变化,并实时显示角度。在完成要求的同时,要求误差不超过5 度,反应时间15 秒,测试如下:风力大小 (%) 角度 (° )40 3044 45精品.47 5050 6553 8055 9560 10565 12073 135表 1 基本功能二测试3.测试基本功
18、能三:当间距为10cm 时,通过控制按键控制风力大小,在45°± 5°范围内。要求控制过程在10 秒内完成,实时显示,并由声光提示,以便进行测试。测试数据如表2 所示:风力大小( %)角度(°)用时( s)52486.351483.143443.1表 2. 基本功能测试三4.测试发挥功能一:当间距挂 10 克重物时,通过键盘设定风板转角,其范围为45-135 要在15 秒内达到设定值, 并实时显示。最大误差的绝对值不超过 5°测试数据如表 3所示:设定角度 (° ) 实际角度 (° ) 风力大小( %)调整时间( s)303
19、0005014121370241716精品.90282213110 364312130 547611150 180 8005 测试发挥功能二:在功能一的基础上,通过键盘设定模式,要求在两个预设角度间摆动四次,摆动周期不超过5 秒,最大误差的绝对值不超过5°。测试数据达到要求4.3 测试分析与结论根据上述测试数据, 系统完全符合要求, 误差在允许范围内, 实现全部功能,有些指标还很高精度。由此可以得出以下结论:综上所述,本设计达到设计要求。附录 1:电路原理图角度传感器电路原理图附录 2:实物图精品.附录 3:系统程序#include <stc15f2k60s2.H>#in
20、clude <math.h>/Keil library#include <stdio.h>/Keil library#include <INTRINS.H>typedef unsigned charuchar;typedef unsigned short ushort;typedef unsigned intuint;/*/ 定义 51 单片机端口/*#define DataPort P0/LCD1602数据端口sbitSCL=P24;/IIC 时钟引脚定义sbitSDA=P23;/IIC数据引脚定义sbitLCM_RS=P22;/LCD1602命令端口sb
21、itLCM_RW=P21;/LCD1602命令端口sbitLCM_EN=P20;/LCD1602命令端口/*/定义 MPU6050 内部地址精品./*#defineSMPLRT_DIV0x19 / 陀螺仪采样率,典型值: 0x07(125Hz)#defineCONFIG0x1A/ 低通滤波频率,典型值:0x06(5Hz)#defineGYRO_CONFIG0x1B/ 陀螺仪自检及测量范围,典型值:0x18(不自检,2000deg/s)#defineACCEL_CONFIG0x1C/ 加速计自检、测量范围及高通滤波频率,典型值:0x01(不自检, 2G, 5Hz)#defineACCEL_XOU
22、T_H 0x3B#define ACCEL_XOUT_L 0x3C#defineACCEL_YOUT_H 0x3D#define ACCEL_YOUT_L 0x3E#defineACCEL_ZOUT_H 0x3F#define ACCEL_ZOUT_L 0x40#definePWR_MGMT_10x6B/ 电源管理,典型值:0x00(正常启用 )#defineWHO_AM_I0x75 /IIC 地址寄存器 (默认数值0x68,只读 )#defineSlaveAddress 0xD0/IIC写入时的地址字节数据,+1 为读取/*/ 定义类型及变量/*uchar dis4;/ 显示数字 (-511
23、 至 512)的字符数组intdis_data;/ 变量/intTemperature,Temp_h,Temp_l;/ 温度及高低位数据/*/ 函数声明/*精品.voiddelay(unsigned int k);/ 延时/LCD相关函数voidInitLcd();/初 始 化lcd1602voidlcd_printf(uchar *s,int temp_data);voidWriteDataLCM(uchar dataW);/LCD数据voidWriteCommandLCM(uchar CMD,uchar Attribc);/LCD 指令voidDisplayOneChar(uchar X,
24、uchar Y,uchar DData);/ 显示一个字符voidDisplayListChar(uchar X,uchar Y,uchar *DData,L);/ 显示字符串/MPU6050操作函数voidInitMPU6050();/初 始 化MPU6050voidDelay5us();voidI2C_Start();voidI2C_Stop();voidI2C_SendACK(bit ack);bitI2C_RecvACK();voidI2C_SendByte(uchar dat);uchar I2C_RecvByte();voidI2C_ReadPage();voidI2C_Write
25、Page();voiddisplay_ACCEL_x();voiddisplay_ACCEL_y();voiddisplay_ACCEL_z();uchar Single_ReadI2C(uchar REG_Address);/ 读取 I2C 数据精品.voidSingle_WriteI2C(uchar REG_Address,uchar REG_data);/ 向 I2C 写入数据/*/ 整数转字符串/*void lcd_printf(uchar *s,int temp_data)*+s =temp_data/100+0x30;temp_data=temp_data%100; *+s =te
26、mp_data/10+0x30;/ 取余运算temp_data=temp_data%10; *+s =temp_data+0x30;/ 取余运算/*/ 延时/*void delay(unsigned int k)unsigned int i,j;for(i=0;i<k;i+)for(j=0;j<121;j+);/*/LCD1602初始化精品./*void InitLcd()WriteCommandLCM(0x38,1);WriteCommandLCM(0x08,1);WriteCommandLCM(0x01,1);WriteCommandLCM(0x06,1);WriteComma
27、ndLCM(0x0c,1);DisplayOneChar(0,0,'A');DisplayOneChar(0,1,'G');/*/LCD1602写允许/*void WaitForEnable(void)DataPort=0xff;LCM_RS=0;LCM_RW=1;_nop_();LCM_EN=1;_nop_();_nop_();while(DataPort&0x80);LCM_EN=0;/*/LCD1602写入命令/*精品.void WriteCommandLCM(uchar CMD,uchar Attribc)if(Attribc)WaitForEn
28、able();LCM_RS=0;LCM_RW=0;_nop_();DataPort=CMD;_nop_();LCM_EN=1;_nop_();_nop_();LCM_EN=0;/*/LCD1602写入数据/*void WriteDataLCM(uchar dataW)WaitForEnable();LCM_RS=1;LCM_RW=0;_nop_();DataPort=dataW;_nop_();LCM_EN=1;_nop_();_nop_();LCM_EN=0;/*/LCD1602写入一个字符/*void DisplayOneChar(uchar X,uchar Y,uchar DData)Y
29、&=1;X&=15;if(Y)X|=0x40;精品.X|=0x80;WriteCommandLCM(X,0);WriteDataLCM(DData);/*/LCD1602显示字符串/*void DisplayListChar(uchar X,uchar Y,uchar *DData,L)uchar ListLength=0;Y&=0x1;X&=0xF;while(L-)DisplayOneChar(X,Y,DDataListLength);ListLength+;X+;/*/ 延时 5 微秒 (STC90C52RC12M)/ 不同的工作环境 ,需要调整此函数/
30、当改用 1T 的 MCU 时,请调整此延时函数/*void Delay5us()精品._nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();/*/I2C起始信号/*void I2C_Start()SDA = 1;/ 拉高数据线SCL = 1;/ 拉高时钟线Delay5u
31、s();/ 延时SDA = 0;/ 产生下降沿Delay5us();/ 延时SCL = 0;/ 拉低时钟线/*/I2C停止信号/*void I2C_Stop()精品.SDA = 0;/ 拉低数据线SCL = 1;/ 拉高时钟线Delay5us();/ 延时SDA = 1;/ 产生上升沿Delay5us();/ 延时/*/I2C发送应答信号/ 入口参数 :ack (0:ACK 1:NAK)/*void I2C_SendACK(bit ack)SDA = ack;/ 写应答信号SCL = 1;/ 拉高时钟线Delay5us();/ 延时SCL = 0;/ 拉低时钟线Delay5us();/ 延时/
32、*/I2C接收应答信号/*bit I2C_RecvACK()SCL = 1;/ 拉高时钟线Delay5us();/ 延时精品.CY = SDA;/ 读应答信号SCL = 0;/ 拉低时钟线Delay5us();/ 延时return CY;/*/ 向 I2C 总线发送一个字节数据/*void I2C_SendByte(uchar dat)uchar i;for (i=0; i<8; i+)/8位计数器dat <<= 1;SDA = CY;/ 移出数据的最高位/ 送数据口SCL = 1;/ 拉高时钟线Delay5us();/ 延时SCL = 0;/ 拉低时钟线Delay5us()
33、;/ 延时I2C_RecvACK();/*/ 从 I2C 总线接收一个字节数据/*精品.uchar I2C_RecvByte()uchar i;uchar dat = 0;SDA = 1;/ 使能内部上拉,准备读取数据,for (i=0; i<8; i+)/8位计数器dat <<= 1;SCL = 1;/ 拉高时钟线Delay5us();/ 延时dat |= SDA;/ 读数据SCL = 0;/ 拉低时钟线Delay5us();/ 延时return dat;/*/ 向I2C设备写入一个字节数据/*void Single_WriteI2C(uchar REG_Address,u
34、char REG_data)I2C_Start();/ 起始信号I2C_SendByte(SlaveAddress);/ 发送设备地址+ 写信号I2C_SendByte(REG_Address);/ 内部寄存器地址,I2C_SendByte(REG_data);/ 内部寄存器数据,精品.I2C_Stop();/ 发送停止信号/*/ 从 I2C 设备读取一个字节数据/*uchar Single_ReadI2C(uchar REG_Address)uchar REG_data;I2C_Start();/ 起始信号I2C_SendByte(SlaveAddress);/ 发送设备地址+ 写信号I2C
35、_SendByte(REG_Address);/ 发送存储单元地址,从0 开始I2C_Start();/ 起始信号I2C_SendByte(SlaveAddress+1); /发送设备地址+ 读信号REG_data=I2C_RecvByte();/ 读出寄存器数据I2C_SendACK(1);/ 接收应答信号I2C_Stop();return REG_data;/ 停止信号/*/ 初始化MPU6050/*void InitMPU6050()Single_WriteI2C(PWR_MGMT_1, 0x00);/ 解除休眠状态Single_WriteI2C(SMPLRT_DIV, 0x07);精品
36、.Single_WriteI2C(CONFIG, 0x06);Single_WriteI2C(GYRO_CONFIG, 0x18);Single_WriteI2C(ACCEL_CONFIG, 0x01);/*/ 合成数据/*int GetData(uchar REG_Address)char H,L;H=Single_ReadI2C(REG_Address);L=Single_ReadI2C(REG_Address+1);return (H<<8)+L;/ 合成数据/*/ 在 1602 上显示 10 位数据/*void Display10BitData(int value,uchar x,uchar y)lcd_printf(dis, value);/ 转换数据显示DisplayListChar(x,y,dis,4)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铲车租赁安全责任保险合作协议
- 厂房租赁期满后的产权转让合同
- 冷链物流基地项目投资计划书(范文模板)
- 多样化健康教育体系构建
- 地下停车场建设项目投标书(参考模板)
- 建筑工程安全教育体系与实施要点
- 肺癌患者的护理教学查房
- 臂丛神经损伤影像诊断
- 小学新生入学教育指导
- 二零二五版电子病历SAAS系统服务协议
- 政府预算和部门预算支出经济分类科目对照表
- GA/T 2012-2023窃照专用器材鉴定技术规范
- 气相色谱质谱联用仪技术指标
- 湖州市市级机关事业单位编外招聘考试试卷真题及答案2022
- 第三章 科学研究与科学方法论
- 山东黄金归来庄矿业有限公司归来庄金矿矿山地质环境保护与土地复垦方案
- 项目融资计划书
- 针刺伤的预防及处理
- YY/T 0595-2020医疗器械质量管理体系YY/T 0287-2017 应用指南
- LS/T 1222-2020粮食干燥机系统工艺设计技术规范
- GB/T 26636-2011动植物油脂聚合甘油三酯的测定高效空间排阻色谱法(HPSEC)
评论
0/150
提交评论