第一篇:工艺试验报告
湘潭大学
材料与光电物理学院
IC 工 艺 实 验 报 告
学生姓名:
学生学号: 专业年级: 实习单位: 实习时间:
辅导老师:
2014年8月28日
本次实习在长沙韶光半导体公司开展,长沙韶光半导体有限公司(4435 厂)是国家生产军用集成电路的定点企业,集产品设计、芯片制造和封装三部分为一体。公司进行集成电路后工序的生产,经由工作人员的指导,我们参观并参与了后工序的制作,让我们对芯片制作有了一个更加直观的认识。接下来将详细介绍长沙韶光半导体公司陶瓷封装工艺流程及测试规范。
• 封装测试工艺流程
一.封装
1.封装基本概念
封装,就是指把硅片上的电路管脚,用导线接引到外部接头处,以便与其它器件连接。它不仅起着安装、固定、密封、保护芯片及增强电热性能等方面的作用,而且还通过芯片上的接点用导线连接到封装外壳的引脚上,这些引脚又通过印刷电路板上的导线与其他器件相连接,从而实现内部芯片与外部电路的连接。因为芯片必须与外界隔离,以防止空气中的杂质对芯片电路的腐蚀而造成电气性能下降。另一方面,封装后的芯片也更便于安装和运输。由于封装技术的好坏还直接影响到芯片自身性能的发挥和与之连接的PCB(印制电路板)的设计和制造,因此它是至关重要的。封装的工艺流程
流程一般可以分为两个部分:在用陶瓷封装之前的工序成为前段工序,在成型之后的操作成为后段工序。
前段工序包括:粘片键合封冒,是在超净间进行的 后端工序包括:电镀剪边蘸锡
2.1 粘片
粘片,即芯片粘贴,是将芯片固定于封装基板或引脚架芯片的承载座上的工艺过程。粘片主要有四种方式:共晶粘片法,焊接粘片法,导电胶粘片法,玻璃胶粘片法
2.1.1粘片原理
玻璃胶粘片法的材料是玻璃胶,是一种厚膜导体材料,由起粘接作用的低温玻璃粉和起导电作用的金属粉(主要是银粉)以及有机溶剂混合而成。用针筒或注射器将粘接剂(玻璃胶)涂布到芯片焊盘上,然后用自动拾片机(机械手)将芯片放置到焊盘的粘接剂上,在一定温度下固化处理
2.1.2 操作规程
1.准备外壳:按照产品的级别、封装形式、数量要求将外壳按一定的方向整齐地排列在金属传递盒内。
2.配置粘结剂:取玻璃粉少许,滴入适量松油醇,用玻璃棒搅匀,搅动时要按一个方向。
3.点粘结剂:用牙签将适量的粘结剂点入外壳底座中心,粘结剂量需根据芯片大小进行调整,必须将芯片四周完好的包住,但又不能溢到芯片表面。
4.装配芯片:用真空粘片笔将待装芯片按其对应的芯座图规定的方位放置,在外壳底座上,确认正确无误后,稍加力使之平整。
5.将装配好的第一只芯片交检验员进行首件检验,检验合格后,将做有标识“Z”的首件隔开放置在传递盒内,易于识别。6.重复1-5 操作
7.整批芯片装配完毕,送检验人员进行100%专检,修正与剔除不合格品。8.排气:将装配经检验合格的半制品放入洁净烘箱内排气:工艺条件:T = 210℃ ± 10℃ t = 30min~40min 9.固化:待排气时间结束后,从烘箱内取出半制品电路,放入链式烧结炉内固化。工艺条件:T = 420℃~450℃ t = 1h~1.5h 10.当电路随链式烧结炉链条传动到出口时,取出电路,检查符合质量要求后送下道工序。
2.1.3质量要求
1.粘结牢固,满足芯片剪切强度要求,玻璃粉充分融化,表面光亮,不残缺。2.芯片表面干净,无有机溶剂残夜,无微粒尘埃,无粘结剂等附着在芯片上。3.粘片合格率要求控制在99%以上,低于此合格率应按《不合格品控制程序》 4.标识:对不合格品进行标识和隔离。
2.1.3 注意事项
1.从烘箱内取出电路进入链式烧结炉时,要轻取轻放,以免芯片弹起或移动 2.常打扫烘箱内,链式烧结炉内卫生。
3.粘片用的金属传递盒要经常清洗,存放于玻璃柜内,使用前需用酒精棉 擦洗干净保证金属传递盒不带尘埃。4.经常检查烘箱温控系统,保证安全生产。
5.玻璃粉要存放在干燥处,以免受潮。若发现玻璃粉受潮起坨现象,要立 即停用。
2.2 键合
键合的目的是实现芯片互连,也就是将芯片焊区与电子封装外壳的I/O引线或基板上的金属焊区相连接。
芯片互连有三种常见的技术:引线键合,倒装芯片键合,载带自动键合。2.2.1 超声波键合的原理
超声波键合采用超声波的能量,使金属丝与铝电极在常温下直接键合。其原理是:利用超声波发生器产生的能量,通过换能器在超高频的磁场感应下,迅速伸缩而产生弹性振动,使劈刀相应振动,同时在劈刀上施加一定的压力于是劈刀在这两种力的共同作用下,带动Al丝在被焊区的金属化层如(Al膜)表面迅速摩擦,使Al丝和Al膜表面产生塑性变形,这种形变也破坏了Al层界面的氧化层,使两个纯净的金属表面紧密接触达到原子间的结合从而形成焊接。主要焊接材料为铝(Al),线焊头一般为楔形。超声键合适应性较好,外界环境要求不高,应用范围广泛。
2.2.2 超声波键合的过程
2.2.3 超声波键合的优缺点
优点:键合点尺寸小,回绕高度低,适合键合点间距小,密度高的芯片连接 缺点:所有的连线必须沿回绕方向排列,因此在连线过程中要不断改变芯片与封装基板的位置再进行第二根引线的键合,从而限制了打线速度。
2.2.4 超声波键合机的操作要求
1.操作时要求戴好口罩、手套(或指套),不准直接用手触摸电路。
2.电路应整齐摆放在洁净的金属传递盒中,并使用洁净的传递盒盖好。在整个加工、传递过程中应特别注意避免外来物对电路造成玷污。
3.为避免在操作中对静电敏感器件造成损伤。试验和操作仪器设备必须良好接地。工作台面要有静电释放装置,操作者必须佩带防静电手腕套。操作过程、电路的传递、包装和存放做到对电路的防静电损伤保护。下图是芯片互连完成后显微镜下的芯片图
2.3 封帽
2.3.1 除湿
将键合检验合格的电路整齐地摆放在金属传递盒内,置入烘箱进行除湿。条件:T = 140℃ ± 10℃ t = 2h~4h。待除湿设定的时间到达后,从烘箱内取出电路(每次只能取一合),迅速进行装架
2.3.2 装架
1.取出与待封电路相对应的封盖舟及盖板,将盖板按一致方向平方在舟上,正面朝下,封口朝上。
2.取出待封电路,将其反扣在舟上的盖板上,注意与盖板方向一致。底座与盖板接触良好,放置平整、四周整齐。
3.B 级、S 级电路装架后与封装舟一起放入烘箱内待封。
2.3.3 开炉
1.打开链式烧结炉电源开关。
2.开启传动机构使链带运转,并根据工艺调整好链带速度。传动速度设置为每小时280cm—300cm。
3.炉设置:F9.00 2#炉设置:55.61 4.打开加热开关加热升温,使炉温升至420℃— 450℃
5.打开烧结炉供气阀,调整2、3 号流量计,驱赶炉腔内空气十分钟,再打开1、3 号流量计。
2.3.4 烧结
1.将装好电路的封装舟轻放在烧结炉入口链带上,使之随链带传动进入炉膛,如此连续进行。
2.当电路随链带传动到烧结炉出口时,取出电路,装入塑料传递盒,送下道工序。
3.B 级、S 级电路大舟每次进炉一舟,小舟每次进炉三舟。并关闭好烧结炉出入口,使外部空气尽量不进入炉膛内,待电路传动到炉口时,取出电路,再进行其余电路的烧结。
2.4 电镀
电镀,是指利用金属和化学的方法,在引线框架的表面镀上一层镀层,以防止外界的影响。可以提高导电性并使元器件在PCB板上容易焊接。
电镀的工序:去油去氧化物冲洗吹干电镀槽中电镀冲洗吹干烘干。具体描述如下
1.将电路均匀装入塑料篮后,先放在金属去油剂中去油污,然后从金属去油剂中取出电路放入水槽用流动水冲洗干净,再放在3%硝酸溶液中约5s,待玻璃腐蚀平整后,取出电路放入清洗槽中用冷热水反复冲洗干净
2.将清洗干净的电路放入70℃~80℃20%硫酸溶液中将氧化层去干净,注意不要过腐蚀,否则电镀电路表面会很差
3.取出电路放入清洗槽中用水反复冲洗干净后,装挂具放入5%的稀硫酸溶液中待电镀
4.冲洗吹干烘干
2.5 剪边成型
剪边是指切除框架外引脚之间的堤坝以及在框架带上连接一起的地方剪边的主要操作步骤。
1.检查气体管道系统,合上压缩机电源,将压缩空气流量调至0.5±0.1MPa 2.将电路块插入刀口之间
3.用手指按平盖板,用脚踩下踏脚板 4.剪边机刀具将电路边框剪下 5.将电路取出,装入传递盒内
重复2-5操作,直至将全部电路的边框剪完
6.关机:电路剪完后,拉下电源开关,关紧气体阀门
2.6 蘸锡
将剪边后的电路,检查随工单和随件电路无误后,准备蘸锡。1.将锡炉的温度升至250℃ + 10℃ 2.用镊子夹住电路,浸入焊锡炉中5s±0.5s 3.将蘸锡后的电路放入不锈钢盘中,用冷热自来水反复冲洗后,放入70℃ + 5℃的烘箱烘干
二筛选和测试
封装后的芯片并不能马上作为产品销售出去,在此之前要进行一系列的筛选测试实验,确保出厂产品为合格产品。筛选测试是利用测试技术对生产线上的半成品、成品进行确定产品等级(电性能参数分档和质量等级分类),剔除不合格品的测试,测试程度是逐批100%测试,往往在筛选试验项目之后进行,并根据测试数据确定PDA,计算结果判定批次合格。
鉴定检验测试是鉴定机构利用测试技术和法规,对生产厂家需要产品定型、质量认证或用户进行所购IC产品质量情况做合格批次判定的测试。鉴定检验测试一般较严格和具有第三方权威性。
常见的测试项目有:三温测试,恒定加速度,细检漏,粗检漏。
3.1 三温测试
三温测试时,应采用低温(-55±3℃)→ 高温(125±3℃)→ 常温(25±3℃)环境工作温度下进行 1.恒定加速度
恒定加速度试验可以了解产品在实际的恒定加速度环境下的性能和结构的完整性,使半导体器件和集成电路试验样品的封装、内部金属化和引线系统、芯片或衬底附着缺陷以及其它结构弱点暴露出来。本次实习采用离心机进行测试实验。2.细检漏
主要设备:氦质朴检漏仪 ZQJ-230 型 1000w 冲压罐(自制)渗氦校准漏孔 LK-8 型
3.2 粗检漏
1.将电路置于充压罐中,加入氟油F-113,使所有待检电路完全浸没在低温氟油中,按充压罐操作往充压罐中充入氮气,使压力为(517 ± 15)kP(5.0Kgf/cm)保持2h[或使压力为(414 ± 15)kP(4.0Kgf/cm)保持4h]后取出。
2.等充压半小时后,按氟碳油检漏仪操作过程使仪器处于工作状态,氟油温度升至125℃ ± 5℃。
3.将从充压罐中取出待检的电路,放入低氟油中浸泡20S 以上,电路移出浸泡液后,应在空气中至少干燥2min±1min,以去除待检电路表面吸附的低氟油,然后将待检电路每次取5~10 个,放入挂篮中。把挂篮浸入氟碳油检漏仪的FC-43中,电路顶部必须在液面5cm 以下,仔细观察每个电路的各个部位,至少观察30s 以上。
4.失效判定:从同一位置出来一串明显气泡或两个以上大气泡应判作失效,予以剔除。
5.将粗检漏合格的产品放入专用的清洗器皿中,并倒入适量的低氟油,再将合格品放入低氟油中浸泡2min~3min,取出后放在通风良好的地方晾干,再随工单一起转入下道工序。
第二篇:直螺纹套筒连接工艺试验报告
紫云府二期工程二标段
直螺纹连接工艺性试验报告
直螺纹连接工艺试验报告
一、施工准备
1、材料
(1)钢筋:HRB400级钢筋,力学性能及直径均达到规范要求,有出场合格证及质量证明书,钢筋无老锈和油污。
(2)直螺纹连接套:型号G C22,规格A32.6mm×55mm,适用品种、HRB400,连接接头性能等级为Ⅰ级,有产品合格证、套筒及套筒原材质量证明书。
2、设备
(1)主要设备:GY-40C-11型钢筋滚轧直螺纹套丝机(功率4KW、电压380V)(2)其它设备:管钳、断筋机等。
3、作业条件
(1)操作人员熟悉钢筋机械连接通用技术规程(JGJ107-2010)和相关条款。
(2)380V三相交流电源。
(3)套筒无锈蚀、油脂、裂缝节疤等缺陷,尺寸符合产品质量标准要求,丝扣干净,完好无损。
(4)操作手要熟悉设备的操作规程,具备安全防护能力,防止发生挤伤、触电等事故。
4、主要的参数有:接头性能等级、咬合丝扣数。
二、机械连接方法简介
1、机械连接。机械连接是通过钢筋与连接件的机械咬合作用或钢筋端面的承压作用,将一根钢筋中的力传递至另一根钢筋的连接方法。钢筋机械连接技术是一项新型钢筋连接工艺,被称为继绑扎、电焊之后的“第三代钢筋接头”。钢筋直螺纹套筒连接是机械连接中的一种,是将钢筋连接端头采用专用
湖北中地建筑工程有限公司 紫云府二期工程二标段
直螺纹连接工艺性试验报告
滚轧设备和工艺,通过滚丝轮直接将钢筋端头滚轧成直螺纹,并用相应的连接套筒将两根待连接钢筋连接成一体的钢筋连接。
2、机械连接的特点
(1)设备投资少,螺纹加工简单,接头强度高于钢筋母材,生产效率高,无污染,节省钢材,现场施工方便。
(2)节省电能(设备功率仅为4KW),不受钢筋可焊性制约,不受季节影响,不用明火,无水灾和爆炸安全隐患。
(3)连接质量受人为因素影响小,工艺性能良好和接头质量可靠度高等。
三、工艺流程
工艺流程如下:现场钢筋母材检验→钢筋端部平头→初选连接参数→直接滚轧螺纹→直螺纹扣丝检验→套筒连接→送检→确定连接参数。
1、母材检验。钢筋母材进场时,应附有合格证及质量证明书。在现场监理的监督下进行随机取样并送检,合格后方可投入使用。
2、钢筋端部平头。用切断机切18根直径为B22mm,长50cm的钢筋,将需要滚丝的一头端部切平,保证端头无弯折,扭曲。
3、初选连接参数。接头性能等级为Ⅰ级、钢筋端头加工丝扣数为11扣。
4、滚轧螺纹。将需要滚轧的钢筋按要求固定在钢筋滚轧直螺纹套丝机上,根据设备使用说明、操作规程及预先选定的丝扣数进行滚轧加工。
5、直螺纹丝扣检验。滚轧成型的丝扣螺纹饱满,表面光洁,不粗糙,螺纹直径大小一致,螺纹长度,公差直径符合规范要求。
5、套筒连接。用管钳将加工好的钢筋与套筒拧紧,钢筋与套筒咬合丝扣为10扣,外漏1扣。
6、加工好的试件共三组,每组三个,经现场监理认可后,送试验室检验。
四、质量标准及质量检验
1、接头性能等级
湖北中地建筑工程有限公司 紫云府二期工程二标段
直螺纹连接工艺性试验报告
根据抗拉强度以及高应力和大变形条件下反复拉压性能的差异,接头应分为三个等级:
Ⅰ级:接头抗拉强度不小于被连接钢筋实际抗拉强度或1.10筋抗拉强度标准值,并具有高延性及反复拉压性能。
Ⅱ级:接头抗拉强度不小于被连接钢筋抗拉强度标准值,并具有高延性及反复拉压性能。
Ⅲ级:接头抗拉强度不小于被连接钢筋屈服强度标准值的1.35倍,并具有一定的延性及反复拉压性能。
本工程二衬钢筋接头性能按Ⅰ级控制。
2、检验依据
钢筋机械连接通用技术规程(JGJ107-2003)。
3、检验单位
北京碧波立业技术检测有限公司。
4、检验结果
三组试件的抗拉断裂特征均为母材拉断,接头试件的抗拉强度均大于母材试件的抗拉强度(试验编号为:),检验结果为合格。
5、实际施工中抽检频率
接头现场检验应按验收批进行。同一施工条件下采用同一批材料的同等级、同型号、同规格接头,应以500个为一验收批进行检验与验收,不足500个也应作为一个验收批。
五、施工注意事项
1、钢筋接头的加工应经工艺检验合格后方可进行。
2、加工钢筋接头的操作工人经厂家专业技术人员培训合格后才能上岗,人员应相对稳定。
3、加工直螺纹时钢筋端头应切平或镦平。
湖北中地建筑工程有限公司 紫云府二期工程二标段
直螺纹连接工艺性试验报告
4、镦粗头不得有与钢筋轴线相垂直的横向裂纹。
5、钢筋端部不得有影响螺纹加工的局部游游弯曲。
6、钢筋丝头长度应满足设计要求,拧紧后的钢筋丝头不得相互接触。
7、接头安装前应检查连接件产品合格证及套筒表面生产批号标识;产品合格证应包括适用钢筋直径和接头性能等级、套筒类型、生产单位、生产日期以及可追溯产品原材料力学性能和加工质量的生产批号。
8、滚轧成型的直螺纹要及时上保护套,以免在加工、搬运过程中损坏丝扣。
湖北中地鼎天建筑工程有限公司紫云府二期二标段项目部
2013年12月1日
监理单位确认: 甲方单位确认:
湖北中地建筑工程有限公司 4
第三篇:电子商务试验报告
四、实验思考
1、请描述你在该小组实验中都完成了哪些任务?
答:查看商城用户订单详细信息,生成已确认付款订单,生成已确认缺货采购单,生成已确认预警商品采购单,生成已确认正常商品采购单,银行进出帐管理(存),银行进出帐管理(取),销售收入报表查询,采购支付报表查询,银行进出报表查询。
2、说说你对B to C电子商务运作流程的认识。
答:B to C模式是一种电子化零售,主要采取在线销售形式,以网络手段实现公众消费或向公众提供服务,并保证与其相关的付款方式的电子化。其主要的流程有:A.初始信息设置
商城管理员(添加商城信息、添加商品种类、添加商品信息、开通物流公司)物流用户(物流公司申报)
B.购买流程
商城用户(注册、登录、采购)———销售部———财务部(受理订单、进EDI填开发票)———销售部(确认单据、生成发货单)———储运部(发货)———物流业务部(配送)———商城用户(收货)
2.退货流程
商城用户(登录、查看订单、退货)———销售部(同意/不同意退货)———商城用户(查看订单处理情况)
3.正常采购
采购部(提交正常采购单)———财务部(审核)———采购部(确认采购单)———物流业务部(配送)———储运部(产品入库)
4.预警采购
采购部(提交预警采购单)———财务部(审核)———采购部(确认采购)———物流业务部(配送)———储运部(产品入库)
5.缺货采购
商城用户(注册、登录、采购)———销售部(受理生成缺货单)———采购部(生成缺货采购单)———财务部(通过缺货采购单)———采购部(确认缺货采购)———物流部(缺货商品配送)———储运部(缺货单入库)———销售部(生成财务单)———财务部(确认付款单)———销售部(生成出运单)———储运部(配送产品)———商城用户(收货)
第四篇:机械设计试验报告
请分别用三张实验报告纸抄写!第10周周五交到各班学习委员,过期不侯!另将轴系结构图一并交上,每人一份,图
上要标明尺寸!
请学习委员将实验报告按学号排好交给我!
实验一机械零件认识实验
一、实验目的1.初步了解《机械设计》课程所研究的各种常用零件的结构、类型、特点及应用。
2.了解各种标准零件的结构形式及相关的国家标准。
3.了解各种传动的特点及应用。
4.了解各种常用的润滑剂及相关的国家标准。
5.增强对各种零部的结构及机器的感性认识。
二、实验方法
通过对实验指导书的学习及机械零件模型的展示,实验教学人员的介绍,答疑及同学的观察去认识机器常用的基本零件,使理论与实际对应起来,从而增强同学对机械零件的感性认识。并通过展示的机械设备、机器模型等,使学生们清楚知道机器的基本组成要素—机械零件。
三、实验内容
(一)螺纹联接
螺纹联接是利用螺纹零件工作的,主要用作紧固零件。基本要求是保证联接强度及联接可靠性,同学们应了解如下内容:
1.螺纹的种类; 2.螺纹联接的基本类型;
3.螺纹联接的防松;4.提高螺纹联接强度的措施。
在掌握上述内容,通过参观螺纹联接模型,同学应区分出:①什么是普通螺纹、管螺纹、梯形螺纹和锯齿螺纹;②能认识什么是普通螺纹、双头螺纹、螺钉及紧定螺钉联接;③能认识摩擦防松与机械防松的零件;④了解联接螺栓的光杆部分做得比较细的原因是什么等问题。
(二)标准联接零件
标准联接零件一般是由专业企业按国标(GB)成批生产,供应市场的零件。这类零件的结构形式和尺寸都已标准化,设计时可根据有关标准选用。通过实验学生们要能区分螺栓与螺钉;能了解各种标准化零件的结构特点,使用情况;了解各类零件有那些标准代号,以提高学生们对标准化意识。
1.螺栓; 2.螺钉;3.螺母;4.垫圈;5.挡圈。
(三)键、花键及销联接
1.键联接;2.花键联接;3.销联接
以上几种联接,通过展柜的参观同学们要仔细观察其结构,使用场合,并能
分清和认识以上各类零件。
(四)机械传动
机械传动有螺旋传动、带传动、链传动、齿传动及蜗杆传动等。各种传动都有不同的特点和使用范围,这些传动知识同学们在学习“机械设计”课程中都有要详细讲授。在这里主要通过实物观察,增加同学们对各种机械传动知识的感性认识,为今后理论学习及课程设计打下良好基础。
1.螺旋传动;2.带传动; 3.链传动; 4.齿轮传动; 5.蜗杆传动。
(五)轴系零、部件
1.轴承;2.轴
(六)弹簧
(七)润滑剂及密封
实验二轴系结构分析
一、实验目的1.熟悉并掌握轴与轴上零件的结构形状及功用、工艺要求和装配关系;
2.熟悉并掌握轴及轴上零件的定位与固定方法;
3.了解轴承的类型、布置、安装及调整方法,以及润滑和密封方式。
二、实验设备及工具
1. 组合式轴系结构设计分析实验箱
该实验箱按照组合设计法,采用较少的零件,可以组合出尽可能多的轴系部件,以满足实验的要求。实验箱内有齿轮类、轴类、套筒类、端盖类、支座类、轴承类及联接件类等8类50多种零件,提供了可组成圆柱齿轮轴系、小圆锥齿轮轴系和蜗杆轴系三类轴系结构模型的成套零件。
2. 测量及绘图工具
300mm钢板尺、游标卡尺、铅笔、三角板等。
三、实验内容及要求
1.依据指导教师给每组指定实验内容(圆柱齿轮轴系、小圆锥齿轮轴系或蜗杆轴系)观察组装后的轴系结构,绘制轴系部件的装配草图。
2.测量轴系的主要装配尺寸,分析并测绘轴系零件,绘制主要零件的结构草图。
四、实验步骤
1.提前预习,明确实验内容,复习轴的结构设计及轴承组合设计等与实验相关的教学内容;
2.观察与分析轴系结构的特点,绘制轴系装配示意图或结构草图;
3. 测量轴系主要装配尺寸(如支承跨距);
4. 对轴系部件进行拆解,观察和分析轴系各零件的结构,对其主要的结构尺寸进行测量(支座不用测量)。
5. 根据装配草图和测量数据,绘制轴系部件装配图。
6.装配轴系部件使其恢复原状。
实验三轴系结构设计
一、实验目的熟悉并掌握轴系结构设计中有关轴的结构设计、滚动轴承组合设计的基本方法。
二、实验设备及工具
1. 组合式轴系结构设计分析实验箱
实验箱提供了可组成减速器圆柱齿轮轴系、小圆锥齿轮轴系和蜗杆轴系三类轴系结构模型的成套零件(详见实验中的设备介绍)。
2.测量及绘图工具
300mm钢板尺、游标卡尺、铅笔、三角板等。
三、实验内容及要求
1、进行轴的结构设计与滚动轴承组合设计
每组学生进行轴系结构设计,解决轴承类型选择,轴上零件定位、固定,轴承安装与调节、润滑及密封等问题。
2.绘制轴系结构装配图。
3.每人编写实验报告一份。
四、实验步骤
1.明确实验内容,理解设计要求;
2.复习有关轴的结构设计与轴承组合设计的内容与方法;
3.构思轴系结构方案
1)根据齿轮类型选择滚动轴承型号;
2)确定支承轴向固定方式(两端固定:一端固定、一端游动);
3)根据齿轮圆周速度(高、中、低)确定轴承润滑方式(脂润滑、油润滑);
4)选择端盖形式(凸缘式、嵌入式)并考虑透盖处密封方式(毡圈、皮碗、油沟);
5)考虑轴上零件的定位与固定,轴承间隙调整等问题;
6)绘制轴系结构方案示意图
4.组装轴系部件
根据轴系结构方案,从实验箱中选取合适零件并组装成轴系部件,检查所设计组装的轴系结构是否正确。
5.绘制轴系结构草图。
6.测量零件结构尺寸(支座不用测量),并作好记录。
7.将所有零件放人实验箱内的规定位置,交还所借工具
8.根据结构草图及测量数据,在3号图纸上用1:l比例绘制轴系结构装配图,要求装配关系表达正确,注明必要尺寸(如支承跨距、齿轮直径与宽度、主要配合尺寸),填写标题栏和明细表。
9.写出实验报告。
第五篇:数据结构试验报告
实验一:ADT的类C描述向C程序的转换实验(2学时)
实验目的:
(1)复习C语言的基本用法;
(2)学会用类C的语言对算法进行描述的方法,将类C算法转换成C源程序的方法和过程;
(3)抽象数据类型的定义和表示、实现;
(4)加深对数据的逻辑结构和物理结构之间关系的理解;(5)初步建立起时间复杂度和空间复杂度的概念。实验内容:(类C算法的程序实现)(1)输入一组数据存入数组中,并将数据元素的个数动态地由输入函数完成。求输入数据的最大值、最小值,并通过函数参数返回所求结果; 实验准备:
1)计算机设备;2)程序调试环境的准备,如TC环境;3)实验内容的算法分析与代码设计与分析准备。实验步骤:
1.安装TC并设置好环境,如果已安装好,可以跳过此步; 2.录入程序代码并进行调试和算法分析;
对实验内容(1)的操作步骤:1)用类C语言描述算法过程;2)用C语言环境实现该算法。
对实验内容(2)的操作步骤:1)完成算法的C实现;2)分析其时间复杂度和空间复杂度。
3.编写实验报告。
实验结果:// 动态分配数组空间 #include
int size,i;int *pArray;int *p;void malloc_size(){ pArray=(int *)malloc(size*(sizeof(int)));}
int input_size(){ printf(“please input the size:n”);printf(“size= ”);scanf(“%d”,&size);return 0;}
int input_data(){ printf(“please input the value:n”);for(i=0;i printf(“pArray[%d]= ”,i); scanf(“%d”,&pArray[i]);} return *pArray;} int Compare(){ int x,y,i;x=y=p[0];for(i=0;i if(x>=p[i])x=p[i]; if(y<=p[i])y=p[i];} printf(“min= %dt max=%dn”,x,y);return 0;} int Output_data(){ p=pArray;printf(“before ofpaixu :n”);for(i=0;i printf(“%dt”,*pArray); pArray++;} printf(“n”);return *pArray;} void paixu(){ int x=0;int i,j;printf(“later of paixu:n”);for(i=0;i for(j=i+1;j { if(p[i]>=p[j]) { x=p[i];p[i]=p[j];p[j]=x; } } printf(“%dt”,p[i]);} printf(“n”);} void main(){ clrscr();input_size();malloc_size();input_data();Output_data();Compare();paixu();} 实验结果: 实验二 线性表及其基本操作实验(2学时)实验目的: (1)熟练掌握线性表ADT和相关算法描述、基本程序实现结构;(2)以线性表的基本操作为基础实现相应的程序; (3)掌握线性表的顺序存储结构和动态存储结构之区分。 实验内容:(类C算法的程序实现,任选其一。具体要求参见教学实验大纲)(1)一元多项式运算的C语言程序实现(加法必做,其它选做);(2)有序表的合并;(3)集合的并、交、补运算; 实验准备: 1)计算机设备;2)程序调试环境的准备,如TC环境;3)实验内容的算法分析与代码设计与分析准备。实验步骤: 1.录入程序代码并进行调试和算法分析; 2.编写实验报告。实验结果://线性链表 #include typedef struct node { int data;struct node *next;}*Sqlist; void Initlialize(Sqlist &L){ L=(Sqlist)malloc(sizeof(Sqlist));L->next =NULL;} int Getlength(Sqlist L){ int i=0;Sqlist p=L->next;while(p!=NULL){ i++; p=p->next;} return i;} int Getelem(Sqlist L,int i){ int j=1,e;Sqlist p=L->next;while(j p=p->next; j++;} e=p->data;printf(“第 %d 个元素是:%dn”,i,e);return 1;} int Locatelem(Sqlist L,int x){ int i=0;Sqlist p=L->next;while(p!=NULL&&p->data!=x){ p=p->next; i++;} if(p==NULL) return 0;else { printf(“%d 是第 %d 个元素n”,x,i);return i;} } void CreatlistF(Sqlist &L,int a[ ],int n){ Sqlist s;int i;L=(Sqlist)malloc(sizeof(Sqlist));L->next =NULL;for(i=0;i s=(Sqlist)malloc(sizeof(Sqlist)); } } void CreatlistR(Sqlist &L,int a[],int n){ Sqlist s,r;int i;L=(Sqlist)malloc(sizeof(Sqlist));L->next =NULL;r=L;for(i=0;i s=(Sqlist)malloc(sizeof(Sqlist)); s->data =a[i]; s->next=NULL; r->next =s;r =s;} } int Inselem(Sqlist &L,int i,int x){ int j=1;Sqlist s,p=L->next;s=(Sqlist)malloc(sizeof(Sqlist));s->data =x;s->next =NULL;if(i<1||i>Getlength(L)) return 0;while(j p=p->next;j++;} printf(“在第 %d 个位置插入数据:%dn”,i,x);s->next =p->next; p->next =s;return 1;} int Delelem(Sqlist &L,int i){ int j=1; Sqlist p,q; p=L; if(i<1||i>Getlength(L)) return 0;s->data =a[i]; s->next =L->next;L->next =s; while(j { p=p->next; j++; } q=p->next; p->next =q->next; free(q); return 1;} void Displist(Sqlist L){ Sqlist p=L->next; while(p!=NULL) { printf(“%dt”,p->data); p=p->next; } printf(“n”);} void input(int *pArray,int n){ printf(“请输入数组数据(共含 %d 个元):n”,n); for(int i=0;i Scanf(“%d”,&pArray[i]); } int main(int argc, char* argv[]){ Sqlist L; int Array[M],Select;initlialize(L);do{ printf(“请输入选择方法(1表示头插法,2表示尾插法,0表示结束):n”); scanf(“%d”,&Select); switch(Select) { case 1: printf(“按头插法建立线性表:n”); input(Array,M); creatlistF(L,Array,M); break;case 2: printf(“按尾插法建立线性表:n”); input(Array,M); creatlistR(L,Array,M); break; } printf(“原线性表数据为:n”);Displist(L); Getelem(L,3); Locatelem(L,2); Inselem(L,5,5); printf(“修改后的线性表数据为:n”); Delelem(L,4); Displist(L);}while(Select!=0);return 0;} 运行结果: 实验三 栈和队列实验(6学时)实验目的: (1)熟练掌握栈和队列的抽象数据类型及其结构特点;(2)实现基本的栈和队列的基本操作算法程序。实验内容:(类C算法的程序实现,任选其一)(1)设计与实现基本的堆栈和队列结构下的各种操作(如堆栈的PUSH、POP等操作)(必做); (2)以表达式计算为例,完成一个可以进行算术表达式计算功能的算法设计与实现(选做); 实验准备: 1)计算机设备;2)程序调试环境的准备,如TC环境;3)实验内容的算法分析与代码设计与分析准备。实验步骤: 1.录入程序代码并进行调试和算法分析; 2.编写实验报告。实验结果://队列存储 #include typedef struct sqqueue { char data[QueueSize];int front,rear;}SqQueue; void InitQueue(SqQueue &qu){ qu.front =qu.rear =0;} status EnQueue(SqQueue &qu,char x){ if((qu.rear +1)%QueueSize==qu.front) return 0;qu.rear =(qu.rear+1)%QueueSize;qu.data[qu.rear]=x;return 1;} status DeQueue(SqQueue &qu,char &x){ if(qu.rear==qu.front) return 0;qu.front =(qu.front +1)%QueueSize;x=qu.data[qu.front];return 1;} status GetHead(SqQueue qu,char &x){ if(qu.rear ==qu.front) return 0;x=qu.data[(qu.front+1)%QueueSize];return 1;} status QueueEmpty(SqQueue qu){ if(qu.rear==qu.front) return 1;else return 0;} void main(){ SqQueue qu;char e;InitQueue(qu);printf(“Queue %sn”,(QueueEmpty(qu)==1?“Empty”:“Not Empty”)); printf(“inser an”); EnQueue(qu,'a'); printf(“inser bn”); EnQueue(qu,'b'); printf(“inser cn”); EnQueue(qu,'c'); printf(“inser dn”); EnQueue(qu,'d'); printf(“Queue %sn”,(QueueEmpty(qu)==1?“Empty”:“Not Empty”)); GetHead(qu,e); printf(“Queue of top elem is: %cn”,e); printf(“show of Queue:n”); while(!QueueEmpty(qu)){ DeQueue(qu,e); printf(“%ct”,e);} printf(“n”);} 实验结果: (2)//用栈实现对表达式的求值运算 #include #define TRUE 1 #define FALSE 0 #define OK #define ERROR 0 #define INFEASIBLE-1 #define OVERFLOW-2 #define STACK_INIT_SIZE #define STACKINCREMENT 10 typedef int Status;typedef char ElemType; typedef ElemType OperandType; typedef char OperatorType; typedef struct { ElemType *base; ElemType *top; int stacksize;}SqStack; Status InitStack(SqStack &S){ S.base =(ElemType *)malloc(STACK_INIT_SIZE * sizeof(ElemType)); if(!S.base)exit(OVERFLOW); S.top = S.base; S.stacksize = STACK_INIT_SIZE; return OK;} Status GetTop(SqStack S){ ElemType e; if(S.top == S.base)return ERROR; e = *(S.top-1); return e;} Status Push(SqStack &S,ElemType e) { if(S.top1 < n){ merge(r, r1, i, i+length-1, i + 2*length1 < n-1) merge(r, r1, i, i+length-1, n-1); else for(j = i;j < n;j++)r1[j] = r[j];} void MergeSort(SortObject * pvector){ RecordNode record[MAXNUM]; int length = 1; while(length < pvector->n){ mergePass(pvector->record, record, pvector->n, length); length *= 2; mergePass(record, pvector->record, pvector->n, length); length *= 2; } } SortObject vector = {8, 49,38,65,97,76,13,27,49}; int main(){ int i;printf(“排序前序列为:”); for(i = 0;i < 8;i++) printf(“%d ”, vector.record[i]);printf(“n”); MergeSort(&vector);printf(“采用归并排序为:”); for(i = 0;i < 8;i++) printf(“%d ”, vector.record[i]); getchar(); return 0;} 实验结果: 实验十 查找实验(2学时)* 实验目的: (1)熟练掌握各种静态查找表方法(顺序查找、折半查找、索引顺序表等);(2)熟练掌握二叉排序树的构造方法和查找算法; (3)了解和掌握其它查找方法。 实验内容:(类C算法的程序实现,除顺序查找算法之外,任选一个)(1)顺序查找算法的实现(必做);(2)折半查找算法的实现(选做); 实验结果://查找实验 1、顺序查找: #include void SequenceSearch(int *fp,int Length){ int data; printf(“开始使用顺序查询.请输入你想要查找的数据: ”); scanf(“%d”,&data); for(int i=0;i if(fp[i]==data) { printf(“数据%d 是第 %d 个数据n”,data,i+1); return; } printf(“未能查找到数据%d.n”,i,data);} void main(){ int count; int arr[LENGTH]; printf(“请输入你的数据的个数:”); scanf(“%d”,&count); printf(“请输入 %d 个数据:”,count); for(int i=0;i scanf(“%d”,&arr[i]); SequenceSearch(arr,count);} 实验结果: 2、折半查找: #include typedef struct { char *elem; int length; }SStable; void Create(char **t) { int i;static char a[M+1];*t=a;for(i=1;i<=M;i++){ printf(“A[%d] is:”,i); scanf(“%c”,&a[i]); if(a[i]!= 'n')getchar();} } int Searth(char *t,char k){ int i;for(i=M;i>=0 && t[i]!=k;i--); Return i;} void output(char *t){ int i;for(i=1;i<=M;i++) printf(“n A[%d] is %c”,i,t[i]);} void px(char *t) { char s;int i,j;for(i=1;i<=M;i++) for(j=i+1;j<=M;j++) { if(t[i]>t[j]){s=t[i];t[i]=t[j];t[j]=s;} } } int Search_bin(char *t,char k){ int low=1,high=M,mid;while(low<=high){ mid=(low+high)/2; if(k==t[mid])return mid; else if(k else low=mid+1;} return 0;} void main(){ char *t,k;int s;Create(&t);output(t);printf(“nplease input you search char:”);k=getchar();s=Searth(t,k);if(s>=0)printf(“1: use search find is A[%d]n”,s);else printf(“1:can not find itn”);px(t);output(t);s=Search_bin(t,k);if(s==0)printf(“n1:can not find it n”);else printf(“n2:use Search_bin find is A[%d]n”,s);getchar();} 实验结果: