《MATLAB-案例一圆柱螺旋弹簧的优化设计》由会员分享,可在线阅读,更多相关《MATLAB-案例一圆柱螺旋弹簧的优化设计(10页珍藏版)》请在金锄头文库上搜索。
1、实例一圆柱螺旋弹簧的优化设计 圆柱螺旋弹簧的结构参数包括 D 弹簧中径 即螺旋线圆柱直径D2 D d 弹簧外径D1 D d 弹簧内径 弹簧的螺旋角 即螺旋线的升角t 簧条间距 即螺旋线的节距d 簧条直径 mm H0 弹簧的自由高n 弹簧的有效圈数 即螺旋线的圈数 螺旋线的极角C 旋绕比 C D d 弹簧设计需要满足刚度 强度 稳定性 共振性等条件 例一调压弹簧为普通圆柱螺旋压缩弹簧 阀腔直径为42mm 弹簧最大工作压力为Fmax 1110N 弹簧的许用应力 665MPa 弹簧的最大刚度kmax 24N mm 弹簧结构要求 工作圈数n 0 弹簧指数4 C 14 弹簧压并高度 b 1 1h 18
2、25mm 试在满足弹簧的强度条件 刚度条件 稳定性条件 旋绕比条件和结构边界等约束条件下 确定弹簧的簧丝直径d 中径D2和工作圈数n等三个设计参数 使它的结构重量最轻 1 建立数学模型 1 确定设计变量X d D2 n T x1 x2 x3 T 例一调压弹簧为普通圆柱螺旋压缩弹簧 阀腔直径为42mm 弹簧最大工作压力为Fmax 1110N 弹簧的许用应力 665MPa 弹簧的最大刚度kmax 24N mm 弹簧结构要求 工作圈数n 0 弹簧指数4 C 14 弹簧压并高度 b 1 1h 18 25mm 试在满足弹簧的强度条件 刚度条件 稳定性条件 旋绕比条件和结构边界等约束条件下 确定弹簧的簧丝
3、直径d 中径D2和工作圈数n等三个设计参数 使它的结构重量最轻 1 建立数学模型 2 建立目标函数弹簧的体积为 例一调压弹簧为普通圆柱螺旋压缩弹簧 阀腔直径为42mm 弹簧最大工作压力为Fmax 1110N 弹簧的许用应力 665MPa 弹簧的最大刚度kmax 24N mm 弹簧结构要求 工作圈数n 0 弹簧旋绕比4 C 14 弹簧压并高度 b 1 1h 18 25mm 试在满足弹簧的强度条件 刚度条件 稳定性条件 旋绕比条件和结构边界等约束条件下 确定弹簧的簧丝直径d 中径D2和工作圈数n等三个设计参数 使它的结构重量最轻 1 建立数学模型 3 建立约束函数弹簧的强度约束条件为 弹簧刚度约束
4、 弹簧旋绕比约束条件 4 C 14 C D d 弹簧安装空间约束条件 弹簧圈数应该大于0 综上所述 该问题的数学模型为 设计变量 目标函数 约束条件 2 优化方法和计算结果调用MATLAB优化工具箱函数fmincon进行优化计算1 编制目标函数的M文件 Spring f 体积目标函数functionf Spring f x f 1 4 pi pi x 1 2 x 2 x 3 x 1 直径 x 2 中径 x 3 圈数 2 编制约束函数的M文件 Spring g 约束函数function g ceq Spring g x Fmax 1110 G 80 1e9 tao 665 1e6g 1 1 66
5、 8 Fmax pi x 1 x 2 0 16 x 2 x 1 3 1e6 taog 2 G x 1 4 8 x 2 3 x 3 1e 3 24 1000 刚度约束g 3 x 2 14 x 1 旋绕比约束g 4 4 x 1 x 2 旋绕比约束g 5 x 1 x 2 42 安装空间g 6 x 3 ceq 3 在命令窗口编写调用主程序 Spring c x0 5 10 10 options optimset LargeScale off x fval exitflag output fmincon Spring f x0 Spring g options disp 弹簧优化设计最优解 fprintf 1 簧丝直径d 3 4f n x 1 fprintf 1 弹簧中径D 3 4f n x 2 fprintf 1 弹簧圈数n 3 4f n x 3 x fval exitflag output grad hessian fmincon fun x0 A b Aeq beq Lb Ub Nlc options